You are on page 1of 8

(Ngày ra đề) (Ngày duyệt đề)

Giảng viên ra đề: Người phê duyệt:


(Chữ ký và Họ tên) (Chữ ký, Chức vụ và Họ tên)

(phần phía trên cần che đi khi in sao đề thi)

Học kỳ/năm học 2 2020-2021


THI CUỐI KỲ Ngày thi 21/08/2021
Môn học Nhập môn lập trình
TRƯỜNG ĐH BÁCH KHOA – ĐHQG-HCM Mã môn học CO1003
KHOAKH & KT MÁY TÍNH
Thời lượng 60 phút Mã đề 2021
Ghi chú: - Được sử dụng tài liệu
- Không nộp lại đề thi

Phần I
Câu hỏi 1. (L.O.2.3): Xác định các giá trị của biểu thức: 8 + 5 * 7 % 2 * 4 ___________
Câu hỏi 2. (L.O.3.2): Xác định giá trị của biểu thức: 3.0 * 5 / 6 + 15 / 2 + 6___________
Câu hỏi 3. (L.O.3.2): Cho length = 20, scale = 2. Xác định giá trị của biểu thức: length *=
scale + 3. ___________
Câu hỏi 4. (L.O.3.2): Chương trình C/C++ khi thực thi sẽ bắt đầu từ hàm nào?___________
Câu hỏi 5. (L.O.3.2): Hàm printf, scanf nằm trong thư viện nào của ngôn ngữ C?_________
Câu hỏi 6. (L.O.3.2): Toán tử luận lý AND sai khi nào?_____________________________
Câu hỏi 7. (L.O.3.2): Giá trị của biều thức var1 == 4 || var2 > var1 là bao nhiêu?
a) Cho var1 = 4, var2 = 1
b) Cho var1 = 1, var2 = 1
Câu hỏi 8. (L.O.3.2): Giá trị của biều thức var1 == 4 || ((var2 > var1) && (var1 != var3)) là
bao nhiêu?
a) Cho var1 = 1, var2 = 2, var3 = 1
b) Cho var1 = 1, var2 = 2, var3 = 3
Câu hỏi 9. (L.O.3.2): Ngôn ngữ C cung cấp toán tử nào dùng để lấy kích thước ô nhớ của
kiểu dữ liệu? _______________
Câu hỏi 10. (L.O.3.2): Cho biết tính kết hợp của của toán tử +,-: _________________
Câu hỏi 11. (L.O.3.2): Kiểu trả về của hàm với prototype “int func(char x, float v, double t)
__________________
Câu hỏi 12. (L.O.3.2): Hãy giải thích câu lệnh break?
________________________________________________________________________
MSSV: ........................................... Họ và tên SV: ..................................................................................................... Trang1/2
_________________________________________________________________________
Câu hỏi 13. (L.O.3.2): Hãy giải thích câu lệnh continue?
________________________________________________________________________
_________________________________________________________________________
Câu hỏi 14. (L.O.3.2): Dòng lệnh for (int x = 5; ; ) này hợp lệ không? Giải thích.
_________________________________________________________________________
_________________________________________________________________________
Câu hỏi 15. (L.O.3.2): Chỉ ra dòng lỗi của đoạn chương trình sau nếu có? Giải thích
for(;;) {
printf( "\nPress any key, Q to quit: " )
}
_________________________________________________________________________
Câu hỏi 16. (L.O.3.2): Đoạn chương trình sau có bao nhiêu lỗi? _________________
int total = 200
while ( line_count <= 8 & the total <= 100)
{
line_count += 1;
}

Câu hỏi 17. (L.O.3.2): Cho biết điểm khác nhau của chuỗi ký tự và mảng trong C?
_________________________________________________________________________
_________________________________________________________________________
Câu hỏi 18. (L.O.3.2): Trong C, con trỏ bậc 1 chứa giá trị gì? ________________________
Câu hỏi 19. (L.O.3.2): Trong C, con trỏ bậc 2 chứa giá trị gì? ________________________
Câu hỏi 20. (L.O.3.2): Định nghĩa một cấu trúc C như sau:

MSSV: ........................................... Họ và tên SV: ..................................................................................................... Trang2/2


struct Foo
{
int x;
int array[100];
};
struct Foo f;
Hãy khởi tạo giá trị của x = 5____________, phần tử thứ 3 của mảng là 1000 ___________
Câu hỏi 21. Viết lệnh cấp phát động 10 ô nhớ kiểu dữ liệu số nguyên dùng con trỏ C.
________________________________________________________________________
Phần II:
Câu hỏi 22. (L.O.X.X): Đoạn chương trình sau xuất gì ra màn hình?
char letter = 'B', d; __________________________________
// mã ascci của 'B' ls2 66 __________________________________
// (int)'1' is 49 và (int)'2' là 50 __________________________________
//mã ascci của 'a' là 97 __________________________________
++letter;
printf(“%d ”, int(letter));
d = '1' + '2';
printf(“%d\n”, d);
Câu hỏi 23. (L.O.X.X): Đoạn chương trình sau xuất gì ra màn hình?
int number = 1; ____________________________
switch (number) { ____________________________
case 4: printf(“%s”, "Low!")); ____________________________
case 3: printf(“%s”, "Average!"); ____________________________
case 2: printf(“%s”,"Height!");
case 1: printf(“%s”, "Incredible!");

