TOP 40 câu Trắc nghiệm Tin học 11 C++ Bài 13 (có đáp án 2023): Kiểu cấu trúc (struct)

Bộ 40 câu hỏi trắc nghiệm Tin học lớp 11 C++ Bài 13: Kiểu cấu trúc (struct) có đáp án đầy đủ các mức độ giúp các em ôn trắc nghiệm Tin học 11 C++ Bài 13.

1 1460 lượt xem
Tải về


Trắc nghiệm Tin học 11 C++ Bài 13: Kiểu cấu trúc (struct)

Câu 1. Khẳng định nào sau đây là đúng khi nói về kiểu cấu trúc (struct)?

A. Dữ liệu kiểu cấu trúc (struct) dùng để mô tả các đối tượng có cùng một số thuộc tính mà các thuộc tính có thể có các kiểu dữ liệu khác nhau.

B. Dữ liệu kiểu cấu trúc (struct) dùng để mô tả các đối tượng khác nhau về thuộc tính.

C. Dữ liệu kiểu cấu trúc (struct) dùng để mô tả các đối tượng có cùng kiểu dữ liệu.

D. Dữ liệu kiểu cấu trúc (struct) dùng để mô tả các đối tượng khác nhau về thuộc tính và có cùng kiểu dữ liệu.

Đáp án: A

Giải thích:

Dữ liệu kiểu cấu trúc (struct) dùng để mô tả các đối tượng có cùng một số thuộc tính mà các thuộc tính có thể có các kiểu dữ liệu khác nhau.

Câu 2. Kiểu cấu trúc được định nghĩa:

A. struct

<kiểu thành viên 1><thành viên 1>;

. . .

<kiểu thành viên k><thành viên k>;

};

B. <tên kiểu cấu trúc>{

<kiểu thành viên 1><thành viên 1>;

. . .

<kiểu thành viên k><thành viên k>;

};

C. struct <tên kiểu cấu trúc>

D. struct <tên kiểu cấu trúc>{

<kiểu thành viên 1><thành viên 1>;

. . .

<kiểu thành viên k><thành viên k>;

};

Đáp án: D

Giải thích:

Kiểu cấu trúc thường được định nghĩa như sau: 

struct <tên kiểu cấu trúc>{

<kiểu thành viên 1><thành viên 1>;

. . .

<kiểu thành viên k><thành viên k>;
};

Câu 3. Sau khi có kiểu cấu trúc, biến kiểu cấu trúc có thể được khai báo như sau:

A. <tên biến bản ghi> <tên kiểu cấu trúc>;

B. <tên kiểu cấu trúc> <tên biến bản ghi>;

C. <tên kiểu cấu trúc> :<tên biến bản ghi>;

D. <tên biến bản ghi>:<tên kiểu cấu trúc>;

Đáp án: B

Giải thích:

Sau khi có kiểu cấu trúc, biến kiểu cấu trúc có thể được khai báo như sau:

<Tên kiểu cấu trúc> <tên biến bản ghi>;

Câu 4. Có bao nhiêu cách gán giá trị cho biến bản ghi?

A. 1                                                    

B. 2

C. 3                                                    

D. 4

Đáp án: B

Giải thích:

Có hai cách để gán giá trị cho biến bản ghi:
Dùng lệnh gán trực tiếp và gán giá trị cho từng thuộc tính.

Câu 5. Cho đoạn chương trình sau:

struct HocSinh{

string HoTen;

string NgaySinh, DiaChi;

float Toan, Van;

char XepLoai;

Trong đoạn chương trình trên biến có kiểu dữ liệu cấu trúc là:

A. HoTen                       

B. XepLoai

C. HocSinh                     

D. Toan

Đáp án: C

Giải thích:

Vì biến Hocsinh được khai báo:

struct HocSinh{

Câu 6. Cho đoạn chương trình sau:

struct HocSinh{

string HoTen;

string NgaySinh, DiaChi;

float Toan, Van;

char XepLoai;

Trong đoạn chương trình trên các thành viên là:

A. HoTen, NgaySinh, DiaChi, Toan, Van, XepLoai;

B. HoTen, NgaySinh, Hocsinh;

C. HocSinh, Toan, Van, XepLoai;

D. HoTen, NgaySinh, DiaChi, Toan, Van, XepLoai, HocSinh;

Đáp án: A

Giải thích:

Theo định nghĩa của kiểu cấu trúc:

struct <tên kiểu cấu trúc>{

<kiểu thành viên 1><thành viên 1>;

. . .

<kiểu thành viên k><thành viên k>;
};

Câu 7. Nếu A là biến kiểu cấu trúc và X là tên một thuộc tính của A, thì tham chiếu đến thuộc tính X, được viết là:

A. A.X                                                

B. X.A

C. A[X]                                    

D. X[A]

Đáp án: A

Giải thích:

Để tham chiếu đến thuộc tính X, ta viết là: A.X

Câu 8. Cho đoạn chương trình sau:

#include

 using namespace std;

 struct Rectangle {

int width, height;

};

