Tạo Trắc Nghiệm

300+ câu trắc nghiệm tổng hợp Cơ sở lập trình có đáp án - Phần 7

30 câu · Đề ôn tập tổng hợp

Xem trước: đọc nhanh mọi câu dạng chữ, chưa tính giờ, chưa hiện đáp án.
Luyện tập: chọn đáp án là biết đúng sai ngay, kèm lời giải.
Thi thử: nộp bài mới chấm điểm và hiện lời giải.

Câu 1

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?

Đáp án và lời giải

Đáp án: C

Câu 2

Biến con trỏ có thể chứa:

Đáp án và lời giải

Đáp án: A

Câu 3

Kết quả của chương trình sau là gì?

#include

void main() {

struct diem {

float k;

float a;

float l;

};

struct diem m;

m.k = 8;

m.a = 6.5;

m.l = 6;

printf("%0.1f%0.1f%0.1f", m.k, m.a, m.l);

};

Đáp án và lời giải

Đáp án: A

Câu 4

Kiểu dữ liệu nào có thể chứa nhiều thành phần dữ liệu có thể có kiểu dữ liệu khác nhau thành một nhóm duy nhất?

Đáp án và lời giải

Đáp án: D

Câu 5

Chọn kết quả hợp lý cho chương trình sau:

void main() {

struct sv {

float d;

char ht[10];

};

struct sv m, *p;

p = &m;

printf("%p", &m);

printf("%p", p);

};

Đáp án và lời giải

Đáp án: D

Câu 6

Chọn kết quả đúng cho chương trình sau:

#include

void main() {

clrscr();

struct sv {

float d;

char ht[10];

};

struct sv m, *p;

p = &m;

(*p).d = p->d = 10;

strcpy(m.ht, “NguyenVanTuan”);

printf(“%0.1f”, m.d);

printf(“%s”, m.ht);

};

Đáp án và lời giải

Đáp án: C

Câu 7

Chọn kết quả đúng cho chương trình sau:

#include

#include

void main() {

struct S1 {

float d;

float d1;

float d2;

};

struct S1 m = {12, 1};

printf(“%0.1f%0.1f%0.1f”, m.d, m.d1, m.d2);

};

Đáp án và lời giải

Đáp án: A

Câu 8

Chương trình sau cho kết quả là gì?

#include

void main() {

int *px, *py;

int a[] = {1, 2, 3, 4, 5, 6};

px = a;

py = &a[5];

printf(“%d”, ++px - py);

};

Đáp án và lời giải

Đáp án: A

Câu 9

Có bao nhiêu cách khai báo biến cấu trúc?

Đáp án và lời giải

Đáp án: B

Câu 10

Khi sử dụng từ khóa typedef trước định nghĩa cấu trúc thì:

Đáp án và lời giải

Đáp án: A

Câu 11

Cho khai báo sau:

struct Date {

unsigned int ngay: 5;

unsigned int thang;

unsigned int nam: 11;

} sn1;

Số lượng bit sử dụng trong biến cấu trúc trên là bao nhiêu?

Đáp án và lời giải

Đáp án: C

Câu 12

Chọn đáp án đúng khi sử dụng trường kiểu bit:

Đáp án và lời giải

Đáp án: A

Câu 13

Đâu là định nghĩa đúng về cấu trúc tự trỏ?

Đáp án và lời giải

Đáp án: A

Câu 14

Trong các khai báo sau, khai báo nào không đúng?

Đáp án và lời giải

Đáp án: D

Câu 15

Đâu là phát biểu đúng về danh sách móc nối?

Đáp án và lời giải

Đáp án: B

Câu 16

Phát biểu nào không đúng về union?

Đáp án và lời giải

Đáp án: C

Câu 17

Cho đoạn chương trình:

struct ng {

unsigned ngay;

unsigned thang;

unsigned nam;

};

struct diachi {

int sonha;

char tenpho[20];

};

union u {

struct ng date;

struct diachi address;

} diachi_ngaysinh;

Kích thước của biến u là bao nhiêu byte?

Đáp án và lời giải

Đáp án: B

Câu 18

Cho một danh sách móc nối với các phần tử trong danh sách có kiểu S1 được định nghĩa như sau:

struct S1 {

int info;

struct S1 * next;

} *head;

Biết con trỏ “head” lưu địa chỉ của phần tử đầu tiên trong danh sách. Cho biết mục đích của câu lệnh sau:

c

Sao chépChỉnh sửa

head->next->next->info = 111;

Đáp án và lời giải

Đáp án: B

Câu 19

Cho một danh sách móc nối với các phần tử trong danh sách có kiểu S1 được định nghĩa như sau:

struct S1 {

int info;

struct S1 * next;

} *head;

Biết con trỏ “head” lưu địa chỉ của phần tử đầu tiên trong danh sách. Cho biết mục đích của câu lệnh sau:

c

Sao chépChỉnh sửa

(head->next) = (head->next)->next;

Đáp án và lời giải

Đáp án: B

Câu 20

Một danh sách trong đó tất cả các thao tác chèn thực hiện tại một đầu, thao tác xóa được thực hiện tại đầu kia của danh sách gọi là:

Đáp án và lời giải

Đáp án: B

Câu 21

Đâu là phát biểu đúng về danh sách móc nối?

Đáp án và lời giải

Đáp án: C

Câu 22

Đâu là phát biểu đúng về danh sách?

Đáp án và lời giải

Đáp án: C

Câu 23

Hàm dùng để cấp phát bộ nhớ động cho kiểu nhớ động do lập trình viên tự định nghĩa như (union, struct):

Đáp án và lời giải

Đáp án: D

Câu 24

Cho một danh sách móc nối với các phần tử trong danh sách có kiểu S1 được định nghĩa như sau:

struct S1 {int info; struct S1 *next;} *head;

Biết con trỏ “*head” lưu địa chỉ của phần tử đầu tiên trong danh sách. Nhóm câu lệnh nào sau đây thêm một phần tử vào đầu danh sách?

Đáp án và lời giải

Đáp án: A

Câu 25

Cho một danh sách móc nối với các phần tử trong danh sách có kiểu S1 được định nghĩa như sau:

struct S1 {int info; struct S1 *next;} *head;

Biết con trỏ “*head” lưu địa chỉ của phần tử đầu tiên trong danh sách. Nhóm câu lệnh nào sau đây xóa phần tử đầu tiên ra khỏi danh sách?

Đáp án và lời giải

Đáp án: B

Câu 26

Đâu là phát biểu sai khi nói về danh sách liên kết?

Đáp án và lời giải

Đáp án: C

Câu 27

Câu nào không nói đến ưu điểm của việc sử dụng cấu trúc?

Đáp án và lời giải

Đáp án: D

Câu 28

Làm thế nào có thể biểu diễn phần tử “hoten” của SV1:

struct SV { char hoten[20]; } SV1, *p;

p = &SV1;

Đáp án và lời giải

Đáp án: D

Câu 29

Đâu là phát biểu sai?

Đáp án và lời giải

Đáp án: D

Câu 30

Cho mảng A gồm các phần tử kiểu struct, phát biểu nào là đúng khi truy cập đến các trường của các phần tử?

Đáp án và lời giải

Đáp án: A