NEW
Font size
S
M
L
XL
WorksheetsHÀM C CƠ BẢN =((
Total questions: 49
Worksheet time: 25mins
Name
Class
Date
1.
Câu 1:Hàm là gì?
a)
A. Hàm là một khối mã thực hiện một nhiệm vụ cụ thể. Nó có một cái tên và nó có thể tái sử dụng.
b)
B. Hàm là một khối các câu lệnh thực hiện một số nhiệm vụ cụ thể.
c)
C. Tất cả những điều trên
d)
D, Hàm là đơn vị mô-đun cơ bản. Một hàm thường được thiết kế để thực hiện một nhiệm vụ cụ thể.
2.
Câu hỏi 2:Sử dụng hàm:
a)
A. Tất cả những điều trên
b)
B. Tăng cường sự rõ ràng logic của chương trình.
c)
C. Giúp tránh lặp lại một tập hợp các câu lệnh nhiều lần.
d)
D. Giúp tránh lập trình lặp lại giữa các chương trình.
3.
Câu hỏi 3: Cái nào không phải là một nguyên mẫu thích hợp?
a)
A. char x ();
b)
B. int funct (char x, char y);
c)
C. void funct ();
d)
D. double (char x)
4.
Câu hỏi 4: Kiểu trả về của hàm với nguyên mẫu sau là gì: “int func (char x, float v, double t);”
a)
A. double
b)
B. int
c)
C. char
d)
D. float
5.
Câu hỏi 5: Lệnh nào sau đây là lời gọi hàm hợp lệ (giả sử hàm tồn tại)?
a)
A. funct;
b)
B. int funct ();
c)
C. funct ();
d)
D. funct x, y;
6.
Câu hỏi 6: Ý nào sau đây là một hàm đầy đủ?
a)
A. int funct ();
b)
B. int funct (int x) {return x = x + 1;}
c)
C. void funct (int) {printf (“Xin chào”);
d)
D. void funct (x) {printf (“Xin chào”); }
7.
Câu hỏi 7: Điều nào sau đây là đúng về kiểu trả về của hàm trong C?
a)
A. Các hàm có thể trả về bất kỳ kiểu nào ngoại trừ mảng và các hàm
b)
B. Các hàm có thể trả về bất kỳ loại nào
c)
C. Các hàm có thể trả về bất kỳ kiểu nào ngoại trừ mảng, các hàm và liên hợp
d)
D. Các hàm có thể trả về bất kỳ kiểu nào ngoại trừ mảng, các hàm, con trỏ hàm và liên hợp
8.
Câu hỏi 8: Trong C, các tham số luôn là
a)
A. Truyền theo tham chiếu
b)
B. Truyền theo tham trị
c)
C. Các biến không phải là con trỏ được truyền theo tham trị và con trỏ được truyền theo tham chiếu
d)
D. Truyền theo kết quả tham trị
9.
Câu hỏi 9: Ý nghĩa của việc sử dụng static trước khi khai báo hàm là gì? Ví dụ sau đây hàm sum được làm tĩnh static int sum (int x, int y, int z) { return (x + y + z); }
a)
A. Static có nghĩa là không có gì, sum () cũng giống như vậy nếu không có từ khóa static.
b)
B. Các hàm tĩnh được thực hiện nội tuyến
c)
C. Hàm không cần phải được khai báo trước khi sử dụng
d)
D. Quyền truy cập vào các hàm tĩnh bị hạn chế đối với tệp nơi chúng được khai báo
10.
Câu hỏi 10: 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)
A. Cả a và b đều sai.
b)
B. Truyền tham trị.
c)
C. Cả a và b đều đúng.
d)
D. Truyền bằng giá trị địa chỉ của tham số.
11.
Câu hỏi 11: Nếu hàm được gọi trước khi nó định nghĩa thì điều kiện là gì :
a)
A. Trước khi gọi hàm nó phải được khai báo.
b)
B. Kiểu đầu vào của hàm phải là kiểu void.
c)
C. Kiểu trả về của hàm phải là kiều void.
d)
D. Hàm chỉ trả về kiểu dữ liệu boolean.
12.
Câu hỏi 12: Trong C, ý nghĩa của nguyên mẫu hàm sau với danh sách tham số trống là gì void fun() { / .... / }
a)
A. Hàm có thể được gọi với bất kỳ số lượng tham số nào thuộc bất kỳ loại nào
b)
B. Hàm có thể được gọi với một tham số nguyên
c)
C. Hàm có thể được gọi với bất kỳ số tham số nguyên nào.
d)
D. Hàm chỉ có thể được gọi mà không có bất kỳ tham số nào
13.
Câu 1: Cách nào sau đây khai báo đúng một mảng?
a)
A. int anarray [10];
b)
B. int anarray;
c)
C. anarray {10};
d)
D. array anarray [10];
14.
Câu 2: Điều gì sẽ xảy ra nếu trong chương trình C bạn gán giá trị cho một phần tử mảng có chỉ số con vượt quá kích thước của mảng?
a)
A. Phần tử sẽ được đặt thành 0.
b)
B. Trình biên dịch sẽ báo lỗi.
c)
C. Chương trình có thể bị lỗi nếu một số dữ liệu quan trọng bị ghi đè.
d)
D. Kích thước mảng sẽ tăng lên một cách thích hợp.
15.
Câu hỏi 3: Chỉ số của phần tử cuối cùng của mảng có 29 phần tử là bao nhiêu?
a)
A. 29
b)
B. 28
c)
C. 0
d)
D. Do người lập trình định nghĩa
16.
Câu hỏi 4: mảng nào sau đây là mảng hai chiều?
a)
A. array anarray [20] [20];
b)
B. int anarray [20] [20];
c)
C. int array [20, 20];
d)
D. array char [20];
17.
Câu hỏi 5: Cách nào sau đây truy cập chính xác phần tử thứ bảy được lưu trữ trong foo, một mảng có 100 phần tử?
a)
A. foo [6];
b)
B. foo [7];
c)
C. foo (7);
d)
D. foo;
18.
Câu hỏi 6: Điều nào sau đây cung cấp địa chỉ bộ nhớ của phần tử đầu tiên trong mảng foo, một mảng có 100 phần tử?
a)
A. foo [0];
b)
B. foo;
c)
C. & foo;
d)
D. foo [1];
19.
Câu hỏi 9: Khai báo sau có nghĩa là gì: int (* ptr) [10];
a)
A. ptr là mảng con trỏ tới 10 số nguyên
b)
B. ptr là một con trỏ tới một mảng 10 số nguyên
c)
C. ptr là một mảng gồm 10 số nguyên
d)
D. ptr là một con trỏ tới mảng
20.
Câu hỏi 10: Chuỗi nào sau đây là chuỗi tĩnh?
a)
A. Static String
b)
B. “Static String”
c)
C. ‘Static String’
d)
D. char string [100];
21.
Câu hỏi 11: Ký tự nào kết thúc tất cả các chuỗi?
a)
A. ’.’
b)
B. ’‘
c)
C. ’\ 0’
d)
D. ’\ n’
22.
Câu hỏi 12: Dòng nào sau đây đọc trong một chuỗi có tên là x với một trăm ký tự?
a)
A. fgets(x, 101, stdin);
b)
B. fgets(x, 100, stdin);
c)
C. readline(x, 100, ‘\n’);
d)
D. read(x);
23.
Câu hỏi 13: Hàm nào sau đây so sánh hai chuỗi?
a)
A. compare ();
b)
B. stringcompare ();
c)
C. cmp ();
d)
D. strcmp ();
24.
Câu hỏi 14: Hàm nào sau đây thêm một chuỗi vào cuối chuỗi khác?
a)
A. append ();
b)
B. stringadd ();
c)
C. strcat ();
d)
D. stradd ();
25.
Câu hỏi 15: Nếu hai chuỗi giống hệt nhau, thì hàm strcmp () trả về
a)
A. -1
b)
B. 1
c)
C. 0
d)
D. đúng
26.
Câu hỏi 1: Lệnh for có chức năng gì?
a)
A. Cho phép thoát vòng lặp
b)
B. Cho phép lựa chọn một trong các lựa chọn đã đưa ra
c)
C. Thực thi việc lặp đi lặp lại một câu lệnh, một khối câu lệnh với số lần lặp xác định trước.
d)
D. Thực thi việc lặp đi lặp lại một câu lệnh, một khối câu lệnh với số lần lặp không được xác định trước.
27.
Câu hỏi 2: Lệnh do.. while có chức năng gì?
a)
A. Cho phép trả về kết quả
b)
B. Cho phép lựa chọn một trong các lựa chọn đã đưa ra
c)
C. Thực thi việc lặp đi lặp lại một câu lệnh, một khối câu lệnh với số lần lặp xác định trước.
d)
D. Thực thi việc lặp đi lặp lại một câu lệnh, một khối câu lệnh với số lần lặp không được xác định trước.
28.
Câu hỏi 4: 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)
A. goto.
b)
B. break.
c)
C. continue.
d)
D. exit.
29.
Câu hỏi 5: Lệnh nào trong các lệnh sau cho phép dừng câu lệnh điều khiển:
a)
A. return
b)
B. break.
c)
C. if
d)
D. goto,break
30.
Câu hỏi 7: 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)
A. break;
b)
B. goto;
c)
C. Không có phương án nào.
d)
D.continue;
31.
Câu hỏi 10: Lệnh continue trong C có chức năng gì?
a)
A.Cho phép chương trình dừng vòng lặp hiện tại
b)
B. Cho phép trả về kết quả và dừng chương trình.
c)
C. Cho phép chương trình sẽ nhảy đến lần lặp tiếp theo và bỏ qua các câu lệnh ở sau câu lệnh continue trong vòng lặp.
d)
D.Kết quả khác
32.
Câu hỏi 11: Cách viết nào sau đây là đúng với cú pháp khai báo của câu lệnh if?
a)
A. if (biểu thức)
b)
B. if
c)
C. if {biểu thức}
d)
D. if biểu_thức
33.
Câu hỏi 15: Cách viết nào sau đây là đúng với cú pháp khai báo của câu lệnh do.. while
a)
A. do () while{}
b)
B. while{} do ()
c)
C. while() do {}
d)
D. do {} while()
34.
Câu hỏi 1: Những phát biểu nào sau đây là đúng:
a)
A. Kiểu kí tự chứa một kí tự nằm trong dấu nháy kép.
b)
B. Lưu đồ có thể có nhiều điểm bắt đầu và kết thức.
c)
C. Trong các lệnh if lồng nhau, else thuộc về if phía trước gần nó nhất.
d)
D. 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 đó.
35.
Câu hỏi 3: 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)
A. goto;
b)
B. break;
c)
C. Không có phương án nào.
d)
D. continue;
36.
Câu hỏi 14: Câu lệnh nào dùng để lặp với số lần lặp biết trước
a)
A. while
b)
B. for
c)
C. do..while
d)
D. if
37.
Câu hỏi 15: Câu lệnh nào dùng để lặp với khi số lần lặp không biết trước
a)
A. do..while và while
b)
B. for
c)
C. repeat
d)
D. while
38.
Câu hỏi 16: Đâu là câu lệnh rẽ nhánh cho phép lựa chọn một trong các lựa chọn đã đưa ra
a)
A. break
b)
B. switch{case : đoạn lệnh; break}
c)
C. pause
d)
D. return
39.
Câu hỏi 1: Kiểu dữ liệu int (kiểu số nguyên) có thể xử lí số nguyên nằm trong khoảng nào:
a)
A. 0.. 255.
b)
B. -32768.. 32767.
c)
C. -128.. 127.
d)
D. 0.. 65535.
40.
Câu hỏi 3: Khai báo các biến: Int m, n; float x, y; Lệnh gán nào sau đây là sai:
a)
A. n=5 ;
b)
B. x=10 ;
c)
C. y=12.5 ;
d)
D. m=2.5 ;
41.
Câu hỏi 4: Kiểu dữ liệu nào dưới đây được coi là kiểu dữ liệu cơ bản trong ngôn ngữ lập trình C:
a)
A. Kiểu double.
b)
B. Kiểu con trỏ.
c)
C. Kiểu hợp.
d)
D. Kiểu mảng.
42.
Câu hỏi 5: Giả sử a và b là hai số thực. Biểu thức nào dưới đây là không được phép theo cú pháp của ngôn ngữ lập trình C:
a)
A. (ab).
b)
B. (a-=b).
c)
C. (a>>=b).
d)
D. (a*=b).
43.
Câu hỏi 6: Xâu định dạng nào dưới đây dùng để in ra một số nguyên:
a)
A. “%u”.
b)
B. “%e”.
c)
C. “%d”.
d)
D. “%p”.
44.
Câu hỏi 7 :Xâu định dạng nào sau đây dùng để in ra một số thực có độ chính xác đơn:
a)
A.“%u”.
b)
B. “%e”.
c)
C. “%f”.
d)
D. “%o”.
45.
Câu hỏi 8: Giả sử a, b là hai số thực. Biểu thức nào dưới đây viết không đúng theo cú pháp của ngôn ngữ lập trình C:
a)
A. (a+=b).
b)
B. (a*=b).
c)
C. (a=b).
d)
D. (a&=b).
46.
Câu hỏi 9: Kiểu dữ liệu float có thể xử lí dữ liệu trong phạm vi nào:
a)
A. 3.410-38đến 3.41038.
b)
B. -32768 đến 32767.
c)
C. -128 đến 127.
d)
D. 0.. 65535.
47.
Câu hỏi 10: Độ ưu tiên đối với các toán tử logic là:
a)
A. AND, NOT, OR.
b)
B. NOT, OR, AND.
c)
C. OR, NOT, AND.
d)
D. NOT, AND, OR.
48.
Câu hỏi 14: Một biến được gọi là một biến địa phương nếu:
a)
A. Nó được khai báo bên trong các hàm hoặc thủ tục, kể cả hàm main().
b)
B. Nó đươc khai báo bên trong các hàm ngoại trừ hàm main().
c)
C. Nó được khai báo bên trong hàm main().
d)
D. Nó được khai báo bên ngoài các hàm kể cả hàm main().
49.
Câu hỏi 15: 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)
A. Kiểu mảng.
b)
B. Kiểu enum.
c)
C. Kiểu short int.
d)
D. Kiểu unsigned.
Reset
