200+ câu Trắc nghiệm Lập trình căn bản có đáp án - Phần 8
55 câu hỏi
Trong các tên biến sau, tên nào đặt sai quy cách?
tong
a15
_var
12A1
Chọn đáp án D
Trong các kiểu dữ liệu sau, kiểu nào có miền giá trị là các số thực?
int
char
float
long int
Chọn đáp án C
Nếu công việc trong cấu trúc if-else có từ 2 câu lệnh trở lên ta phải làm gì?
Viết liên tiếp các lệnh
Dùng dấu ;
Dùng cặp ngoặc { } để bao các câu lệnh lại
Không cần làm gì
Chọn đáp án C
Khi gán a = 5.2 (với a là biến kiểu int), giá trị lưu trữ vào a là gì?
5.2
5
0
Tất cả đều sai
Chọn đáp án B
Gán a = (1/2) * b với a, b là các biến kiểu int và giá trị b = 10. Giá trị của a là?
5
0
10
Tất cả đều sai
Chọn đáp án B
Trong C có bao nhiêu cấu trúc lặp?
1
2
3
4
Chọn đáp án C
Số lần lặp ít nhất của vòng lặp while là bao nhiêu?
0
1
2
Không xác định
Chọn đáp án A
Có thể dùng vòng lặp for để thay thế vòng lặp while (và ngược lại) không?
Có
Không
Chọn đáp án A
Nếu thân vòng lặp có từ 2 câu lệnh trở lên ta phải làm gì?
Dùng dấu ;
Dùng dấu :
Dùng cặp ngoặc { }
Không cần làm gì
Chọn đáp án C
Các loại vòng lặp có thể dùng lồng nhau được không?
Được
Không
Chọn đáp án A
Ngôn ngữ lập trình C được Dennis Ritchie phát triển dựa trên ngôn ngữ nào?
Ngôn ngữ B
Ngôn ngữ BCPL
Ngôn ngữ DEC PDP
Ngôn ngữ B và BCPL
Chọn đáp án D
Tên biến nào viết đúng theo quy tắc đặt tên trong C?
diem toan
3diemtoan
_diemtoan
diemtoan
Chọn đáp án C
Một biến được gọi là biến toàn cục nếu:
Khai báo trong tất cả các hàm trừ main()
Khai báo ngoài tất cả các hàm kể cả main()
Khai báo ngoài hàm main()
Khai báo trong main()
Chọn đáp án B
Một biến được gọi là biến địa phương nếu:
Khai báo trong các hàm (kể cả main())
Khai báo trong các hàm trừ main()
Khai báo trong main()
Khai báo ngoài các hàm
Chọn đáp án A
Nếu x là biến toàn cục và không phải con trỏ thì:
Miền nhớ có thể thay đổi
Chỉ thay đổi trong main()
Thay đổi bởi mọi hàm
Miền nhớ không thay đổi
Chọn đáp án D
Kiểu dữ liệu nào được coi là kiểu dữ liệu cơ bản trong C?
double
con trỏ
union
mảng
Chọn đáp án A
Biểu thức nào không đúng cú pháp C với a, b là số thực?
a+=b
a*=b
a=b
a&=b
Chọn đáp án D
Biểu thức nào không hợp lệ với a, b là số thực?
ab
a-=b
a>>=b
a=b
Chọn đáp án C
Xâu định dạng in số nguyên hệ 16 là:
%d
%x
%i
%u
Chọn đáp án B
Xâu định dạng in số nguyên hệ 8 là:
%ld
%x
%o
%u
Chọn đáp án C
Xâu định dạng in 1 ký tự là:
%f
%x
%s
%c
Chọn đáp án D
Xâu định dạng in chuỗi ký tự là:
%f
%x
%s
%c
Chọn đáp án C
Xâu định dạng in số nguyên dài là:
%ld
%x
%d
%o
Chọn đáp án A
Xâu định dạng in số thực độ chính xác kép là:
%u
%e
%o
%p
Chọn đáp án B
Xâu định dạng in số thực độ chính xác đơn là:
%u
%e
%f
%o
Chọn đáp án C
Kiểu dữ liệu int có thể xử lý số trong khoảng:
0..255
32768..32767
128..127
0..65535
Chọn đáp án B
Kết quả chương trình:. int a=100;
int b=56;
printf("%d",(a<b)?a:b);
A. 56
100
Lỗi
Khác
Chọn đáp án A
Hàm không định dạng để in chuỗi ra màn hình:
puts()
printf()
scanf()
gets()
Chọn đáp án A
Chương trình:. int i=10;
printf("%o",i);. Kết quả:
12
10
8
Khác
Chọn đáp án A
Truyền tham số nào không làm thay đổi giá trị biến gốc?
Truyền bằng trị
Truyền địa chỉ
Cả hai
Không. Đáp án: A
Điều gì sẽ xảy ra khi ta gán một phần tử vượt quá chỉ số của mảng?
Phần tử sẽ được gán ở chỉ số 0
Trình biên dịch sẽ báo lỗi
Chương trình có thể bị treo nếu dữ liệu bị ghi đè
Kích thước mảng sẽ tự tăng theo
Chọn đáp án C
Kết quả chương trình sau là gì?. int a[5] = {5,1,15,20,25};
int i,j,m;. i = ++a[1];
j = a[1]++;
m = a[i++];. printf("%d, %d, %d", i, j, m);
2,1,15
1,2,5
3,2,15
2,3,20
Chọn đáp án C
Kết quả chương trình sau là gì?. int arr[5], i=0;
while(i<5) arr[i]=++i;. for(i=0;i<5;i++)
printf("%d, ",arr[i]);
1,2,3,4,5
Giá trị rác,1,2,3,4
0,1,2,3,4
2,3,4,5,6
Chọn đáp án B
Kết quả chương trình sau là gì?. int arr[1]={10};
printf("%d",0[arr]);
1
10
0
6
Chọn đáp án B
(Giải thích: a[b] = *(a+b) nên 0[arr] = arr[0]).
Chương trình sau in ra gì?. float arr[] = {12.4,2.3,4.5,6.7};. printf("%d", sizeof(arr)/sizeof(arr[0]));
5
4
6
7
Chọn đáp án B
Nếu mảng bắt đầu tại địa chỉ 1200, chương trình sau in ra gì?. int arr[]={2,3,4,1,6};. printf("%d, %d, %d", arr, &arr[0], &arr);
1200,1202,1204
1200,1200,1200
1200,1204,1208
1200,1202,1200
Chọn đáp án B
Cách cài đặt hàm đúng cho chương trình sau là gì?. int a[3][4];
fun(a);
void fun(int p[][4])
void fun(int *p[4])
void fun(int *p[][4])
void fun(int *p[3][4])
Chọn đáp án A
Với hai chuỗi giống nhau, hàm strcmp() trả về gì?
1
1
0
yes
Chọn đáp án C
Hàm nào tìm ký tự trong chuỗi và trả về vị trí xuất hiện cuối cùng?
strchr()
strrchr()
strstr()
strnset()
Chọn đáp án B
Kết quả chương trình sau là gì?. char str1[20]="Hello";
char str2[20]=" World";. printf("%s", strcpy(str2, strcat(str1,str2)));
Hello
World
Hello World
WorldHello
Chọn đáp án C
Kết quả chương trình:. printf(5+"Good Morning\n");
Good Morning
Good
M
Morning
Chọn đáp án D
(vì in từ ký tự thứ 6).
Ký tự kết thúc chuỗi là gì?
'.'
' '
'\0'
'\n'
Chọn đáp án C
Hàm dùng để so sánh hai chuỗi:
compare()
stringcompare()
cmp()
strcmp()
Chọn đáp án D
Hàm cấp phát bộ nhớ động trong C là:
new
malloc
create
value
Chọn đáp án B
Hàm giải phóng bộ nhớ động là:
free
delete
clear
remove
Chọn đáp án A
Con trỏ có thể trỏ tới kiểu dữ liệu nào?
int
char
struct
Tất cả các kiểu trên
Chọn đáp án D
Trước khi đọc hoặc ghi file cần làm gì?
fopen()
tạo file
fclose()
fprintf()
Chọn đáp án A
Đối tượng đại diện cho file trong C là gì?
FILE*
fopen
printf
fprintf
Chọn đáp án A
Chế độ mở file để ghi tiếp vào cuối file là gì?
a
r
w
w+
Chọn đáp án A
Hàm bắt buộc phải có trong mọi chương trình C là:
start()
system()
main()
program()
Chọn đáp án C
Ký hiệu bắt đầu và kết thúc khối lệnh là gì?
{ }
→ ←
BEGIN END
( )
Chọn đáp án A
Dấu kết thúc một dòng lệnh C là gì?
A. .
B. ;
C. :
D. '
Chọn đáp án B
Toán tử so sánh hai biến là gì?
=
=
equal
==
Chọn đáp án D
Toán tử nào nối hai chuỗi?
append()
stringadd()
strcat()
stradd()
Chọn đáp án C
Hàm printf() nằm trong thư viện nào?
stdio.h
conio.h
stdlib.h
output.h. Đáp án: A








