JavaScript is required
Danh sách đề

250+ câu hỏi trắc nghiệm Lập trình C có giải thích chi tiết

50 câu hỏi 60 phút

Thẻ ghi nhớ
Luyện tập
Thi thử
Nhấn để lật thẻ
1 / 50
Ngôn ngữ lập trình nào dưới đây là ngôn ngữ lập trình có cấu trúc?
A.
Ngôn ngữ Assembler
B.
Ngôn ngữ C và Pascal
C.
Ngôn ngữ Cobol
D.
a, b và c
Đáp án
Ngôn ngữ lập trình có cấu trúc là ngôn ngữ cho phép chia chương trình thành các khối nhỏ, dễ quản lý và bảo trì. C, Pascal và Cobol đều là các ngôn ngữ lập trình có cấu trúc. Assembler là ngôn ngữ bậc thấp, không có cấu trúc rõ ràng. Do đó, đáp án D là chính xác nhất.

Danh sách câu hỏi:

Câu 1:

Ngôn ngữ lập trình nào dưới đây là ngôn ngữ lập trình có cấu trúc?
Lời giải:
Đáp án đúng: B
Ngôn ngữ lập trình có cấu trúc là ngôn ngữ cho phép chia chương trình thành các khối nhỏ, dễ quản lý và bảo trì. C, Pascal và Cobol đều là các ngôn ngữ lập trình có cấu trúc. Assembler là ngôn ngữ bậc thấp, không có cấu trúc rõ ràng. Do đó, đáp án D là chính xác nhất.

Câu 2:

Nếu x là một biến toàn cục và x không phải là một con trỏ thì
Lời giải:
Đáp án đúng: D
Biến toàn cục (global variable) được khai báo bên ngoài tất cả các hàm, bao gồm cả hàm `main()`. Vì vậy, nó có phạm vi truy cập rộng nhất và có thể được truy cập và thay đổi từ bất kỳ hàm nào trong chương trình. Nếu `x` là một biến toàn cục và không phải là một con trỏ, thì miền nhớ (vùng nhớ) dành cho `x` có thể bị thay đổi bởi các thao tác với `x` trong bất kỳ hàm nào, kể cả hàm `main()`. * **Phương án A:** Sai. Miền nhớ dành cho `x` là cố định trong suốt quá trình thực hiện chương trình, tuy nhiên giá trị tại miền nhớ đó có thể thay đổi. * **Phương án B:** Sai. Biến toàn cục có thể được thay đổi bởi bất kỳ hàm nào. * **Phương án C:** Đúng. Đây là đặc điểm của biến toàn cục. * **Phương án D:** Sai. Giá trị của biến toàn cục có thể thay đổi.
Lời giải:
Đáp án đúng: D
Trong ngôn ngữ lập trình C, các phép gán rút gọn như `+=`, `*=`, `=` đều hợp lệ. Tuy nhiên, `&=` là phép AND bitwise kết hợp với phép gán. Phép AND bitwise chỉ được thực hiện trên các kiểu dữ liệu số nguyên (ví dụ: `int`, `char`), không được thực hiện trực tiếp trên số thực (ví dụ: `float`, `double`). Do đó, nếu `a` và `b` là số thực, biểu thức `(a&=b)` sẽ không đúng cú pháp. Các đáp án khác: - `(a+=b)`: Cộng `b` vào `a`, tương đương `a = a + b`. - `(a*=b)`: Nhân `a` với `b`, tương đương `a = a * b`. - `(a=b)`: Gán giá trị của `b` cho `a`.
Lời giải:
Đáp án đúng: C
Trong ngôn ngữ C, các toán tử gán rút gọn (compound assignment operators) kết hợp một toán tử số học hoặc bitwise với toán tử gán (=). Các toán tử như +=, -=, *=, /= đều hợp lệ. Tuy nhiên, toán tử dịch bit phải (>>) chỉ được sử dụng với kiểu số nguyên. Vì a và b là hai số thực (float hoặc double), toán tử dịch bit phải (>>) không được phép sử dụng. Như vậy, (a >>= b) là biểu thức không hợp lệ khi a và b là số thực.
Lời giải:
Đáp án đúng: C
Câu hỏi yêu cầu xác định xâu định dạng (format string) nào được sử dụng để in ra một số thực có độ chính xác đơn trong ngôn ngữ C (hoặc các ngôn ngữ tương tự). * **%u**: Được sử dụng để in ra số nguyên không dấu (unsigned integer). * **%e**: Được sử dụng để in ra số thực dưới dạng ký hiệu khoa học (ví dụ: 1.2345e+02). * **%f**: Được sử dụng để in ra số thực dưới dạng số thập phân dấu phẩy động (ví dụ: 123.45). * **%o**: Được sử dụng để in ra số nguyên dưới dạng bát phân (octal). Vì vậy, đáp án chính xác là **%f** vì nó được dùng để in số thực ở dạng thập phân dấu phẩy động, thường dùng để biểu diễn số thực có độ chính xác đơn.
Lời giải:
Bạn cần đăng ký gói VIP để làm bài, xem đáp án và lời giải chi tiết không giới hạn. Nâng cấp VIP

