wayground logo

Free Printable Worksheets

Font size

S
M
L
XL
Worksheets

Câu hỏi lập trình C

Total questions: 136

Worksheet time: 1hrs 11mins

Name
Class
Date
1.

Cho i=5. Thực hiện câu lệnh s=++i kết quả là gì:

a)

i=5,s=0

b)

i=5,s=5

c)

i=6,s=5

d)

i=6,s=6

2.

Lệnh cout thuộc thư viện nào sau đây?

a)

iostream.h

b)

conio.h

c)

stdio.h

d)

iomanip.h

3.

Trong các câu lệnh sau câu lệnh nào không in kết quả lên màn hình?

a)

if(5<6) cout<<"5";

b)

if(5>6) cout<<'5';

c)

if(6>5) cout<<"5";

d)

if(5!=6) cout<<"5";

4.

Cú pháp nào đúng cho câu lệnh do…while?

a)

do {câu lệnh S} while(biểu thức logic)

b)

do{ câu lệnh S;} while(biểu thức logic)

c)

do{ câu lệnh S;} while(biểu thức logic);

d)

do while(biểu thức logic); {câu lệnh S;}

5.

Câu lệnh nào sau đây sai cú pháp

a)

for(BT1,BT2;BT3) câu lênh;

b)

for(;BT2;BT3)

c)

for(;;) câu lệnh

d)

for(câu lệnh 1, câu lện 2;câu lệnh 3;)câu lệnh 4

6.

Kiểu dữ liệu của hàm phụ thuộc vào yếu tố nào sau đây.

a)

a. Kiểu dữ liệu của tham số của hàm

b)

b. Kiểu dữ liệu của biến cục bộ của hàm

c)

c. Kiểu dữ liệu của biến toàn cục

d)

d. Kiểu dữ liệu của biến hoặc giá trị mà hàm trả về.

7.

Có bao nhiêu cách biểu diễn một thuật toán?

a)

a. 2

b)

b. 3

c)

c. 4

d)

d. 5

8.

Nút giới hạn trong sơ đồ khối biểu diễn thuật toán được thể hiện thông qua hình gì?

a)

a. Hình lục giác đều

b)

b. Hình tròn

c)

c. Hình chữ nhật

d)

d. Hình elip

9.

Cặp ký hiệu ghi lời chú thích trên nhiều dòng của ngôn ngữ lập trình C là gì?

a)

a. { }

b)

b. /* */

c)

