wayground logo

Free Printable Worksheets

Font size

S
M
L
XL
Worksheets

PHÀN 3. LẬP TRÌNH p1

Total questions: 137

Worksheet time: 69hrs 30mins

Name
Class
Date
1.

Ngôn ngữ lập trình C được xếp vào loại ngôn ngữ lập trình nào?

a)

Ngôn ngữ máy

b)

Hợp ngữ

c)

Ngôn ngữ lập trình bậc cao

d)

Ngôn ngữ lập trình logic

2.

Phát biểu nào dưới đây về ngôn ngữ lập trình C là đúng?

a)

Trình biên dịch sẽ dịch ngôn ngữ C thành mã máy

b)

C là hợp ngữ

c)

Máy tính có thể hiểu trực tiếp được ngôn ngữ C

d)

Ngôn ngữ C hiện nay chỉ tồn tại với một phiên bản duy nhất

3.

Trong những thành phần sau, chỉ ra một thành phần không thuộc đây?

a)

Hợp ngữ

b)

Ngôn ngữ bậc cao

c)

Thông dịch

d)

Ngôn ngữ máy

4.

Đâu là biểu diễn hàng số ở hệ cơ số 8 trong C?

a)

2006

b)

0x2006

c)

0X2006

d)

02006

5.

Chọn phát biểu đúng nhất về định danh trong C?

a)

Định danh là dãy ký tự chữ cái, chữ số hoặc dấu gạch dưới

b)

Định danh là dãy ký tự chữ cái hoặc chữ số

c)

Định danh là dãy ký tự chữ cái, chữ số hoặc dấu gạch dưới trong đó ký tự đầu tiên không phải là số

d)

Định danh là dãy ký tự chữ số hoặc dấu gạch dưới

6.

Trong ngôn ngữ lập trình C, tên biến nào sau đây không được chấp nhận?

a)

KetQua

b)

ket_qua

c)

Ket Qua

d)

ketqua

7.

Trong ngôn ngữ lập trình C, tên biến nào sau đây được chấp nhận?

a)

Bien#2

b)

So Nguyen

c)

1SoNguyen

d)

So_Nguyen

8.

Đâu là chú thích trong C?

a)

(* dòng chú thích *)

b)

// dòng chú thích

c)

{ dòng chú thích }

d)

<-- dòng chú thích -->

9.

Chọn cách khai báo đúng tệp tiêu đề trong lập trình C.

a)

#include "tên_tệp_tiêu_đề"

b)

include

c)

#include ten_tep_tieu_de

d)

#include ;

10.

Trong cấu trúc cơ bản của chương trình C, thành phần nào bắt buộc phải có?

a)

Phần khai báo các tệp tiêu đề

b)

Định nghĩa kiểu dữ liệu mới

c)

Phần khai báo các hàm nguyên mẫu

d)

Phần định nghĩa hàm main()

11.

Giả thiết bộ chương trình Turbo C 3.0 được cài đặt trên ổ đĩa D của một máy tính. Hãy chỉ ra tên đầy đủ của chương trình dịch Tc.exe.

a)

D:\\TC\\BIN\\Tc.exe

b)

D:\\TC\\BIN\\Tc

c)

Tc.exe

d)

\\TC\\BIN\\Tc

12.

Khẳng định nào sau đây về ngôn ngữ lập trình là đúng?

a)

Máy tính có thể chạy ngay một chương trình viết bằng ngôn ngữ assembly

b)

Để chạy một chương trình viết bằng ngôn ngữ máy thì trước hết ta phải biên dịch

c)

Để chạy được một chương trình viết bằng ngôn ngữ lập trình bậc cao, trước hết cần biên dịch hoặc thông dịch chương trình

d)

Tất cả các khẳng định trên là đúng

13.

Ngôn ngữ lập trình dùng để

a)

Viết chương trình

b)

Soạn thảo văn bản

c)

Tính toán khoa học

d)

Dịch chương trình nguồn sang chương trình đích

14.

Việc biên dịch một chương trình viết bằng một ngôn ngữ lập trình bậc cao sang chương trình dưới dạng ngôn ngữ máy được thực hiện bởi

a)

Chương trình dịch

b)

Chương trình soạn thảo

c)

Hệ điều hành

d)

Người lập trình

15.

Lựa chọn nào dưới đây chỉ ra thứ tự tăng của miền giá trị các kiểu dữ liệu

a)

int, float, double, long

b)

int, long, float, double

c)

int, float, long, double

d)

int, long, double, float

16.

Trong những định danh sau đây, đâu là định danh hợp lệ

a)

char

b)

1First

c)

int

d)

int1

17.

Trong ngôn ngữ lập trình C, tên biến nào sau đây là được chấp nhận

a)

While

b)

if

c)

for

d)

Không có câu trả lời nào đúng

18.

Trong ngôn ngữ lập trình C, khai báo nào sau đây là đúng cú pháp

a)

float int n;

b)

unsigned int n;

c)

unsigned float n = 0;

d)

n : int;

19.

Trong ngôn ngữ lập trình C, cách khai báo biến nào sau đây là sai cú pháp

a)

int n = 0;

b)

unsigned int n = 0;

c)

int n:=0;

d)

unsigned n = 0;

20.

Trong ngôn ngữ lập trình C, câu lệnh nào dưới đây là khai báo đúng cho một hằng ký tự

a)

#define HangSo A ;

b)

#define HangSo 'A' ;

c)

const char HangSo A ;

