320 Câu hỏi trắc nghiệm lập trình C có đáp án - Phần 2
50 câu hỏi
#include <stdio.h>
void main() {
int i, j;
for (i = 1; i < 4; i++)
j = i;
printf(“ % 3 d”, j);
};
“ 1 2 3 4”
“ 4”
“ 3”
Kết quả khác
Chọn đáp án C
AND, NOT, OR
NOT, OR, AND
OR, NOT, AND
NOT, AND, OR
Chọn đáp án D
#include <stdio.h>
void main() {
int a = 40, b = 4;
while (a != b)
if (a > b) a = a - b;
else b = b - a;
printf(“ % d”, a);
};
2
16
4
Kết quả khác
Chọn đáp án C
Thứ 6
Thứ 7
Thứ 8
Thứ 9
Chọn đáp án C
#include <stdio.h>
void hoanvi(int * px, int * py) {
int z;
z = * px;
* px = * py;
* py = z;
};
void main() {
int a = 15, b = 21;
hoanvi(a, b);
printf(“ % d % d”, a, b);
};
“15 21”
“21 15”
Báo lỗi khi thực hiện chương trình
Kết quả khác
Chọn đáp án B
#include <stdio.h>
void hoanvi(int px, int py) {
int pz;
pz = px;
px = py;
py = pz;
};
void main() {
int a = 15, b = 21;
hoanvi(a, b);
printf(“ % d % d”, a, b);
};
“21 15”
“15 21”
Báo lỗi khi thực hiện chương trình
Kết quả khác
Chọn đáp án B
Tránh dư thừa, lặp lại nhiều lần một đoạn lệnh
Dễ bảo trì
Khả năng sử dụng lại đoạn lệnh
Tất cả đều sai
Chọn đáp án D
n=5 ;
x=10 ;
y=12.5 ;
m=2.5 ;
Chọn đáp án D
#include <stdio.h >
void main() {
char * s;
s = ”chao cac ban”;
strcpy( & s[5], & s[9]);
printf(“ % s”, s);
};
“chao”
“chao cac”
“chao ban”
“chao cac ban”
Chọn đáp án C
#include <stdio.h>
void main() {
int a = 100, b = 6;
double f;
f = (double) a / (double) b;
printf(“ % 2.2 f”, f);
};
“16”
“16.00”
“16.67”
Kết quả khác
Chọn đáp án C
-1
-3
1
Kết quả khác
Chọn đáp án A
p=x;
p=&x;
p=*x;
Tất cả các lệnh đều đúng
Chọn đáp án B
char msg[10];
char value;
msg[2]=value;
msg=value;
Cả hai câu trên
Không câu nào đúng
Chọn đáp án A
char msg[10];
char * ptr;
char value;
ptr=value;
ptr=msg;
Cả hai câu trên đều đúng
Cả hai câu trên đều sai
Chọn đáp án B
*(a+3);
*(a+2);
*a+3;
*(a+4);
Chọn đáp án B
void * tongquat;
int * nguyen;
char * kitu;
tongquat=nguyen;
*nguyen=*tongquat;
kitu=(char)tongquat;
tongquat=kitu;
Chọn đáp án B
p = 10 + ++p;
14
15
16
17
Chọn đáp án B
char tb, mang[15];
tb=”chào bạn”;
gets(mang);
mang=”chao ban”;
gets(tb);
Chọn đáp án B
Một con trỏ có cùng kiểu
Một số nguyên
Cả hai kết quả đều đúng
Cả hai kết quả đều sai
Chọn đáp án A
Một con trỏ có cùng kiểu
Một số nguyên
Kết quả khác
Không thực hiện được
Chọn đáp án B
*;
!;
&;
Kết quả khác
Chọn đáp án C
int -> long -> float -> double -> long double
int -> float -> long -> double -> long double
int -> double -> float ->long -> long double
long -> int -> float -> double -> long double
Chọn đáp án A
phím: “29h b”. Kết quả in ra n và c tương ứng sẽ là:
#include <stdio.h>
void main() {
char c;
int n;
scanf(“ % d % c”, & n, & c);
printf(“ % 3 d % c”, n, c);
};
“ 29b”
“ 29h b”
“ 29h”
Kết quả khác
Chọn đáp án C
x[1]=4, x[2]=2, x[3]=6
x[0]=4, x[1]=2, x[2]=6;
Khai báo không đúng
Kết quả khác
Chọn đáp án B
0
NULL
Cả hai phương án trên đều đúng
Cả hai phương án trên đều sai
Chọn đáp án C
Hàm
Biểu thức
Biến
Toán tử
Chọn đáp án D
#include <stdio.h>
void main() {
int x, * p;
x = 3;
x = 6;
p = & x;
* p = 9;
printf(“ % d”, x);
printf(“ % d”, * p);
printf(“ % d”, x);
}
“369”
“696”
“999”
Kết quả khác
Chọn đáp án C
#include <stdio.h>
int change(int a) {
a = 10;
return a;
};
void main() {
int a = 5;
change(i);
printf(“ % d”, i);
};
5
10
0
Báo lỗi khi thực hiện chương trình
Chọn đáp án A
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 đó
Lưu đồ có thể có nhiều điểm bắt đầu và kết thức
Kiểu kí tự chứa một kí tự nằm trong dấu nháy kép
Trong các lệnh if lồng nhau, else thuộc về if phía trước gần nó nhất
Chọn đáp án D
#include <stdio.h>
int change(int * a) {
* a = 10;
return *a;
};
void main() {
int i = 5;
change( & i);
printf(“ % d”, i);
}
5
10
0
Báo lỗi khi thực hiện xây dựng chương trình
Chọn đáp án B
#include <stdio.h>
void main() {
int x, * p;
x = 6;
p = & x;
printf(“ % d”, x);
printf(“ % d”, * p);
};
69
66
Lỗi khi xây dựng chương trình
Kết quả khác
Chọn đáp án B
#include <stdio.h>
void main() {
printf(“ % d”, 3 < 2 || 6);
}
True
0
1
Kết quả khác
Chọn đáp án C
Tên biến
Kiểu dữ liệu của biến
Giá trị của biến
Tất cả đều đúng
Chọn đáp án B
#include <stdio.h>
void main() {
int i, k;
for (i = 1;; i++) k = 5;
printf(“ % d”, i);
};
0
5
Vòng lặp vô hạn
Kết quả khác
Chọn đáp án C
#include <stdio.h>
void main() {
int i = 1, k = 0;
for (; i < 5; i++) k++;
printf(“ % d”, k);
}
0
4
5
Vòng lặp vô hạn
Chọn đáp án B
break;
continue;
goto;
Không có phương án nào
Chọn đáp án C
puts();
printf();
putchar();
2 và 3
Chọn đáp án C
sau là gì:
#include <stdio.h>
#include <conio.h>
int main() {
clrscr();
char str[80];
fflush(stdin);
scanf(“ % s”, str);
cprintf(“Dong van ban vua nhap la: % s”, str);
getch();
return 0;
}
“Chao Cac Ban”
“Chao Cac”
“Chao”
Không hiện kết quả gì
Chọn đáp án C
#include <stdio.h>
#include <conio.h>
void main() {
clrscr();
int i;
for (i = 1; i <= 24; i++);
printf(“\n % d”, i);
getch();
return;
}
In ra màn hình các số từ 1 đến 24
Lỗi khi xây dựng chương trình
Kết quả khác
In ra màn hình các số từ 1 đến 24, mỗi số một dòng
Chọn đáp án C
Đọc kí tự từ bàn phím
Xóa sạch bộ nhớ đệm
Xóa bộ nhớ đệm
Kết quả khác
Chọn đáp án B
char c;
int n;
scanf(“ % d % c”, & n, & c);
n=10, c=’ ‘
Lỗi khi xây dựng chương trình
n=10, c=’T’
Kết quả khác
Chọn đáp án A
#include <stdio.h>
void main() {
int i = 100;
printf(“ % c”, i);
};
“d”
“D”
“100”
Kết quả khác
Chọn đáp án A
#define <indentifier> string
const tên_kiểu tên_biến_hằng = giá trị;
Không có cách định nghĩa chung
1 và 2
Chọn đáp án D
Đặt con trỏ tại dòng x, cột y
Đặt con trỏ tại cột x, dòng y
Lưu dữ tọa độ của con trỏ màn hình cột x, dòng y
Lưu dữ tọa độ của con trỏ màn hình dòng x, cột y
Chọn đáp án B
#include <stdio.h>
#include <conio.h>
float x[] = {
63.2,
-45.6,
70.1,
3.6,
14.5
};
int n = sizeof(x) / sizeof(float);
void main() {
clrscr();
int i, j;
floar c;
for (i = 0, j = n - 1; i < j; i++, j--); {
c = x[i];
x[i] = x[j];
x[j] = c;
};
printf(“\nDay ket qua la: \n”);
for (i = 0; i < n; i++)
printf(“ % 8.2 f”, x[i]);
getch();
return;
};
Dãy kết quả là: 63.20, -45.60, 70.10, 3.60, 14.50
Dãy kết quả là : 14.50, 3.60, 70.10, -45.60, 63.20
Kết quả khác
1 và 2
Chọn đáp án A
#include <stdio.h>
#include <conio.h>
#include <ctype.h>
#define EOL‘\ n’
void main() {
clrscr();
char chu[80];
int tong, dem;
for (dem = 0; dem < tong; dem++);
tong = dem;
for (dem = 0; dem < tong; ++dem)
putchar(toupper(chu[dem]));
getch();
return;
}
Nhập vào một kí tự thường, sau đó chuyển sang chữ hoa rồi in ra màn hình.
Nhập một kí tự hoa, sau đó chuyển sang chữ thường rồi in ra màn hình.
1 và 2
Kết quả khác
Chọn đáp án D
Đổi dấu một số thực hoặc một số nguyên
Chia hai số thực hoặc nguyên
Lấy phần dư của phép chia hai số nguyên
1 và 2
Chọn đáp án C
Là hàm xóa toàn bộ màn hình, sau khi xóa, con trỏ sẽ ở bên trái màn hình
Dùng để xóa sạch bộ nhớ đệm bàn phím
Là hàm xóa kí tự nằm bên trái con trỏ
Là hàm xóa kí tự nằm bên phải con trỏ
Chọn đáp án A
char c;
int n;
scanf(“ % c % d”, & n, & c);
n=45, c=’ ‘
n=45, c=’r’
Lỗi khi xây dựng chương trình
Kết quả khác
Chọn đáp án D
char c;
int n;
scanf(“ % c % d”, & n, & c);
n=45, c=’ ‘
n=45, c=’r’
Lỗi khi xây dựng chương trình
Kết quả khác
Chọn đáp án D




