JavaScript is required

Hãy khai báo một cấu trúc mô tả sinh viên, thông tin về mỗi sinh viên bao gồm: tên, điểm 3 môn học. Khai báo nào sau đây là đúng:

A.
structure STUDENT {char Name[] int s1,s2,s3;};
B.
struct STUDENT {char Name[] int s1, s2, s3;};
C.
typedef struct STUDENT {char Name[] float s1,s2,s3;};
D.
typedef STUDENT { char Name[] int s1, s2,s3;};
Trả lời:

Đáp án đúng: C


Câu hỏi yêu cầu khai báo một cấu trúc (struct) để mô tả thông tin của sinh viên, bao gồm tên và điểm của 3 môn học. Chúng ta cần tìm khai báo đúng cú pháp trong C. * **A. structure STUDENT {char Name[] int s1,s2,s3;};** * Sai. Trong C, từ khóa để khai báo cấu trúc là `struct`, không phải `structure`. Ngoài ra, kiểu dữ liệu cho `Name[]` cần chỉ rõ kích thước mảng hoặc là con trỏ. * **B. struct STUDENT {char Name[] int s1, s2, s3;};** * Sai. Tương tự như A, `Name[]` cần chỉ rõ kích thước mảng hoặc là con trỏ. * **C. typedef struct STUDENT {char Name[] float s1,s2,s3;};** * Đúng. `typedef` cho phép ta tạo một bí danh (alias) cho kiểu cấu trúc, giúp sử dụng tên `STUDENT` trực tiếp sau này mà không cần `struct` ở phía trước. `char Name[]` cần chỉ rõ kích thước mảng hoặc là con trỏ. Kiểu `float` phù hợp để lưu điểm số. * **D. typedef STUDENT { char Name[] int s1, s2,s3;};** * Sai. Nếu sử dụng `typedef` để định nghĩa một cấu trúc, từ khóa `struct` phải xuất hiện trước tên cấu trúc trong phần định nghĩa. Như vậy, đáp án C là đáp án đúng nhất, tuy nhiên, nó vẫn cần sửa đổi `Name[]` để chỉ rõ kích thước mảng hoặc sử dụng con trỏ. Trong các lựa chọn được đưa ra, C là lựa chọn phù hợp nhất.

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