wayground logo

Free Printable Worksheets

Font size

S
M
L
XL
Worksheets

Kiến thức về ngôn ngữ lập trình C

Total questions: 114

Worksheet time: 57mins

Name
Class
Date
1.

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:

a)

puts().

b)

printf().

c)

scanf().

d)

gets().

2.

Kết quả của chương trình sau: #include “stdio.h” void main() { int i; i=10; printf(“%o”,i); }

a)

12.

b)

10.

c)

8.

d)

Kết quả khác.

3.

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:

a)

Truyền bằng trị.

b)

Truyền bằng giá trị địa chỉ của tham số.

c)

Cả a và b đều đúng.

d)

Cả a và b đều sai.

4.

Cho biết giá trị của biểu thức 5>1 :

a)

-1.

b)

0.

c)

1.

d)

Không câu nào đúng.

5.

Cho biết giá trị của biểu thức 2+4>2&&4<2 :

a)

1.

b)

0.

c)

-1 .

d)

Không câu nào đúng.

6.

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

a)

Địa chỉ vùng nhớ của một biến khác.

b)

Giá trị của một biến khác.

c)

Cả a và b đều đúng.

d)

Cả a và b đều sai.

7.

Dữ liệu kí tự bao gồm :

a)

Các kí tự số chữ số.

b)

Các kí tự chữ cái.

c)

Các kí tự đặc biệt.

d)

Cả a,b và c.

8.

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)

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

c)

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

d)

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

9.

Kiểu dữ liệu float có thể xử lí dữ liệu trong phạm vi nào :

a)

3.4*10-38 đến 3.4*10 38.

b)

-32768 đến 32767.

c)

-128 đến 127.

d)

0...65535.

10.

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 enum.

c)

Kiểu short int.

d)

Kiểu unsigned.

11.

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:

a)

break.

b)

goto.

c)

continue.

d)

return.

12.

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

a)

1.

b)

2.

c)

3.

d)

4.

13.

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

a)

1.

b)

2.

c)

3.

d)

4.

14.

Kết quả in ra màn hình của chương trình sau : #include void main() { int ch=’A’; printf(“%d”,ch); }

a)

A.

b)

a.

c)

65.

d)

Kết quả khác.

15.

Kết quả của chương trình sau: #include void main() { int i=98; printf(“%c”,i); };

a)

98.

b)

b.

c)

B.

d)

Kết quả khác.

16.

Kết quả in ra màn hình của chương trình sau: #include void main() { int i=5, j=6; i= i- --j; printf(“%d”,i); };

a)

6.

b)

5.

c)

1.

d)

0.

17.

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à:

a)

Dãy các mã định dạng dữ liệu hiển thị.

b)

Con trỏ của xâu kí tự.

c)

Các xâu kí tự mang tính chất thông báo.

d)

Cả 3 phương án trên.

18.

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.

a)

scanf();

b)

getchar();

c)

getch();

d)

getche();

19.

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:

a)

scanf();

b)

getchar();

c)

getch();

d)

getche();

20.

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:

a)

scanf();

b)

getchar();

c)

getch();

d)

getche()

21.

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

a)

“ 1 2 3 4”.

b)

“ 2 3 4”.

c)

“ 2 4”.

d)

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

22.

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++) printf(“%3d”,i); };

a)

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

b)

“ 2”.

c)

“ 1 2”.

d)

Kết quả khác.

23.

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.

a)

break.

b)

goto.

c)

continue.

d)

exit.

24.

Lệnh nào trong các lệnh sau cho phép dừng câu lệnh điều khiển:

a)

break.

b)

goto.

c)

continue.

d)

Cả 3 phương án trên.

25.

Trong ngôn ngữ C, khai báo “int array[3][5]” có nghĩa là:

a)

Các phần tử của mảng là các số nguyên.

b)

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.

c)

array[3][5] là một phần tử của mảng.

d)

Tất cả đều sai.

26.

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 void main() { int sum; sum= 453+343 printf(“\Ket qua la: “ sum) ; } ;

a)

Thiếu dấu chấm phẩy(;).

b)

Thiếu dấu phẩy (,).

c)

Thiếu kí tự đặc tả.

d)

Cả 3 ý trên.

27.

Kết quả của chương trình sau là gì : #include void main() { int i,j; for (i=1; i<4; i++) j=i; printf(“%3d”,j); };

