Đáp án đúng: C
Câu hỏi liên quan
Câu hỏi này kiểm tra kiến thức về cách đọc một chuỗi từ đầu vào chuẩn (stdin) trong C/C++. Chúng ta cần tìm hàm nào đọc được một chuỗi có 100 ký tự.
\nPhân tích các phương án:
\n- \n
- A. fgets(x, 101, stdin);: Hàm
fgets
đọc tối đan-1
ký tự từ luồng đầu vào, trong đón
là tham số thứ hai. Trong trường hợp này,fgets(x, 101, stdin)
sẽ đọc tối đa 100 ký tự từstdin
và lưu vào chuỗix
. Nếu gặp ký tự newline (\n
), nó cũng sẽ được đọc và lưu vào chuỗi. Chuỗi kết quả sẽ luôn được kết thúc bằng ký tự null (\0
). Đây là phương án đúng. \n - B. fgets(x, 100, stdin);: Hàm
fgets(x, 100, stdin)
sẽ đọc tối đa 99 ký tự từstdin
. Điều này không đáp ứng yêu cầu đọc 100 ký tự. \n - C. readline(x, 100, ‘\\n’);: Hàm
readline
không phải là một hàm chuẩn trong C/C++. Vì vậy, phương án này không đúng. \n - D. read(x);: Hàm
read
là một hàm hệ thống (system call) thường được sử dụng để đọc dữ liệu từ một file descriptor (ví dụ: file, socket). Nó không tự động thêm ký tự null (\0
) vào cuối chuỗi, và việc sử dụng nó trực tiếp để đọc chuỗi có thể gây ra lỗi tràn bộ đệm nếu không được xử lý cẩn thận. Hơn nữa, cú phápread(x)
không đầy đủ; cần chỉ rõ số byte cần đọc và file descriptor. \n
Kết luận:
\nPhương án A là đúng vì nó sử dụng hàm fgets
để đọc tối đa 100 ký tự từ đầu vào chuẩn và lưu vào chuỗi x
, đồng thời đảm bảo chuỗi kết thúc bằng ký tự null.
Trong ngôn ngữ lập trình C (và nhiều ngôn ngữ khác), hàm scanf()
(hoặc các biến thể của nó) thường được sử dụng để đọc dữ liệu đầu vào từ bảng điều khiển (console). Hàm này cho phép bạn định dạng dữ liệu đầu vào và lưu trữ nó vào các biến tương ứng.
- A. quét f(): Đây có thể là một cách viết không chính xác hoặc gõ sai của hàm
scanf()
. Nếu đây là ý định của người ra đề, thì nó có thể là đáp án đúng. - B. inf( ): Hàm
inf()
không phải là một hàm chuẩn trong C để đọc dữ liệu đầu vào. - C. lấy( ): Hàm
get()
không phải là một hàm chuẩn trong C để đọc dữ liệu đầu vào một cách tổng quát. Có thể có các hàm nhưgetchar()
hoặcfgets()
để đọc ký tự hoặc chuỗi, nhưng "lấy()" không phải là một hàm thông dụng.
Dựa trên các lựa chọn và giả định rằng "quét f()" là một cách viết khác của scanf()
, đáp án A là đáp án phù hợp nhất.
Trong C, các kiểu dữ liệu thực (floating-point) được sử dụng để biểu diễn các số không nguyên. Có ba kiểu dữ liệu thực chính:
float
: Kiểu dữ liệu dấu phẩy động đơn (single-precision floating-point).double
: Kiểu dữ liệu dấu phẩy động kép (double-precision floating-point), cung cấp độ chính xác cao hơn so vớifloat
.long double
: Kiểu dữ liệu dấu phẩy động mở rộng (extended-precision floating-point), cung cấp độ chính xác cao hơn nữa so vớidouble
.
Vì vậy, đáp án C là chính xác nhất vì nó liệt kê đầy đủ các kiểu dữ liệu thực trong C.

Bộ Đồ Án Tốt Nghiệp Ngành Trí Tuệ Nhân Tạo Và Học Máy

Bộ 120+ Đồ Án Tốt Nghiệp Ngành Hệ Thống Thông Tin

Bộ Đồ Án Tốt Nghiệp Ngành Mạng Máy Tính Và Truyền Thông

Bộ Luận Văn Tốt Nghiệp Ngành Kiểm Toán

Bộ 370+ Luận Văn Tốt Nghiệp Ngành Kế Toán Doanh Nghiệp

Bộ Luận Văn Tốt Nghiệp Ngành Quản Trị Thương Hiệu
ĐĂNG KÝ GÓI THI VIP
- Truy cập hơn 100K đề thi thử và chính thức các năm
- 2M câu hỏi theo các mức độ: Nhận biết – Thông hiểu – Vận dụng
- Học nhanh với 10K Flashcard Tiếng Anh theo bộ sách và chủ đề
- Đầy đủ: Mầm non – Phổ thông (K12) – Đại học – Người đi làm
- Tải toàn bộ tài liệu trên TaiLieu.VN
- Loại bỏ quảng cáo để tăng khả năng tập trung ôn luyện
- Tặng 15 ngày khi đăng ký gói 3 tháng, 30 ngày với gói 6 tháng và 60 ngày với gói 12 tháng.