wayground logo

Free Printable Worksheets

NEW

Font size

S
M
L
XL
Worksheets

TIN HỌC :D

Total questions: 62

Worksheet time: 31mins

Name
Class
Date
1.

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

#include <stdio.h>

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)

2

2.

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

#include <stdio.h>

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)

8

d)

4

3.

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

}

a)

vòng lặp vô hạn

b)

2

c)

1 2

d)

2 1

4.

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)

0

b)

5

c)

1

d)

vòng lặp vô hạn

5.

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

6.

Khi chạy đọan chuơng trình sau:

#include <stdio.h>

int main()

{

int i;

int sum = 0;

for(i = 1; i <=9; i++)

{

sum = sum + i;

}

printf("sum = %d\n", sum);

return 0;

}

Chuơng trình sẽ in kết quả là:

a)

10

b)

45

c)

1

d)

chương trình báo lỗi

7.

Khi chạy đọan chuơng trình sau:

#include <stdio.h>

int main()

{

int i;

int sum = 0;

for(i = 3; i <=10; i++)

{

sum = sum + i;

}

printf("sum = %d\n", sum);

return 0;

}

Kết quả của S là :

a)

52

b)

53

c)

54

d)

55

8.

Cho đọan chuơng trình sau:

int i = 1;

while ( i <= 9 )

{

printf ( “ %d “ , i );

i ++;

}

Kết quả của đoạn chương trình trên là:

a)

Hiển thị dãy số giảm dần từ 9 đến 1

b)

Hiển thị dãy số tăng dần từ 1 đến 9

c)

Hiển thị dãy số giảm dần từ 9 đến 0

d)

Hiển thị dãy số tăng dần từ 0 đến 9

9.

Cho đọan chuơng trình sau:

int i;

do

{

i = 1;

printf ( “ %d” , i );

i = i + 1;

}

while ( i <= 9 );

Kết quả của đoạn chương trình trên là:

a)

Hiển thị dãy số giảm dần từ 9 đến 1

b)

Hiển thị dãy số tăng dần từ 1 đến 9

c)

Hiển thị dãy số giảm dần từ 9 đến 0

d)

Hiển thị dãy số tăng dần từ 0 đến 9

10.

Cho đọan chuơng trình sau:

int i;

for ( i = 0 ; i <= 9 ; i ++)

{

printf(“\n Cac so tu 0 den 9 %d ”, i);

}

Kết quả của đoạn chương trình trên là:

a)

Hiển thị dãy số giảm dần từ 9 đến 1

b)

Hiển thị dãy số tăng dần từ 1 đến 9

c)

Hiển thị dãy số giảm dần từ 9 đến 0

d)

Hiển thị dãy số tăng dần từ 0 đến 9

11.

Cho đoạn chuơng trình sau:

for ( int i = 9 ;i >= 1 ; i - - )

{

printf (“ %d ” , i );

}

Kết quả của đoạn chương trình trên là:

a)

Hiển thị dãy số giảm dần từ 9 đến 1

b)

Hiển thị dãy số tăng dần từ 1 đến 9

c)

Hiển thị dãy số giảm dần từ 9 đến 0

d)

Hiển thị dãy số tăng dần từ 0 đến 9

12.

Cú pháp của vòng lặp for trong ngôn ngữ lập trình C là:

a)

for (<biểu thức khởi tạo>; <biểu thức giới hạn>; <biểu thức tăng giảm>)

{

<dãy câu lệnh>;

}

b)

for (<biểu thức khởi tạo>, <biểu thức giới hạn>, <biểu thức tăng giảm>)

{

<dãy câu lệnh>;

}

c)

for (<biểu thức khởi tạo>; <biểu thức giới hạn>; <biểu thức tăng giảm>);

{

<dãy câu lệnh>;

}

d)

for (<biểu thức khởi tạo>: <biểu thức giới hạn>: <biểu thức tăng giảm>)

{

<dãy câu lệnh>;

}

13.

Cho đọan chuơng trình sau:

#include <stdio.h>

int main()

{

int tong, i;

int N = 6;

int M = 2;

tong= 0;

for (i= M;i<=N;i++ )

if(i%3==0||i%5==0)

tong= tong +i;

printf("%d",tong);

}

