2048.vn

230+ câu trắc nghiệm Ngôn ngữ lập trình có đáp án - Phần 6
Quiz

230+ câu trắc nghiệm Ngôn ngữ lập trình có đáp án - Phần 6

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

Phát biểu đúng nhất về mẫu lệnh (f là con trỏ tệp):
while ((ch=fgetc(f))!=EOF) …

Chọn 1 phần tử và kiểm tra xem có phải là EOF hay không.

Đọc các phần tử của tệp chừng nào kí tự đó chưa phải là kí tự xuống dòng.

Ghi một phần tử và kiểm tra xem có phải là EOF hay không.

Đọc các phần tử của tệp chừng nào kí tự đó chưa phải là kí tự kết thúc.

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

Phát biểu nào đúng khi nói về câu lệnh fflush(FILE *f):

Hàm làm sạch vùng đệm của tệp f, nếu thành công cho giá trị số tệp đang mở, trái lại, trả về EOF.

Hàm làm sạch giá trị vùng đệm của tệp f, nếu thành công hàm cho giá trị EOF, trái lại, hàm trả về 0.

Hàm làm sạch vùng đệm của tệp f, nếu thành công trả về 0, trái lại, trả về EOF.

Hàm xóa bộ nhớ đệm của bàn phím.

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

Hàm nào trả lại kích thước của một tệp được mở:

long filelength(int the_file);

double filelength(int the_file);

int filelength(int the_file);

Không có đáp án nào đúng.

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

Câu lệnh sau có ý nghĩa gì: FILE *fopen(tep1, "ab");

Mở tệp nhị phân để ghi.

Mở tệp nhị phân đã có và ghi thêm dữ liệu nối tiếp vào tệp này.

Mở tệp nhị phân để ghi mới.

Mở tệp nhị phân để đọc.

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

Hàm nào có thể thay đổi kích thước của tệp đang mở:

double chsize(int handle, long size);

long chsize(int handle, long size);

int chsize(int handle, long size);

Tất cả các đáp án trên.

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

Trong chế độ văn bản, dấu hiệu kết thúc tệp là:

EOF.

NULL.

\n.

Ctrl_Z.

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

Câu lệnh sau có ý nghĩa gì: FILE *fopen(tep1, "r+");

Mở tệp văn bản cho phép ghi.

Mở tệp văn bản cho phép đọc.

Mở tệp văn bản cho phép cả đọc cả ghi.

Mở tệp văn bản đã tồn tại để đọc.

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

Câu lệnh sau có ý nghĩa gì: int open(tep1, O_TRUNC);

Mở tệp nhị phân để ghi.

Xóa nội dung của tệp.

Mở tệp văn bản để đọc và ghi.

Tất cả các đáp án trên.

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

Có thể truy cập thành phần của cấu trúc thông qua con trỏ như (với p là con trỏ cấu trúc, a là thành phần cấu trúc):

(*p).a;

*p->a;

1 và 2 sai.

1 và 2 đúng.

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

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

p = &t;

p = &t.x;

p = &a[5];

p = &a;

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

Cho các khai báo sau:
struct ngay{ int ng, th, n;} vaotruong, ratruong;
typedef struct sinhvien{ char hoten; ngay ngaysinh;};
Hãy chọn câu đúng nhất:

Không được phép gán: vaotruong = ratruong;

“sinhvien” là tên cấu trúc, “vaotruong”, “ratruong” là tên biến cấu trúc.

Có thể viết “vaotruong.ng”, “ratruong.th”, “sinhvien.vaotruong.n” để truy xuất đến các thành phần tương ứng.

1, 2, 3 đúng.

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

Trong các khởi tạo giá trị cho các cấu trúc sau, hãy chọn câu đúng:
struct S1{ int ngay, thang, nam;}; S1 = (2, 1, 3);
struct S2{ char hoten[10]; struct S1 ngaysinh;}; S2 = {"Ly Ly", {4, 5, 6}};

S1 đúng.

S2 đúng.

Cả S1, S2 đều đúng.

Cả S1, S2 đều sai.

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

Đối với kiểu có cấu trúc, cách gán nào sau đây là không được phép:

Gán biến cho nhau.

Gán hai phần tử mảng (kiểu cấu trúc) cho nhau.

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.

Gán hai mảng có cấu trúc có cùng số phần tử cho nhau.

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

Cho đoạn chương trình sau:
struct { int to; float soluong;} x[10];
for (int i = 0; i < 10; i++) scanf("%d%f", &x[i].to, &x[i].soluong);
Chọn câu đúng nhất trong các câu sau:

Đoạn chương trình trên có lỗi cú pháp.

