Tạo Trắc Nghiệm

320 Câu hỏi trắc nghiệm lập trình C có đáp án - Phần 4

50 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àm nào dưới đây chỉ dùng để đọc 1 khối dữ liệu từ tệp:

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

Đáp án: D

Câu 2

Hàm nào dưới đây chỉ dùng để ghi một khối dữ liệu vào file:

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

Đáp án: C

Câu 3

Giả sử tệp DATA chứa 5 byte: “70, 26, 13, 10, 44”. Cho đoạn lệnh. Hãy
cho biết kết quả của đoạn chương trình trên:
FILE * f;
char ch;
f = fopen(“DATA”, ”r”); while (!feof(f)) {
ch = fgetc(f);
printf(“ % c”, ch);
};
fclose(f);

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

Đáp án: B

Câu 4

Cho tệp nhị phân DATA chứa dãy các cấu trúc liền nhau L struct T{…} x;và f là con trỏ tệp đến DATA. Chọn câu đúng nhất trong các câu sau:

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

Đáp án: C

Câu 5

f là con trỏ trỏ đến tệp nhị phân DATA chứa không quá 100 bản ghi( kiểu cấu trúc) liền nhau. Cho khai báo. Đoạn chương trình nào sau đây
đọc toàn bộ các bảng ghi trong DATA vào x: struct T {…}; struct T x[100]; int i = 0, n = 0;

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

Đáp án: C

Câu 6

Phát biểu nào sau đây là đúng khi nói về chế độ truyền: Trong chế độ nhị phân, các byte được sử lí khác với giá trị trên thiết bị ngoại vi và có sự thực hiện chuyển đổi. Trong chế độ nhị phân, các kí tự được tổ chức thành từng dòng, được kết thúc bằng kí tự xuống dòng và có sự chuyển đổi. Trong chế độ văn bản, các kí tự được tổ chức thành từng dòng, mỗi dòng kết thúc bằng kí tự xuống dòng, có sự chuyển đổi của một số kí tự theo yêu cầu của môi trường. Trong chế độ nhị phân, các byte được sử lí đúng như giá trị trên thiết bị ngoại vi và không có sự thực hiện chuyển đổi nào.

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

Đáp án: B

Câu 7

Phát biểu nào sau là đúng khi nói về hàm fgets():

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

Đáp án: D

Câu 8

Hàm nào dưới đây chỉ dùng để ghi 1 xâu kí tự vào tệp:

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

Đáp án: D

Câu 9

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

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

Đáp án: D

Câu 10

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

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

Đáp án: C

Câu 11

Hàm nào dưới đây chỉ dùng để chuyển con trỏ về vị trí đầu tệp:

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

Đáp án: B

Câu 12

Đấu hiệu nào là đúng khi sử dụng hàm fread();

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

Đáp án: D

Câu 13

Dấu hiệu nào là đúng khi sử dụng hàm fputs();

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

Đáp án: A

Câu 14

Dấu hiệu nào là đúng khi sử dụng hàm fopen() để mở một file đã tồn tại đọc theo kiểu nhị phân:

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

Đáp án: C

Câu 15

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

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

Đáp án: A

Câu 16

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

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

Đáp án: B

Câu 17

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

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

Đáp án: C

Câu 18

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

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

Đáp án: A

Câu 19

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

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

Đáp án: C

Câu 20

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

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

Đáp án: B

Câu 21

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 án và lời giải

Đáp án: A

Câu 22

Cho khai báo. Câu lệnh nào không hợp lệ?
struct T {
int x;
float y;
}
t, * p, a[10];

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

Đáp án: D

Câu 23

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

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

Đáp án: B

Câu 24

ong 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
}
};

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

Đáp án: B

Câu 25

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

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

Đáp án: D

Câu 26

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

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

Đáp án: C

Câu 27

Để 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;

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

Đáp án: D

Câu 28

Để 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). (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:
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;
}

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

Đáp án: B

Câu 29

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

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

Đáp án: B

Câu 30

Chọn câu đúng:

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

Đáp án: C

Câu 31

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

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

Đáp án: C

Câu 32

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

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

Đáp án: D

Câu 33

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

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

Đáp án: C

Câu 34

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 35

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

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

Đáp án: A

Câu 36

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.1 f % 0.1 f % 0.1 f”, m.k, m.a, m.l);
};

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

Đáp án: A

Câu 37

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 38

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 39

Chọn kết quả đúng cho chương trình sau:
#include <stdio.h>
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.1 f”, m.d);
printf(“ % s”, m.ht);
};

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

Đáp án: D

Câu 40

Chọn kết quả đúng cho chương trình sau:
#include <stdio.h>
#include <string.h>
void main() {
struct S1 {
float d;
float d1;
float d2;
};
struct S1 m = {
12,
1
};
printf(“ % 0.1 f % 0.1 f % 0.1 f”, m.d, m.d1, m.d2);
};

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

Đáp án: A

Câu 41

Chương trình sau cho kết quả là gì:
#include <stdio.h>
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 42

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 43

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 44

Cho khai báo sau. Số lượng bít sử dụng trong biến cấu trúc trên là bao nhiêu:
struct Date {
unsigned int ngay: 5;
unsigned int thang;
unsigned int nam: 11;
}
sn1;

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

Đáp án: C

Câu 45

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 46

Đâ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 47

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 48

Đâu là phát biểu dúng về danh sach moc nối:

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

Đáp án: B

Câu 49

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

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

Đáp án: B

Câu 50

Cho đoạn chương trình. Kích thước của biến u là bao nhiêu byte:
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;

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

Đáp án: B