wayground logo

Free Printable Worksheets

NEW

Font size

S
M
L
XL
Worksheets

Tin

Total questions: 59

Worksheet time: 30mins

Name
Class
Date
1.

Kiểu dữ liệu nào cho phép lưu trữ trên bộ nhớ ngoài của mt?

a)

String

b)

Array

c)

Number

d)

File

2.

Phương án nào không phải là đặc điểm của kiểu tệp?

a)

được lưu ở RAM

b)

không bị mất khi tắt nguồn

c)

không cần nhập

d)

phụ thuộc vào thiết bị

3.

Phát biểu nào chỉ đúng khi dùng cho tệp lưu dữ liệu đầu vào của chương trình?

a)

Không cần thiết phải tạo tệp trước khi chạy chương trình.

b)

Cần phải tạo tệp và nhập dữ liệu trước khi chạy chương trình .

c)

Chỉ cần phải tạo tệp chứ không nhất thiết phải nhập dữ liệu.

d)

Khi chạy chương trình sẽ được tự động tạo và lưu dữ liệu.

4.

Để đảm bảo chương trình luôn truy xuất đúng đến tệp chỉ định, vị trí của tên nên được lưu ở đâu?

a)

Bộ nhớ ngoài

b)

Ổ đĩa C

c)

Cùng vị trí với tập tin lập trình

d)

Ở đâu cũng được

5.

Ý nghĩa của lệnh freopen là gì?

a)

cho phép đọc dữ liệu từ tệp bằng lệnh cin

b)

cho phép xuất dữ liệu ra tệp bằng lệnh cout

c)

cho phép đọc/ghi dữ liệu từ/ra tệp bằng lệnh cin/cout.

d)

cho phép đọc/ghi dữ liệu ra/vào tệp bằng lệnh cout/cin.

6.

Câu lệnh nào sau đây mở file VB.OUT để ghi dữ liệu?

a)

freopen(VB.OUT ,r,"stdout");

b)

freopen("VB.OUT","w","stdin");

c)

freopen("VB.OUT ","W",stdout);

d)

freopen("VB.OUT ","w",stdout);

7.

Đặc điểm của tệp truy cập tuần tự là gì?

a)

truy cập dữ liệu bắt đầu từ đầu tệp

b)

truy cập dữ liệu bắt đầu từ giữa tệp

c)

truy cập dữ liệu bắt đầu từ cuối tệp

d)

truy cập dữ liệu bắt đầu từ vị trí chỉ định trong tệp

8.

Các thao tác chính mà NNLT cung cấp khi làm việc với tệp là gì?

a)

Khai báo - Mở - Xem - Lưu

b)

Khai báo - Mở - Đọc – Xóa

c)

Tạo - Mở - Chỉnh sửa - Xóa

d)

Khai báo - Mở - Truy xuất - Đóng

9.

Tệp văn bản có kiểu là gì?

a)

TXT

b)

IN

c)

OUT

d)

kiểu nào cũng được

10.

Đoạn code sau int s[3]={'1','2','3'}; cout<<s[0]; khi run sẽ in ra gì?

a)

số 1

b)

ký tự 1

c)

số 49

d)

báo lỗi

11.

Với đoạn code char s[10]; s[1]='a'; s[2]=65; cout<<s[1]<<" "<<s[2]; sẽ in ra gì?

a)

97 65

b)

aA

c)

a 65

d)

a A

12.

Với đoạn code int s[10]; s[1]='7'; s[2]=55; cout<<s[1]<<" "<<s[2]; sẽ in ra gì?

a)

7 55

b)

55 55

c)

755

d)

55 7

13.

Với đoạn code int s[10]; s[1]='7'; s[2]=55; cout<<(s[1]>s[2]); sẽ in ra gì?

a)

0

b)

1

c)

-1

d)

một giá trị khác

14.