a)

“ 1 2 3 4”.

b)

“ 4”.

c)

“ 3”.

d)

Kết quả khác.

28.

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

a)

AND, NOT, OR.

b)

NOT, OR, AND.

c)

OR, NOT, AND.

d)

NOT, AND, OR.

29.

Kết quả của chương trình sau là gì: #include void main() { int a=40, b=4; while(a!=b) if (a>b) a=a-b; else b=b-a; printf(“%d”,a); };

a)

2.

b)

16.

c)

4.

d)

Kết quả khác.

30.

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.

31.

Kết quả của chương trình sau là gì: #include void hoanvi(int *px, int *py) { int z ; z=*px; *px=*py ; *py=z ; } ; void main() { int a=15, b=21 ; hoanvi(a,b) ; printf (“%d %d”,a,b); };

a)

“15 21” .

b)

“21 15”.

c)

Báo lỗi khi thực hiện chương trình.

d)

Kết quả khác.

32.

Kết quả chương trình sau là gì: #include void hoanvi(int px, int py) { int pz; pz=px; px=py; py=pz; }; void main() { int a=15, b=21; hoanvi(a,b); printf(“%d %d”,a,b); };

a)

“21 15”.

b)

“15 21”.

c)

Báo lỗi khi thực hiện chương trình.

d)

Kết quả khác.

33.

Phát biểu nào sau đây không phài là lợi ích của việc dùng hàm:

a)

Tránh dư thừa, lặp lại nhiều lần một đoạn lệnh.

b)

Dễ bảo trì.

c)

Khả năng sử dụng lại đoạn lệnh.

d)

Tất cả đều sai.

34.

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

a)

n=5 ;

b)

x=10 ;

c)

y=12.5 ;

d)

m=2.5 ;

35.

Kết quả in ra màn hình của chương trình sau : #include void main() { char *s; s=”chao cac ban”; strcpy(&s[5],&s[9]); printf(“%s”,s); };

a)

“chao”.

b)

“chao cac”.

c)

“chao ban”.

d)

“chao cac ban”.

36.

Kết quả in ra màn hình của chương trình sau: #include void main() { int a=100, b=6; double f; f=(double)a/(double)b; printf(“%2.2f”,f); };

a)

“16”.

b)

“16.00”.

c)

“16.67”.

d)

Kết quả khác.

37.

Kết quả in ra màn hình của biểu thức sau là gì:-3+4%5/2.

a)

-1.

b)

-3.

c)

1.

d)

Kết quả khác.

38.

Có các khai báo sau: int x=15; int *p; Muốn p là con trỏ trỏ tới x phải thực hiện lệnh nào:

a)

p=x;

b)

p=&x;

c)

p=*x;

d)

Tất cả các lệ

39.

Nếu có các khai báo sau: char msg[10]; char value; Câu nào sau đây sẽ là đúng:

a)

msg[2]=value;

b)

msg=value;

c)

Cả hai câu trên.

d)

Không câu nào đúng.

40.

Nếu có các khai báo sau: char msg[10]; char *ptr; char value; Câu nào sau đây là đúng:

a)

ptr=value;

b)

ptr=msg;

c)

Cả hai câu trên đều đúng.

d)

Cả hai câu trên đều sai.

41.

Kí hiệu nào là con trỏ của phẩn tử thứ 3 của màng a có 4 kí tự:

a)

*(a+3);

b)

*(a+2);

c)

*a+3;

d)

*(a+4);

42.

Cho các khai báo sau: void *tongquat; int *nguyen; char *kitu; Phép gán nào là không hợp lệ:

a)

tongquat=nguyen;

b)

*nguyen=*tongquat;

c)

kitu=(char)tongquat;

d)

tongquat=kitu;

43.

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

a)

14.

b)

15.

c)

16.

d)

Kết quả khác.

44.

Có các khai báo sau: char tb, mang[15]; Trong các câu lệnh sau, câu nào đúng:

a)

tb=”chào bạn”;

b)

gets(mang);

c)

mang=”chaoban”;

d)

gets(tb);

45.

Phép cộng 1 con trỏ với một số nuyên sẽ là:

a)

Một con trỏ có cùng kiểu.

b)

Một số nguyên.

c)

Cả hai kết quả đều đúng.