Kết quả của đoạn chương trình trên là:

a)

12

b)

13

c)

14

d)

15

14.

Cho đọan chuơng trình sau:

#include <stdio.h>

int main

{

int tong, i;

int N = 10; int M = 2;

tong= 0;

for (i= M;i<=N;i++ )

if(i%2==0 && i%5==0)

tong= tong +i;

printf("%d",tong);

}

Kết quả của đoạn chương trình trên là:

a)

10

b)

11

c)

12

d)

13

15.

Cho đọan chuơng trình sau:

#include <stdio.h>

int main()

{

int tong, i;

int N =5;

tong= 0;

for (i= 0;i<=N;i++ )

if(i%3 != 0) tong= tong +i;

printf("%d",tong);

}

Kết quả của đoạn chương trình trên là:

a)

10

b)

11

c)

12

d)

13

16.

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.

17.

Phát biểu nào dưới đây về kiểu mảng một chiều là phù hợp?

a)

Là một tập hợp các số nguyên

b)

Độ dài tối đa của mảng là 100

c)

Là một dãy hữu hạn các phần tử cùng kiểu

d)

Mảng không thể chứa kí tự

18.

Kích thước của mảng là:

a)

Số lượng phần tử tối đa của mảng.

b)

Là đại lượng chỉ vị trí tương đối của phần tử

c)

Là kiểu dữ liệu của các phần tử trong mảng.

d)

Là số lượng phần tử của mảng.

19.

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.

20.

Khi khai báo mảng, ta khởi tạo 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.

21.

Để khai báo số phần tử của mảng trong C, người lập trình cần:

a)

Khai báo một hằng số nguyên

b)

Khai báo chỉ số bắt đầu và kết thúc của mảng

c)

Khai báo chỉ số kết thúc của mảng

d)

Không cần khai báo gì, hệ thống sẽ tự xác định

22.

Cú pháp sau có ý nghĩa gì?

for ( int i = 0 ; i < 10 ; i + + )

{

printf (“ %d” , a[i] );

}

a)

Nhập mảng

b)

In chỉ số

c)

In mảng

d)

Nhập chỉ số

23.

Phát biểu nào dưới đây về chỉ số của mảng là phù hợp nhất?

a)

Dùng để truy cập đến một phần tử bất kì trong mảng

b)

Dùng để quản lí kích thước của mảng

c)

Dùng trong vòng lặp với mảng

d)

Dùng trong vòng lặp với mảng để quản lí kích thước của mảng

24.

Mảng là kiểu dữ liệu biểu diễn một dãy các phần tử thuận tiện cho:

a)

Chèn thêm phần tử

b)

Truy cập đến phần tử bất kì

c)

Xóa một phần tử

d)

Chèn thêm phần tử và xóa phần tử

25.

Chọn đáp án đúng cho cú pháp nhập mảng có 10 phần tử:

a)

for ( int i = 0 ; i < 10 ; i + + )

{

scanf (“ %d” , &a[i] );

}

b)

for ( int i = 0 ; i < 10 ; i + + )

{

scanf (“ %d” , a[i] );

}

c)

for ( int i = 0 ; i < 10 ; i + + )

{

scanf (%d , &a[i] );

}

d)

for ( int i = 0 ; i < 10 ; i )

{

scanf (“ %d” , &a[i] );

}

26.

Đoạn code sau có ý nghĩa gì?

int s = 0;

for ( int i = 0 ; i < 10 ; i + + )

{

s = s + a[i];

}

printf (“ket qua la: %d” , s );

a)

Nhập và xuất mảng

b)

Tính tổng các phần tử trong mảng

c)

Tìm phần tử lớn nhất

d)

Tính trung bình các phần tử trong mảng

27.

Chọn đáp án sai

a)

Mảng một chiều là dãy hữu hạn các phần tử cùng kiểu

b)

Chỉ số là đại lượng chỉ vị trí tương đối của phần tử trong mảng

c)

Kiểu dữ liệu của mảng là kiểu dữ liệu của các phần tử trong mảng

d)

Kích thước của mảng là số lượng phần tử trong mảng