Câu 7:

Cho a=3, b=2. Biến c=(a<<=b) sẽ có giá trị nào dưới đây
Lời giải:
Bạn cần đăng ký gói VIP để làm bài, xem đáp án và lời giải chi tiết không giới hạn. Nâng cấp VIP
Lời giải:
Bạn cần đăng ký gói VIP để làm bài, xem đáp án và lời giải chi tiết không giới hạn. Nâng cấp VIP

Câu 9:

Nếu hàm được gọi trước khi nó định nghĩa thì điều kiện là gì
Lời giải:
Bạn cần đăng ký gói VIP để làm bài, xem đáp án và lời giải chi tiết không giới hạn. Nâng cấp VIP
Lời giải:
Bạn cần đăng ký gói VIP để làm bài, xem đáp án và lời giải chi tiết không giới hạn. Nâng cấp VIP
Lời giải:
Bạn cần đăng ký gói VIP để làm bài, xem đáp án và lời giải chi tiết không giới hạn. Nâng cấp VIP

Câu 12:

Nếu có các khai báo sau. Câu nào sau đây sẽ là đúng:
char msg[10]
char value;
Lời giải:
Bạn cần đăng ký gói VIP để làm bài, xem đáp án và lời giải chi tiết không giới hạn. Nâng cấp VIP
Lời giải:
Bạn cần đăng ký gói VIP để làm bài, xem đáp án và lời giải chi tiết không giới hạn. Nâng cấp VIP
Lời giải:
Bạn cần đăng ký gói VIP để làm bài, xem đáp án và lời giải chi tiết không giới hạn. Nâng cấp VIP
Lời giải:
Bạn cần đăng ký gói VIP để làm bài, xem đáp án và lời giải chi tiết không giới hạn. Nâng cấp VIP
Lời giải:
Bạn cần đăng ký gói VIP để làm bài, xem đáp án và lời giải chi tiết không giới hạn. Nâng cấp VIP
Lời giải:
Bạn cần đăng ký gói VIP để làm bài, xem đáp án và lời giải chi tiết không giới hạn. Nâng cấp VIP
Lời giải:
Bạn cần đăng ký gói VIP để làm bài, xem đáp án và lời giải chi tiết không giới hạn. Nâng cấp VIP

Câu 19:

Phép trừ 1 con trỏ với một số nguyên sẽ là:
Lời giải:
Bạn cần đăng ký gói VIP để làm bài, xem đáp án và lời giải chi tiết không giới hạn. Nâng cấp VIP

Câu 21:

Để khai báo 1 hàm kiểm tra một mảng là tăng hay không ta dùng khai báo nào dưới đây:
Lời giải:
Bạn cần đăng ký gói VIP để làm bài, xem đáp án và lời giải chi tiết không giới hạn. Nâng cấp VIP

Câu 22:

Đoạn code nào sẽ hoán vị 2 số a và b:
Lời giải:
Bạn cần đăng ký gói VIP để làm bài, xem đáp án và lời giải chi tiết không giới hạn. Nâng cấp VIP

Câu 23:

Trong các câu sau, câu nào đúng:
Lời giải:
Bạn cần đăng ký gói VIP để làm bài, xem đáp án và lời giải chi tiết không giới hạn. Nâng cấp VIP
Lời giải:
Bạn cần đăng ký gói VIP để làm bài, xem đáp án và lời giải chi tiết không giới hạn. Nâng cấp VIP

Câu 25:

Chọn biểu thức biểu diễn num là số nằm giữa 1 và 9 nhưng khônh phải là 4:
Lời giải:
Bạn cần đăng ký gói VIP để làm bài, xem đáp án và lời giải chi tiết không giới hạn. Nâng cấp VIP

Câu 26:

