Download as pdf or txt
Download as pdf or txt
You are on page 1of 7

ĐỀ 1

CÂU ĐÚNG =1 ĐIỂM, CÂU SAI -0.5 ĐIỂM

1) Trong các hàm sau, hàm nào để nhập một kí tự từ bàn phím ngay sau khi gõ, không chờ
nhấn Enter và không hiện ra màn hình:
A. scanf();
B. getchar();
C. getch();
D. getche();
2) Mảng là gì ?Chọn câu trả lời ĐÚNG NHÂT
A. Một chuỗi các phần tử khác kiểu được đặt trên các vị trí bộ nhớ liên tiếp nhau,
trong đó mỗi thành phần có thể được tham chiếu thông qua số chỉ mục và tên
mảng.
B. Một chuỗi các phần tử cùng kiểu đặt trên các vị trí bộ nhớ khác nhau, trong đó
mỗi phần tử có thể tham chiếu thông qua số chỉ mục và tên mảng.
C. Một chuỗi các phần tử cùng kiểu đặt trên các vị trí bộ nhớ liên tiếp nhau,
trong đó mỗi thành phần có thể được tham chiếu thông qua số chỉ mục và tên
mảng.
D. Không có đáp án đúng.
3) Hàm mô tả Thêm đầu danh sách liên kết đơn

Lệnh nào sau đây sẽ được đưa vào dòng 30 của hàm ?

A. l.dau->next=p;
B. p->next=l.dau->next ;
C. p->next=l.dau;
D. l.dau->next= p->next;
4) Cho cây sau:

1|KỸ THUẬT LẬP TRÌNH


Danh sách duyệt NLR của cây nhị phân là:

A. A, B, D, E, F, H, I, J, K, T
B. H, D, A, B, E, F, K, I, J, T
C. H, D, A, B, F, E, K, I, J, T
D. B, A, E, F, D, J, I, T, K, H
5) Đối với kiểu có cấu trúc, cách gán nào sau đây là không được phép:
A. Gán biến cho nhau.
B. Gán hai phần tử mảng( kiểu cấu trúc) cho nhau.
C. Gán một phần tử mảng( kiểu cấu trúc) cho một biến hoặc ngược lại.
D. Gán hai mảng có cấu trúc có cùng số phần tử cho nhau.
6) 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. A.tên_trường;
B. &A.tên_trường;
C. &A[chỉ số].tên_trường;
D. A[chỉ số].tên_trường;
7) Cho khai báo:

struct T {int x; float y;} t, *p, a[10];

Câu lệnh nào không hợp lệ:

A. p=&t;
B. p=&t.x;
C. p=&a[5];
D. p=&a;
8) Chọn kết quả hợp lí cho chương trình sau:

2|KỸ THUẬT LẬP TRÌNH


A. ID=1009, dd/mm/yyyy = 16/09/1989
B. ID = 1009, dd/mm/yyyy = giá trị rác / giá trị rác / giá trị rác
C. Lỗi cú pháp
D. Kết quả khác
9) 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:

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

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


B. Câu lệnh bị lỗi.
C. Giá trị “info” trong phần tử thứ 2 đã bị thay đổi.
D. Giá trị “info” trong phần tử bất kì đã bị thay đổi.
10) Đâu là phát biểu ”đúng” khi nói về danh sách liên kết (1 phần tử):
A. Sử dụng danh sách liên kết thường tốn bộ nhớ hơn dùng mảng.
B. 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ỉ.
C. Sử dụng danh sách liên kết thường tiết kiệm bộ nhớ hơn dùng mảng.
D. Tất cả các đáp án đều sai
11) Đâu là phát biểu ”đúng” khi nói về danh sách liên kết (nhiều phần tử):
A. Sử dụng danh sách liên kết thường tốn bộ nhớ hơn dùng mảng.

3|KỸ THUẬT LẬP TRÌNH