28.

Tham chiếu đến phần tử thứ i của mảng A được xác định bởi:

a)

A[',i',]

b)

A['i']

c)

A[i]

d)

A(i)

29.

phát biểu nào sau đây về mảng là không chính xác?

a)

Chỉ số của mảng không nhất thiết bắt đầu từ 1

b)

Có thể xây dựng mảng nhiều chiều

c)

Xâu kí tự cũng có thể xem như là một loại mảng

d)

Độ dài tối đa của mảng là 255

30.

Trong NNLT C, mảng được khai báo theo cú pháp:

a)

<kiểu dữ liệu> <tên mảng>[<số lượng phần tử>];

b)

<kiểu dữ liệu> <tên mảng>[<số lượng phần tử>]

c)

<kiểu dữ liệu> <tên mảng><số lượng phần tử>

d)

<kiểu dữ liệu> <tên mảng>[<số lượng phần tử>]

31.

Cho xâu S là “Hanoi-Vietnam”. Kết quả của hàm strlen(S) là:

a)

12

b)

13

c)

14

d)

15

32.

Cho khai báo char hoten : St[50] ; Phát biểu nào dưới đây là đúng?

a)

Câu lệnh sai

b)

Xâu có độ dài lớn nhất là 50

c)

Xâu có độ dài lớn nhất là 49

d)

Không cần phải khai báo kích thước của xâu

33.

Hàm strrev(S) thực hiện:

a)

Tính độ dài xâu S

b)

In hoa các kí tự trong xâu S

c)

Đảo ngược trật tự của xâu S

d)

In thường các kí tự trong xâu S

34.

Đoạn chương trình sau in ra kết quả nào?

char st[10];

{

st = “tin hoc”;

printf(“\n%d” , strlen(st));

}

a)

6

b)

7

c)

10

d)

chương trình báo lỗi

35.

Trong ngôn ngữ lập trình C, xâu kí tự không có kí tự nào gọi là?

a)

Xâu không

b)

Xâu rỗng

c)

Xâu trắng

d)

Không phải là xâu kí tự

36.

Trong các khai báo sau, khai báo nào đúng?

a)

char <tên xâu> [số kí tự tối đa + 1];

b)

char <tên xâu> : [số kí tự tối đa + 1];

c)

var <tên xâu> : [số kí tự tối đa + 1];

d)

var <tên xâu> [số kí tự tối đa + 1];

37.

Trên dữ liệu kiểu xâu có các phép toán nào?

a)

Phép cộng, trừ, nhân, chia

b)

Phép cộng và phép trừ

c)

Chỉ có phép cộng

d)

Phép ghép xâu và phép so sánh

38.

Trong các phát biểu sau, phát biểu nào sai?

a)

Xâu A lớn hơn xâu B nếu độ dài xâu A lớn hơn độ dài xâu B

b)

Xâu A lớn hơn xâu B nếu kí tự dầu tiên khác nhau giữa chúng kể tử trái sang trong xâu A có mã ASCII lớn hơn

c)

Nếu A và B là các xâu có độ dài khác nhau và A là đoạn đầu của B thì A nhỏ hơn B

d)

Hai xâu bằng nhau nếu chúng giống nhau hoàn toàn

39.

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

a)

Chuỗi S1 lớn hơn chuỗi S2

b)

Chuỗi S1 nhỏ hơn chuỗi S2

c)

Chuỗi S1 bằng chuỗi S2

d)

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

40.

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 giá trị 2 byte

41.

Hàm int toupper(int ch) trong Thư viện C thực hiện:

a)

Chuyển đổi các kí tự thường thành kí tự hoa.

b)

Đảo ngược trật tự của xâu

c)

Chuyển đổi các kí tự hoa thành kí tự thường

d)

In thường các kí tự trong xâu

42.

Hàm int tolower(int ch) trong Thư viện C thực hiện:

a)

Chuyển đổi các kí tự thường thành kí tự hoa

b)

Đảo ngược trật tự của xâu

c)

Chuyển đổi các kí tự hoa thành kí tự thường

d)

In thường các kí tự trong xâu

43.

cho đoan code sau:

int main()