d)

Cả hai kết quả đều sai.

46.

Phép trừ 2 con trỏ có cùng kiểu sẽ là:

a)

Một con trỏ có cùng kiểu.

b)

Một số nguyên.

c)

Kết quả khác.

d)

Không thực hiện được.

47.

Phép toán 1 ngôi nào dùng để xác định địa chỉ của đối tượng mà con trỏ chỉ tới:

a)

*;

b)

!;

c)

&;

d)

Kết quả khác.

48.

Sự hiệu chỉnh các kiểu dữ liệu số học khi tính toán là:

a)

int à long à float à double à long double.

b)

int à float à long à double à long double.

c)

int à double à float àlong à long double.

d)

long à int à float àdouble à long double.

49.

Chương trình:

#include <stdio.h>

void main()

{

char c;

int n;

scanf(“%d%c”,&n,&c);

printf(“%3d%c”,n,c);

};

Giả sử khi chạy chương trình ta gõ từ bản phím: “29h b”. Kết quả in ra n và c tương ứng sẽ là:

a)

“ 29b”

b)

“ 29h b”

c)

“ 29h”

d)

Kết quả khác.

50.

Khi khai báo mảng, ta khởi tạo luôn giá trị của mảng như sau: int x[3]={4,2,6}; Nghĩa là:

a)

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

b)

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

c)

Khai báo không đúng.

d)

Kết quả khác.

51.

Khi biến con trỏ không chứa bất kì một địa chỉ nào thì giá trị của nó sẽ là:

a)

0.

b)

NULL.

c)

Cả hai phương án trên đều đúng.

d)

Cả hai phương án trên đều sai.

52.

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

a)

Hàm.

b)

Biểu thức.

c)

Biến.

d)

Toán tử.

53.

Kết quả của chương trình sau là gì: #include void main() { int x, *p; x=3; x=6; p=&x; *p=9; printf(“%d”,x); printf(“%d”,*p); printf(“%d”,x); };

a)

“369”.

b)

“696”.

c)

“999”.

d)

Kết quả khác.

54.

Kết quả của chương trình sau là gì: #include int change(int a) { a=10; return a; }; void main() { int a=5; change(i); printf(“%d”,i); };

a)

5.

b)

10.

c)

0.

d)

Báo lỗi khi thực hiện chương trình.

55.

Những phát biểu nào sau đây là đúng:

a)

Rẽ nhánh là việc chọn ra một trong hai hay nhiều con đường cho việc thực hiện tính toán sau đó.

b)

Lưu đồ có thể có nhiều điểm bắt đầu và kết thức.

c)

Kiểu kí tự chứa một kí tự nằm trong dấu nháy kép.

d)

Trong các lệnh if lồng nhau, else thuộc về if phía trước gần nó nhất.

56.

Kết quả của chương trình sau là gì: #include int change(int *a) { *a=10; return *a; }; void main() { int i=5; change(&i); printf(“%d”,i); };

a)

5.

b)

10.

c)

0.

d)

Báo lỗi khi thực hiện xây dựng chương trình.

57.

Kết quả của chương trình sau là gì: #include void main() { int x, *p; x=6; p=&x; printf(“%d”,x); printf(“%d”,*p); };

a)

69.

b)

66.

c)

Lỗi khi xây dựng chương trình.

d)

Kết quả khác.

58.

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

a)

true.

b)

0.

c)

1.

d)

Kết quả khác.

59.

Cái gì quyết định kích thước của vùng nhớ được cấp phát cho các biến:

a)

Tên biến.

b)

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

c)

Giá trị của biến.

d)

Tất cả đều đúng.

60.

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

a)

0.

b)

5.

c)

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

d)

Kết quả khác.

61.

Kết quả của chương trình sau là gì: #include void 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.

62.

Lệnh nào trong các lệnh sau cho phép nhảy ra khỏi vòng lặp đến vị trí bất kì mong muốn:

a)

break;

b)

continue;

c)

goto;

d)

Không có phương án nào.

63.

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.

64.

Khi nhập vào đòng văn bản: “Chao Cac Ban”. Kết quả của chương trình sau là gì: #include #include int main() { clrscr(); char str[80]; fflush(stdin); scanf(“%s”,str); cprintf(“Dong van ban vua nhap la: %s”,str); getch(); return 0; };

