JavaScript is required

Phát biểu đúng nhất về mẫu lệnh( f là con trỏ tệp): while ((ch = fgetc(f)) != EOF)…

A.

Chọn 1 phần tử và kiểm tra xem có phải là EOF hay không.

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.

C.

Ghi một phần tử và kiểm tra xem có phải là EOF hay không.

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.

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 dưới dạng một số nguyên (int), hoặc trả về `EOF` (End Of File) nếu gặp lỗi hoặc đạt đến cuối tệp. Vòng lặp `while` tiếp tục thực hiện cho đến khi ký tự đọc được (`ch`) bằng `EOF`. Như vậy, vòng lặp đọc các phần tử (ký tự) của tệp chừng nào ký tự đó chưa phải là ký tự kết thúc tệp. Phương án A không chính xác vì nó chỉ nói đến việc chọn một phần tử và kiểm tra, mà không nói rõ hành động đọc từ tệp. Phương án B không chính xác vì nó so sánh với ký tự xuống dòng, không phải điều kiện dừng của vòng lặp. Phương án C không chính xác vì nó nói về việc ghi một phần tử, trong khi đoạn mã thực hiện việc đọc. Do đó, phương án D là phát biểu đúng nhất.

Câu hỏi liên quan