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
Kết quả của chương trình sau là gì :
#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
Độ ưu tiên đối với các toán tử logic là:
AND, NOT, OR
NOT, OR, AND
OR, NOT, AND
NOT, AND, OR
Kết quả của chương trình sau là gì
#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
Giả sử trong ngôn ngữ C sử dụng khai báo “double a[12]”, phần tử a[7] là phần tử thứ bao nhiêu trong mảng a:
Thứ 6
Thứ 7
Thứ 8
Thứ 9
Kết quả của chương trình sau là gì
#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
Kết quả chương trình sau là gì:
#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
Phát biểu nào sau đây không phài là lợi ích của việc dùng hàm
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
Khai báo các biến: int m,n; float x,y; Lệnh nào sai :
n=5 ;
x=10 ;
y=12.5 ;
m=2.5 ;
Kết quả in ra màn hình của chương trình sau:
#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”
Kết quả in ra màn hình của chương trình sau:
#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
Kết quả in ra màn hình của biểu thức sau là gì: -3+4%5/2
-1
-3
1
Kết quả khác
Có các khai báo sau: int x=15; int *p; Muốn p là con trỏ trỏ tới x phải thực hiện lệnh nào
p=x;
p=&x;
p=*x;
Tất cả các lệnh đều đúng
Nếu có các khai báo sau. Câu nào sau đây sẽ là đúng:
char msg[10];
char value;
msg[2]=value;
msg=value;
Cả hai câu trên
Không câu nào đúng
Nếu có các khai báo sau. Câu nào sau đây là đúng:
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
Kí hiệu nào là con trỏ của phẩn tử thứ 3 của màng a có 4 kí tự:
*(a+3);
*(a+2);
*a+3;
*(a+4);
Cho các khai báo sau. Phép gán nào là không hợp lệ:
void * tongquat;
int * nguyen;
char * kitu;
tongquat=nguyen;
*nguyen=*tongquat;
kitu=(char)tongquat;
tongquat=kitu;
Cho biết kết quả của đoạn chương trình sau:int p = 4;
p = 10 + ++p;
14
15
16
17
Có các khai báo sau. Trong các câu lệnh sau, câu nào đúng:
char tb, mang[15];
tb=”chào bạn”;
gets(mang);
mang=”chao ban”;
gets(tb);
Phép cộng 1 con trỏ với một số nuyên sẽ là
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
Phép trừ 2 con trỏ có cùng kiểu sẽ là
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
Phép toán 1 ngôi nào dùng để xác định địa chỉ của đối tượng mà con trỏ chỉ tới:
*;
!;
&;
Kết quả khác
Sự hiệu chỉnh các kiểu dữ liệu số học khi tính toán là:
int -> long -> float -> double -> long double
int -> float -> long -> double -> long double
int -> double -> float ->long -> long double
long -> int -> float -> double -> long double
Cho đoạn chương trình sau. Giả sử khi chạy chương trình ta gõ từ bản
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
Khi khai báo mảng, ta khởi tạo luôn giá trị của mảng như sau: int x[3]={4,2,6}; Nghĩa là:
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
Khi biến con trỏ không chứa bất kì một địa chỉ nào thì giá trị của nó sẽ là:
0
NULL
Cả hai phương án trên đều đúng
Cả hai phương án trên đều sai
Các kí hiệu đặc trưng cho sự tác động lên dữ liệu gọi là
Hàm
Biểu thức
Biến
Toán tử
Kết quả của chương trình sau là gì:
#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
Kết quả của chương trình sau là gì:
#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
Những phát biểu nào sau đây là đúng
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
Kết quả của chương trình sau là gì:
#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
Kết quả của chương trình sau là gì:
#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
Kết quả của chương trình sau là gì:
#include <stdio.h>
void main() {
printf(“ % d”, 3 < 2 || 6);
}
True
0
1
Kết quả khác
Cái gì quyết định kích thước của vùng nhớ được cấp phát cho các biến:
Tên biến
Kiểu dữ liệu của biến
Giá trị của biến
Tất cả đều đúng
Kết quả của chương trình sau là gì?
#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
Kết quả của chương trình sau là gì?
#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
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:
break;
continue;
goto;
Không có phương án nào
Trong các hàm sau, hàm nào không định dạng để in một kí tự ra màn hình:
puts();
printf();
putchar();
2 và 3
Khi nhập vào đòng văn bản: “Chao Cac Ban”. Kết quả của chương trình
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ì
Kết quả của chương trình sau là gì:
#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
Lệnh fflush(stdin) dùng để làm gì?
Đọ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
Kết quả của đoạn chương trình sau là gì, nếu gõ vào : ”10 T”.
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
Kết quả in ra màn hình của chương trình sau:
#include <stdio.h>
void main() {
int i = 100;
printf(“ % c”, i);
};
“d”
“D”
“100”
Kết quả khác
Hằng có thể được định nghĩa theo cách nào?
#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
Hàm gotoxy(int x, int y) là hàm:
Đặ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
Kết quả của chương trình sau là gì?
#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
Kết quả của chương trình sau là gì?
#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
Phép toán % có ý nghĩa gì?
Đổ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
Hàm clrscr() là hàm gì?
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ỏ
Kết quả của đoạn chương trình sau là gì? Nếu gõ vào: “r 45”.
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
Kết quả của đoạn chương trình sau là gì? Nếu gõ vào: “r 45”.
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




