320 Câu hỏi trắc nghiệm lập trình C có đáp án - Phần 1
50 câu hỏi
Ngôn ngữ lập trình C được Dennish phát triển dựa trên ngôn ngữ lập trình nào?
Ngôn ngữ B
Ngôn ngữ BCPL
Ngôn ngữ DEC PDP
Ngôn ngữ B và BCPL
Ngôn ngữ lập trình được Dennish đưa ra vào năm nào?
1967
1972
1970
1976
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?
Ngôn ngữ Assembler
Ngôn ngữ C và Pascal
Ngôn ngữ Cobol.
a, b và c
Những tên biến nào dưới đây được viết đúng theo quy tắc đặt tên của ngôn ngữ lập trình C?
diem toan
3diemtoan
_diemtoan
-diemtoan
Một biến được gọi là biến toàn cục nếu
Nó được khai báo tất cả các hàm, ngoại trừ hàm main()
Nó được khai báo ngoài tất cả các hàm kể cả hàm main()
Nó được khai báo bên ngoài hàm main()
Nó được khai báo bên trong hàm main()
Một biến được gọi là một biến địa phương nếu
Nó được khai báo bên trong các hàm hoặc thủ tục, kể cả hàm main()
Nó đươc khai báo bên trong các hàm ngoại trừ hàm main()
Nó được khai báo bên trong hàm main()
Nó được khai báo bên ngoài các hàm kể cả hàm main()
Nếu x là một biến toàn cục và x không phải là một con trỏ thì
Miền nhớ dành cho x có thể thay đổi trong quá trình thực hiện chương trình
Miền nhớ dành cho x chỉ có thay đổi bởi những thao tác với x bên trong hàm main()
Miền nhớ dành cho x sẽ thay đổi bởi những thao tác với x trong tất cả các hàm, kể cả hàm main()
Miền nhớ giành cho x không bị thay đổi trong quá trình thực hiện chương trình
Kiểu dữ liệu nào dưới đây được coi là kiểu dữ liệu cơ bản trong ngôn ngữ lập trình C
Kiểu double
Kiểu con trỏ
Kiểu hợp
Kiểu mảng
Giả sử a, b là hai số thực. Biểu thức nào dưới đây viết không đúng theo cú pháp của ngôn ngữ lập trình C
(a+=b)
(a*=b)
(a=b)
(a&=b)
Giả sử a và b là hai số thực. Biểu thức nào dưới đây là không được phép theo cú pháp của ngôn ngữ lập trình C
(a /=b)
(a-=b)
(a>>=b)
(a*=b)
Xâu định dạng nào dưới đây dùng để in ra một số nguyên hệ 16
“%d”
“%x”
“%i”
“%u”
Xâu định dạng nào dưới đây dùng để in ra một số nguyên ở hệ 8
“%ld”
“%x”
“%o”
“%u”
Xâu định dạng nào dưới đây dùng để in ra một kí tự
“%f”
“%x”
“%s”
“%c”
Xâu định dạng nào dưới đây dùng để in ra một xâu kí tự
“%f"
“%x”
“%s”
“%c”
Xâu định dạng nào dưới đây dùng để in ra một số nguyên dài
“%ld”
“%x”
“%d”
“%o”
Xâu định dạng nào dưới đây dùng để in ra địa chỉ của một biến
“%u”
“%e”
“%o”
“%p”
Xâu định dạng nào dưới đây dùng để in ra một số nguyên
“%u”
“%e”
“%d”
“%p
Xâu định dạng nào dưới đây dùng để in ra một số thực có độ chính xác kép
“%u”
“%e”
“%o”
“%p”
Xâu định dạng nào sau đây dùng để in ra một số thực có độ chính xác đơn
“%u”
“%e”
“%f”
“%o”
Kiểu dữ liệu int( kiểu số nguyên) có thể xử lí số nguyên nằm trong khoảng nào
0…255
-32768…32767
-128…127
0…65535
Cho a=3, b=2 và c là 3 biến nguyên. Biểu thức nào sau viết sai cú pháp trong ngôn ngữ lập trình C
(c=a & b)
(c=a && b)
(c= a/b)
(c= a<<b)
Giả sử a và b là 2 số thực. Biểu thức nào dưới đây là không được phép
(a+=b)
(a-=b)
(a>>=b)
(a*=b)
Cho a=3, b=2. Biến c=(a<<=b) sẽ có giá trị nào dưới đây
c=9
c=12. [ c =(a = (a<<=b)) = (a= a.2b)]
c=8
c=6
Kết quả hiển thị ra màn hình của chương trình sau là gì?
#include <stdio.h>
void main() {
int a, b;
a = 100;
b = 56;
printf(“ % d”, (a < b) ? a : b);
}
56
100
Báo lỗi khi thực hiện xây dựng chương trình
Kết quả khác
Trong các hàm sau, hàm nào là hàm không định dạng để in một chuỗi kí tự ra màn hình
puts()
printf()
scanf()
gets()
Kết quả của chương trình sau
#include “stdio.h”
void main() {
int i;
i = 10;
printf(“ % o”, i);
}
12
10
8
Kết quả khác
Sử dụng cách truyền nào trong hàm sẽ không làm thay đổi giá trị của biến trong chương trình chính
Truyền bằng trị
Truyền bằng giá trị địa chỉ của tham số
Cả a và b đều đúng
Cả a và b đều sai
Cho biết giá trị của biểu thức 5>1
-1
0
1
Tất cả đều sai
Cho biết giá trị của biểu thức 2+4>2&&4<2
1
0
-1
Tất cả đều sai
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
Dữ liệu kí tự bao gồm
Các kí tự số chữ số
Các kí tự chữ cái
Các kí tự đặc biệt
Cả a,b và c
Nếu hàm được gọi trước khi nó định nghĩa thì điều kiện là gì
Kiểu trả về của hàm phải là kiều void
Kiểu đầu vào của hàm phải là kiểu void
Trước khi gọi hàm nó phải được khai báo
Hàm chỉ trả về kiểu dữ liệu boolean
Kiểu dữ liệu float có thể xử lí dữ liệu trong phạm vi nào
3.4*10-38 đến 3.4*1038
-32768 đến 32767
-128 đến 127
0…65535
Kiểu dữ liệu nào dưới đây không được coi là kiểu dữ liệu cơ bản trong ngôn ngữ lập trình C
Kiểu mảng
Kiểu enum
Kiểu short int
Kiểu unsigned
Lệnh nào trong các lệnh sau cho phép chuyển sang vòng lặp tiếp theo mà không cần phải thực hiện phần còn lại của vòng lặp
break
goto
continue
return
Giả sử có câu lệnh ch=’A’. Vậy ch sẽ chứa bao nhiêu byte
1
2
3
4
Giả sử có câu lệnh ch[]= "A". ch chứa bao nhiêu bytes
1
2
3
4
Kết quả in ra màn hình của chương trình sau:
#include <stdio.h>
void main() {
int ch = ’A’;
printf(“ % d”, ch);
}
A
a
65
Kết quả khác
Kết quả của chương trình sau:
#include <stdio.h>
void main() {
int i = 98;
printf(“ % c”, i);
};
98
B
b
Kết quả khác
Kết quả in ra màn hình của chương trình sau
#include <stdio.h>
void main() {
int i = 5, j = 6;
i = i - --j;
printf(“ % d”, i);
};
5
6
1
0
Dạng tổng quát của hàm printf() là: printf(“dãy mã quy cách”, dãy mã biểu thức); Trong đó, dãy mã quy cách sẽ là:
Dãy các mã định dạng dữ liệu hiển thị
Con trỏ của xâu kí tự
Các xâu kí tự mang tính chất thông báo
Cả 3 phương án trên
Trong các hàm sau, hàm nào là hàm không định dạng để nhập một kí tự từ bàn phím
scanf();
getchar();
getch();
getche();
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
scanf();
getchar();
getch();
getche();
Hàm nào đọc kí tự từ bàn phím ngay sau khi gõ, không chờ nhấn Enter. Các kí tự có hiện ra màn hình
scanf();
getchar();
getch();
getche();
Kết quả in ra màn hình của chương trinh sau là gì:
#include <stdio.h>
void main() {
int i;
for (i = 2; i <= 4; i += 2)
printf(“ % 3 d”, i);
}
“ 1 2 3 4”
“ 2 3 4”
“ 2 4”
Chương trình không chạy được
Kết quả in ra màn hình của chương trình sau là gì:#include <stdio.h>
void main() {
int i;
for (i = 2;; i++)
printf(“ % 3 d”, i);
};
Vòng lặp vô hạn
“ 2”
“ 1 2”
Kết quả khác
Lệnh nào trong các lệnh sau cho phép đã chuyển tới một nơi nào đó đã được gán nhãn
break
goto
continue
exit
Lệnh nào trong các lệnh sau cho phép dừng câu lệnh điều khiển
break
goto
continue
Cả 3 phương án trên
Trong ngôn ngữ C, khai báo “int array[3][5]” có nghĩa là
Các phần tử của mảng là các số nguyên
Là một mảng hai chiều tối đa là 15 phần tử và mỗi phần tử là một số nguyên
array[3][5] là một phần tử của mảng
Tất cả đều sai
Tìm lỗi sai trong chương trình sau (in ra kết quả là tổng của 453 và
343):
#include <stdio.h>
void main() {
int sum;
sum = 453 + 343
printf(“\Ket qua la: “sum);
};
Thiếu dấu chấm phẩy(;)
Thiếu dấu phẩy (,)
Thiếu kí tự đặc tả
Cả 3 ý trên