MSSV: ........................................... Họ và tên SV: ..................................................................................................... Trang3/2


default: printf(“%s”, "Too height!");
}
Câu hỏi 24. (L.O.X.X): Đoạn chương trình sau xuất gì ra màn hình?
#include<stdio.h> __________________________________
void main() { __________________________________
int a = 6, b = 6; __________________________________
if(a > 5) { __________________________________
a -= 1; b += 1; __________________________________
}
else {
a += 1; b -= 1;
}
printf( " a = %d", a );
printf( " b = %d", b);
}
Câu hỏi 25. (L.O.X.X): Giá trị cuối cùng của x là bao nhiều sau khi lệnh thực thi? ______
int x;
for(x = 0; x < 10; x++) { }
Câu hỏi 26. (L.O.X.X): Đoạn chương trình sau xuất gì ra màn hình?
#include <stdio.h>
int main()
{
int m = 1, d = 1, y = 2021;
printf("%2d/%2d/%2d\n",y,d,m);
return 0;
}
Câu hỏi 27. (L.O.3.2): Đoạn chương trình sau xuất gì ra màn hình?

MSSV: ........................................... Họ và tên SV: ..................................................................................................... Trang4/2


#include <stdio.h> ________________________
int main() { ________________________
int i=1, s=0; ________________________
do {
s+=5;
i++;
} while (i>4);
printf("s = %d ", s);
return 0;
}
Câu hỏi 28. (L.O.X.X): Viết lại hàm sau dưới dạng đệ quy.
void foo(int n) _________________________________
{ _________________________________
int i; _________________________________
i = n; _________________________________
while (i > 1) _________________________________
printf(“%d”, i--); _________________________________
} _________________________________
Câu hỏi 29. (L.O.X.X): Viết lại hàm sau dùng vòng lặp for:
void equation(){ _________________________________
double x = 0.2, y; _________________________________
do { _________________________________
y = 3 * pow(x, 2.0) + 2 * x - 2; _________________________________
printf(“%d\t%d”,x, y); _________________________________
x = x + 0.1; _________________________________
} while (x <= 1); _________________________________
} _________________________________

MSSV: ........................................... Họ và tên SV: ..................................................................................................... Trang5/2


Câu hỏi 30. (L.O.X.X): Giá trị của hàm funct3(12,7) là bao nhiêu? ___________________
int func3(int m, int n)
{
if (m < n)
return 0;
else
return 1 + func3(m-n, n);
}
Câu hỏi 31. (L.O.X.X): Thân vòng lặp sau thực thi bao nhiêu lần? ________________
for (int i = 0, j = 5; i <= j + 1; j+=2, j--) printf(“%d”, i);
Câu hỏi 32. (L.O.X.X): Cho chương trình
#include<stdio.h> int main()
void Test(int& a, int b) {
{ int x, y, z;
int x; x = 1; y = 2; z = 3;
x = a + 2; Test(y, x);
a = a * 3; printf(“%d %d %d”,x, y,z );
b = x + a; return 0;
} }

Chương trình xuất gì ra màn hình: _________________________________


Câu hỏi 33. (L.O.X.X) Chương trình sau xuất gì ra màn hình:
#include <stdio.h> _________________________________
int main () _________________________________
{ _________________________________
float first, second; _________________________________
float * p;

MSSV: ........................................... Họ và tên SV: ..................................................................................................... Trang6/2


p = &first;
*p = 10;
p = &second;
*p = 20.5 + first;
printf("first value is %.2f\n", first);
printf("second value is %.2f", second);
return 0;
}
Phần 3:
Câu hỏi 34. (L.O.X.X) Cho một mảng n số nguyên được nhập từ bàn phím từ 1 đến 5. Viết
chương trình xuất ra chỉ số mảng, giá trị, và biểu đồ sao. Công thức tính giá trị: 1 – x + x*x
Input: n = 4
Chỉ số Giá trị Biểu đồ
0 1 *
1 1 *
2 3 ***
3 7 *******
Câu hỏi 35. (L.O.X.X) Hiện thực hàm sinh ra n số nguyên tố.
void GeneratePrime(int n)
Input: n = 5
Output: {2,3,5,7}
Câu hỏi 36. (L.O.X.X). Hiện thực hàm sắp tăng các phần tử trong mảng
Void IncreaseArray(float A[], int n)
Câu hỏi 37. (L.O.X.X). Hiện thực hàm đếm các phần tử trong ma trận bằng với khóa k
int CountKeyMatrix(float A[100][100], int m, int n, int key)
Câu hỏi 38. (L.O.X.X). Hiện thực hàm kiểm tra ký tự có trong chuỗi không.
int InString (char S[], char c)
--- HẾT---
MSSV: ........................................... Họ và tên SV: ..................................................................................................... Trang7/2
MSSV: ........................................... Họ và tên SV: ..................................................................................................... Trang8/2

You might also like