d)

const char HangSo = 'A' ;

21.

Trong ngôn ngữ lập trình C, câu lệnh nào dưới đây là khai báo đúng cho một hằng ký tự

a)

#define HangSo A

b)

#define HangSo 'A'

c)

const char HangSo A ;

d)

const char HangSo = A ;

22.

Trong ngôn ngữ lập trình C, câu lệnh nào dưới đây là khai báo đúng cho một hằng số thực?

a)

#define HangSo 2.78

b)

#define HangSo = 2.78

c)

const float HangSo 2.78 ;

d)

const HangSo = 2.78 ;

23.

Trong ngôn ngữ lập trình C, câu lệnh nào dưới đây là khai báo đúng cho một hằng số thực?

a)

#define float HangSo 2.78

b)

#define HangSo = 2.78

c)

const float HangSo = 2.78 ;

d)

const HangSo = 2.78 ;

24.

Trong các khai báo sau, khai báo nào không có lỗi?

a)

#define MAX 10;

b)

#define MAX=10

c)

const int MAX 10;

d)

#define MAX 10

25.

Dòng khai báo nào sai? 1: #define PI 3.1415; 2: const float g 9.81; 3: int i=0; 4: int j='a';

a)

Dòng 2, 3, 4

b)

Dòng 1, 2

c)

Dòng 1, 2, 3

d)

Dòng 1, 2, 4

26.

Trong ngôn ngữ lập trình C, với 2 biến thực A, B, biểu thức nào sau đây không được chấp nhận?

a)

A % B

b)

A / B

c)

A ++

d)

A + B

27.

Kết quả của phép chia 3.0/23.0/2 trong C bằng?

a)

1.5

b)

2

c)

1

d)

3

28.

Trong ngôn ngữ C, cho biết kết quả sau khi tính toán biểu thức 1.5(11/3)1.5*(11/3)

a)

5.5

b)

4.5

c)

5.4999

d)

Không thu được gì

29.

Toán tử nào sau đây không phải là toán tử quan hệ?

a)

=

b)

<

c)

>

d)

>=

30.

Toán tử == có nghĩa là:

a)

Phép so sánh bằng

b)

Phép so sánh khác

c)

Phép gán

d)

Các phương án trên đều sai

31.

Trong ngôn ngữ lập trình C, khai báo a, b là hai biến kiểu số nguyên. Câu lệnh gán nào là đúng cú pháp?

a)

a = b;

b)

a ← b;

c)

a:=b;

d)

Cả 3 đáp án trên đều đúng

32.

Khái niệm nào đề cập đến sự kết hợp của các toán tử và toán hạng?

a)

Thứ tự kết hợp

b)

Biến

c)

Độ ưu tiên

d)

Biểu thức

33.

Cho khai báo int a, b;. Chỉ ra biểu thức không hợp lệ:

a)

a -= b

b)

a == b

c)

a . b = 0

d)

a = b

34.

Cho biết giá trị của f = ((a==b) || (b>4)) với khai báo sau: unsigned int a = 7, b = 2, c = 5, d = 6;

a)

1

b)

0

c)

Biểu thức sai

d)

Không trả về kết quả

35.

Cho biết giá trị của biến a sau đoạn chương trình: int a; a = -1<7<=5;

a)

0

b)

3

c)

1

d)

7

36.

Kết quả của biểu thức 7+5&6&4<=1+3-2/3||5<2+1 bằng:

a)

0

b)

1

c)

Không có kết quả nào ở trên

d)

Biểu thức viết sai, không tính được kết quả

37.

Cho biết giá trị của biến a sau đoạn chương trình sau: int a=1, b=2, c=3; a=(b>c)?++b:++c;

a)

a=1

b)

a=3

c)

a=2

d)

a=4

38.

Cho biết giá trị của biến a sau đoạn chương trình sau: int a,b=0,c=5,d=6,e=7,f=8; a=b?c:d?e:f;

a)

a=5

b)

a=7

c)

a=6

d)

a=8

39.

Chỉ ra biểu thức kiểm tra ký tự ch là 'a' hoặc 'b':

a)

ch == 'a'||'b'

b)

(ch == 'a')||(ch == 'b')

c)

ch == 'a'|'b'

d)

(ch == 'a')(ch == 'b')

40.

Nếu x là biến nguyên thì sau khi thực hiện câu lệnh gán x = 13.6, giá trị của x là:

a)

13

b)

14

c)

13.6

d)

Báo lỗi, không có câu trả lời nào đúng

41.

Giá trị của d sau khi thực hiện các lệnh là? int a=5, b=7, c=2, d=4; d= b/c%a;

a)

3.5

b)

3

c)

4

d)

0

42.

Cho biết giá trị của các biến a, b, c sau khi thực hiện đoạn chương trình sau: int a=7, b, c; b=a++ + 1; c= --a - b++;

a)

a=7, b=9, c=-1

b)

a=8, b=8, c=-1

c)

a=7, b=8, c=0

d)

a=7, b=10, c=-2

43.

Cho biết giá trị của các biến a, b, c sau khi thực hiện đoạn chương trình sau: int a=5, b, c; b=a++; c= a++ + ++b - 1;

a)

a=7, b=6, c=11

b)

a=6, b=6, c=10

c)

a=7, b=5, c=11

d)

a=7, b=6, c=10

44.