Với đoạn code int s1[5]; s1[1]=8; s1[2]=8.5; cout<<(s1[1]!=s1[2]); sẽ in ra gì?

a)

1

b)

0

c)

-1

d)

báo lỗi

15.

Với đoạn code a[1]=9; a[2]=9.3; cout<<(a[1]!=a[2]); nếu muốn in ra giá trị 1

(đúng/true) thì cần khai báo biến 1 như thế nào?

a)

int a[10];

b)

char a[10];

c)

float a[10];

d)

bool a[10];

16.

Lệnh k[12]=-3.5; sẽ báo lỗi khi khai báo biến k như thế nào?

a)

int k[50];

b)

bool k[50];

c)

char k[50];

d)

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

17.

Với khai báo bool T[5]; và gán T[5]=6.5; thì lệnh gán bị lỗi gì?

a)

sai giá trị

b)

sai kiểu dữ liệu

c)

tràn

d)

sai cú pháp

18.

Cặp dấu đóng mở ngoặc vuông ([]) KHÔNG dùng làm gì?

a)

bao chỉ số (index) của một phần tử mảng

b)

bao chỉ số (index) của một ký tự chuỗi

c)

bao hàng của một chữ số trong một số

d)

bao chỉ số (index) của phần tử dãy bất kỳ

19.

Phần tử liền sau phần tử thứ i trong mảng một chiều A được viết như thế nào?

a)

A[i+1]

b)

A[i]+[1]

c)

A[i] +1

d)

A[1]+i

20.

Với khai báo char c[256]; và lệnh cin>>c; thì c sẽ nhận giá trị nào khi user nhập chuỗi "Hom nay thi." từ bàn phím?

a)

hom

b)

Hom

c)

Hom nay thi

d)

hom nay thi

21.

Khai báo biến nào sẽ lưu được chuỗi ký tự?

a)

char s[10];

b)

int s[50];

c)

char s1;

d)

float ch;

22.

Với lệnh cout<<("Kiem tra"<"Thi"); sẽ in ra gì?

a)

0

b)

1

c)

-1

d)

một giá trị khác

23.

Cặp dấu nháy đôi ("") dùng làm gì?

a)

bao một ký tự

b)

bao một số

c)

bao một chuỗi

d)

bao một lệnh

24.

Với khai báo char K[] = {'H','e','l','l','o',' ','W','o','r','l','d'}; thì mảng K có bao nhiêu ký

tự?

a)

10

b)

11

c)

9

d)

không xác định

25.

Với khai báo char S[20] = {'H','e','l','l','o'}; thì mảng S có bao nhiêu phần tử?

a)

5

b)

10

c)

15

d)

20

26.

Đoạn code char c[] = "2022"; cout<<endl<<c[0]+c[1]; khi run sẽ in ra gì?

a)

20

b)

50

c)

98

d)

48

27.

Lệnh nào sau đây SAI?

a)

char TUOI[2] = "22";

b)

char TUOI[3] = {'2','2'};

c)

char TUOI[] = {"22"};

d)

char TUOI[1] = "22";

28.

Với khai báo char Ten[10]; thì lệnh gán nào SAI?

a)

Ten = "Viet"

b)

cin >> Ten;

c)

cout << Ten;

d)

cout<<Ten[10];

29.

Nhận định nào sau đây SAI về mảng ký tự?

a)

Khai báo theo cú pháp khai báo mảng

b)

Bắt buộc phải nhập từng ký tự cho từng phần tử mảng

c)

Được nhập ký tự khoảng trắng

d)

Xuất các phần tử của mảng theo thứ tự chỉ cần dùng tên biến mảng

30.

Cấu trúc dữ liệu mảng có ưu điểm gì?

a)

Có thể khai báo ngay khi cần sử dụng

b)

Có thể khai báo nhiều biến

c)

Có thể lưu trữ nhiều giá trị cùng lúc

d)

Có thể lưu trữ nhiều giá trị cùng kiểu

