wayground logo

Free Printable Worksheets

Font size

S
M
L
XL
Worksheets

Lập trình cơ sở -LTCS- CS 211 Duy Tân

Total questions: 32

Worksheet time: 17mins

Name
Class
Date
1.

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

a)

Được khai báo bên trong hàm main

b)

Được khai báo bên ngoài hàm main

c)

Được khai báo bên ngoài tất cả các hàm (kể cả hàm main)

d)

Được khai báo bên trong tất cả các hàm

2.

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

(a)  

3.

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 float

b)

Kiểu mảng.

c)

Kiểu int.

d)

Kiểu unsigned.

4.

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

a)

1 byte

b)

2 byte

c)

4 byte

d)

0 byte

5.

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

a)

NOT, OR, AND.

b)

OR, NOT, AND.

c)

NOT, AND, OR.

d)

AND, NOT, OR

6.

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)

Giá trị của biến.

b)

Tên biến.

c)

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

d)

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

7.

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ư: +, -…

8.

Nếu hàm được gọi trước khi nó được đị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)

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

d)

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

9.

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)

1

c)

0

d)

-3

10.

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)

gets(tb);

b)

tb=”chao ban”;

c)

mang=”chaoban”;

d)

gets(mang);

11.

P là biến con trỏ trỏ tới cấu trúc t, a là 1 thành pần của t, cú pháp nào sau đây là truy cập đến a:

a)

p.a

b)

*p.a

c)

p->a

d)

B và C

12.

Chuỗi lệnh lặp for(i=2; i<100; i++) sẽ thực hiện bao nhiêu lệnh

a)

97

b)

98

c)

99

d)

số khác

13.

Phát biểu nào sau đây không đúng về dữ liệu kiểu mảng:

a)

Mảng là kiểu dữ liệu do người dùng định nghĩa

b)

Mảng có thể là mảng 1 chiều hoặc mảng nhiều chiều

c)

Mảng có thể là tham số của một hàm

d)

a và b là 2 mảng 1 chiều có cùng kích thước, có thể gán a=b

14.

Nhóm lệnh nào dưới đây không đúng:

a)

char s[50] = ”Duy Tan”

b)

char s[] = ”Duy Tan”

c)

char *s; s= ”Duy Tan”

d)

char s[50]; s = ”Duy Tan”

15.

Hàm nào dưới đây để đọc 1 kí tự vào tập tin

a)

getch()

b)

scanf()

c)

fgetc()

d)

fscanf()

16.

Cho biết kết quả thực hiện chương trình sau:

Main() { int x=4, p; p=&x; p=5; Printf(“%d%d”,x,*p); }

a)

55

b)

45

c)

54

d)

44

17.

Cho biết kết quả thực hiện chương trình sau:

Main() { int x=3, y=1, z=2;if (y>=1); if(x>3) z+=1; else z+=2; else z+=3; }

a)

2

b)

4

c)

5

d)

3

18.

Trường hợp nào dưới đây cho phép gọi hàm trước khi định nghĩa hàm:

a)

Hàm có kiểu trả về là kiểu int

b)

Hàm có kiểu trả về là kiểu float

c)

Hàm đã được khai báo trước khi gọi hàm

d)

Hàm có kiểu trả về là kiểu void

19.

Khi khai báo các biến: char s, *st; Lệnh nào sau đây là sai:

a)

st=”Duy Tan”

b)

st=”C”

c)

s=’C’

d)

s=”C”

20.

Trong các kiểu dữ liệu sau, nhóm nào là các kiểu dữ liệu cơ sở:

a)

char, float, mảng, int

b)

char, float, double, int

c)

char, con trỏ, float, int

d)

double, char, float, struct

21.

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

a)

putch()

b)

puts()

c)

fputc()

d)

fputch()

22.

Hàm nào dưới đây trả về độ dài của một chuổi kí tự:

a)

len()

b)

length()

c)

strlen()

d)

strln()

23.

Phát biểu nào sau đây không đúng khi sử dụng hàm:

a)

Có thể gọi hàm trước, khai báo và định nghĩa hàm sau

b)

Dễ bảo trì

c)

Có thể sử dụng nhiều lần 1 đoạn lệnh

d)

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

24.

Phát biểu nào sau đây không đúng về hàm

a)

Hàm có thể được gọi trong chương trình chính

b)

Hàm có thể được gọi trong một hàm khác

c)

Hàm có thể được gọi trong chính nó

d)

Hàm có thể được định nghĩa lồng nhau

25.

Phát biểu nào sau đây không đúng về đặt tên Biến:

a)

Tên biến là một dãy các ký tự chữ cái, chữ số và dấu gạch ngang dưới(_)

b)

Ký tự đầu tiên phải là ký tự hoặc là dấu _

c)

Không đặt tên biến trùng với các từ khóa của ngôn ngữ C

d)

Tên biến trong C không phân biệt giữa chữ hoa và chữ thường.

26.

Phát biểu về ý nghĩa của các đặt tả trong C sau đây, phát biểu nào không đúng:

a)

%d là in một giá trị số nguyên

b)

%c là in một chuổi kí tự

c)

%f là in một giá trị số thực

d)

%u là in một giá trị số nguyên không âm.

27.

Phát biểu nào sau đây không đúng về hàm:

a)

Hàm là một công cụ để thực hiện việc modul hoá chương trình

b)

Hàm có thể được gọi trước khi khai báo và định nghĩa hàm

c)

Hàm được viết một lần và có thể được sử dụng nhiều lần thông qua lời gọi hàm

d)

Hàm có thể nằm ngay trong chương trình chính, hoặc được đưa vào từ các thư viện được khai báo bằng các câu lệnh #include

28.

Phát biểu nào sau đây không đúng về hàm:

a)

Hàm có thể được gọi từ chương trình chính, từ một hàm khác, hoặc từ chính nó.

b)

Trong C, không cho phép các hàm định nghĩa lồng nhau

c)

Khi định nghĩa một hàm thì không thể gọi 1 hàm khác thực hiện

d)

Hàm có thể nhận hay không nhận các đối số và có thể có giá trị trả về hoặc không có

29.

Phát biểu nào sau đây không đúng về tham số của hàm?

a)

Tham biến là tham số được khai báo đi kèm toán tử địa chỉ &

b)

Giá trị của tham số là tham biến thay đổi theo cách xử lý của hàm sau khi kết thúc hàm

c)

Giá trị của tham số là tham biến không đổi sau khi kết thúc hàm

d)

Giá trị của tham số là tham trị không thay đổi sau khi kết thúc hàm

30.

Phát biểu nào sau đây không đúng dữ liệu kiểu mảng?

a)

Các phần tử của mảng có thể có kiểu dữ liệu khác nhau

b)

Chỉ số phần tử mảng bắt đầu từ số 0 (không)

c)

Kích thước của mảng phải khai báo bằng một giá trị cụ thể

d)

Các phần tử của mảng có cùng kiểu dữ liệu

31.

Với khai báo: {int *p, a, b; char c;} Lệnh nào sau đây là sai?

a)

p=&a;

b)

p=&c;

c)

b=4;

d)

*p=b;

32.

Cho khối lệnh sau: { int p, a=4, b=5; p=&a; a+=b; p=b; b=*p;} kết quả nào sau đây là đúng?

a)

a=9, b=9;

b)

a=5, b=5;

c)

b=4, a=9;

d)

a=9, b=5;