Biết a, b, c, d là các biến nguyên với giá trị đang lưu trữ là a = 8, b = 9, c = 6. Hãy cho biết giá trị biến d sau khi thực hiện lệnh gán: d = a/b*c + c++;

a)

5

b)

6

c)

11.3333

d)

12.3333

45.

Hãy cho biết sau đoạn lệnh sau biến a nhận giá trị bằng bao nhiêu? int a, b = 10, c = 20; a = b > c ? 100 : 200;

a)

a = 100

b)

a = -1

c)

a = 0

d)

a = 200

46.

Giá trị của b sau khi thực hiện đoạn mã sau là bao nhiêu? int a = -1, b = 1; b += a ? 2 : 1;

a)

2

b)

3

c)

4

d)

1

47.

Trong ngôn ngữ lập trình C, khi đoạn chương trình sau được thực hiện, các biến A, B, C có giá trị là bao nhiêu? int A = 4, B = 3, C; C = (A > B) ? A-- : --B;

a)

A = 3, B = 2, C = 4

b)

A = 3, B = 3, C = 3

c)

A = 3, B = 3, C = 4

d)

A = 3, B = 2, C = 3

48.

Cho khai báo int a, b, c; Biểu thức nào sau đây cho phép xác định giá trị c là giá trị nhỏ nhất trong hai số a và b?

a)

c = (a>b) ? a : b

b)

c = (a

c)

c = (a!=b) ? a : b

d)

c = (a|b) ? a : b

49.

Sau khi thực hiện tuần tự các câu lệnh sau: int a = 5, c = 2; float b = 11; int d = 3; d = (int)b / c % 5; Giá trị của biến d sẽ bằng?

a)

0

b)

3

c)

5

d)

1

50.

Để sử dụng hàm printf và scanf, cần khai báo tệp tiêu đề nào?

a)

conio.h

b)

stdio.h

c)

input.h

d)

output.h

51.

Để sử dụng hàm getch(), cần khai báo tệp tiêu đề nào?

a)

conio.h

b)

stdio.h

c)

input.h

d)

output.h

52.

Định dạng nào cho phép hiển thị tham số dưới dạng số nguyên trong hệ thập phân?

a)

%o

b)

%d

c)

%c

d)

%s

53.

Trong ngôn ngữ lập trình C, cho biết kết quả hiển thị trên màn hình khi đoạn chương trình sau được thực hiện: int n = 10; printf("n = %d", n);

a)

n = %d, n

b)

n = %d

c)

n = %d,10

d)

n = 10

54.

Cho biết kết quả trên màn hình của lệnh sau (với □ là ký tự khoảng trắng): printf("%5.2f", 3.454);

a)

□3.45

b)

□3.5

c)

□□3.45

d)

3.454

55.

Giả thiết □ là ký tự khoảng trắng. X là biến kiểu float và được khởi tạo giá trị 12.345. Câu lệnh nào đưa ra màn hình giá trị □□12.35?

a)

printf("%7.2f", X)

b)

printf("%7.2e", X)

c)

printf("%6.2f", X)

d)

printf("%8.2f", X)

56.

Cho biết kết quả của đoạn chương trình: float f = 1.234; printf("f = %3.2f");

a)

f = 1.234

b)

f = 1.2

c)

f = 1.23

d)

f = .23

57.

Mệnh đề nào sau đây là đúng?

a)

Khi đọc xâu ký tự, hàm scanf() và gets() cho phép nhập các ký tự dấu cách, dấu tab

b)

Khi đọc xâu ký tự, hàm gets() cho phép nhập các ký tự dấu cách, dấu tab, còn hàm scanf() sẽ hiểu dấu cách, dấu tab đầu tiên báo hiệu kết thúc nhập xâu ký tự

c)

Khi đọc xâu ký tự, hàm scanf() cho phép nhập các ký tự dấu cách, dấu tab, còn hàm gets() sẽ hiểu dấu cách, dấu tab đầu tiên báo hiệu kết thúc nhập xâu ký tự

d)

Khi đọc xâu ký tự, hàm scanf(), gets() hiểu ký tự dấu cách, dấu tab hay xuống dòng là kết thúc nhập xâu ký tự

58.

Cho biết kết quả in ra của câu lệnh: printf("%c %d", 'A', 65);

a)

A B

b)

65 B

c)

A 66

d)

65 66

59.

Lệnh printf("%d %d", 'A', 'B') sẽ in ra:

a)

65 66

b)

a b

c)

065 066

d)

A B

60.

Trong ngôn ngữ lập trình C, cho biết kết quả hiển thị trên màn hình khi đoạn chương trình sau được thực hiện? float f = 0; f = 1/3; printf("f = %.3f", f);

a)

f = 1.000

b)

f = 0.333

c)

f = 0.000

d)

"f = %.3f", f

61.

Trong ngôn ngữ lập trình C, cho biết kết quả hiển thị trên màn hình khi câu lệnh sau được thực hiện: printf("1\n2");

a)

12

b)

1n2

c)

1 rồi xuống dòng 2

d)

21

62.

Cho một đoạn chương trình viết bằng ngôn ngữ lập trình C như sau: const int i = 0; printf("%d\n", i++); Hãy chỉ ra lỗi của đoạn chương trình trên (nếu có)?

a)

Khai báo i sai cú pháp

b)

Toán tử ++ thiếu một toán hạng

c)

Toán tử ++ áp dụng lên một hằng số

d)

Đoạn chương trình trên không có lỗi cú pháp

63.