B. 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ỉ.
C. Sử dụng danh sách liên kết thường tiết kiệm bộ nhớ hơn dùng mảng.
D. Tất cả các đáp án đều sai
12) Định nghĩa cấu trúc dữ liệu của danh sách liên kết đơn được mô tả như sau:

typedef struct node{

int key;

node*nextnode;

}onenode;

Trong đó node*nextnode dùng để mô tả:

A. Vùng liên kết quản lý địa chỉ phần tử kế tiếp


B. Con trỏ trỏ tới vùng dữ liệu
C. Con trỏ trỏ tới địa chỉ vùng nhớ của phần tử trước đó trong danh sách liên
kết đơn
D. Con trỏ trỏ tới địa chỉ vùng nhớ của phần tử đầu tiên trong danh sách liên kết
đơn
13) Khi xóa phần tử ra khỏi danh sách đặc L không rỗng thì ta phải luôn luôn thực hiện câu
lệnh:
A. L.Last--;
B. L->Last--;
C. L->Last++;
D. Tất cả đều sai
14) Cho đoạn chương trình sau:

4|KỸ THUẬT LẬP TRÌNH


Kết quả chương trình là:

A. 246
B. 666
C. 264
D. 444
15) Chọn câu đúng nhất để mô tả thuật toán sắp xếp nổi bọt trên mảng A có n phần tử:
A. Đi từ cuối mảng về đầu mảng, trong quá trình đi nếu phần tử ở sau (dưới)
nhỏ hơn phần từ đứng ngay trước (trên) nó thì 2 phần tử này sẽ được đổi chỗ
cho nhau.Sau mỗi lần đi chúng ta đưa được một phần tử trồi lên đúng
chỗ.Sau n-1 lần đi thì tất cả các phần tử trong mảng A sẽ có thứ tự tăng.
B. Đi từ đầu mảng về cuối mảng, trong quá trình đi nếu phần tử ở sau (dưới)
nhỏ hơn phần từ đứng ngay trước (trên) nó thì 2 phần tử này sẽ được đổi chỗ
cho nhau.Sau mỗi lần đi chúng ta đưa được một phần tử trồi lên đúng
chỗ.Sau n lần đi thì tất cả các phần tử trong mảng A sẽ có thứ tự tăng.
C. Đi từ cuối mảng về đầu mảng, trong quá trình đi nếu phần tử ở sau (dưới)
nhỏ hơn phần từ đứng ngay trước (trên) nó thì 2 phần tử này sẽ được đổi chỗ
cho nhau.Sau mỗi lần đi chúng ta đưa được một phần tử trồi lên đúng
chỗ.Sau n lần đi thì tất cả các phần tử trong mảng A sẽ có thứ tự tăng.
D. Đi từ đầu mảng về cuối mảng, trong quá trình đi nếu phần tử ở sau (dưới)
nhỏ hơn phần từ đứng ngay trước (trên) nó thì 2 phần tử này sẽ được đổi chỗ
cho nhau.Sau mỗi lần đi chúng ta đưa được một phần tử trồi lên đúng
chỗ.Sau n+1 lần đi thì tất cả các phần tử trong mảng A sẽ có thứ tự tăng.
16) Chương trình sau có kết quả như thế nào?

A. Không có gì,lỗi

5|KỸ THUẬT LẬP TRÌNH


B. 5
C. 0
D. Kết quả khác
17) Chương trình sau có kết quả như thế nào?

A. 1 2 3
B. 0 1 2 3
C. 0 1 2
D. Kết quả khác
18) Chương trình sau có kết quả như thế nào?

A. Lỗi biên dịch


B. 5
C. 7
D. Một giá trị bất kỳ
19) Chương trình sau có kết quả như thế nào?

A. 5

6|KỸ THUẬT LẬP TRÌNH


B. 6
C. 10
D. 11
20) Chương trình sau có kết quả như thế nào?

A. 1,2,3
B. Không hiện gì
C. Lặp vĩnh viễn
D. Lỗi biên dịch

-----------------HẾT------------------

7|KỸ THUẬT LẬP TRÌNH

You might also like