Tìm kết quả của chương trình sau:
main() {
int n;
for (n = 18; n > 0; n /= 2)
printf(“ % 3 d”, n);
};
Lời giải:
Bạn cần đăng ký gói VIP để làm bài, xem đáp án và lời giải chi tiết không giới hạn. Nâng cấp VIP
Lời giải:
Bạn cần đăng ký gói VIP để làm bài, xem đáp án và lời giải chi tiết không giới hạn. Nâng cấp VIP

Câu 28:

Giả sử f là con trỏ tệp nhị phân. Để đọc từ f cho biến x kiểu int, ta có thể dùng:
Lời giải:
Bạn cần đăng ký gói VIP để làm bài, xem đáp án và lời giải chi tiết không giới hạn. Nâng cấp VIP
Lời giải:
Bạn cần đăng ký gói VIP để làm bài, xem đáp án và lời giải chi tiết không giới hạn. Nâng cấp VIP

Câu 31:

Phát biểu nào đúng khi nói về câu lệnh fflush(FILE *f):
Lời giải:
Bạn cần đăng ký gói VIP để làm bài, xem đáp án và lời giải chi tiết không giới hạn. Nâng cấp VIP
Lời giải:
Bạn cần đăng ký gói VIP để làm bài, xem đáp án và lời giải chi tiết không giới hạn. Nâng cấp VIP

Câu 33:

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;
};
Lời giải:
Bạn cần đăng ký gói VIP để làm bài, xem đáp án và lời giải chi tiết không giới hạn. Nâng cấp VIP
Lời giải:
Bạn cần đăng ký gói VIP để làm bài, xem đáp án và lời giải chi tiết không giới hạn. Nâng cấp VIP
Lời giải:
Bạn cần đăng ký gói VIP để làm bài, xem đáp án và lời giải chi tiết không giới hạn. Nâng cấp VIP
Lời giải:
Bạn cần đăng ký gói VIP để làm bài, xem đáp án và lời giải chi tiết không giới hạn. Nâng cấp VIP

Câu 37:

Đâu là định nghĩa đúng về cấu trúc tự trỏ:
Lời giải:
Bạn cần đăng ký gói VIP để làm bài, xem đáp án và lời giải chi tiết không giới hạn. Nâng cấp VIP

Câu 38:

Phát biểu nào không đúng về onion:
Lời giải:
Bạn cần đăng ký gói VIP để làm bài, xem đáp án và lời giải chi tiết không giới hạn. Nâng cấp VIP

Câu 40:

Đâu là phát biểu đúng về danh sách:
Lời giải:
Bạn cần đăng ký gói VIP để làm bài, xem đáp án và lời giải chi tiết không giới hạn. Nâng cấp VIP

Câu 43:

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ử:
Lời giải:
Bạn cần đăng ký gói VIP để làm bài, xem đáp án và lời giải chi tiết không giới hạn. Nâng cấp VIP
Lời giải:
Bạn cần đăng ký gói VIP để làm bài, xem đáp án và lời giải chi tiết không giới hạn. Nâng cấp VIP

Câu 45:

Các file tối thiểu cần cho việc vẽ đồ họa:
Lời giải:
Bạn cần đăng ký gói VIP để làm bài, xem đáp án và lời giải chi tiết không giới hạn. Nâng cấp VIP

Câu 46:

Hàm getpixel(int x, int y) dùng để làm gì:
Lời giải:
Bạn cần đăng ký gói VIP để làm bài, xem đáp án và lời giải chi tiết không giới hạn. Nâng cấp VIP

Câu 47:

Lệnh nào dùng để đóng chế độ đồ họa:
Lời giải:
Bạn cần đăng ký gói VIP để làm bài, xem đáp án và lời giải chi tiết không giới hạn. Nâng cấp VIP

Câu 48:

Trong chế độ đồ họa, hàm nào sau đây xác lập kiểu chữ, cỡ chữ:
Lời giải:
Bạn cần đăng ký gói VIP để làm bài, xem đáp án và lời giải chi tiết không giới hạn. Nâng cấp VIP
Lời giải:
Bạn cần đăng ký gói VIP để làm bài, xem đáp án và lời giải chi tiết không giới hạn. Nâng cấp VIP

Câu 50:

Câu nào sau đây cho thấy cú pháp đúng cho câu lệnh if?
Lời giải:
Bạn cần đăng ký gói VIP để làm bài, xem đáp án và lời giải chi tiết không giới hạn. Nâng cấp VIP