Lệnh đúng để in ra màn hình hai số thực x, y theo định dạng: Dòng 1: In giá trị x, căn lề trái, chiếm 10 vị trí trong đó có 2 vị trí cho phần thập phân. Dòng 2: In giá trị y, căn lề phải, chiếm 6 vị trí trong đó có 3 vị trí cho phần thập phân.

a)

printf("%-10.2f\n%6.3f", x, y);

b)

printf("%-10.3f\n%6.4f", x, y);

c)

printf("%10.2f", x); printf("%-6.3f", y);

d)

printf("%10.2f", x); printf("%-6.3f", y);

64.

Cặp dấu hiệu nào để đánh dấu phạm vi một khối lệnh?

a)

{ }

b)

-> và <-

c)

BEGIN và END

d)

( và )

65.

Tìm kết quả đúng của chương trình: #include void main() { int a, n, c; a=13/2; b=++a+6; c=(b>12)?(b+7):(a*a); printf("\n %d4 %d4 %d4 ", a, b, c); }

a)

6 12 20

b)

6 13 20

c)

7 13 20

d)

7 13 49

66.

Giá trị của a sau khi thực hiện các lệnh sau: int a=5; { int a=7; } a=a+4;

a)

11

b)

9

c)

5

d)

Lỗi khai báo biến a

67.

Trong ngôn ngữ lập trình C, phát biểu nào sau đây là sai đối với cấu trúc if...else?

a)

Tất cả các câu lệnh sử dụng cấu trúc if...else đều có thể thay thế bằng biểu thức điều kiện

b)

Các cấu trúc if...else có thể lồng nhau

c)

Sau biểu thức điều kiện đi cùng với từ khóa if cho phép sử dụng khối lệnh

d)

Sau từ khóa else cho phép sử dụng khối lệnh

68.

Câu lệnh nào dưới đây kiểm tra xem biến ký tự ch có phải là chữ cái không?

a)

if(('A' <= ch) && (ch <= 'Z'))

b)

if((('A' <= ch) && (ch <= 'Z')) && (('a' <= ch) && (ch <= 'z')))

c)

if((('A' <= ch) || (ch <= 'Z')) && (('a' <= ch) || (ch <= 'z')))

d)

if((('A' <= ch) && (ch <= 'Z')) || (('a' <= ch) && (ch <= 'z')))

69.

Với a = 5, b = 5, c = 4. Kết quả hiển thị của đoạn chương trình sau như thế nào? if(a) if(a>b) printf("2"); else printf("3"); printf("5");

a)

35

b)

5

c)

3

d)

2

70.

Trong ngôn ngữ lập trình C, sau khi đoạn chương trình sau được thực hiện thì hai biến A và B có giá trị bao nhiêu? int A = 0, B = 1; if (A < B) { A = B; B = A; }

a)

A = 0 và B = 1

b)

A = 1 và B = 0

c)

A = 1 và B = 1

d)

A = 0 và B = 0

71.

Điền vào chỗ "..." để hoàn thiện chương trình sau: #include void main() { int a, b, max; printf("Nhap gia tri a va b: "); scanf("%d%d", &a, &b); if(...) max = a; else max = b; printf("So lon nhat trong 2 so %d va %d la %d", a, b, max); } Điều kiện thích hợp cho dấu "..." là gì?

a)

a > b

b)

a < b

c)

a == b

d)

a != b

72.

Trong ngôn ngữ lập trình C, sau khi đoạn chương trình sau được thực hiện thì 2 biến A và B mang giá trị bao nhiêu? int A = 0, B = 1, C; if (A < B) { C = B; B = A; A = C; }

a)

A = 0 và B = 1

b)

A = 1 và B = 0

c)

A = 1 và B = 1

d)

A = 0 và B = 0

73.

Cho một đoạn chương trình viết bằng ngôn ngữ lập trình C như sau: int a = 5; switch(a){ case 1: printf("First"); case 2: printf("Second"); case 3 + 2: printf("Third"); case 5: printf("Final"); break; } Hãy chỉ ra lỗi cú pháp của đoạn chương trình trên (nếu có)?

a)

Không có câu lệnh break cuối mỗi nhãn case

b)

Nhãn case không được phép sử dụng biểu thức 3+2

c)

Hai nhãn case có cùng giá trị là 5

d)

Đoạn chương trình trên không có lỗi cú pháp

74.

Trong ngôn ngữ lập trình C, sau khi đoạn chương trình sau được thực hiện thì biến C mang giá trị bao nhiêu? int A = 10, B = 20, C = 1; switch (A > B) { case 0: C = A; break; case 1: C = B; break; }

a)

C = 0

b)

C = 20

c)

C = 1

d)

C = 10

75.

Cho một đoạn chương trình viết bằng ngôn ngữ lập trình C như sau: int P = 10; switch(P){ case 10: printf("Case 1"); case 20: printf("Case 2");break; case P: printf("Case 2");break; } Hãy chỉ ra lỗi cú pháp của đoạn chương trình trên (nếu có)?

a)

Không có câu lệnh break cuối mỗi nhãn case

b)

Không có nhãn default

c)

Nhãn case P sử dụng một giá trị không phải là hằng số

d)

Đoạn chương trình trên không có lỗi cú pháp

76.

Cho đoạn chương trình sau, hồi kết quả hiển thị ra màn hình là như thế nào? int a = 10; a = a/2; switch(a){ case 3: a+=2; case 4: a++; break; default: a--; } printf("%d", a);

a)

5

b)

4