c. */ /*

d)

d. //

10.

Để truy xuất đến địa chỉ ô nhớ ta dùng toán tử nào sau đây

a)

a. &

b)

b. %

c)

c. #

d)

d. @

11.

Trong ngôn ngữ lập trình C kiểu dữ liệu nào dưới đây có thể dùng để khai báo cho biến lưu trữ điểm môn lập trình cơ sở?

a)

Kiểu char.

b)

Kiểu float.

c)

Kiểu int.

d)

Kiểu long.

12.

Cặp ký hiệu ghi lời chú thích trên một dòng của ngôn ngữ lập trình C là gì?

a)

{{

b)

\\

c)

//

d)

?/

13.

Kiểu số thực trong ngôn ngữ lập trình C gồm có các kiểu nào sau đây?

a)

int, float, double

b)

int, unsigned int, double

c)

int, float, long

d)

float, double, long double

14.

Kiểu dữ liệu rỗng không chứa bất kỳ giá trị nào trong ngôn ngữ lập trình C được gọi là gì?

a)

int

b)

double

c)

void

d)

long

15.

Cho biết hằng ch là một hằng

4 lines
16.

Kiểu dữ liệu rỗng không chứa bất kỳ giá trị nào trong ngôn ngữ lập trình C được gọi là gì?

a)

int

b)

double

c)

void

d)

long

17.

Cho biết hằng ch là một hằng ký tự. Câu lệnh nào khai báo hằng ch='a' là đúng?

a)

const char ch="a";

b)

const char ch="\141";

c)

#define char ch='\141';

d)

#define ch 'a'

18.

Kết quả in ra màn hình của đoạn chương trình sau?int main(){ float x=66.58;cout<

a)

66.5

b)

66.58

c)

66

d)

Kết quả khác.

19.

Đầu ra của chương trình C sau là gì?int main() { int a=5,b=2; float h; h=a/b; cout<<" h="<

a)

h=3

b)

h=1

c)

h=2

d)

h=2.5

20.

Lệnh có thể nhập một chuỗi có chứa ký tự trống là lệnh nào?

a)

scanf

b)

printf

c)

getline

d)

cin

21.

Độ ưu tiên đối với các toán tử logic là:

a)

NOT, AND, OR.

b)

NOT, OR, AND.

c)

OR, NOT, AND.

d)

AND, NOT, OR.

22.

Chọn biểu thức biểu diễn num là số nằm giữa 1 và 9 nhưng không phải là 4:

a)

num>1&&num<9&&num!=4;

b)

num>1||num<9&&num!=4;

c)

num>=1&&num<=9&&num!=4;

d)

num>=1&&num<9&&num!=4;

23.

Lệnh nào cho phép di chuyển con trỏ lệnh đến một vị trí đã được gán nhãn trước đó trong chương trình?

a)

break.

b)

goto.

c)

continue.

d)

exit.

24.

Cú pháp nào đúng cho câu lệnh do…while?

a)

do {câu lệnh S} while(biểu thức logic)

b)

do{ câu lệnh S;} while(biểu thức logic)

c)

do{ câu lệnh S;} while(biểu thức logic);

d)

do while(biểu thức logic); {câu lệnh S;}

25.

Cho biết kết quả của biến q sau khi thực hiện đoạn chương trình sau:int q=12;q=10+(--q);

a)

20.

b)

21.

c)

22.

d)

Kết quả khác.

26.

Cho hàm như sau:float sum(float a, float b){ return a+b;}Giả sử hàm main đã có khai báo float x,y; Cho biết lời gọi hàm nào là đúng để gọi hàm trên vào trong hàm main nhằm thực hiện việc in kết quả tổng hai số x và y ra màn hình?

a)

float sum(x,y);

b)

sum(float x, float y);

c)

cout<

d)

cout<

27.

Cho biết khai báo mảng một chiều sau đây là đúng?

a)

int a()={1,2,3};

b)

int a={1,2,3};

c)

int a[3]={1,2,3};

d)

a int(3)

28.

Cho biết khai báo mảng một chiều sau đây là đúng?

a)

int a()={1,2,3};

b)

int a={1,2,3};

c)

int a[3]={1,2,3};

d)

a int(3) ={1,2,3};

29.

Phép toán || có ý nghĩa gì?

a)

Phép not(phủ định) của một biểu thức logic..

b)

Phép or(hoặc) để kết nối các biểu thức logic với nhau.

c)

Phép chia lấy phần dư của hai số nguyên.

d)

Phép and(và) để kết nối các biểu thức logic với nhau

30.

Lệnh fflush(stdin) dùng để làm gì:

a)

Đọc kí tự từ bàn phím.

b)

Xóa sạch bộ nhớ đệm.

c)

Xóa ký tự có trong biến hiện hành.

d)

Kết quả khác.

31.

Giả sử có hàm void HoanVi(int &x, int &y){}, lời gọi hàm nào dưới đây là đúng?

a)

HoanVi(x,y);

b)

void HoanVi(x,y);

c)

int c=HoanVi(x,y);

d)

HoanVi(3,5);

32.

Hãy cho biết ý nghĩa của đoạn code sau?for(int i=1;i<=10;i++){if(i==6) break;printf("%d\t",i);}

a)

In ra màn hình dãy số trong đoạn [1 2 3…10]

b)

In ra màn hình dãy số trong đoạn [6 7 8 9 10]

c)

In ra màn hình dãy số trong đoạn [1 2 3 4 5]

d)

In ra dãy số trong đoạn [1 2 3 ..10] nhưng bỏ qua số 6

33.

Cho biết ý nghĩa đoạn code sau?while(true){while(true){printf("Lap trinh co so!\n");break;}printf("Lap trinh co so!\n");}

a)

Lặp vô tận

b)

In ra màn hình "Lap trinh co so!" và nhảy ra khỏi vòng lặp

c)

In ra màn hình 2 dòng "Lap trinh co so!" và nhảy ra khỏi vòng lặp

d)

Lỗi cú pháp

34.

Với khai báo int a=10; để lấy địa chỉ của biến a, toán tử nào dưới đây được sử dụng?

a)

*a

b)

&a

c)

*(&a)

d)

&(*a)

35.

Hãy chọn đáp án đúng dưới đây?

a)

#define MAX =50

b)

#define MAX 50

c)

#define MAX = 50;

d)

#define int MAX 50

36.

Mở một file text để ghi thì cú pháp nào dưới đây là đúng?

a)

FILE *f=open("tenfile","w");

b)

FILE *f=open("tenfile","r");

c)

FILE f=fopen("tenfile","w");

d)

FILE *f=fopen("tenfile","w");

37.

Giả sử có khai báo char ch='a'; Để in ký tự ra màn hình, lệnh nào dưới đây là đúng?

a)

puts(ch);

b)

char=putchar(ch);

c)

getchar(ch);

d)

putchar(ch);

38.

Hãy cho biết kết quả của câu lệnh int y,x=(y=10,y++);

a)

x=10, y=10

b)

x=10, y=11

c)

x=11, y=11

d)

x=11, y=10

39.

Hãy cho biết kết quả của câu lệnh int y,x=(y=10,y++);

a)

x=10, y=10

b)

x=10, y=11

c)

x=11, y=11

d)

x=11, y=10

40.

Hãy cho biết kết quả chương trình sau?int main(){float x=2;switch(x){case 0: x++;case 1: x--;}}

a)

Lỗi biên dịch

b)

x=3

c)

x=1

d)

x=0

41.

Giả sử có khai báo int a=10; int b=a==10; Đáp án nào dưới đây là đúng?

a)

Lỗi biên dịch

b)

a=10, b=10

c)

a=10, b=1

d)

a=10, b=0

42.

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 :

a)

Kiểu mảng.

b)

Kiểu float

c)

Kiểu short int.

d)

Kiểu unsigned.

43.

Giả sử có câu lệnh char ch[]= "A". ch chứa bao nhiêu bytes :

a)

1

b)

2

c)

4

d)

0

44.

Giả sử trong ngôn ngữ C sử dụng khai báo "double a[12]", phần tử a[7] là phần tử thứ bao nhiêu trong mảng a:

a)

Thứ 6

b)

Thứ 7

c)

Thứ 8

d)

Thứ 9

45.

Độ ưu tiên đối với các toán tử logic là:

a)

NOT, AND, OR.

b)

AND, NOT, OR

c)

NOT, OR, AND

d)

OR, NOT, AND.

46.

Mảng là:

a)

Một nhóm phần tử có cùng kiểu và chung tên gọi.

b)

Một nhóm phần tử có thể có kiểu riêng và chung tên gọi.

c)

Một nhóm phần tử có thể có kiểu riêng và tên gọi riêng cho mỗi phần tử.

d)

Là một kiểu dữ liệu cơ sở đã định sẵn của ngôn ngữ lập trình C.

47.

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

a)

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

b)

Gán biến cho nhau

c)

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

d)

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.

48.

Hàm nào dưới đây chỉ dùng để đọc một kí tự từ tập tin?

a)

fgetc();

b)

fprintf();

c)

fputs();

d)

fgets();

49.

Cách khai báo mảng nào dưới đây là đúng?

a)

int a[5];

b)

int a[5] ={1,2,3,4,5};

c)

int a[5] ={0};

d)

Tất cả đều đúng

50.

Khai báo hàm nào dưới đây là đúng:

a)

int aa(int a) { return 1;}

b)

int aa() { return 1;}

c)

int aa(int a, int b) {return 1; }

d)

Tất cả đều đúng

51.

Hàm sqrt trả về kiểu dữ liệu nào dưới đây:

a)

double

b)

long

c)

float

d)

int

52.

Kiểu số thực trong ngôn ngữ lập trình C gồm có các kiểu nào sau đây?

a)

int, float, double

b)

int, unsigned int, double

c)

int, float, long

d)

float, double, long double

53.

Kiểu số thực trong ngôn ngữ lập trình C gồm có các kiểu nào sau đây?

a)

int, float, double

b)

int, unsigned int, double

c)

int, float, long

d)

float, double, long double

54.

Phép toán || có ý nghĩa gì?

a)

Phép not(phủ định) của một biểu thức logic..

b)

Phép or(hoặc) để kết nối các biểu thức logic với nhau.

c)

Phép chia lấy phần dư của hai số nguyên.

d)

Phép and(và) để kết nối các biểu thức logic với nhau

55.

Giả sử thư viện cần thiết đã được include. Kết quả của chương trình dưới đây là gì:int main(){int a=69, b= 96, c;c=a; a=b; b=c;printf("%d %d", a, b);}

a)

69 96

b)

69 69

c)

96 96

d)

96 69

56.

Lệnh nào sau đây được sử dụng để dừng vòng lặp.

a)

stop

b)

exit

c)

void

d)

break

57.

Lệnh nào trong các lệnh sau cho phép chuyển sang lần 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:

a)

continue

b)

break

c)

goto

d)

return

58.

Cho hàm như sau:float sum(float a, float b){ return a+b;}Giả sử hàm main đã có khai báo float x,y; Cho biết lời gọi hàm nào là đúng để gọi hàm trên vào trong hàm main nhằm thực hiện việc in kết quả tổng hai số x và y ra màn hình?

a)

float sum(x,y);

b)

sum(float x, float y);

c)

printf("%d", sum(x,y));

d)

scanf("%d", &sum(x,y));

59.

Cho biết kết quả của biến q sau khi thực hiện đoạn chương trình sau:int q=12;q=10+(--q);

a)

20.

b)

21.

c)

22.

d)

Kết quả khác.

60.

Cú pháp nào đúng cho câu lệnh do…while?

a)

do {câu lệnh S} while(biểu thức logic)

b)

do{ câu lệnh S;} while(biểu thức logic)

c)

do{ câu lệnh S;} while(biểu thức logic);

d)

do while(biểu thức logic); {câu lệnh S;}

61.

Kết quả của h sau khi thực hiện chương trình C sau là gì?int main() { int a=5,b=2; float h; h=a/b; printf("\nh=%.1f",h); }

a)

h=3.0

b)

h=1.0

c)

h=2.0

d)

h=2.5

62.

Biểu thức nào sau đây biểu diễn biến num là số có giá trị nằm giữa 1 và 9 nhưng không phải là 4?

a)

num>1&&num<9&&num!=4;

b)

num>1||num<9&&num!=4;

c)

num>=1&&num<=9&&num!=4;

d)

num>=1&&num<9&&num!=4;

63.

Kích thước của vùng nhớ cấp phát cho biến được quyết định bởi:

a)

Kiểu dữ liệu của biến.

b)

Giá trị của biến.

c)

Tên biến.

d)

Vị trí cấp phát vùng nhớ cho biến

64.

Cho int i=6, s = 5; Kết quả i và s sau khi thực hiện câu lệnh s *= ++i; là gì:

a)

i=7,s=13

b)

i=7,s=30

c)

i=6,s=30

d)

i=7,s=35

65.

Từ khóa nào được dùng bên trong hàm để trả về một giá trị?

a)

return

b)

void

c)

break

d)

get

66.

Biểu thức sau int n = (2+4>2 || 4<2); n sẽ có giá trị là?

a)

1

b)

0

c)

-1

d)

Tất cả đều sai

67.

Lệnh nào dưới đây dùng mở file input.txt để ghi dữ liệu vào:

a)

FILE f= fopen("input.txt", "r");

b)

FILE f= fopen("input.txt", "w");

c)

FILE *f= fopen("input.txt", "r");

d)

FILE *f= fopen("input.txt", "w");

68.

Kết quả in ra màn hình của chương trình sau là gì?#include void main(){int i;for (i=2; i<=4; i+=2)printf("=",i);};

a)

1 2 3 4

b)

2 3 4

c)

2 4

d)

Chương trình không chạy được.

69.

Khi khai báo mảng trong ngôn ngữ C/C++, ta khởi tạo luôn giá trị của mảng như sau:int x[3]={4,2,6}; thì được hiểu là?

a)

x[1]=4, x[2]=2, x[3]=6.

b)

Khai báo không đúng.

c)

x[0]=4, x[1]=2, x[2]=6;

d)

Kết quả khác.

70.

Hàm nào dưới đây chỉ dùng để ghi một kí tự vào tập tin?

a)

putch();

b)

puts();

c)

fputs();

d)

fputc();

71.

Câu lệnh nào dùng để xuất giá trị biến x=3.286 ra màn hình với hai chữ số phần thập phân?

a)

print("\nx=",x);

b)

printf("\nx=%f",&x);

c)

printf("\nx=%.2f",x);

d)

printf("\nx=%.3f",&x);

72.

Cho biết PI là một hằng số. Câu lệnh khai báo hằng số PI nào đúng?

a)

const PI 3.1416

b)

const float PI 3.1416;

c)

#define PI 3.1416;

d)

#define PI 3.1416

73.

Tên biến nào dưới đây được viết đúng theo quy tắc đặt tên

a)

_diemmonhoc

b)

diem mon hoc

c)

- diemmonhoc

d)

3diemmonhoc

74.

Mảng là:

a)

Một nhóm phần tử có cùng kiểu và chung tên gọi.

b)

Một nhóm phần tử có thể có kiểu riêng và chung tên gọi.

c)

Một nhóm phần tử có thể có kiểu riêng và tên gọi riêng cho mỗi phần tử.

d)

Là một kiểu dữ liệu cơ sở đã định sẵn của ngôn ngữ lập trình C.

75.

Một biến được gọi là một biến cục bộ nếu:

a)

Nó được khai báo bên trong các cặp { }, hoặc hàm (kể cả hàm main()).

b)

Nó đươc khai báo bên

76.

Một biến được gọi là một biến cục bộ nếu:

a)

Nó được khai báo bên trong các cặp { }, hoặc hàm (kể cả hàm main()).

b)

Nó đươc khai báo bên trong các hàm ngoại trừ hàm main().

c)

Nó được khai báo bên trong hàm main().

d)

Nó được khai báo bên ngoài các hàm kể cả hàm main().

77.

Độ ưu tiên đối với các toán tử logic là:

a)

NOT, AND, OR.

b)

AND, NOT, OR

c)

NOT, OR, AND

d)

OR, NOT, AND.

78.

Nếu hàm được gọi trước khi nó định nghĩa thì điều kiện là gì ?

a)

Kiểu trả về của hàm phải là kiều void.

b)

Trước khi gọi hàm nó phải được khai báo.

c)

Kiểu đầu vào của hàm phải là kiểu void.

d)

Hàm chỉ trả về kiểu dữ liệu boolean.

79.

Hàm nào dưới đây chỉ dùng để đọc một kí tự từ tập tin?

a)

fgetc();

b)

fprintf();

c)

fputs();

d)

fgets();

80.

Cho khai báo sau:char st[50];Độ dài tối đa của st là gì?

a)

49

b)

50

c)

Không phụ thuộc vào khai báo ban đầu

d)

Tất cả các đáp án trên đều sai

81.

Giả sử các thư viện đã được include, cho biết kết quả của đoạn chương trình sau:int main() { int a=7,b=2; float c=a/b; printf("%f",c); }

a)

c=3.500000

b)

c=3.000000

c)

c=1

d)

c=0

82.

Với a, b là hai số thực, phép toán nào dưới đây là không đúng theo ngôn ngữ lập trình C, C++?

a)

a+=b;

b)

a/=b;

c)

a%=b;

d)

a*=b;

83.

Hàm sqrt trả về kiểu dữ liệu nào dưới đây ?

a)

double

b)

long

c)

float

d)

int

84.

Kích thước của vùng nhớ cấp phát cho biến được quyết định bởi:

a)

Kiểu dữ liệu của biến.

b)

Giá trị của biến.

c)

Tên biến.

d)

Vị trí cấp phát vùng nhớ cho biến

85.

Cho int i=6, s = 5; Kết quả i và s sau khi thực hiện câu lệnh s *= ++i; là gì:

a)

i=7,s=13

b)

i=7,s=30

c)

i=6,s=30

d)

i=7,s=35

86.

Từ khóa nào được dùng bên trong hàm để trả về một giá trị?

a)

return

b)

void

c)

break

d)

get

87.

Biểu thức sau int n = (2+4>2 || 4<2); n sẽ có giá trị là?

a)

1

b)

0

c)

-1

d)

Tất cả đều sai

88.

Lệnh nào dưới đây dùng mở file input.txt để ghi dữ liệu vào:

a)

FILE f= fopen("input.txt", "r");

b)

FILE f= fopen("input.txt", "w");

c)

FILE *f= fopen("input.txt", "r");

d)

FILE *f= fopen("input.txt", "w");

89.

Kết quả in ra màn hình của chương trình sau là gì?#include void main(){int i;for (i=2; i<=4; i+=2)printf("=",i);};

a)

1 2 3 4

b)

2 3 4

c)

2 4

d)

Chương trình không chạy được.

90.

Khi khai báo mảng trong ngôn ngữ C/C++, ta khởi tạo luôn giá trị của mảng như sau:int x[3]={4,2,6}; thì được hiểu là?

a)

x[1]=4, x[2]=2, x[3]=6.

b)

Khai báo không đúng.

c)

x[0]=4, x[1]=2, x[2]=6;

d)

Kết quả khác.

91.

Hàm nào dưới đây chỉ dùng để ghi một kí tự vào tập tin?

a)

putch();

b)

puts();

c)

fputs();

d)

fputc();

92.

Câu lệnh nào dùng để xuất giá trị biến x=3.286 ra màn hình với hai chữ số phần thập phân?

a)

print("\nx=",x);

b)

printf("\nx=%f",&x);

c)

printf("\nx=%.2f",x);

d)

printf("\nx=%.3f",&x);

93.

Cho biết PI là một hằng số. Câu lệnh khai báo hằng số PI nào đúng?

a)

const PI 3.1416

b)

const float PI 3.1416;

c)

#define PI 3.1416;

d)

#define PI 3.1416

94.

Giả sử char st1[20], st2[20]="Lap trinh co so"; Lệnh thực hiện gán st2 cho st1 là?

a)

strcmp(st1,st2);

b)

st1=st2;

c)

strcpy(st1,st2);

d)

strcpy(st2,st1);

95.

Đoạn code sau có dụng ý gì? int main(){for(int i=1;i<=10;i++){if(i%2==0){continue;}printf("%d\t",i);}}

a)

In ra các số chẵn trong phạm vi từ 1 đến 10

b)

In ra các số lẻ trong phạm vi từ 1 đến 10

c)

In ra số chẵn đầu tiên trong phạm vi từ 1 đến 10

d)

In ra số lẻ đầu tiên trong phạm vi từ 1 đến 10

96.

Giả sử đã khai báo đầy đủ thư viện, kết quả của chương trình sau là? int main(){char ch='B';int x=ch--;printf("ch = %c",ch);}

a)

Trình biên dịch báo lỗi sai cú pháp vì ch có kiểu char, x có kiểu int

b)

ch = B

c)

ch = A

d)

ch = b

97.

Cho chương trình sau:#include int main(){int a[]={10,5,7,6,0};}Để xác định số lượng phần tử của mảng a kiểu int (4 bytes), câu lệnh đúng là ?

a)

int n=sizeof(a[ ]) ;

b)

int n=sizeof(a) ;

c)

int n=sizeof(a) *4 ;

d)

int n=sizeof(a)/4 ;

98.

Giả sử đã khai báo đầy đủ thư viện, kết quả của chương trình sau là? void hoanVi(int &x, int &y){int temp=x ;x=y ;y=temp ;}int main(){hoanVi(5,10) ;printf("x=%d, y=%d",x,y);}

(a)  

99.

Giả sử đã khai báo đầy đủ thư viện, kết quả của chương trình sau là? void hoanVi(int &x, int &y){int temp=x ;x=y ;y=temp ;}int main(){hoanVi(5,10) ;printf("x=%d, y=%d",x,y);}

a)

Trình biên dịch báo lỗi

b)

x=10, y=5

c)

x=5, y=10

d)

x=10, y=10

100.

Mục đích của chương trình dưới đây là ?#include int main (){FILE *fp;fp = fopen("source.txt", "r");return 0;}

a)

Mở file source.txt để đọc

b)

Mở file source.txt để đọc và ghi

c)

Tạo mới file source.txt để đọc

d)

Tạo mới file source.txt để ghi

101.

Giả sử đã khai báo đầy đủ thư viện, kết quả của chương trình sau là? int main(){int i=0;{int i=20, j=30;i=i+j;}printf("i=%d",i);}

a)

i=50

b)

i=20

c)

i=30

d)

i=0

102.

Cho biết giá trị của biến z là ? int main(){int x=10,y=20;bool z=(x==y?true:false);}

a)

z=0

b)

z=1

c)

z=false

d)

z=true

103.

Giả sử có khai báo int a=10; int *p=&a; Phát biểu đúng là?

a)

Giá trị của biến con trỏ p là 10

b)

Biến con trỏ p chỉ có địa chỉ, không có giá trị

c)

Giá trị của con trỏ p là địa chỉ của biến a mà nó trỏ tới

d)

Giá trị của con trỏ p là NULL

104.

Cho biết kết quả chương trình sau? int main(){int n=10;if(n%2==0){printf("So chan");break;}elseprintf("So le");break;}

a)

So chan

b)

So le

c)

So chan So le

d)

Trình biên dịch báo lỗi

105.

Lệnh nào trong các lệnh sau cho phép chuyển sang lần 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:

a)

continue

b)

break

c)

goto

d)

return

106.

Từ khóa nào để tạo một struct

a)

structure

b)

structs

c)

str

d)

struct

107.

Để khai báo một mảng một chiều chứa tối đa 10 phần tử kiểu số nguyên, đáp án nào sau đây là đúng?

a)

int n=100, M[n];

b)

float A[10];

c)

int A[100];

d)

int M[10];

108.

Lệnh dùng để nhập 1 chuỗi t (kiểu char[100] hoặc string), có bao gồm khoảng cách (space), từ bàn phím là:

a)

gets(t);

b)

getline(cin, t);

c)

cin >> t;

d)

A và B đều đúng

109.

Định dạng nào dưới đây dùng để in ra một chuỗi ký tự?

a)

"%f"

b)

"%u"

c)

"%c"

d)

"%s"

110.

Các kí hiệu đặc trưng cho sự tác động lên dữ liệu gọi là:

a)

Toán tử.

b)

Hàm.

c)

Biểu thức.

d)

Biến.

111.

hiệu đặc trưng cho sự tác động lên dữ liệu gọi là:

a)

Toán tử.

b)

Hàm.

c)

Biểu thức.

d)

Biến.

112.

Giả sử thư viện cần thiết đã được include. Cho biết kết quả đầu ra của đoạn chương trình sau? int main(){ int i=0,n=5,s=0; while(i<=n){ s = s+n;i++; } cout<

a)

10

b)

15

c)

25

d)

30

113.

Giả sử thư viện cần thiết đã được include. Kết quả của chương trình dưới đây là gì: int main() { int a=69, b= 96, c; c=a; a=b; b=c; printf("%d %d", a, b); }

a)

69 96

b)

69 69

c)

96 96

d)

96 69

114.

Toán tử dùng để so sánh 2 giá trị

a)

= =

b)

=

c)
d)

> <

115.

Lệnh nào sau đây được sử dụng để dừng vòng lặp.

a)

stop

b)

exit

c)

void

d)

break

116.

Lệnh fflush(stdin) dùng để làm gì:

a)

Đọc kí tự từ bàn phím.

b)

Xóa sạch bộ nhớ đệm.

c)

Xóa bộ nhớ đệm.

d)

Kết quả khác.

117.

Phép toán % có ý nghĩa gì:

a)

Đổi dấu một số thực hoặc một số nguyên.

b)

Chia hai số thực hoặc nguyên.

c)

Lấy phần dư của phép chia hai số nguyên.

d)

Chia số thực cho một số thực

118.

Toán tử "++n" được hiểu:

a)

Giá trị n giảm đi sau khi giá trị của nó được sử dụng.

b)

Giá trị n giảm đi trước khi giá trị của nó được sử dụng.

c)

Giá trị của n được tăng sau khi giá trị của nó được sử dụng.

d)

Giá trị của n được tăng lên trước khi giá trị của nó được sử dụng.

119.

Đoạn code nào sẽ hoán vị 2 số a và b:

a)

t=a; a=b; b=t;

b)

t=a; a=b; t=b;

c)

a=t; b=a; t=b;

d)

t=b; b=a; a=t;

120.

Kết quả của chương trình sau là gì:#include int main(){printf("%d",3<2||6);};

a)

true.

b)

0.

c)

1

d)

Kết quả khác.

121.

Kết quả của chương trình sau là gì:#include int main(){int i=1, k=0;for (; i<5; i++) k++;printf("%d",k);}

a)

0.

b)

4.

c)

5.

d)

Vòng lặp vô hạn.

122.

Trong các hàm sau, hàm nào không định dạng để in một kí tự ra màn hình:

a)

puts();

b)

printf();

c)

putchar();

d)

2 và 3.

123.

Phép toán / có ý nghĩa gì:

a)

Đổi dấu một số thực hoặc một số nguyên.

b)

Chia hai số thực hoặc nguyên.

c)

Lấy phần nguyên của phép chia hai số nguyên.

d)

Chia số thực chô một số thực

124.

Chọn một phát biểu sai:

a)

Chuỗi là một mảng các kí tự.

b)

Chuỗi là một mảng các kí tự và kí tự cuối cùng có mã là 0.

c)

Chuỗi là mảng các kí tự và kí tự cuối cùng có mã là NULL.

d)

Chuỗi là

125.

Chọn một phát biểu sai:

a)

A. Chuỗi là một mảng các kí tự.

b)

B. Chuỗi là một mảng các kí tự và kí tự cuối cùng có mã là 0.

c)

C. Chuỗi là mảng các kí tự và kí tự cuối cùng có mã là NULL.

d)

D. Chuỗi là mảng các trị 2 byte

126.

Kết quả của chương trình sau là gì:#include "stdio.h"void main(){int i,k;for(i=1; ; i++) k=5;printf("%d",i);};

a)

A. 0.

b)

B. 5.

c)

C. Vòng lặp vô hạn.

d)

D. Kết quả khác.

127.

Tên biến nào dưới đây được viết đúng theo quy tắc đặt tên

a)

A. _diemmonhoc

b)

B. diem mon hoc

c)

C. - diemmonhoc

d)

D. 3diemmonhoc

128.

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 :

a)

A. Kiểu mảng.

b)

B. Kiểu float

c)

C. Kiểu short int.

d)

D. Kiểu unsigned.

129.

Khai báo các biến:int m,n; float x,y;Lệnh nào sai :

a)

A. m=2.5 ;

b)

B. y=12.5 ;

c)

C. x=10 ;

d)

D. n=5 ;

130.

Cho biết kết quả của đoạn chương trình sau:int p=10;p=20+ ++p;

a)

A. 29

b)

B. 30

c)

C. 31

d)

D. 32

131.

Hãy cho biết định nghĩa về Mảng là gì?

a)

A. Một nhóm phần tử có cùng kiểu và chung tên gọi.

b)

B. Một nhóm phần tử có thể có kiểu riêng và chung tên gọi.

c)

C. Một nhóm phần tử có thể có kiểu riêng và tên gọi riêng cho mỗi phần tử.

d)

D. Là một kiểu dữ liệu cơ sở đã định sẵn của ngôn ngữ lập trình C.

132.

Giả sử có câu lệnh ch='A'. Vậy ch sẽ chứa bao nhiêu byte :

a)

A. 1

b)

B. 2

c)

C. 3

d)

D. 4

133.

Cú pháp nào đúng cho câu lệnh do…while?

a)

A. do {câu lệnh S} while(biểu thức logic)

b)

B. do{ câu lệnh S;} while(biểu thức logic)

c)

C. do{ câu lệnh S;} while(biểu thức logic);

d)

D. do while(biểu thức logic); {câu lệnh S;}

134.

Giả sử trong ngôn ngữ C sử dụng khai báo double a[12]; phần tử a[7] là phần tử thứ bao nhiêu trong mảng a?

a)

A. Thứ 6.

b)

B. Thứ 7.

c)

C. Thứ 8.

d)

D. Thứ 9.

135.

Đoạn code nào sẽ hoán vị 2 số a và b?

a)

A. t=a; a=b; b=t;

b)

B. t=a; a=b; t=b;

c)

C. a=t; b=a; t=b;

d)

D. t=b; a=b; b=t;

136.

Dịch và chạy chương trình sau cho kết quả nào sau đây:int Tong(float a,float b){return a+b;}int main() {printf("%0.1f",Tong(2.5,2.5));}

a)

A. 5.0

b)

B. 2.5

c)

C. 0.0

d)

D. Sai cú pháp