a)

“Chao Cac Ban”.

b)

“Chao Cac”.

c)

“Chao”.

d)

Không hiện kết quả gì.

65.

Kết quả của chương trình sau là gì: #include #include void main() { clrscr(); int i; for (i=1; i<=24; i++); printf(“\n%d”,i); getch(); return; };

a)

In ra màn hình các số từ 1 đến 24.

b)

Lỗi khi xây dựng chương trình.

c)

Kết quả khác.

d)

In ra màn hình các số từ

66.

Câu 89: 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.

67.

Câu 90: Kết quả của đoạn chương trình sau là gì: char c; int n; scanf(“%d%c”,&n,&c); Nếu gõ vào : “10 T”.

a)

n=10, c=’ ‘.

b)

n=10, c=’T’.

c)

Lỗi khi xây dựng chương trình.

d)

Kết quả khác.

68.

Câu 91 : Kết quả in ra màn hình của chương trình sau: #include void main() { int i=100; printf(“%c”,i); };

a)

“d”.

b)

“D”.

c)

“100”.

d)

Kết quả khác.

69.

Câu 91: Hằng có thể được định nghĩa theo cách nào:

a)

#define string

b)

const tên_kiểu tên_biến_hằng = giá trị;

c)

Không có cách định nghĩa chung.

d)

1 và 2.

70.

Câu 92: Hàm gotoxy(int x, int y) là hàm:

a)

Đặt con trỏ tại dòng x, cột y.

b)

Đặt con trỏ tại cột x, dòng y.

c)

Lưu dữ tọa độ của con trỏ màn hình cột x, dòng y.

d)

Lưu dữ tọa độ của con trỏ màn hình dòng x, cột y.

71.

Câu 93 : Kết quả của chương trình sau là gì : #include #include float x[] = {63.2, -45.6, 70.1, 3.6, 14.5 }; int n=sizeof(x)/sizeof(float); void main() { clrscr(); int i,j; floar c; for (i=0, j=n-1; i

a)

Dãy kết quả là: 63.20, -45.60, 70.10, 3.60, 14.50.

b)

Dãy kết quả là : 14.50, 3.60, 70.10, -45.60, 63.20.

c)

Kết quả khác.

d)

1 và 2.

72.

Kết quả của chương trình sau là gì :

#include <stdio.h>

#include <conio.h>

#include <ctype.h>

#define EOL ‘\n’

void main()

{

clrscr();

char chu[80];

int tong,dem;

for (dem=0; dem<tong; dem++);

tong=dem;

for (dem=0; dem<tong; ++dem)

putchar(toupper(chu[dem]));

getch();

return;

};

a)

Nhập vào một kí tự thường, sau đó chuyển sang chữ hoa rồi in ra màn hình.

b)

Nhập một kí tự hoa, sau đó chuyển sang chữ thường rồi in ra màn hình.

c)

1 và 2.

d)

Kết quả khác.

73.

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)

1 và 2.

74.

Hàm clrscr() là hàm gì:

a)

Là hàm xóa toàn bộ màn hình, sau khi xóa, con trỏ sẽ ở bên trái màn hình.

b)

Dùng để xóa sạch bộ nhớ đệm bàn phím.

c)

Là hàm xóa kí tự nằm bên trái con trỏ.

d)

Là hàm xóa kí tự nằm bên phải con trỏ.

75.

Kết quả của đoạn chương trình sau là gì: char c; int n; scanf(“%c%d”,&n,&c); Nếu gõ vào: “r 45”.

a)

n=45, c=’ ‘.

b)

n=45, c=’r’.

c)

Lỗi khi xây dựng chương trình.

d)

Kết quả khác.

76.

Hàm scanf(“%[^ ]”,str); tương với lệnh nào sau đây:

a)

getch();

b)

getche();

c)

macro getchar();

d)

gets(str);

77.

Cho đoạn chương trình sau: #include #include void main() { char c; clrscr(); do c=getchar(); while (c!=’*’); getch(); }; Yêu cầu của đoạn chương trình trên là:

a)

Nhập vào 1 kí tự cho đến khi gặp kí tự ‘*’.

b)

Nhập vào các kí tự cho tới khi gặp kí tự ‘*’.

c)

Nhập các kí tự ‘*’.

d)

Lỗi khi xây dựng chương trình.