{

int i = 0;

char c;

char str[] = "Tutorials Point";

while(str[i])

{

putchar (toupper(str[i])); i++;

}

return(0);

}

Kết quả của đoạn chương trình trên là:

a)

Tutorials Point

b)

TUTORIALS POINT

c)

Point Tutorial

d)

tutorials point

44.

cho đoan code sau:

int main()

{

int i = 0;

char c;

char str[] = "Tutorials Point";

while(str[i])

{

putchar (tolower(str[i]));

i++;

}

return(0);

}

Kết quả của đoạn chương trình trên là:

a)

Tutorials Point

b)

TUTORIALS POINT

c)

Point Tutorial

d)

tutorials point

45.

Hàm strlen(s) thực hiện:

a)

Cho giá trị là độ dài xâu S

b)

Đảo ngược trật tự của xâu S

c)

In hoa các kí tự trong xâu S

d)

In thường các kí tự trong xâu S

46.

Nếu strcmp(S1,S2) trả về số dương(>0) thì:

a)

Chuỗi S1 lớn hơn chuỗi S2

b)

Chuỗi S1 nhỏ hơn chuỗi S2

c)

Chuỗi S1 bằng chuỗi S2

d)

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

47.

Hàm strlwr(s)thực hiện:

a)

Chuyển các kí tự từ ‘A’ đến ‘Z’ trong chuỗi s thành in thường, các kí tự khác không thay đổi.

b)

Chuyển các kí tự từ ‘a’ đến ‘z’ trong chuỗi s thành in hoa, các kí tự khác không thay đổi.

c)

Chuyển các kí tự từ ‘a’ đến ‘z’ trong chuỗi s thành in thường, các kí tự khác không thay đổi

d)

Chuyển các kí tự từ ‘A’ đến ‘Z’ trong chuỗi s thành in hoa, các kí tự khác không thay đổi

48.

Hàm strupr(s) thực hiện:

a)

Chuyển các kí tự từ ‘A’ đến ‘Z’ trong chuỗi s thành in thường, các kí tự khác không thay đổi.

b)

Chuyển các kí tự từ ‘a’ đến ‘z’ trong chuỗi s thành in hoa, các kí tự khác không thay đổi.

c)

Chuyển các kí tự từ ‘a’ đến ‘z’ trong chuỗi s thành in thường, các kí tự khác không thay đổi

d)

Chuyển các kí tự từ ‘A’ đến ‘Z’ trong chuỗi s thành in hoa, các kí tự khác không thay đổi.

49.

Đoạn chương trình sau in ra kết quả nào?

int main()

{

char ch[20] = {'v', 'i', 'e', 't', 't', 'u', 't', 's', '\0'};

printf("Do dai chuoi: %d",strlen(ch));

return 0;

}

a)

6

b)

7

c)

8

d)

10

50.

Đoạn chương trình sau in ra kết quả nào?

int main()

{

char ch [10] = { 'H' , 'e' , 'l' , 'l' , 'o' , '\0' };

char ch2 [10] = { 'C' , '\0' };

strcat (ch, ch2);

printf ( "%s", ch);

return 0;

}

a)

Hello

b)

HelloC

c)

C

d)

Chello

51.

Đoạn chương trình sau thực hiện:

#include int main()

{

char s1[] = "chao ban";

int i = 0;

while(s1[i] != '\0')

{

i++;

}

printf("%d", i);

return 0;

}

a)

Xóa các kí tự số

b)

Trả về độ dài kí tự có trong xâu

c)

Đếm số dấu cách có trong xâu

d)

Xóa đi các dấu cách trong xâu

52.

Chọn các phát biểu ĐÚNG về đặc điểm của kiểu dữ liệu tệp (Tập tin):

a)

Lượng dữ liệu lưu trữ trên tệp là rất hạn chế

b)

Dữ liệu được lưu trữ lâu dài trên bộ nhớ ngoài (Đĩa cứng, CD …)

c)

Dữ liệu trong tệp sẽ mất khi ngắt điện

d)

Dữ liệu được lưu trữ tạm thời trên bộ nhớ trong (RAM).

53.

Số lượng phần tử trong tệp:

a)