Không được phép sử dụng toán tử lấy địa chỉ đối với các thành phần “to” và “soluong”.

Lấy địa chỉ thành phần “soluong” dẫn đến chương trình hoạt động không đúng đắn.

Cả 3 ý trên đều sai.

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

Để tạo danh sách liên kết, theo bạn sinh viên nào dưới đây là khai báo đúng cấu trúc tự trỏ sẽ được dùng:
1 - Sinh viên 1: struct SV {char ht[25]; int tuoi; struct Sv *tiep;};
2 - Sinh viên 2: typedef struct SV node; struct SV {char ht[25]; int tuoi; node *tiep;};
3 - Sinh viên 3: typedef struct SV {char ht[25]; int tuoi; struct SV *tiep;} node;

1.

2.

2 và 3.

1, 2 và 3.

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

Để dùng danh sách liên kết, xét hai khai báo sau (cần 1KB để lưu dữ thông tin về một sinh viên):
1- Khai báo 1: struct SV{ thongtin; struct SV tiep;};
2- Khai báo 2: struct SV {thongtin}; struct DS{struct SV sv; struct DS* tiep;};
(Với “thongtin” là một thành phần dữ liệu của cấu trúc); Chọn câu đúng nhất trong các câu sau:

Khai báo 1 tốn nhiều bộ nhớ hơn khai báo 2.

Khai báo 2 sẽ giúp chương trình chạy nhanh hơn khi đổi vị trí 2 sinh viên.

Khai báo 1 sẽ giúp tiết kiệm câu lệnh hơn khi viết hàm đổi vị trí 2 sinh viên.

Khai báo 2 sẽ giúp chương trình chạy nhanh hơn khi duyệt danh sách.

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

Cho đoạn chương trình:
char S[] = “Helen”;
char *p = S;
char c = *(p+3);
Giá trị của c sẽ là:

‘H’.

‘e’.

‘l’.

‘n’.

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

Chọn câu đúng:

“struct” là một kiểu dữ liệu do người dùng định nghĩa bao gồm nhiều thành phần có kiểu khác nhau.

“struct” là sự kết hợp của nhiều thành phần có thể có kiểu khác nhau.

Cả 2 ý đều đúng.

Cả hai ý đều sai.

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

Toán tử nào sau đây sẽ truy xuất 1 thành phần của con trỏ cấu trúc:

“.” (Toán tử chấm).

“->” (Toán tử mũi tên).

Cả hai đều đúng.

Cả hai đều sai.

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

Xem đoạn code sau:
c

typedef struct ST { int d1, d2, d3; };
ST v = {5, 6, 7};
ST* p = &v;
p.d1++;
Giá trị của biến v là:

{6, 6, 7};

{5, 6, 7};

Nhóm trị khác.

Đoạn code gây lỗi. ((*p).d1++;)

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

Xem đoạn code sau:
typedef struct STUDENT { int d1, d2, d3; };
STUDENT v = {2, 3, 4};
v.d1++;
Giá trị trung bình của các trường trong biến v là gì:

3.0

4.0

Giá trị khác.

Có lỗi trong đoạn code.

Xem đáp án
22. 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
23. 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
24. 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 <stdio.h>
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
25. 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
26. Trắc nghiệm
1 điểmKhông giới hạn

Không gian nhớ dùng để lưu trữ các node của danh sách liên kết kép:

Lưu trữ rời rạc trong bộ nhớ.

Luôn lưu trữ liên tục trong bộ nhớ.

Lưu trữ theo kiểu phân trang.

Lưu trữ theo kiểu phân đoạn.

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

Khi thực hiện việc thêm một node x vào cây nhị phân tìm kiếm ta chỉ cần:

Tìm vị trí thích hợp cho nhánh cây con bên phải.

Tìm vị trí thích hợp cho x trên toàn bộ cây.

Tìm vị trí thích hợp cho nhánh cây con ở bên trái.

Không ý nào đúng.

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

Dấu hiệu nào dưới đây cho biết node p của một danh sách liên kết đơn là node cuối cùng bên phải:

(p->info != NULL);

(p->info == NULL);

(p->next != NULL);

(p->next == NULL);

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

Khi loại bỏ node x ở cây nhị phân tìm kiếm ta chỉ cần kiểm tra xem:

x có phải là node lá trái của cây nhị phân tìm kiếm hay không.

x có phải là node lá phải của cây nhị phân tìm kiếm hay không.

Sự tồn tại của x trên cây

Cả 3 phương án a, b, c đều sai.

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

Cơ chế nào dưới đây được cài đặt cho hàng đợi:

FIFO.

Round Robin.

Tuần tự.

FILO.

Xem đáp án
© All rights reserved VietJack