Phát biểu đúng nhất về mẫu lệnh( f là con trỏ tệp): while ((ch = fgetc(f)) != EOF)…
Trả lời:
Đáp án đúng: D
Đoạn mã `while ((ch = fgetc(f)) != EOF)` thực hiện việc đọc từng ký tự từ tệp được trỏ bởi con trỏ `f` bằng hàm `fgetc()`. Hàm `fgetc()` trả về ký tự đọc được (ép kiểu thành `int`) hoặc `EOF` (End-of-File) nếu gặp cuối tệp hoặc lỗi. Vòng lặp `while` tiếp tục chừng nào ký tự đọc được khác `EOF`. Như vậy, vòng lặp này đọc các phần tử của tệp cho đến khi gặp ký tự kết thúc tệp.
Phân tích các đáp án:
* **A. Chọn 1 phần tử và kiểm tra xem có phải là EOF hay không.** - Không chính xác vì `fgetc` đọc và gán giá trị cho `ch` *trước khi* kiểm tra.
* **B. Đọc các phần tử của tệp chừng nào kí tự đó chưa phải là kí tự xuống dòng** - Không chính xác. Điều kiện dừng vòng lặp là gặp `EOF`, không phải ký tự xuống dòng.
* **C. Ghi một phần tử và kiểm tra xem có phải là EOF hay không.** - Không chính xác, `fgetc` là hàm đọc, không phải hàm ghi.
* **D. Đọc các phần tử của tệp chừng nào kí tự đó chưa phải là kí tự kết thúc.** - Chính xác. Vòng lặp tiếp tục đọc cho đến khi gặp `EOF` (kí tự kết thúc tệp).
Vậy, đáp án đúng là D.
Tổng hợp 600+ câu hỏi trắc nghiệm lập trình C có đáp án đầy đủ nhằm giúp các bạn dễ dàng ôn tập lại toàn bộ các kiến thức.
50 câu hỏi 60 phút
Câu hỏi liên quan

FORM.08: Bộ 130+ Biểu Mẫu Thống Kê Trong Doanh Nghiệp

FORM.07: Bộ 125+ Biểu Mẫu Báo Cáo Trong Doanh Nghiệp

FORM.06: Bộ 320+ Biểu Mẫu Hành Chính Thông Dụng

FORM.05: Bộ 330+ Biểu Mẫu Thuế - Kê Khai Thuế Mới Nhất

FORM.04: Bộ 240+ Biểu Mẫu Chứng Từ Kế Toán Thông Dụng
