Professional Documents
Culture Documents
thực hiện.
Đoạn code trên có cho ra đúng diện tích của hình chữ nhật không?
(2 Điểm)
Không đúng vì tính diện tích trước khi nhập giá trị chiều dài và chiều rộng.
Không đúng vì cách tính diện tích hình chữ nhật sai. Phải là area = length + width.
Không đúng vì chưa khởi tạo giá trị ban đầu cho chiều dài và chiều rộng.
Đúng kết quả.
5.Đoạn chương trình sau khi biên dịch rồi thực thi thì cho ra kết quả gì?
#include<stdio.h>
int main() {
int number;
number = 712;
printf("The value is ");
printf("number");
return 0;
}
(2 Điểm)
The value is number
The value is 712
Không biên dịch được do chương trình lỗi
The value is \n number
The value is \n 712
7.Nếu một biến có giá trị trong khoảng 32 tới 6,000 thì kiểu dữ liệu nào lưu trữ tốt nhất?
(2 Điểm)
long
long long
short
int
8.Nếu một biến có giá trị nguyên trong khoảng -40,000 đến +40,000 thì kiểu dữ liệu nào tốt
nhất?
(2 Điểm)
int
float
short
long long
9.Trong 2 kiểu dữ liệu số nguyên (int) và số nguyên không dấu (unsigned int) thì kiểu dữ liệu nào
tốn bộ nhớ hơn?
(2 Điểm)
Không có gì để so sánh 2 đứa này
Chúng chiếm bộ nhớ như nhau
int
unsigned int
10.Mã ASCII cho kí tự 'C' là gì?
(2 Điểm)
65
97
69
99
67
11.Câu lệnh sau đúng hay sai?
char letter = "Z";
(2 Điểm)
False
True
12.Kích thước của kiểu dữ liệu float?
(2 Điểm)
8 bytes
10 bytes
2 bytes
4 bytes
13.Các kiểu số nguyên đều tồn tại kiểu số nguyên không dấu như unsigned short, unsigned int,
unsigned long, unsigned long long. Vậy có tồn tại kiểu số thực không dấu (unsigned float)
không?
(2 Điểm)
Không
Có
14.Kết quả hiển thị lên màn hình của chương trình này là gì:
#include <stdio.h>
int main() {
float x = 5/2;
printf("%f", x);
return 0;
}
(2 Điểm)
2.000000
x = 2.5
2.5
2.500000
2
15.Câu lệnh sau đúng hay sai?
72 = amount;
(2 Điểm)
False
True
16.Kết quả hiển thị ra màn hình của chương trình sau là gì:
#include <stdio.h>
int main() {
int freeze = 32, boil = 212;
freeze = 0;
boil = 100;
printf("%d-%d", freeze, boil);
return 0;
}
(2 Điểm)
Chương trình bị lỗi không biên dịch được
0 100
32 212
0-100
32-212
17.Kết quả hiển thị của chương trình sau ra màn hình là gì?
#include <stdio.h>
int main() {
int x = 0, y = 2;
x = y * 4;
printf("%d %d", x, y);
return 0;
}
(2 Điểm)
24
82
02
Chương trình bị lỗi không biên dịch được
80
18.Kết quả hiển thị ra màn hình của chương trình sau là gì?
#include <stdio.h>
int main () {
int a, x = 23;
a = x % 2;
printf("%d %d", x, a);
return 0;
}
(2 Điểm)
23 11
0 23
23 0
Chương trình bị lỗi không biên dịch được
23 1
11 23
1 23
19.Mỗi khi kết thúc 1 câu lệnh trong C thì sử dụng:
(2 Điểm)
Dấu đóng ngoặc tròn )
Dấu đóng ngoặc móc }
Dấu đóng ngoặc vuông ]
Enter xuống dòng
Dấu chấm phẩy ;
20.Câu lệnh nào sau đây đúng?
(2 Điểm)
#include {stdio.h}
#include <stdio.h>
Tất cả các câu đều đúng
#include (stdio.h)
#include [stdio.h]
21.Mỗi chương trình C bắt buộc phải có:
(2 Điểm)
Hàm main
Câu lệnh #include
Câu lệnh printf
Tất cả các ý đều đúng
22.Một khối lệnh được bọc bởi:
(2 Điểm)
Dấu ngoặc nhọn < >
Dấu ngoặc móc { }
Tất cả các ý đều đúng
Dấu ngoặc tròn ( )
23.Câu lệnh gán nào sau đây không hợp lệ?
(2 Điểm)
letter = 'W';
total = 9;
72 = amount;
profit = 129
24.Một hằng số được đặt tên giống như biến, nhưng giá trị của nó chỉ được đọc (read-only) và
không thể thay đổi giá trị trong suốt quá trình thực thi chương trình.
(2 Điểm)
True
False
25.Có nhiều lỗi xuất hiện trong đoạn chương trình sau. Chọn các lỗi xảy ra ở:
1. */ Chuong trinh gi build hoai ko duoc? /*
2. #include stdio.h
3. int main();
4. }
5. int a, b, c \\ 3 so nguyen
6. a = 3
7. b = 4
8. c = a + b
9. Printf("Gia tri cua c la", c);
10. return 0;
11. {
(2 Điểm)
Không có hàm nhập scanf
Dòng 1
Dòng 2
Dòng 3
Dòng 4
Dòng 5
Dòng 6
Dòng 7
Dòng 8
Dòng 9
Dòng 10
Dòng 11
26.File header phải thêm vào (include) chương trình khi sử dụng printf và scanf là gì?
(2 Điểm)
stdio.h
Không cần thêm gì, chương trình mặc định có sẵn
studio.h
math.h
conio.h
27.Giá trị biến value là một biến số nguyên. Nếu người dùng nhập vào 3.14 theo câu
lệnh scanf("%d", &value); thì giá trị được lưu trong biến value là gì?
(2 Điểm)
Chương trình báo lỗi.
0
3
3.14
28.Kết quả của phép tính sau là gì?
4 + 17 % 2 - 1
(2 Điểm)
9
11
0
4
3
29.Biểu thức sau tương đương với:
ketqua *= x + 5;
(2 Điểm)
ketqua = ketqua * x + 5;
Không cái nào đúng.
ketqua = ketqua * (x + 5);
30.Những cách thể hiện giá trị nào sau đây cùng có giá trị là 720.
(2 Điểm)
720.4444
7.20+e2
7.20 * 10
7.2e+2
(int) 720.4444
(float) 7.20
720.000000
720.0
+720.0
31.Câu lệnh nào sau đây cho khuôn in số thực float x với 8 khoảng để viết phần nguyên và 2
khoảng để viết phần thực?
(2 Điểm)
printf("%11.2f", x);
printf("%10f", x);
printf("%8.2f", x);
printf("%10.2f", x);
32.2 câu lệnh if/else sau cho ra cùng kết quả.
A.
if (x > y)
printf("x lon hon y.\n");
else
printf("x khong lon hon y.\n");
B.
if (y <= x)
printf("x khong lon hon y.\n");
else
printf("x lon hon y.\n");
(2 Điểm)
True
False
33.Kết quả hiện thị ra màn hình của chương trình sau là gì?
#include <stdio.h>
int main() {
int x = 0, y = 10;
printf("x = %d va y = %d\n", x, y);
if (x > y);
printf("x lon hon y");
return 0;
}
(2 Điểm)
x = 0 va y = 10
Chương trình lỗi không biên dịch được
x = 0 va y = 10
34.2 câu lệnh sau có như nhau không?
if (value == 20)
rate *= 0.5;
if (value = 20)
rate = rate * 0.5;
(2 Điểm)
False
True
35.Kết quả của chương trình sau là gì?
#include<stdio.h>
int main(){
float diem = 9.5;
if(diem > 8.5)
printf("Diem theo thang 4 là 4.0");
printf("Phan loai diem A");
return 0;
}
(2 Điểm)
Diem theo thang 4 là 4.0
Chương trình lỗi không biên dịch được
Diem theo thang 4 là 4.0Phan loai diem A
36.Đoạn code sau hiển thị kết quả như thế nào?
int x = 7, y = 15;
x = y % 2;
if (x != 1)
{
x = 0;
y = 0;
} else if (x == 2)
{
x = 10;
y = 10;
}
else
{
x = 1;
y = 1;
}
printf("%d%d", x, y);
(2 Điểm)
11
11
1010
00
715
00
1 15
7 15
115
37.Có thể chuyển đổi đoạn code sau từ if/else sang switch case
if (temp == 100)
x = 0;
else if (population > 1000)
x = 1;
else if (rate < .1)
x = −1;
(2 Điểm)
True
False
38.Nếu temp = -16 thì kết quả đoạn chương trình như thế nào?
switch (temp)
{
case temp < 0 : printf("Temp la so am."); break;
case temp == 0: printf("Temp la so khong."); break;
case temp > 0 : printf("Temp la so duong."); break;
}
(2 Điểm)
Temp la so am.Temp la so khong.Temp la so duong.
Temp la so am.
Đoạn chương trình switch case lỗi.
40.Một sinh viên chuyển đổi đoạn code sử dụng vòng lặp while sang vòng lặp do-while sau
đúng hay không?
Đoạn code ban đầu:
int x=1;
while (x>0){
printf("Nhap 1 so nguyen: ");
scanf("%d", &x);
}
(2 Điểm)
True
False
41.Số 2021 ở dạng thập phân khi chuyển sang thập lục phân có giá trị là bao nhiêu?
(2 Điểm)
7F5
7E5
8E5
7E6
(2 Điểm)
Biên dịch được nhưng gặp lỗi trong quá trình chạy
20
Biên dịch lỗi
30
(2 Điểm)
20
30
Biên dịch chạy được nhưng gặp lỗi trong quá trình chạy
Biên dịch lỗi
44.Cờ nào được sử dụng truyền vào hàm fopen để ghi thêm vào cuối file đã tồn tại thay vì tạo
mới file?
(2 Điểm)
r
w
W+
a
46.Trước khi đọc hoặc ghi file trong C, bạn cần làm gì?
(2 Điểm)
Sử dụng hàm fprintf
Tạo file
Gọi hàm fopen cho file
Gọi hàm fclose cho file
47.Sử dụng đối tượng nào sau đây để biểu diễn một file trong C?
(2 Điểm)
fopen
printf
fprintf
FILE *
(2 Điểm)
gnirts
gnirt
string
Không in ra gì hết
49.Trong đoạn chương trình dưới, cần thay chỗ dấu chấm hỏi "?" thành gì để chương trình in ra
được "BachKhoa";
#include <stdio.h>
int main()
{
char arr[] = "DaiHocBachKhoa";
printf("%s", ?);
return 0;
}
(2 Điểm)
arr
(arr+5)
Không thể được, nên không có câu nào đúng
(arr+6)
(2 Điểm)
str1 la DaiHoc, str2 la DaiHoc
str1 la DaiHoc, str2 la BachKhoa
str1 la BachKhoa, str2 la BachKhoa
str1 la BachKhoa, str2 la DaiHoc
52.Cho đoạn code sau. Hàm myStrCat sẽ nối 2 chuỗi ký tự, tức là nối chuỗi b vào cuối chuỗi a.
Kết quả mong đợi của chương trình là "Dai Hoc Bach Khoa". Chương trình sau biên dịch được
nhưng khi chạy thì bị lỗi (return giá trị khác 0). Thay đổi nào sau đây có thể sửa đúng để chương
trình có thể in ra "Dai Hoc Bach Khoa".
#include <stdio.h>
void myStrcat(char *a, char *b) {
int m = strlen(a);
int n = strlen(b);
int i;
for (i = 0; i <= n; i++)
a[m+i] = b[i];
}
int main() {
char *str1 = "Dai Hoc ";
char *str2 = "Bach Khoa";
myStrcat(str1, str2);
printf("%s ", str1);
return 0;
}
(2 Điểm)
char *str1 = "Dai Hoc "; có thể sửa thành char str1[100] = "Dai Hoc";
Thêm một dòng code a[m+n-1] = '\0'; vào cuối hàm myStrcat
Thêm một dòng code a = (char *)malloc(sizeof(char)*(strlen(a) + strlen(b) + 1)); vào đầu hàm
myStrcat
char *str1 = "Dai Hoc "; có thể sửa thành char str1[100] = "Dai Hoc "; và thêm một dòng code
a[m+n-1] = '\0'; vào cuối hàm myStrcat
53.
Kích thước dữ liệu của 'Q' và "Q" là khác nhau. Trong khi 'Q' có kích thước 1 byte thì "Q" lại có
kích thước 2 bytes.
(2 Điểm)
True
False
54
.Đoạn chương trình sau làm gì?
int table[10], x;
for (x = 0; x < 20; x++) {
printf("Nhap phan tu tiep theo: ");
scanf("%d", &x[i]);
}
(2 Điểm)
Đoạn chương trình lỗi không biên dịch được
Xuất các phần tử của mảng table
Đoạn chương trình biên dịch chạy được nhưng bị lỗi trong quá trình chạy
Nhập các phần tử của mảng table
55.
Đoạn code sau cộng tổng của 2 mảng numberArray1 và numberArray2. Cả 2 mảng đều có 25
phần tử. Đoạn code sau có in ra chính xác tổng của 2 mảng không?
int total = 0;
int count;
for (count = 0; count < 24; count++)
total += numberArray1[count];
printf("Tong cac phan tu cua mang numberArray1 la: %d", total);