c)

6

d)

7

77.

Trong ngôn ngữ lập trình C, sau khi đoạn chương trình sau được thực hiện thì biến A mang giá trị bao nhiêu? int i, A = 0; for (i=0; i<10; i+=2) { A = A+2; }

a)

A = 9

b)

A = 10

c)

A = 18

d)

A = 20

78.

Cho đoạn chương trình sau, tìm giá trị của sum: int sum, i; for (i = 0; i + 1 <= 10; i += 2) if (i == 0) sum = i; else sum += i;

a)

12

b)

20

c)

30

d)

Lỗi cú pháp vì vòng lặp for thiếu dấu ngoặc

79.

Cho biết giá trị của biến S khi thực hiện đoạn chương trình sau: int i, S; for (i = 1; i < 10; i++) S += i;

a)

0

b)

45

c)

55

d)

Không xác định

80.

Cho biết kết quả hiển thị trên màn hình: int a; for (a = 65; a < 69; a++) printf("%c ", a);

a)

65 66 67 68

b)

A B C D

c)

a a a a

d)

a b c d

81.

Cho biết kết quả hiển thị trên màn hình: int a; for (a = 1; a <= 10; a++) { printf("%i ", a); if (a % 3) a += 2; }

a)

1 4 7

b)

1 3 5 7 9

c)

1 4 7 10

d)

1 4 8

82.

Đoạn chương trình sau sẽ in những gì ra màn hình? int i = 0; char c = 'c'; for (i = 0; i < 6; i += 2) { c = c + i; printf("%c ", c); }

a)

c e i

b)

c d f

c)

c e i l

d)

c e g

83.

Khi thực hiện chương trình sau, kết quả nhận được trên màn hình là gì? #include void main(){ int x; for(x=5; x>0; x--) printf("%2d ", x--); }

a)

5 3 1

b)

5 4 3 2 1

c)

4 3 2 1 0

d)

5 4 3 2 1 0

84.

Cho đoạn chương trình sau, sau khi thực hiện xong kết quả hiển thị ra màn hình là như thế nào? int i; for(i=0; i<5; i++); printf("%0d ", i);

a)

0

b)

0 1 2 3

c)

5

d)

0 1 2 3 4

85.

Cho biết kết quả thực hiện đoạn chương trình sau? #include void main(){ int i=0; for(i<=5; i++) printf("%0d ", i); }

a)

0 1 2 3 4 5

b)

5

c)

0 1 2 3 4

d)

Lỗi cú pháp vòng lặp for

86.

Phát biểu nào sau đây là sai đối với vòng lặp for?

a)

Vòng lặp for thực hiện nhanh hơn vòng lặp while

b)

Mọi đoạn lệnh sử dụng vòng lặp for có thể thay thế bằng vòng lặp while và ngược lại

c)

for( ; ; ); là một vòng lặp vô tận

d)

Các câu lệnh trong vòng lặp for có thể không được thực hiện lần nào

87.

Mệnh đề nào dưới đây là đúng?

a)

Lệnh do...while kiểm tra điều kiện vòng lặp trước rồi mới thực hiện lệnh

b)

Lệnh while thực hiện lệnh trước rồi mới kiểm tra điều kiện vòng lặp

c)

Cấu trúc while và do..while được dùng để thực hiện lặp đi lặp lại một công việc với số lần lặp xác định

d)

Lệnh while kiểm tra điều kiện vòng lặp trước rồi mới thực hiện lệnh

88.

Trong ngôn ngữ lập trình C, khi đoạn chương trình sau được thực hiện, kết quả hiển thị trên màn hình là gì? int i = 5; while(i-- >= 0) printf("%d, ", i);

a)

5, 4, 3, 2, 1, 0

b)

5, 4, 3, 2, 1, 0, -1

c)

4, 3, 2, 1, 0

d)

4, 3, 2, 1, 0, -1

89.

Trong 2 đoạn chương trình sau, đoạn nào cho kết quả i = 12? (A) int i=6; do i++; while (i<12); (B) int i=6; while (i<12) i++;

a)

B

b)

A

c)

Cả A và B

d)

Không có đoạn nào

90.

Trong ngôn ngữ lập trình C, cho biết kết quả hiển thị trên màn hình sau khi đoạn chương trình sau được thực hiện? int i = 0; while (i < 10) { printf("%d ",i); i = i+2; }

a)

%d %d %d %d %d

b)

i i i i i

c)

0 2 4 6 8

d)

0 2 4 6 8 10

91.

Trong ngôn ngữ lập trình C, cho biết kết quả hiển thị trên màn hình sau khi đoạn chương trình sau được thực hiện? int i = 0; while (i < 10) { i += 2; printf("%d ", i); }

a)

2 4 6 8

b)

0 2 4 6 8

c)

2 4 6 8 10

d)

0 2 4 6 8 10

92.

Hãy cho biết sau đoạn chương trình sau kết quả in ra màn hình như thế nào? void main(){ int a = 1, n = 0; while (n < 10) { a++; } printf("a = %d", a); }

a)

a = 1

b)

Chương trình lặp vô hạn và không dừng

c)

a = 10

d)

a = a

93.

Trong C, đoạn mã sau hiển thị gì trên màn hình? int i = 0; while (++i + 1 <= 5) printf("%d", i);

a)

12345

b)

01234

c)

123456

d)

1234

94.

Trong ngôn ngữ lập trình C, khi đoạn chương trình sau được thực hiện, kết quả hiển thị trên màn hình là gì? int i = 0; while (++i <= 5) printf("%d, ", i);

a)

0, 1, 2, 3, 4, 5,

b)

1, 2, 3, 4, 5,

c)

1, 2, 3, 4, 5

d)

1, 2, 3, 4, 5, 6

95.

Cho biết kết quả thực hiện đoạn chương trình sau: int S = 0, d = 0; while (d < 10){ S += d; d += 2; } printf("%d", S);

a)

0

b)

10

c)

20

d)

45

96.

Viết chương trình yêu cầu người dùng nhập vào một số n ( 0n1000 \le n \le 100 ). Nếu người dùng nhập sai thì đưa ra thông báo và yêu cầu nhập lại cho đến khi nào đúng. int n; printf("Nhap gia tri n thoa man 0<=n<=100:"); scanf("%d", &n); ................. printf("Gia tri ban nhap khong dung, yeu cau nhap lai"); scanf("%d", &n); Cần điền gì vào vị trí dấu chấm (.................) để chương trình thực hiện đúng yêu cầu?

a)

if ((n > 0) && (n < 100))

b)

while ((n < 0) && (n > 100))

c)

while (n < 0 || n > 100)

d)

if (n < 0 || n > 100)

97.

Viết chương trình yêu cầu người dùng nhập vào một số n ( 0n1000 \le n \le 100 ). Nếu người dùng nhập sai thì đưa ra thông báo và yêu cầu nhập lại cho đến khi nào đúng. int n; do{ printf("Nhap gia tri n thoa man 0<=n<=100: "); scanf("%d", &n); } while (........); Chọn điều kiện cần điền vào while (........) để yêu cầu được thực hiện đúng.

a)

n >= 0 && n <= 100

b)

n < 0 && n > 100

c)

n < 0 || n > 100

d)

!(n < 0 || n > 100)

98.

Cần điền đáp án nào vào dấu … để chương trình thực hiện như yêu cầu?

a)

while (n>=0 || n<=100);

b)

while (n>=0 || n<=100)

c)

while (n<0 || n>100)

d)

while (n<0 || n>100);

99.

Cho đoạn chương trình nhập vào từ bàn phím một số nguyên lớn hơn hoặc bằng 0, nếu nhập sai yêu cầu nhập lại. Chọn câu trả lời đúng cho biểu thức A và B: int n; do { scanf("%d", &n); if (A) printf("Nhap sai, nhap lai\n"); } while (B);

a)

A: n<0; B: n<0

b)

A: n>=0; B: n>=0

c)

A: n<0; B: n>=0

d)

A: n>=0; B: n<0

100.

Trong ngôn ngữ lập trình C, khi đoạn chương trình sau được thực hiện, biến A có giá trị bao nhiêu? int i, A = 0; for (i=0; i<1000; i+=13) { continue; A = A + 1; }

a)

A = 0

b)

A = 76

c)

A = 77

d)

A = 1000

101.

Trong ngôn ngữ lập trình C, khi đoạn chương trình sau được thực hiện, biến A mang giá trị bao nhiêu? int i, A = 0; for (i=0; i<100; i+=13) { A = A + 100; break; }

a)

0

b)

100

c)

760

d)

10000

102.

Trong ngôn ngữ lập trình C, cho biết kết quả hiển thị trên màn hình sau khi đoạn chương trình sau được thực hiện: int i = 0; while (i < 10) { i = i + 2; continue; printf("%d", i); }

a)

%d %d %d %d %d

b)

i i i i i

c)

0 2 4 6 8

d)

Không có kết quả nào được đưa ra màn hình

103.

Cho biết kết quả hiển thị trên màn hình của đoạn chương trình C sau: int i = 1; while (1) { printf("%d", i); i++; if (i % 3 == 0) continue; printf("/"); if (i % 5 == 0) break; }

a)

1/23/4/

b)

1/23/4

c)

1/2/3/4

d)

Chương trình có lỗi

104.

Cho biết kết quả hiển thị trên màn hình của đoạn chương trình sau? int a, b = 0; for(a = 1; a < 10; a++){ if(a%2 == 0) continue; b = b + a; printf("%5d", b); }

a)

1 4 9 16 25

b)

2 6 10 16 24

c)

1 4 10 16 24

d)

1 6 10 16 25

105.

Chỉ ra kết quả trên màn hình? int a, b = 1; for(a=1; a<10; a++){ if(a%2==0) continue; b+=a; printf("%d ", b); }

a)

1 4 9 16 25

b)

2 5 10 17 26

c)

2 4 10 16 24

d)

2 6 10 16 25

106.

Trong ngôn ngữ lập trình C, cho biết kết quả hiển thị trên màn hình khi đoạn chương trình sau được thực hiện? int i = 0; while (i<10) { i++; if (i%2 == 0) break; printf("%d ", i); }

a)

0 2 4 6 8

b)

1

c)

1 3 5 7 9

d)

0 1 2 3 4 5 6 7 8 9

107.

Cho biết kết quả hiển thị ra màn hình của đoạn mã dưới đây? int n = 10; while (1){ n--; if (n%3 != 0) continue; printf("%d ", n*n); if (n<3) break; }

a)

81 36 9

b)

100 64 49 25 16 4

c)

100 64 49 25 16 4 1

d)

81 36 9 0

108.