31.

Với mảng A có 11 phần tử sau: 11, 16, 12, 75, 51, 54, 5, 73, 36, 52, 98. Để sắp xếp

mảng A thành mảng không tăng cần thực hiện bao nhiêu vòng lặp theo thuật toán sắp xếp nổi bọt hay còn gọi là thuật toán sắp xếp tráo đổi (mỗi lần lặp sẽ đưa phần tử …)

a)

10

b)

9

c)

8

d)

7

32.

Đoạn code sau thực hiện thuật toán gì?

a)

Tìm kiếm nhị phân giá trị k trong mảng A có N phần tử.

b)

Sắp xếp tăng dần mảng A có N phần tử.

c)

Tìm kiếm tuần tự từ đầu mảng giá trị k trong mảng A có N phần tử.

d)

Tìm kiếm tuần tự từ cuối mảng giá trị k trong mảng A có N phần tử.

33.

Đoạn code thực hiện yêu cầu tìm giá trị nhỏ nhất sau sai ở dòng nào theo hình?

a)

Dòng 15

b)

Dòng 16

c)

Dòng 17

d)

Dòng 18

34.

Với mảng A có N giá trị, đoạn code sau sẽ cho kết quả là max là bao nhiêu với N là 6 và các phần tử của mảng A lần lượt là 60, 2, 25, 15, 16, 45.

a)

60

b)

2

c)

45

d)

15

35.

Với mảng A có N phần tử, đoạn code thực hiện yêu cầu gì?

a)

Nhập N giá trị cho mảng A.

b)

In N giá trị của mảng A ra màn hình.

c)

In N giá trị của mảng A từ phần tử cuối trở về đầu.

d)

In các giá trị của mảng A cách nhau khoảng trắng.

36.

Với khai báo int a[50]; nhận xét nào sau đây đúng:

a)

Mảng a lưu được tối đa 50 giá trị.

b)

Biến a chứa được nhiều nhất 50 số nguyên.

c)

Mảng a chứa được nhiều nhất 50 số.

d)

Biến mảng số nguyên a lưu được ít hơn 50 số.

37.

Khai báo nào sau đây là khai báo mảng một chiều?

a)

int A;

b)

char B;

c)

float C;

d)

bool D[10];

38.

Khi muốn khai báo một mảng có thể lưu được 100 số bất kỳ nên chọn phương án nào sau đây?

a)

int mang[99];

b)

float mang[99];

c)

float day[100];

d)

char so[100];

39.

Phương án nào dưới đây KHÔNG thể là khai báo mảng một chiều?

a)

int a[-5];

b)

int a[0];

c)

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

d)

Không có phương án đúng.

40.

Đoạn code int c=0; cout<<c+1<<c; sẽ in ra màn hình giá trị như thế nào?

a)

00

b)

01

c)

10

d)

11

41.

Biểu thức trong vòng lặp for(x = 0; x = 3; x = x+1) được thực hiện bao nhiêu lần?

a)

0

b)

1

c)

3

d)

Vô tận

42.

Đoạn code int x=0, m[1]; x = 5 + m; cout<<x; khi chạy sẽ như thế nào?

a)

In ra mh giá trị 6.

b)

Không làm gì cả.

c)

Báo lỗi.

d)

In ra mh giá trị 5.

43.

Đoạn code char s[10]="12345"; cout<<s[5]; sẽ in ra màn hình giá trị như thế nào?

a)

Không in gì cả.

b)

0

c)

1

d)

5

44.

Lệnh cout<<1/9*9; sẽ in ra màn hình giá trị nào?

a)

0.0862

b)

0

c)

1

d)

1.0000

45.

Với khai báo char a[] = “1234567890”; mảng a có bao nhiêu phần tử?

a)

0

b)

9

c)

10

d)

Không xác định.

46.

