vietjack.com

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

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

V
VietJack
Đại họcTrắc nghiệm tổng hợp6 lượt thi
30 câu hỏi
1. Trắc nghiệm
1 điểmKhông giới hạn

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?

structure STUDENT {char Name[]; int s1,s2,s3;};

struct STUDENT {char Name[]; int s1, s2, s3;};

typedef struct STUDENT {char Name[]; float s1,s2,s3;};

typedef STUDENT { char Name[]; int s1, s2, s3;};

Xem đáp án
2. Trắc nghiệm
1 điểmKhông giới hạn

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

Địa chỉ vùng nhớ của một biến khác.

Giá trị của một biến khác.

Cả A và B đều đúng.

Cả A và B đều sai.

Xem đáp án
3. Trắc nghiệm
1 điểmKhông giới hạn

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);

};

“8.06.56.0”.

“86.56”.

“8.0000006.5000006.000000”.

“86.5000006”.

Xem đáp án
4. Trắc nghiệm
1 điểmKhông giới hạn

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?

Mảng.

Con trỏ.

Tập tin.

Cấu trúc (struct).

Xem đáp án
5. Trắc nghiệm
1 điểmKhông giới hạn

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);

};

“FFE6FFE6”.

“FFE6FFE7”.

“FFE66EFF”.

Kết quả khác. (“FFE4FFE4”).

Xem đáp án
6. Trắc nghiệm
1 điểmKhông giới hạn

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);

};

“10.000000NguyenVanTuan”.

“10.0NguyenVanTuan”.

Kết quả khác.

Chương trình bị lỗi.

Xem đáp án
7. Trắc nghiệm
1 điểmKhông giới hạn

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);

};

“12.01.00.0”.

“12.0000001.0000000.000000”.

Kết quả khác.

Chương trình bị lỗi.

Xem đáp án
8. Trắc nghiệm
1 điểmKhông giới hạn

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);

};

-4.

2.

5.

Không có kết quả đúng.

Xem đáp án
9. Trắc nghiệm
1 điểmKhông giới hạn

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

1.

2

3.

4.

Xem đáp án
10. Trắc nghiệm
1 điểmKhông giới hạn

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

Khai báo biến cho cấu trúc đó ta không cần sử dụng từ khóa “struct” nữa.

Khai báo 1 biến cho loại cấu trúc đó ta cần sử dụng từ khóa “struct”.

Không thể khai báo thêm biến cấu trúc nào nữa.

Xem đáp án
11. Trắc nghiệm
1 điểmKhông giới hạn

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?

16.

20.

32.

48.

Xem đáp án
12. Trắc nghiệm
1 điểmKhông giới hạn

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

Độ dài các trường không vượt quá 16 bit.

Áp dụng được cho các trường có kiểu số nguyên và số thực.

Cho phép lấy địa chỉ trường kiểu nhóm bit.

Xây dựng được các mảng kiểu nhóm bit.

Xem đáp án
13. Trắc nghiệm
1 điểmKhông giới hạn

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

Là một cấu trúc có một trường là con trỏ chứa địa chỉ của một biến cấu trúc.

Là dạng cấu trúc có một trường là con trỏ chứa địa chỉ của một biến cấu trúc có dạng dữ liệu giống nó.

Là dạng cấu trúc có một trường có kiểu dữ liệu giống nó.

Tất cả các ý trên.

Xem đáp án
14. Trắc nghiệm
1 điểmKhông giới hạn

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

struct Date { int ngay, thang, nam; };

struct { int ngay, thang, nam; } D1, D2;

typedef struct { int ngay, thang, nam; } Date;

struct Date { long int ngay:7; long int thang:6; long int nam:5; };

Xem đáp án
15. Trắc nghiệm
1 điểmKhông giới hạn

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

Độ dài danh sách không thể thay đổi.

Các phần tử của nó được lưu trữ rải rác trong bộ nhớ RAM.

Để cài đặt danh sách móc nối phải sử dụng đến cấu trúc tự trỏ.

Chỉ có thể xóa được phần tử đầu tiên của danh sách.

Xem đáp án
16. Trắc nghiệm
1 điểmKhông giới hạn

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

Tất cả các trường chỉ dùng chung một vùng nhớ, và kích thước union bằng kích thước trường lớn nhất.