Trong ngôn ngữ lập trình C, cho biết kết quả hiển thị trên màn hình sau khi đoạn chương trình sau được thực hiện? int i = 0; while (i<10) { i++; if (i%2 == 0) continue; printf("%d ", i); }

a)

%d %d %d %d %d

b)

0 1 2 3 4 5 6 7 8 9

c)

0 2 4 6 8

d)

1 3 5 7 9

109.

Trong ngôn ngữ lập trình C, cho biết kết quả hiển thị trên màn hình sau khi đoạn chương trình sau được thực hiện? int i = 0; while (i<10){ if (i%2 == 0) continue; printf("%d ", i); i++; }

a)

Không có kết quả hiển thị

b)

1 3 5 7 9

c)

0 2 4 6 8

d)

0 1 2 3 4 5 6 7 8 9

110.

Trong ngôn ngữ lập trình C, cho biết kết quả hiển thị trên màn hình sau khi đoạn chương trình sau được thực hiện? int i = 0; while (i<10){ i++; if (i%2 == 0) break; printf("%d", i); }

a)

0 1 2 3 4 5 6 7 8 9

b)

0 2 4 6 8

c)

1 3 5 7 9

d)

1

111.

Khi thực hiện đoạn chương trình int i; for (i=10; i > 1; --i){ if (i%2) continue; printf ("%3d", i); if (i == 0) break; } Kết quả nhận được trên màn hình là:

a)

10 8 6 4 25

b)

2 6 10 16 24

c)

10 8 6 4 2

d)

16 6 8 10 25

112.

Xem đoạn chương trình: printf("Ma ASCII cua ky tu %c la %d\n", x, x); x++; Phát biểu nào sau đây là đúng về đoạn chương trình trên?

a)

Đoạn chương trình trên lặp vô tận

b)

Đoạn chương trình trên in ra các ký tự và mã ASCII của chúng

c)

Đoạn chương trình trên có lỗi cú pháp không khai báo x

d)

Đoạn chương trình trên có lỗi cú pháp sử dụng cấu trúc while

113.

Trong C, nếu một mảng có 25 phần tử, miền của chỉ số sẽ là gì?

a)

Từ 1 đến 25

b)

Từ -12 đến +12

c)

Từ 0 đến 24

d)

Từ 0 đến 25

114.

Cho khai báo: int M1[100]; float M2[100]; Phần khai báo biến trên trong C chiếm bao nhiêu byte trong bộ nhớ (giả sử int 2 byte, float 4 byte)?

a)

600

b)

300

c)

200

d)

400

115.

Trong ngôn ngữ lập trình C, câu lệnh nào dưới đây khai báo đúng một mảng số nguyên?

a)

#define Arr[5] {1, 2, 3, 4, 5}

b)

#define Arr {1, 2, 3, 4, 5}

c)

const int Arr[5] {1, 2, 3, 4, 5};

d)

const int Arr[5] = {1, 2, 3};

116.

Trong ngôn ngữ lập trình C, câu lệnh khai báo mảng nào sau đây là đúng cú pháp?

a)

int A[10] := [0, 1, 2, 3, 4, 5, 6, 7, 8, 9];

b)

int A[10] ~= [0, 1, 2, 3, 4, 5, 6, 7, 8, 9];

c)

int A[10] [0, 1, 2, 3, 4, 5, 6, 7, 8, 9];

d)

int A[10] = {0, 1, 2, 3, 4, 5, 6, 7, 8, 9};

117.

Cho khai báo: int B[4] = {1, 2, 3, 4}. Giá trị của B[4] là gì?

a)

2

b)

4

c)

3

d)

Không xác định

118.

Cho biết kết quả hiển thị ra màn hình sau khi thực hiện chương trình sau? int i, k=5, a[10]={2, 4, 5, 4, 5, 6, 3, 5, 10, 5}; for(i=0;i<10;i++){ if(a[i]==k) continue; printf("%2d",i); }

a)

2 4 4 6 3 10

b)

0 1 3 5 6 8

c)

2 4 7 10

d)

2 4 5 4 5 6 3 5 10

119.

Cho biết kết quả hiển thị ra màn hình sau khi thực hiện chương trình sau? int k=5, a[10]={2, 4, 5, 4, 5, 6, 3, 5, 10, 5}; for(int i=0;i<10;i++){ if(a[i]==k) continue; printf("%2d",a[i]); }

a)

2 4 4 6 3 10

b)

0 1 3 5 6 8

c)

2 4 7 10

d)

2 4 5 4 5 6 3 5 10

120.

Cho biết kết quả hiển thị ra màn hình? int i,k=3, a[]={2, 4, 5, 4, 5, 6, 3, 5, 9, 5}; for(i=0;i<10;i++){ if(a[i]%k==0) continue; printf("%2d",i); }

a)

2 4 5 4 5

b)

0 1 2 3 4 7 9

c)

2 4 5 4 5 5 5 5 5

d)

6 3 9

121.

Cho biết kết quả hiển thị ra màn hình? int i,k=3, a[]={2, 4, 5, 4, 5, 6, 3, 5, 9, 5}; for(i=0;i<10;i++){ if(a[i]%k==0) continue; printf("%2d",a[i]); }

a)

2 4 5 4 5 5 5

b)

0 1 2 3 4 7 9

c)

2 4 5 4 5 6 3 5 9 5

d)

6 3 9

122.

Cần nhập vào từ bàn phím n số nguyên với n cũng được nhập từ bàn phím (n là số dương nhỏ hơn hoặc bằng 100). Khai báo nào đúng nhất cho mảng A để lưu trữ n số nguyên này?