 int main(void) {

struct Rectangle rec;

Nếu muốn gán giá trị cho biến height bằng 8 ta viết:

A. rec[height] = 8;

B. height.rec = 8;

C. rec.height = 8;

D. height = 8;

Đáp án: C

Giải thích:

Để tham chiếu đến thuộc tính X, được viết là: A.X

Câu 9. Nếu A B là hai biến bản ghi cùng kiểu thì ta có thể gán giá trị của B cho A dùng lệnh gán trực tiếp bằng câu lệnh:

A. A==B;                        

B. A:=B;

C. A=B;                

D. B:=A;

Đáp án: C

Giải thích:

Dùng lệnh gán trực tiếp: Nếu A và B là hai biến bản ghi cùng kiểu thì ta có thể gán giá trị của B cho A bằng câu lệnh:

A = B;

Câu 10. Cho khai báo cấu trúc sau:

struct SinhVien {

int maSV;

char ho[20];

char ten[20];

bool gioiTinh;

char queQuan[100];

};

Để khai báo 2 biến sv1 và sv2 có kiểu SinhVien ta khai báo:

A.  sv1, sv2 : SinhVien;

B.  sv1, sv2 of SinhVien;

C. SinhVien: sv1, sv2;

D. SinhVien sv1, sv2;

Đáp án: D

Giải thích:

Khai báo giống như khai báo biến

<kiểu dữ liệu><tên biến>;

Trong đó kiểu cấu trúc là SinhVien, 2 biến là sv1, sv2.

Câu 11. Khẳng định nào sau đây là sai khi nói về kiểu cấu trúc?

A. Kiểu cấu trúc là một loại dữ liệu khác trong ngôn ngữ lập trình C/C++, cho phép bạn kết hợp các dữ liệu khác kiểu nhau.

B. Cấu trúc được sử dụng để biểu diễn một bản ghi.

C. Để truy cập bất kỳ thành viên nào của cấu trúc, bạn sử dụng toán tử truy cập phần tử (.). Toán tử truy cập thành viên cấu trúc được mã hóa là dấu chấm giữa tên biến cấu trúc và thành viên cấu trúc mà bạn muốn truy cập.

D. Dữ liệu kiểu cấu trúc (struct) dùng để mô tả các đối tượng khác nhau về thuộc tính mà các thuộc tính có thể có các kiểu dữ liệu khác nhau.

Đáp án: D

Giải thích:

Dữ liệu kiểu cấu trúc (struct) dùng để mô tả các đối tượng có cùng một số thuộc tính mà các thuộc tính có thể có các kiểu dữ liệu khác nhau.

Câu 12. Cho đoạn chương trình sau:

struct SinhVien

{

int maSV;

char ho[20];

char ten[20];

bool gioiTinh;

char queQuan[100];

};

 int main(){

SinhVien sv1, sv2;

struct SinhVien sv3, sv4;

struct SinhVien sv[100];

Trong đoạn chương trình trên biến sv1, sv2 thuộc dữ liệu kiểu:

A. Tự định nghĩa

B. SinhVien

C. Mảng

D. Nguyên

Đáp án: B

Giải thích:

Vì biến sv1, sv2 được khai báo: SinhVien sv1, sv2;

Câu 13. Cho đoạn chương trình sau:

struct SinhVien

{

int maSV;

char ho[20];

char ten[20];

bool gioiTinh;

char queQuan[100];

};

 int main(){

SinhVien sv1, sv2;

struct SinhVien sv3, sv4;

struct SinhVien sv[100];

Trong đoạn chương trình trên biến sv3, sv4 thuộc dữ liệu kiểu:

A. Tự định nghĩa

B. Sinhvien

C. Mảng

D. Nguyên

Đáp án: A

Giải thích:

Khi có từ khóa struct ở đầu, có nghĩa là biến này là biến của kiểu dữ liệu tự định nghĩa:

struct SinhVien sv3, sv4;

Câu 14. Cho đoạn chương trình sau:

struct toado

{

int x;

int y

} a, b;

Khẳng định nào sau đây là đúng?

A. Tên struct là toado

     Các thành phần struct là a,b

     Các biến struct là x,y

B. Tên struct là x,y

     Các thành phần struct là toado

     Các biến struct là a, b;

C. Tên struct là a,b

     Các thành phần struct là x, y

     Biến struct là toado

D. Tên struct là toado

     Các thành phần struct là x, y

     Các biến struct là a, b;

Đáp án: D

Giải thích:

Dựa vào khai báo các biến trong đoạn chương trình trên.

- Tên struct là toado

- Các thành phần struct là x, y

- Các biến struct là a, b;

Câu 15. Khẳng định nào sau đây là đúng khi nói về các phép toán có thể được thực hiện với struct:

A. Có sử dụng phép gán, gán một biến struct cho một biến struct khác cùng kiểu.

B. có sử dụng phép ==

C. Có sử dụng phép !=

D.  Không thực hiện truy vấn tới các thành phần của struct từ biến struct.

Đáp án: A

Giải thích:

Các biến struct không sử dụng các phép toán == và != bởi vì các thành phần trực thuộc struct không nhất thiết phải được lưu trữ trong các byte bộ nhớ liên tiếp.

Các phép toán có thể được thực hiện với struct bao gồm:

+ Phép gán, gán một biến struct cho một biến struct khác cùng kiểu.

+ Phép tham chiếu để lấy địa chỉ của một biến struct.

+ Truy vấn tới các thành phần của struct từ biến struct.

+ Sử dụng toán tử sizeof để lấy kích cỡ của biến struct.

Các câu hỏi trắc nghiệm Tin học lớp 11 C++ có đáp án, chọn lọc khác:

Trắc nghiệm Bài 14: Kiểu dữ liệu tệp có đáp án

Trắc nghiệm Bài 15: Kiểu tệp có đáp án

Trắc nghiệm Bài 16: Ví dụ làm việc với tệp có đáp án

Trắc nghiệm Bài 17: Chương trình con và phân loại có đáp án

Trắc nghiệm Bài 18: Ví dụ về cách định nghĩa và sử dụng hàm có đáp án

1 1460 lượt xem
Tải về


Xem thêm các chương trình khác: