TRƯỜNG CAO ĐẲNG KỸ THUẬT CAO THẮNG

ĐỀ THI HỌC KỲ (LẦN 1)

KHOA ĐIỆN TỬ - TIN HỌC

MÔN: LẬP TRÌNH CƠ BẢN



LỚP: CĐN SCMT15A, B

THỜI GIAN: 45 PHÚT

NGÀY THI: 29/6/2016

PHIẾU TRẢ LỜI Họ tên: .................................................................................................................

MSSV: ...................................................................................................................

Lớp: ......................................................................................................................

Lưu ý: Sinh viên ghi đáp án được chọn vào câu tương ứng.

2 3 4 5 6 7 8 9 10 1

12 13 14 15 16 17 18 19 20 11

22 23 24 25 26 27 28 29 30 21

32 33 34 35 36 37 38 39 40 31

Bộ môn Tin học

GV ra đề

Nguyễn Đức Duy

Câu 1.

Khi khai báo mảng trong C, ta khởi tạo luôn giá trị của mảng như sau: int a[3] = {5, 7, 2} ; Nghĩa là:

A. Khai báo sai C. a[0]=5; a[1]=7; a[2] = 2 B. a[1]=5; a[2]=7; a[3]=2 D. Tất cả đều sai

Câu 2. Cho khai báo trong C như sau:

char hoten[30] ; int namsinh;

typedef struct { } SINHVIEN; Trong các khai báo biến sau, khai báo nào đúng?

B. SINHVIEN ds[10]; D. Tất cả đều sai A. struct ds[1..10]; C. ds SINHVIEN[10];

Để biểu mô tả thuật toán, người ta có thể dùnghình thức nào sau đây? B. Mã giả C.Lưu đồ D. Tất cả đều đúng

Có những loại chương trình dịch nào? B. Trình thông dịch C. Cả A và B đều đúng D. Cả A và B đều sai Câu 3. A. Ngôn ngữ tự nhiên Câu 4. A. Trình biên dịch Câu 5.

Cho khai báo sau: char c, s[15]; Trong các câu lệnh C sau, câu nào đúng? B. gets(s); C. s = “Chao ban”; D. gets(c); A. c = “chao ban”; Câu 6. Cho ma trận A có M dòng, N cột. Đoạn code C nào xuất các phần tử cuối cùng của ma trận ra màn hình?

A. for(int i=0; i

Câu 7. A. ‘\n’ Ký tự kết thúc chuỗi trong C++ là gì? B. ‘\t’ C. ‘\r’ D. Tất cả đều sai

Câu 8. Cho ma trận A có M dòng, N cột. Đoạn code C nào xuất dòng đầu tiên của ma trận ra màn hình?

A. for(int i=0; i

Kiểu cấu trúc là?

Toán tử nào sau đây sẽ truy xuất 1 thành phần của biến cấu trúc trong C? C. Cả A và B đều đúng B. “->” (mũi tên) D. Cả A và B đều sai

Câu 9. A. Một kiểu dữ liệu do người dùng định nghĩa bao gồm nhiều thành phần có kiểu khác nhau. B. Sự kết hợp của nhiều thành phần có thể có kiểu khác nhau. C. Cả A và B đều đúng. D. Cả A và B đều sai Câu 10. A. “.” (dấu chấm) Câu 11. Kết quả hiển thị ra màn hình của đoạn chương trình C++ sau là gì? cout<

i

A. HelloWorld!!! C. 0 B. 13 D. Chương trình báo lỗi

Câu 12. A. -1 Cho biết kết quả của biểu thức: 3/2-3%2? C. 1 B. 0 D. 2

Cách khai báo mảng 1 chiều các số nguyên trong C sau đây là đúng? Câu 13. A. int a[ ]; B. int N = 100;int a[N]; C. Cả A và B đều đúng D. Cả A và B đều sai

Câu 14. Kết quả hiển thị ra màn hình của đoạn code C sau là gì?

int a = 9, b = 10; int c = ++a – b--; cout<

Câu 15. Định nghĩa cấu trúc TOADO trong C như sau:

typedef struct { int x, y; }TOADO; Khai báo biến cấu trúc TOADO nào đúng?

A. struct TOADO p; C. TOADO p = {0, 0}; B. TOADO p; D. Cả 3 câu trên đều đúng.

Câu 16. A. // Dòng ghi chú Dòng nào là dòng được ghi chú trong mã nguồn C? B. /* Dòng ghi chú */ C. Cả A và B đều đúng D. Cả A và B đều sai

Câu 17. Ký hiệu nào mô tả thao tác nhập/xuất dữ liệu trong lưu đồ?

B. C. D. A.

Câu 18. Biểu thức điều kiện nào dùngđể kiểm tra biến num có giá trị là số nguyên nằm ngoài đoạntừ 1 đến 9 và không phải là -1?

A. (num<1&&num>9)&&num!=-1; C. (num<1||num>9)||num!=-1; B. (num<1||num>9)&&num!=-1; D. Cả A, B và C đều sai

Câu 19.

Cho biết ý nghĩa của đoạn code C sau? int x = 99, y = 9; x += y; y = x – y; x -=y;

A. Giảm x đi 9 đơn vị, tăng x thêm 9 đơn vị C. Cả A, B đều đúng B. Hoán vị giá trị x và y D. Cả A, B đều sai

Phát biểu nào sau đây là lợi ích của việc dùng hàm trong C?

Câu 20. A. Tránh dư thừa, lặp lại nhiều lần 1 đoạn lệnh. C. Khả năng sử dụng lại đoạn lệnh. B. Dễ bảo trì. D. Tất cả đều đúng.

Cách truyền tham số vào hàm mặc định trong C là gì? Câu 21. A. Tham trị B. Tham chiếu C. Cả A và B đều đúng D. Cả A và B đều sai

Câu 22. Kết quả hiển thị ra màn hình của đoạn code C sau là gì?

ii

int x = 5, y = 1, z = 9; int t = (x != 5 ? x : (y <= 1 ? y : (z == 9 ? z : 0))); cout<<“t”; A. 1 B. 5 D. Tất cả đều sai C. 9

Câu 23.

y = 0; while( y < 3 ) z += x*y++;

Cho biết kết quả của đoạn code C sau? int x = 0, y = 0, z = 0; for(; x <= 3; x++) { } cout<

A. 18 Câu 24. Cho biết giá trị của s sau khi thực thi đoạn code C sau:

int a = 26%5; int s = 0; switch(a) { case 0: s += 1; case 1: s += 2; case 2: s += 3; break; case 3: s += 4; case 4: s += 5;break; } A. 5 B. 6 C. 9 D. 15

Câu 25. Kết quả hiển thị ra màn hình của đoạn code C sau là gì?

A. 158 int a = 10, b = 4; if( !(a%2)&& (float)(a/b) == 2.5) { a += b; b *= 2; } cout<

Câu 26. Kết quả hiển thị ra màn hình của đoạn code C sau là gì?

void test(int &x, int y) { x++; y--; } void main() { int a = 3, b = 2; test(b, a); cout<

Câu 27. Cho biết kết quả của đoạn code C, nếu lần lượt nhập vào các số: 3, 0, -5, 4, 1?

iii

int x=0, y=5; do{ cin>>x; y--; }while(x < 4); cout<

Câu 28. Kết quả hiển thị ra màn hình của đoạn code C sau là gì?

void main () { int d = 0; int a[6] = {8, 2, 12, 1, 8, 6}; for(int i=0; i<6; i++) { if(a[i] % 6 == 0) d++; } cout<

Kết quả hiển thị ra màn hình của đoạn code C sau là gì? A. 0 Câu 29.

int test(int x, int &y) { x += 1; y += 2; return x+y; } void main() { int a = 3, b = 2; int s = test(a, b); s += a + b; cout<

Câu 30. Kết quả hiển thị ra màn hình của đoạn code C sau là gì?

int test(int n) { for(int i=2; i

Câu 31.

Giá trị của myArray[1][2] trong đoạn lệnh sau là? int i, j; int ctr = 0; int myArrar[2][3]; for (i = 0; i < 3; i++)

for(j = 0; j < 2; j++) {

iv

myArray[j][i] = ctr; ++ctr; } A. 5 B. 4 C. 3 D. 2

Câu 32. Kết quả in ra màn hình của đoạn lệnh sau?

int i = 4; switch (i) {

default: ; case 3: i += 5; if ( i == 8) {

i++; if (i == 9) break; i *= 2;

} i -= 4; break; case 8: i += 5; break;

} printf("i = %d\n", i); B. i = 8 C. i = 9 D. i = 10 A. i = 5

Kết quả hiển thị ra màn hình của đoạn code C sau là gì? Câu 33.

result += array[n];

int array[] = {1, 2, 4, 6, 7, 5, 3, 8}; int n, result = 0; for (n = 0; n < 8; n+= 2) { } cout << result; #include void main () { } B. 23 C. 27 D. 28

Kết quả hiển thị ra màn hình của đoạn chương trình C++ sau là gì? A. 15 Câu 34.

x = 20; y += x;

int x = 10; int y = 20; fun(x, y); cout < void fun(int x, int y) { } void main() { } B. 20 C. Lỗi biên dịch D. Tất cả đều sai A. 10

Kết quả hiển thị ra màn hình của đoạn code C sau là gì? Câu 35.

--a -= b;

v

a += --b; b += a++; int a = 2, b = 3; if(a <= b) else cout<

Câu 36. Kết quả biên dịch và thực thi đoạn code sau?

printf("%d %d",sizeof("string"),strlen("string")); getch(); #include "string.h" void main() { clrscr(); } B. 7 7 C. 6 7 D. 7 6

Kết quả biên dịch và thực thi đoạn code sau? A. 6 6 Câu 37.

void func() {

int x = 0; static int y = 0; x++; y++; printf( "%d -- %d\n", x, y );

} void main() {

func(); func(); }

B. 1 -- 1 2 -- 1 C. 1 -- 1 2 -- 2 D. 1 -- 1 1 -- 2

A. 1 -- 1 1 -- 1 Câu 38.

Kết quả in ra màn hình của đoạn lệnh sau? for (x=1, y=5; x+y<=10; x++) {

printf(“%d%d”, x,y); y++; }

A. 1 5 2 6 3 7 B. 1 5 2 6 3 7 4 8 C. 1 5 1 6 1 7 1 8 1 9 D. 1 5 2 5 3 5 4 5 5 5

Câu 39. Kết quả biên dịch và thực thi đoạn code sau?

struct marks {

int p:3; int c:3; int m:2;

}; void main() {

vi

struct marks s ={2,-6,5}; printf("%d %d %d",s.p,s.c,s.m); } A. 2 -6 5 B. 2 -6 1 C. 2 2 1 D. Compiler error

Câu 40. Kết quả hiển thị ra màn hình của đoạn code C sau là gì?

if (( ++x > 2 ) || (++y > 2)) x++; int x= 0, y= 0; for (int z = 0; z < 5; z++) cout<

--------------------Hết--------------------

Bộ môn Tin học

GV ra đề

vii