a)

int A[int n];

b)

int A[n];

c)

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

d)

int A[100];

123.

Giả sử a, b là hai biến mảng kiểu int có cùng số lượng phần tử. Để gán các giá trị của mảng b vào mảng a, cách nào sau đây là đúng?

a)

Dùng lệnh gán a = b;

b)

Dùng cấu trúc lặp để gán từng phần tử của b cho a;

c)

Cả hai đáp án a, b đều sai;

d)

Cả hai đáp án a, b đều đúng

124.

Cho biết giá trị của biến a sau khi thực hiện đoạn mã C dưới đây: int a; int x[5]={1, 9, 6, 3, 4}; a = x[2]/x[4];

a)

1.5

b)

3

c)

1

d)

0

125.

Trong ngôn ngữ lập trình C, cho biết sau khi đoạn chương trình sau được thực hiện thì phần tử A[0] của mảng mang giá trị bao nhiêu? int A[10] = {-1, 5, -2, 7, 3, -10, 9, 0, -1, 7}; int i, j, k; for (i=1; i<10; i++) for (j=9; j>=i; j--) if (A[j] < A[j-1]) {

a)

-10

b)

-2

c)

-1

d)

0

126.

Trong ngôn ngữ lập trình C, cho biết sau khi đoạn chương trình sau được thực hiện thì phần tử A[9] của mảng mang giá trị bao nhiêu? int A[10] = {-1, 5, -2, 7, 3, -10, 9, 0, -1, 7}; int i, j, k; for(i=1; i<10; i++) for(j=9; j>=i; j--) if (A[j] < A[j-1]) { k = A[j]; A[j-1] = A[j]; A[j] = k; }

a)

7

b)

-1

c)

-10

d)

9

127.

Giá trị của biến m sau khi thực hiện đoạn chương trình sau là? float A[4] = {1.1, 1.2, 1.3, 1.4}; int i; float m = 0; for(i=0; i<=3; i++) if(m < A[i]) m = A[i];

a)

0

b)

1.1

c)

1.4

d)

1.3

128.

Trong ngôn ngữ lập trình C, cho biết sau khi đoạn chương trình sau được thực hiện thì phần tử A[0] của mảng mang giá trị bao nhiêu? int A[10] = {0, 1, 2, 3, 4, 5, 6, 7, 8, 9}; int i, k; for (i = 0; i < 5; i++) { k = A[i]; A[i] = A[9 - i]; A[9 - i] = k; } Chọn đáp án đúng.

a)

0

b)

9

c)

4

d)

5

129.

Trong các câu lệnh khai báo sau, câu lệnh nào là sai cú pháp? a. int A[2][3]; b. int A[2][3] = (1, 2, 3, 4, 5, 6); c. int A[2][3] = {1, 2, 3, 4, 5, 6}; d. int A[2][3] = {1, 2, 3}; Chọn đáp án đúng.

a)

int A[2][3];

b)

int A[2][3] = (1, 2, 3, 4, 5, 6);

c)

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

d)

int A[2][3] = {1, 2, 3}

130.

Giá trị của M[1][2] là? int M[4][5] = { 10, 2, -3, 17, 82, 9, 0, 5, 8, -7, 32, 20, 1, 0, 14, 0, 0, 8, 7, 6 }; Chọn đáp án đúng.

a)

0

b)

5

c)

8

d)

2

131.

Với khai báo sau, giá trị M[2][1] là? int M[4][5] = { 10, 2, -3, 17, 82, 9, 0, 5, 8, -7, 32, 20, 1, 0, 14, 0, 0, 8, 7, 6 }; Chọn đáp án đúng.

a)

-7

b)

20

c)

8

d)

32

132.

Cho biết kết quả thực hiện đoạn chương trình: int A[3][4] = {{1}, {4,5}}; printf("%d", A[1][1] + A[2][2]); Chọn đáp án đúng.

a)

0

b)

1

c)

5

d)

Không xác định

133.

Cho biết kết quả thực hiện đoạn chương trình sau: int a = 3, *p = &a; printf("%d\n", a * *p * a + *p);

a)

18

b)

27

c)

30

d)

36

134.

Mảng a có kiểu int. Phát biểu nào sau đây đúng nhất?

a)

a tương đương với &a[0]

b)

a + i tương đương với &a[i]

c)

*(a + i) tương đương với a[i]

d)

Cả a, b, c đều đúng

135.

Cho: int a, *p; p = &a; Chỉ ra biểu thức không hợp lệ:

a)

*p = a

b)

*p == a

c)

*p + 1 = a

d)

*p + 1 == a

136.

px là con trỏ tới x, py là con trỏ tới y. Câu lệnh nào trong các câu lệnh sau tương ứng với y = 3*x + z;

a)

*py = 3* *px + z;

b)

*py = 3*(*px) + z;

c)

py = 3*x + z;

d)

Cả đáp án a và b

137.

Cho hai khai báo sau: 1: float (*p)[30]; 2: float *p[30]; Phát biểu nào sau đây đúng?

a)

1 khai báo con trỏ kiểu float[30] và 2 khai báo mảng 30 con trỏ kiểu float

b)

1 khai báo mảng 30 con trỏ kiểu float và 2 khai báo con trỏ kiểu float[30]

c)

Cả hai đều khai báo con trỏ kiểu float[30]

d)

Cả hai đều khai báo mảng 30 con trỏ kiểu float