78.

Kết quả của chương trình sau là gì: #include void main() { printf(“%d”,3<7&&8>6); };

a)

1.

b)

0.

c)

true.

d)

Kết quả khác.

79.

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.

80.

Câu 100: 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.

81.

Câu 101: Phép toán 1 ngôi nào dùng để xác định giá trị ở địa chỉ con trỏ trỏ tới:

a)

!;

b)

&;

c)

*;

d)

Kết quả khác.

82.

Câu 102: Phép trừ 1 con trỏ với một số nguyên sẽ là:

a)

Một số nguyên.

b)

Một con trỏ cùng kiểu.

c)

Cả hai kết quả trên đều đúng.

d)

Cả hai kết quả trên đều sai.

83.

Câu 103: Đâu là kết quả của đoạn mã sau: struct Employee { char Code[], name[]; long Salary; }; Employee e1= { “E089”, “Hoang so”, 12000}, e2=e1; printf(“%ld”,el.Salary+e2 -> Salary);

a)

24000.

b)

12000.

c)

Đoạn mã bị lỗi.

d)

Kết quả khác.

84.

Câu 104: Đâu là kết quả của câu lệnh sau: printf(“%2f”,123.5678908);

a)

123.56

b)

123.567890

c)

123.567

d)

Kết quả khác. (123.567891).

85.

Câu 105: char S[20]=”aaaaaea”; char* p=strstr(S,”e”); Nếu địa chỉ của S là 1000, thì giá trị của p là bao nhiêu:

a)

1000.

b)

1005.

c)

1003.

d)

Kết quả khác.

86.

Câu 106: Một số tác vụ sau sẽ được áp dụng để kiểm tra xem một số nguyên là lẻ hay chẵn: 1- Begin(bắt đầu). 2- Nhập số nguyên n. 3- Nếu số đó là 0 thì hiển thị chuỗi: “Đây là số chẵn”. 4- Ngược lại hiển thị: “Đây là số lẻ”. 5- Chia n cho 2; 6- End(kết thúc). Theo bạn, thứ tự các bước nào sau đây là đúng:

a)

1,2,3,4,5,6.

b)

1,5,4,3,2,6.

c)

1,2,5,3,4,6.

d)

1,5,3,4,2,6.

87.

Câu 107: Trong số các định dạng dưới đây, định dạng nào dùng để in ra địa chỉ:

a)

“%f”.

b)

“%s”.

c)

“%p”.

d)

“%h”.

88.

Khai báo hàm tìm giá trị lớn nhất trong một màng các số long dưới đây, khai báo nào đúng:

a)

void Max(long *a);

b)

long Max(long *a[]);

c)

void Max(long a[], int n);

d)

long Max(long *a, int n);

89.

Khai báo hàm tính tổng các phần tử trong một mảng các số nguyên dưới đây, khai báo nào đúng:

a)

void Sum( int a[]);

b)

long Sum( int *a);

c)

void Sum(int a[], int n);

d)

cả 3 phương án trên đều sai.

90.

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

a)

void CheckAsc(int a[], int n);

b)

int CheckAsc(int *a, int n);

c)

long CheckAsc(int *S);

d)

double CheckAsc(int S[], int n);

91.

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

92.

Trong các câu sau, câu nào đúng:

a)

Giá trị của một biến có thể thay đổi được.

b)

Giá trị của một biến không thể thay đổi được.

c)

Có thể khai báo 2 biến trùng tên trong cùng một hàm.

d)

Không thể khai báo 2 biến trùng tên trong cùng một hàm.

93.

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

a)

Toán tử.

b)

Biểu thức.

c)

Hàm.

d)

Biến.

94.

Kích thước của biến con trỏ là:

a)

1 byte.

b)

2 byte.

c)

3 byte.

d)

Không có đáp án nào đúng.

95.

Cho biết giá trị của biểu thức: 2+4>2&&4<2;

a)

1.

b)

0.

c)

-1.

d)

Không câu nào đúng.

96.

Giá trị lôgic của biểu thức sau là gì: !(1&&1||1&&0);

a)

1.

b)

0.

c)

-1.

d)

Không câu nào đúng.

97.

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:

a)

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

b)

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

c)

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

d)

Không câu nào đúng.

98.