Phải được khai báo trước.

b)

Không được lớn hơn 255.

c)

Không bị giới hạn mà chỉ phụ thuộc vào dung lượng đĩa.

d)

Không được lớn hơn 128.

54.

Hãy chọn phát biểu đúng về Tệp văn bản:

a)

Cho phép tham chiếu đến dữ liệu cần truy cập bằng cách xác định trựctiếp vị trí của dữ liệu đó

b)

Là tệp mà các phần tử của nó được tổ chức theo một cấu trúc nhất định

c)

Cho phép truy cập đến một dữ liệu nào đó trong tệp chỉ bằng cách bắt đầu từ đầu tệp và đi qua lần lượt tất cả các dữ liệu trước nó

d)

Là tệp mà dữ liệu được ghi dưới dạng các ký tự theo mã ASCII

55.

Hãy chọn phương án đúng. Tệp có cấu trúc:

a)

Là tệp mà dữ liệu được ghi dưới dạng các kí tự theo mã ASCII

b)

Cho phép truy cập đến một dữ liệu nào đó trong tệp và đi qua lần lượt tất cả các dữ liệu trước nó.

c)

Là tệp mà các phần tử của nó được tổ chức theo một cấu trúc nhất định

d)

Cho phép tham chiến đến dữ liệu cần truy cập bằng cách xác định trực tiếp vị trí của dữ liệu đó

56.

Hãy chọn phương án đúng. Tệp truy cập tuần tự:

a)

Là tệp mà dữ liệu được ghi dưới dạng các kí tự theo mã ASCII

b)

Cho phép truy cập đến một dữ liệu nào đó trong tệp và đi qua lần lượt tất cả các dữ liệu trước nó

c)

Là tệp mà các phần tử của nó được tổ chức theo một cấu trúc nhất định

d)

Cho phép tham chiến đến dữ liệu cần truy cập bằng cách xác định trực tiếp vị trí của dữ liệu đó

57.

Hãy chọn phương án đúng. Tệp truy cập trực tiếp.

a)

Là tệp mà các phần tử của nó được tổ chức theo một cấu trúc nhất định

b)

Cho phép tham chiến đến dữ liệu cần truy cập bằng cách xác định trực tiếp vị trí của dữ liệu đó

c)

Là tệp mà dữ liệu được ghi dưới dạng các kí tự theo mã ASCII

d)

Cho phép truy cập đến một dữ liệu nào đó trong tệp và đi qua lần lượt tất cả các dữ liệu trước nó.

58.

Khi lập trình, muốn lưu trữ dữ liệu lâu dài, ta nên chọn loại thiết bị lưu trữ nào?

a)

Bộ nhớ ngoài

b)

Bộ nhớ trong

c)

RAM

d)

Bộ nhớ Cache

59.

Xét theo cách tổ chức dữ liệu, tập tin có thể phân thành mấy loại?

a)

2 loại

b)

3 loại

c)

4 loại

d)

1 loại

60.

Xét theo cách thức truy nhập, tập tin có thể phân thành mấy loại?

a)

Tập tin truy cập tuần tự, tập tin truy nhập trực tiếp

b)

Tập tin nhị phân, tập tin văn bản

c)

Tập tin văn bản, tập tin có cấu trúc

d)

Tập tin ngoài, tập tin trong

61.

Chọn đáp án đúng nhất: Các thao tác khi làm việc với tệp?

a)

Khai báo biến tệp, mở tệp, đọc/ghi tệp, đóng tệp.

b)

Gán tên cho tệp,ghi tệp, đọc tệp, đóng tệp.

c)

Khai báo biến tệp, mở tệp, đóng tệp

d)

Mở tệp, đọc tệp, ghi tệp, đóng tệp.

62.

kết quả của chương trình sau:

char s[] = "iổđ nốum ngôhk ngũc ngùrt nốum ngôhk oat";

int i;

for (i = strlen(s) - 1; i>=0; i--)

{

printf(i);

}

a)

chương trình báo lỗi

b)

40

c)

IỔĐ NỐUM NGÔHK NGŨC NGÙRT NỐUM NGÔHK OAT

d)

tao không muốn trùng cũng không muốn đổi