Kiểu dữ liệu nào sau đây KHÔNG phải là kiểu dữ liệu có cấu trúc:

a)

Xâu

b)

Mảng một chiều

c)

Ký tự

d)

Mảng hai chiều

47.

Với khai báo biến int a[10]; câu lệnh nào sau đây SAI:

a)

cin>>a;

b)

a[1] := 100;

c)

a[0] = -6.75;

d)

cout<<(a[5]>a[3]);

48.

Với khai báo và gán int a[5]; a[5] = -7.5; a[3] = -6.75; lệnh nào sau đây cho kết quả

là 0 (FALSE)?

a)

cout<<(a[5] < a[3]);

b)

cout<<(a[5] > a[3]);

c)

cout<<(a[5] <= a[3]);

d)

cout<<(a[5] != a[3]);

49.

Đoạn code char k[] = "02468"; int i; for(i=4; i>=0; i=i-1) cout<<k[i]; sẽ in ra kết

quả gì?

a)

Báo lỗi

b)

02468

c)

12345

d)

86420

50.

Đoạn code int a[5], j; for(j=0; j<5; j=j+1) if (a[j] % 2 != -1) cout<<a[j]<<' '; thực

hiện công việc gì?

a)

In các giá trị âm lẻ của mảng.

b)

In các giá trị âm chẵn của mảng.

c)

In các số không phải âm lẻ của mảng.

d)

In các số không phải âm chẵn của mảng.

51.

Với các biến được khai báo int a[50], n, k, d, i ; Đoạn code for(i=0; i<n; i=i+1) if (a[i] == k) d = d+1; cout<<n-d; in kết quả gì?

a)

Số giá trị bằng k có trong mảng

b)

Số giá trị lớn hơn k trong mảng

c)

Số giá trị nhỏ hơn k trong mảng

d)

Số giá trị khác k có trong mảng

52.

Nếu muốn lệnh cin>>x; thực hiện được thì biến x KHÔNG THỂ khai báo như thế

nào?

a)

int x;

b)

char x;

c)

int x[10]

d)

string x;

53.

Chuỗi Hello VietNam! có độ dài bao nhiêu.

a)

13

b)

14

c)

15

d)

16

54.

Quan hệ giữa hai chuỗi hom qua và hom nay là gì?

a)

hom qua bằng hom nay

b)

hom qua lớn hơn hom nay

c)

hom qua nhỏ hơn hom nay

d)

không rõ

55.

Khai báo nào sau đây ĐÚNG

a)

int a, b[10], i;

b)

int a; b[10]; i;

c)

int: a, b[10], i;

d)

a, b[10], i: int;

56.

Với khai báo int m[5] = {4, 0, -1, 3, 9}. Biểu thức quan hệ nào sau đây cho kết quả

ĐÚNG?

a)

m[1] == 4

b)

m[5] == 9

c)

m[3] == 3

d)

m[2] == 0

57.

Câu 32. Với khai báo char x[] = "TRUONG"; lệnh cout<<x[3] cho kết quả là gì?

a)

Báo lỗi

b)

R

c)

U

d)

O

58.

Đoạn code int a[50]; for(int i=0; i<50; i=i+1) if (i%2!=0) cout<<a[i]; có công dụng?

a)

in các phần tử lẻ trong dãy

b)

in các phần tử chẵn trong dãy

c)

in các phần tử ở vị trí lẻ trong dãy

d)

in các phần tử ở vị trí chẵn trong dãy

59.

Đoạn code int b[50]; for(int i=0; i<50; i=i+1) if ((i%2==0)&&(a[i]%2!=0))

cout<<a[i]; có công dụng?

a)

in các phần tử lẻ ở vị trí chẵn trong dãy

b)

in các phần tử chẵn ở vị trí lẻ trong dãy

c)

in các phần tử lẻ ở vị trí lẻ trong dãy

d)

in các phần tử chẵn ở vị trí chẵn trong dãy