Tìm kết quả của chương trình sau: main() { int n; for (n=18; n>0; n/=2) printf(“%3d”,n); };

a)

“ 18 17 16 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1”

b)

“ 18 9 4 2 1”

c)

“ 18 9 4 2 1 0”

d)

Không câu nào đúng.

99.

Tìm kết quả của chương trình sau: #include main() { int i, ch; for (i=0, ch=’A’; i<5; i++, ch++) putchar(ch); };

a)

“ABCDE”

b)

“ABC”

c)

“ACEG”

d)

Không câu nào đúng.

100.

Tìm kết quả của chương trình sau: #include main() { int i,ch; for (i=0,ch=’A’; i<4; i++,ch+=2) putchar(ch); };

a)

“ABCDE”

b)

“ABC”

c)

“ACEG”

d)

Không câu nào đúng.

101.

Nếu có khai báo: char *ptr; char msg[10]; char v; Câu nào sẽ đúng:

a)

ptr=v;

b)

ptr=msg;

c)

Cả hai câu đều đúng.

d)

Không câu nào đúng.

102.

Tại sao hai hàm scanf() và printf() gọi là 2 hàm nhập, xuất có định dạng:

a)

Vì chúng có chuỗi định dạng trong tham số.

b)

Vì chúng thường dùng để nhập, xuất các trị trong chỉ một kiểu đã định trước.

c)

Vì một lí do khác.

d)

2 hàm trên không phải là hai hàm nhập xuất có định dạng.

103.

Hàm nào trong các hàm sau thuộc các hàm nhập xuất không định dạng: 1- printf(); 2- scanf(); 3- getchar(); 4- putchar();

a)

1,2.

b)

3,4.

c)

1,4.

d)

2,3.

104.

Nếu strcmp(S1,S2) trả về số nguyên âm thì:

a)

Nội dung của chuỗi S1 lớn hơn nội dung chuỗi S2.

b)

Nội dung chuỗi S1 nhỏ hơn nội dung chuỗi S2.

c)

Nội dung chuỗi S1 bằng nội dung chuỗi S2.

d)

Dữ liệu nhập vào không đúng định dạng.

105.

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à mảng các trị 2 byte. (1 byte)/

106.

Các định dạng nào sau đâu có thể sử dụng để xuất số nguyên không dấu:

a)

“%d”.

b)

“%unsigned”.

c)

“%i”.

d)

“%u”.

107.

Định dạng nào dưới đây dùng để hiển thị một số thực:

a)

%f

b)

%u

c)

%i

d)

%float

108.

Đâu là những toán tử toán học:

a)

+, /, %

b)

+, -, *, /, %, ++, --, >, <

c)

&&, ||

d)

+, -, *, /, %, =, !=

109.

Một biến phải bắt đầu với:

a)

Một kí tự thường như các chữ cái hoặc dấu gạch dưới

b)

Một dấu gạch dưới

c)

Một kí tự kiểu số

d)

Một toán tử như: +, -...

110.

Chọn kết quả của đoạn code sau: for (int i=1; i<10; i++) for(int j=1; j<10; j++) ì (j%i==0) printf(“Hello\n”);

a)

6 chuỗi “Hello”

b)

12 chuỗi “Hello”

c)

Không có kết quả xuất ra màn hình

d)

23 chuỗi “Hello”

111.

Một số tác vụ sau sẽ được dùng để kiểm tra một số nguyên là lẻ hay chẵn: 1- Bắt đầu; 2- Nhập số nguyên n; 3- Nếu số dư là 0 thì hiển thị chuỗi: “Đây là số chẵn”; 4- Ngược lại hiển thị chuỗi: “Đây là số lẻ”; 5- Chia n cho 2; 6- Kết thúc; Thứ tự các bước như thế nào là đúng:

a)

1, 2, 3, 4, 5, 6

b)

1, 5, 4, 3, 2, 6

c)

1, 2, 5, 3, 4, 6

d)

1, 5, 3, 4, 2, 6

112.

Cho đoạn chương trình sau: int n=0; for (int i=0; i<10; i+=4) n+=i; Giá trị của biến n là:

a)

8

b)

12

c)

16

d)

20

113.

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

114.

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);

}

a)

a) 56.

b)

b) 100.

c)

c) Báo lỗi khi thực hiện xây dựng chương trình.

d)

d) Kết quả khác.