Các trường nằm rải rác trong bộ nhớ RAM và kích thước của các trường bằng tổng kích thước các trường.

Có thể khai báo các biến trong union có nhiều kiểu khác nhau.

Tại một thời điểm ta không thể chứa dữ liệu tại tất cả các thành phần của một biến union được.

Xem đáp án
17. Trắc nghiệm
1 điểmKhông giới hạn

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?

20.

22.

28.

Đáp án khác.

Xem đáp án
18. Trắc nghiệm
1 điểmKhông giới hạn

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;

Câu lệnh bị lỗi.

Giá trị “info” trong phần tử thứ 3 đã bị thay đổi.

Giá trị “info” trong phần tử thứ 2 đã bị thay đổi.

Giá trị “info” trong phần tử bất kỳ đã bị thay đổi.

Xem đáp án
19. Trắc nghiệm
1 điểmKhông giới hạn

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;

Loại bỏ phần tử thứ nhất ra khỏi danh sách.

Loại bỏ phần tử thứ 2 ra khỏi danh sách.

Loại bỏ phần tử thứ 3 ra khỏi danh sách.

Câu lệnh bị lỗi.

Xem đáp án
20. Trắc nghiệm
1 điểmKhông giới hạn

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à:

Stack.

Queue.

Cây nhị phân.

Cả 3 đáp án trên.

Xem đáp án
21. Trắc nghiệm
1 điểmKhông giới hạn

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

Chỉ có thể thêm phần tử mới vào đầu danh sách.

Không thể thêm phần tử mới vào cuối danh sách.

Có thể thêm phần tử mới vào vị trí bất kỳ trong danh sách.

Không câu nào đúng.

Xem đáp án
22. Trắc nghiệm
1 điểmKhông giới hạn

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

Chỉ có thể xóa phần tử đầu tiên trong danh sách.

Chỉ có thể xóa phần tử cuối cùng trong danh sách.

Có thể xóa một phần tử tại vị trí bất kỳ trong danh sách.

Tất cả đều sai.

Xem đáp án
23. Trắc nghiệm
1 điểmKhông giới hạn

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):

calloc();

malloc();

realloc();

Cả 3 đáp án trên.

Xem đáp án
24. Trắc nghiệm
1 điểmKhông giới hạn

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->next = head; head = p;

p->next = head; head->p; head = p->next;

head->next = p; p = head;

Không có câu nào đúng.

Xem đáp án
25. Trắc nghiệm
1 điểmKhông giới hạn

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?

head->next = head;

head = head->next;

head = head->next->next;

2, 3.

Xem đáp án
26. Trắc nghiệm
1 điểmKhông giới hạn

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

Mỗi phần tử trong danh sách liên kết phải có ít nhất một trường dùng để lưu địa chỉ.

Sử dụng danh sách liên kết thường tiết kiệm bộ nhớ hơn dùng mảng.

Sử dụng danh sách liên kết thường tốn bộ nhớ hơn dùng mảng.

Tất cả các đáp án đều sai.

Xem đáp án
27. Trắc nghiệm
1 điểmKhông giới hạn

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

Bạn có thể xử lý một cách hỗn hợp các kiểu dữ liệu trong một đơn vị.

Bạn có thể lưu trữ xâu kí tự có độ dài khác nhau vào trong một biến cấu trúc.

Dữ liệu có thể lưu trữ trong một module và dưới dạng phân cấp.

Cần ít nhất một bộ nhớ cho cùng dữ liệu.

Xem đáp án
28. Trắc nghiệm
1 điểmKhông giới hạn

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;

SV1.hoten;

p->hoten;

&hoten;

1 và 2.

Xem đáp án
29. Trắc nghiệm
1 điểmKhông giới hạn

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

Có thể truyền tham số là một biến struct cho hàm.

Có thể truyền tham số là một biến con trỏ cho hàm.

Có thể truyền tham số là một biến con trỏ struct cho hàm.

Không thể truyền tham số là phần tử của struct cho hàm.

Xem đáp án
30. Trắc nghiệm
1 điểmKhông giới hạn

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ử?

A[chỉ số].tên_trường;

A.tên_trường;

&A.tên_trường;

&A[chỉ số].tên_trường;

Xem đáp án
© All rights reserved VietJack