Trang chủ Đề thi & kiểm tra Khác 250 Câu hỏi trắc nghiệm lập trình C có đáp án !!

250 Câu hỏi trắc nghiệm lập trình C có đáp án !!

Câu 1 :
Ngôn ngữ lập trình C được Dennish phát triển dựa trên ngôn ngữ lập trình nào?

A. Ngôn ngữ B

B. Ngôn ngữ BCPL

C. Ngôn ngữ DEC PDP

D. Ngôn ngữ B và BCPL

Câu 3 :
Ngôn ngữ lập trình nào dưới đây là ngôn ngữ lập trình có cấu trúc?

A. Ngôn ngữ Assembler

B. Ngôn ngữ C và Pascal

C. Ngôn ngữ Cobol.

D. a, b và c

Câu 5 :
Một biến được gọi là biến toàn cục nếu

A. Nó được khai báo tất cả các hàm, ngoại trừ hàm main()

B. Nó được khai báo ngoài tất cả các hàm kể cả hàm main()

C. Nó được khai báo bên ngoài hàm main()

D. Nó được khai báo bên trong hàm main()

Câu 6 :
Một biến được gọi là một biến địa phương nếu

A. Nó được khai báo bên trong các hàm hoặc thủ tục, kể cả hàm main()

B. Nó đươc khai báo bên trong các hàm ngoại trừ hàm main()

C. Nó được khai báo bên trong hàm main()

D. Nó được khai báo bên ngoài các hàm kể cả hàm main()

Câu 7 :
Nếu x là một biến toàn cục và x không phải là một con trỏ thì

A. Miền nhớ dành cho x có thể thay đổi trong quá trình thực hiện chương trình

B. Miền nhớ dành cho x chỉ có thay đổi bởi những thao tác với x bên trong hàm main()

C. Miền nhớ dành cho x sẽ thay đổi bởi những thao tác với x trong tất cả các hàm, kể cả hàm main()

D. Miền nhớ giành cho x không bị thay đổi trong quá trình thực hiện chương trình

Câu 8 :
Kiểu dữ liệu nào dưới đây được coi là kiểu dữ liệu cơ bản trong ngôn ngữ lập trình C

A. Kiểu double

B. Kiểu con trỏ

C. Kiểu hợp

D. Kiểu mảng

Câu 11 :
Xâu định dạng nào dưới đây dùng để in ra một số nguyên hệ 16

A. “%d”

B. “%x”

C. “%i”

D. “%u”

Câu 12 :
Xâu định dạng nào dưới đây dùng để in ra một số nguyên ở hệ 8

A. “%ld”

B. “%x”

C. “%o”

D. “%u”

Câu 13 :
Xâu định dạng nào dưới đây dùng để in ra một kí tự

A. “%f”

B. “%x”

C. “%s”

D. “%c”

Câu 14 :
Xâu định dạng nào dưới đây dùng để in ra một xâu kí tự

A. “%f"

B. “%x”

C. “%s”

D. “%c”

Câu 15 :
Xâu định dạng nào dưới đây dùng để in ra một số nguyên dài

A. “%ld”

B. “%x”

C. “%d”

D. “%o”

Câu 17 :
Xâu định dạng nào dưới đây dùng để in ra một số nguyên

A. “%u”

B. “%e”

C. “%d”

D. “%p

Câu 23 :
Cho a=3, b=2. Biến c=(a<<=b) sẽ có giá trị nào dưới đây

A. c=9

B. c=12. [ c =(a = (a<<=b)) = (a= a.2b)]

C. c=8

D. c=6

Câu 27 :
Sử dụng cách truyền nào trong hàm sẽ không làm thay đổi giá trị của biến trong chương trình chính

A. Truyền bằng trị

B. Truyền bằng giá trị địa chỉ của tham số

C. Cả a và b đều đúng

D. Cả a và b đều sai

Câu 28 :
Cho biết giá trị của biểu thức 5>1

A. -1

B. 0

C. 1

D. Tất cả đều sai

Câu 29 :
Cho biết giá trị của biểu thức 2+4>2&&4<2

A. 1

B. 0

C. -1

D. Tất cả đều sai

Câu 30 :
Biến con trỏ có thể chứa

A. Địa chỉ vùng nhớ của một biến khác

B. Giá trị của một biến khác

C. Cả a và b đều đúng

D. Cả a và b đều sai

Câu 31 :
Dữ liệu kí tự bao gồm

A. Các kí tự số chữ số

B. Các kí tự chữ cái

C. Các kí tự đặc biệt

D. Cả a,b và c

Câu 32 :
Nếu hàm được gọi trước khi nó định nghĩa thì điều kiện là gì

A. Kiểu trả về của hàm phải là kiều void

B. Kiểu đầu vào của hàm phải là kiểu void

C. Trước khi gọi hàm nó phải được khai báo

D. Hàm chỉ trả về kiểu dữ liệu boolean

Câu 33 :
Kiểu dữ liệu float có thể xử lí dữ liệu trong phạm vi nào

A. 3.4*10-38 đến 3.4*1038

B. -32768 đến 32767

C. -128 đến 127

D. 0…65535

Câu 41 :
Dạng tổng quát của hàm printf() là: printf(“dãy mã quy cách”, dãy mã biểu thức); Trong đó, dãy mã quy cách sẽ là:

A. Dãy các mã định dạng dữ liệu hiển thị

B. Con trỏ của xâu kí tự

C. Các xâu kí tự mang tính chất thông báo

D. Cả 3 phương án trên

Câu 48 :
Lệnh nào trong các lệnh sau cho phép dừng câu lệnh điều khiển

A. break

B. goto

C. continue

D. Cả 3 phương án trên

Câu 49 :
Trong ngôn ngữ C, khai báo “int array[3][5]” có nghĩa là

A. Các phần tử của mảng là các số nguyên

B. Là một mảng hai chiều tối đa là 15 phần tử và mỗi phần tử là một số nguyên

C. array[3][5] là một phần tử của mảng

D. Tất cả đều sai

Câu 50 :
Tìm lỗi sai trong chương trình sau (in ra kết quả là tổng của 453 và
343):
#include <stdio.h>
void main() {
int sum;
sum = 453 + 343
printf(“\Ket qua la: “sum);
};

A. Thiếu dấu chấm phẩy(;)

B. Thiếu dấu phẩy (,)

C. Thiếu kí tự đặc tả

D. Cả 3 ý trên

Câu 52 :
Độ ưu tiên đối với các toán tử logic là:

A. AND, NOT, OR

B. NOT, OR, AND

C. OR, NOT, AND

D. NOT, AND, OR

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

A. Tránh dư thừa, lặp lại nhiều lần một đoạn lệnh

B. Dễ bảo trì

C. Khả năng sử dụng lại đoạn lệnh

D. Tất cả đều sai

Câu 58 :
Khai báo các biến: int m,n; float x,y; Lệnh nào sai :

A. n=5 ;

B. x=10 ;

C. y=12.5 ;

D. m=2.5 ;

Câu 61 :
Kết quả in ra màn hình của biểu thức sau là gì: -3+4%5/2

A. -1

B. -3

C. 1

D. Kết quả khác

Câu 62 :
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

A. p=x;

B. p=&x;

C. p=*x;

D. Tất cả các lệnh đều đúng

Câu 63 :
Nếu có các khai báo sau. Câu nào sau đây sẽ là đúng:
char msg[10];
char value;

A. msg[2]=value;

B. msg=value;

C. Cả hai câu trên

D. Không câu nào đúng

Câu 64 :
Nếu có các khai báo sau. Câu nào sau đây là đúng:
char msg[10];
char * ptr;
char value;

A. ptr=value;

B. ptr=msg;

C. Cả hai câu trên đều đúng

D. Cả hai câu trên đều sai

Câu 66 :
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;

A. tongquat=nguyen;

B. *nguyen=*tongquat;

C. kitu=(char)tongquat;

D. tongquat=kitu;

Câu 68 :
Có các khai báo sau. Trong các câu lệnh sau, câu nào đúng:
char tb, mang[15];

A. tb=”chào bạn”;

B. gets(mang);

C. mang=”chao ban”;

D. gets(tb);

Câu 69 :
Phép cộng 1 con trỏ với một số nuyên sẽ là

A. Một con trỏ có cùng kiểu

B. Một số nguyên

C. Cả hai kết quả đều đúng

D. Cả hai kết quả đều sai

Câu 70 :
Phép trừ 2 con trỏ có cùng kiểu sẽ là

A. Một con trỏ có cùng kiểu

B. Một số nguyên

C. Kết quả khác

D. Không thực hiện được

Câu 72 :
Sự hiệu chỉnh các kiểu dữ liệu số học khi tính toán là:

A. int -> long -> float -> double -> long double

B. int -> float -> long -> double -> long double

C. int -> double -> float ->long -> long double

D. long -> int -> float -> double -> long double

Câu 74 :
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à:

A. x[1]=4, x[2]=2, x[3]=6

B. x[0]=4, x[1]=2, x[2]=6;

C. Khai báo không đúng

D. Kết quả khác

Câu 75 :
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à:

A. 0

B. NULL

C. Cả hai phương án trên đều đúng

D. Cả hai phương án trên đều sai

Câu 76 :
Các kí hiệu đặc trưng cho sự tác động lên dữ liệu gọi là

A. Hàm

B. Biểu thức

C. Biến

D. Toán tử

Câu 79 :
Những phát biểu nào sau đây là đúng

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 đó

B. Lưu đồ có thể có nhiều điểm bắt đầu và kết thức

C. Kiểu kí tự chứa một kí tự nằm trong dấu nháy kép

D. Trong các lệnh if lồng nhau, else thuộc về if phía trước gần nó nhất

Câu 83 :
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:

A. Tên biến

B. Kiểu dữ liệu của biến

C. Giá trị của biến

D. Tất cả đều đúng

Câu 89 :
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;
}

A. In ra màn hình các số từ 1 đến 24

B. Lỗi khi xây dựng chương trình

C. Kết quả khác

D. In ra màn hình các số từ 1 đến 24, mỗi số một dòng

Câu 90 :
Lệnh fflush(stdin) dùng để làm gì?

A. Đọc kí tự từ bàn phím

B. Xóa sạch bộ nhớ đệm

C. Xóa bộ nhớ đệm

D. Kết quả khác

Câu 91 :
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);

A. n=10, c=’ ‘

B. Lỗi khi xây dựng chương trình

C. n=10, c=’T’

D. Kết quả khác

Câu 93 :
Hằng có thể được định nghĩa theo cách nào?

A. #define <indentifier> string

B. const tên_kiểu tên_biến_hằng = giá trị;

C. Không có cách định nghĩa chung

D. 1 và 2

Câu 94 :
Hàm gotoxy(int x, int y) là hàm:

A. Đặt con trỏ tại dòng x, cột y

B. Đặt con trỏ tại cột x, dòng y

C. Lưu dữ tọa độ của con trỏ màn hình cột x, dòng y

D. Lưu dữ tọa độ của con trỏ màn hình dòng x, cột y

Câu 96 :
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;
}

A. Nhập vào một kí tự thường, sau đó chuyển sang chữ hoa rồi in ra màn hình.

B. Nhập một kí tự hoa, sau đó chuyển sang chữ thường rồi in ra màn hình.

C. 1 và 2

D. Kết quả khác

Câu 97 :
Phép toán % có ý nghĩa gì?

A. Đổi dấu một số thực hoặc một số nguyên

B. Chia hai số thực hoặc nguyên

C. Lấy phần dư của phép chia hai số nguyên

D. 1 và 2

Câu 98 :
Hàm clrscr() là hàm gì?

A. 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

B. Dùng để xóa sạch bộ nhớ đệm bàn phím

C. Là hàm xóa kí tự nằm bên trái con trỏ

D. Là hàm xóa kí tự nằm bên phải con trỏ

Câu 99 :
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);

A. n=45, c=’ ‘

B. n=45, c=’r’

C. Lỗi khi xây dựng chương trình

D. Kết quả khác

Câu 100 :
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);

A. n=45, c=’ ‘

B. n=45, c=’r’

C. Lỗi khi xây dựng chương trình

D. Kết quả khác

Câu 101 :
Hàm scanf(“%[^\n]”,str); tương với lệnh nào sau đây

A. getch();

B. getche();

C. macro getchar();

D. gets(str);

Câu 102 :
Cho đoạn chương trình sau. Yêu cầu của đoạn chương trình trên là:
#include <stdio.h>
#include <conio.h>
void main() {
char c;
clrscr();
do c = getchar(); while (c != ’ * ’);
getch();
};

A. Nhập vào 1 kí tự cho đến khi gặp kí tự ‘*’

B. Nhập vào các kí tự cho tới khi gặp kí tự ‘*’

C. Nhập các kí tự ‘*’

D. Lỗi khi xây dựng chương trình

Câu 104 :
Toán tử “++n” được hiểu

A. Giá trị n giảm đi sau khi giá trị của nó được sử dụng

B. Giá trị n giảm đi trước khi giá trị của nó được sử dụng

C. Giá trị của n được tăng sau khi giá trị của nó được sử dụng

D. Giá trị của n được tăng lên trước khi giá trị của nó được sử dụng

Câu 105 :
Toán tử “n--“ được hiểu:

A. Giá trị n giảm đi sau khi giá trị của nó được sử dụng.

B. Giá trị n giảm đi trước khi giá trị của nó được sử dụng.

C. Giá trị của n được tăng sau khi giá trị của nó được sử dụng.

D. Giá trị của n được tăng lên trước khi giá trị của nó được sử dụng.

Câu 107 :
Phép trừ 1 con trỏ với một số nguyên sẽ là:

A. Một số nguyên

B. Một con trỏ cùng kiểu

C. Cả hai kết quả trên đều đúng

D. Cả hai kết quả trên đều sai

Câu 109 :
Đâu là kết quả của câu lệnh sau:
printf(“%2f”,123.5678908);

A. 123.56

B. 123.567890

C. 123.567

D. 123.567891

Câu 113 :
Khai báo hàm tìm giá trị lớn nhất trong một màng các số long dưới đây, khai báo nào đúng:

A. void Max(long *a);

B. long Max(long *a[]);

C. void Max(long a[], int n);

D. long Max(long *a, int n);

Câu 114 :
Khai báo hàm tính tổng các phần tử trong một mảng các số nguyên dưới đây, khai báo nào đúng:

A. void Sum( int a[]);

B. long Sum( int *a);

C. void Sum(int a[], int n);

D. Cả 3 phương án trên đều sai

Câu 115 :
Để khai báo 1 hàm kiểm tra một mảng là tăng hay không ta dùng khai báo nào dưới đây:

A. void CheckAsc(int a[], int n);

B. int CheckAsc(int *a, int n);

C. long CheckAsc(int *S);

D. double CheckAsc(int S[], int n);

Câu 116 :
Đoạn code nào sẽ hoán vị 2 số a và b:

A. t=a; a=b; b=t;

B. t=a; a=b; t=b;

C. a=t; b=a; t=b;

D. t=b; b=a; a=t;

Câu 117 :
Trong các câu sau, câu nào đúng:

A. Giá trị của một biến có thể thay đổi được.

B. Giá trị của một biến không thể thay đổi được.

C. Có thể khai báo 2 biến trùng tên trong cùng một hàm.

D. Có thể khai báo 2 biến trùng tên trong cùng một hàm.

Câu 118 :
Các kí hiệu đặc trưng cho sự tác động lên dữ liệu được gọi là:

A. Toán tử

B. Biểu thức

C. Hàm

D. Biến

Câu 119 :
Kích thước của biến con trỏ là:

A. 1 Byte

B. 2 Byte

C. 3 Byte

D. Không có đáp án nào đúng

Câu 120 :
Cho biết giá trị của biểu thức: 2+4>2&&4<2;

A. 1

B. 0

C. -1

D. Không câu nào đúng

Câu 121 :
Giá trị lôgic của biểu thức sau là gì: !(1&&1||1&&0);

A. 1

B. 0

C. -1

D. Không câu nào đúng

Câu 122 :
Chọn biểu thức biểu diễn num là số nằm giữa 1 và 9 nhưng khônh phải là 4:

A. num>1&&num<9&&num!=4;

B. num>1||num<9&&num!=4;

C. num>=1&&num<=9&&num!=4;

D. Không câu nào đúng.

Câu 123 :
Tìm kết quả của chương trình sau:
main() {
int n;
for (n = 18; n > 0; n /= 2)
printf(“ % 3 d”, n);
};

A. “ 18 17 16 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1”

B. “ 18 9 4 2 1”

C. “ 18 9 4 2 1 0

D. Không câu nào đúng

Câu 126 :
Nếu có khai báo. Câu nào sẽ đúng:
char * ptr;
char msg[10];
char v;

A. ptr=v;

B. ptr=msg;

C. Cả hai câu đều đúng

D. Cả hai câu đều sai

Câu 127 :
Tại sao hai hàm scanf() và printf() gọi là 2 hàm nhập, xuất có định dạng:

A. Vì chúng có chuỗi định dạng trong tham số

B. Vì chúng thường dùng để nhập, xuất các trị trong chỉ một kiểu đã định trước

C. Vì một lí do khác.

D. 2 hàm trên không phải là hai hàm nhập xuất có định dạng.

Câu 129 :
Nếu strcmp(S1,S2) trả về số nguyên âm thì:

A. Nội dung của chuỗi S1 lớn hơn nội dung chuỗi S2

B. Nội dung chuỗi S1 nhỏ hơn nội dung chuỗi S2

C. Nội dung chuỗi S1 bằng nội dung chuỗi S2

D. Dữ liệu nhập vào không đúng định dạng

Câu 130 :
Chọn một phát biểu sai:

A. Chuỗi là một mảng các kí tự

B. Chuỗi là một mảng các kí tự và kí tự cuối cùng có mã là 0.

C. Chuỗi là mảng các kí tự và kí tự cuối cùng có mã là NULL.

D. Chuỗi là mảng các trị 2 byte.

Câu 131 :
Các định dạng nào sau đâu có thể sử dụng để xuất số nguyên không dấu:

A. “%d”

B. “%unsigned”

C. “%i”

D. “%u”

Câu 132 :
Đâu là những toán tử toán học?

A. +, /, %.

B. +, -, *, /, %, ++, --, >, <

C. &&, ||

D. +, -, *, /, %, =, !=

Câu 133 :
Định dạng nào dưới đây dùng để hiển thị một số thực

A. “%f”

B. “%u”

C. “%i”

D. “%float”

Câu 134 :
Chọn kết quả của đoạn code sau:
for (int i = 1; i < 10; i++)
for (int j = 1; j < 10; j++)
ì(j % i == 0) printf(“Hello\ n”);

A. 6 chuỗi “Hello”

B. 12 chuỗi “Hello”

C. Không có kết quả xuất ra màn hình

D. 23 chuỗi “Hello”

Câu 135 :
Một biến phải bắt đầu với:

A. Một kí tự thường như các chữ cái hoặc dấu gạch dưới.

B. Một dấu gạch dưới.

C. Một kí tự kiểu số

D. Một toán tử như: +, -…

Câu 138 :
Mảng là:

A. Một nhóm phần tử có cùng kiểu và chung tên gọi.

B. Một nhóm phần tử có thể có kiểu riêng và chung tên gọi.

C. Một nhóm phần tử có thể có kiểu riêng và tên gọi riêng cho mỗi phần tử.

D. Là một kiểu dữ liệu cơ sở đã định sẵn của ngôn ngữ lập trình C.

Câu 139 :
Kích thước của mảng là:

A. Số phần tử tối đa của mảng.

B. Kích thước bộ nhớ sẽ cấp phát cho mảng.

C. Cả hai câu trên đểu đúng.

D. Cả hai câu trên đều sai.

Câu 140 :
Đâu là phát biểu đúng nhất về biến động:

A. Chỉ phát sính trong quá trình thực hiện chương trình.

B. Khi chạy chương trình, kích thước vùng biến, vùng nhớ và địa chỉ vùng nhớ có thể thay đổi.

C. Sau khi sử dụng có thể giải phóng đi để tiết kiệm chỗ trong bộ nhớ.

D. Tất cả các đáp án trên

Câu 141 :
Phát biểu nào sau đây là sai khi nói đến tập tin:

A. Tập tin là dữ liệu đã hoàn tất được lưu trong bộ nhớ ngoài bởi người dùng hay một chương trình.

B. Hệ điều hành nhận biết một tập tin nhờ vào tên đầy đủ của nó gồm đường dẫn và tên tập tin.

C. “C:\tm\TEN.txt” – Dạng mô tả tập tin trong C.

D. “C:/tm/TEN.txt” – Dạng mô tả tập tin trong C.

Câu 142 :
Nghiên cứu đoạn code sau. Hãy chọn câu đúng
FILE * f = fopen(“FL.txt”, ”r”);
int n = 7;
fprintf(f, ” % d”, n);

A. Đoạn code gây lỗi

B. Đoạn code không lỗi

C. Đoạn code này sẽ ghi trị 7 lên file “FL.txt”

D. Đoạn code này sẽ đọc một trị từ file “FL.txt” vào biến n

Câu 143 :
Khai báo hàm đọc một text file vào một mảng các số nguyên, hãy chọn khai báo đúng

A. void Read( char* fName, int a[]);

B. void Read(char* fName, int a);

C. void Read(char* fName, int *a);

D. void Read(char* fName, int *&a, int &n);

Câu 144 :
Giả sử f là con trỏ tệp nhị phân. Để đọc từ f cho biến x kiểu int, ta có thể dùng:

A. fscanf(f,”%d”,x);

B. fread(&x,sizeof(int),1,f);

C. getw(f);

D. B và C đúng

Câu 145 :
Chọn câu đúng nhất trong các câu sau đây

A. Khi đọc kí tự có mã 1A từ file văn bản, C sẽ đọc thành kí tự có mã -1.

B. Khi đọc file văn bản, cả hai kí tự OD và OA sẽ được C đọc thành 1 kí tự có mã OA.

C. Khi đọc kí tự có mã OD từ file văn bản thì C sẽ bỏ qua

D. A, B, C đều đúng

Câu 146 :
Cho khai báo FILE *f1,*f2; int c; và đoạn lệnh. Trong trường hợp tổng
quát, hãy cho biết các khẳng định sau, khẳng định nào đúng:
f1 = fopen(“source”, ”rt”);
f2 = fopen(“TARGET”, ”wt”); while ((c = fgetc(f1)) != EOF) fputc(c, f2);

A. Độ dài file “source” luôn bé hơn độ dài file “TARGET”.

B. Độ dài file “source” bằng độ dài file “TARGET”.

C. Độ dài file “source” nói chung lớn hơn độ dài file “TARGET”.

D. Độ dài file “source” nói chung sẽ lớn hơn độ dài file “TARGET” 1 byte.

Câu 147 :
Hàm nào dưới đây chỉ dùng để đọc 1 kí tự từ tệp

A. getch();

B. fscanf();

C. fgetc();

D. scanf();

Câu 148 :
Hàm nào dưới đây chỉ dùng để nhập dữ liệu từ tệp:

A. getc()

B. scanf();

C. getch();

D. fscanf();

Câu 149 :
Hàm nào dưới đây chỉ dùng để ghi một kí tự vào tệp:

A. putch();

B. puts();

C. fputs();

D. fputc();

Câu 150 :
Hàm nào dưới đây dùng để ghi 1 xâu kí tự vào tệp

A. putch();

B. fputc();

C. fputs();

D. puts();

Câu 151 :
Hàm nào dưới đây chỉ dùng để đọc 1 khối dữ liệu từ tệp:

A. fgets();

B. fputs();

C. fwrite();

D. fread();

Câu 152 :
Hàm nào dưới đây chỉ dùng để ghi một khối dữ liệu vào file:

A. fgets();

B. fputs();

C. fwrite();

D. fread();

Câu 154 :
Cho tệp nhị phân DATA chứa dãy các cấu trúc liền nhau L struct T{…} x;và f là con trỏ tệp đến DATA. Chọn câu đúng nhất trong các câu sau:

A. Lệnh fseek(f,10,SEEK_END) định vị con trỏ tệp đến byte thứ 10 trong tệp.

B. Đoạn lệnh fseek(f, 10, SEEK_END); định vị con trỏ tới cuối tệp.

C. Giả sử tệp có n cấu trúc, lệnh fseek(f, n, SEEK_SET) sẽ đặt con trỏ tới cấu trúc cuối cùng của tệp.

D. Giả sử tệp có n cấu trúc, lệnh fseek(f, n, SEEK_CUR); sẽ không làm thay đổi vị trí con trỏ của tệp.

Câu 155 :
f là con trỏ trỏ đến tệp nhị phân DATA chứa không quá 100 bản ghi( kiểu cấu trúc) liền nhau. Cho khai báo. Đoạn chương trình nào sau đây
đọc toàn bộ các bảng ghi trong DATA vào x: struct T {…}; struct T x[100]; int i = 0, n = 0;

A. fread(x+i++, sizeof(T), 1, f ); while (!feof(f)) fread(x+i++, sizeof(T), 1, f); fclose(f);

B. fseek(f,0,SEEK_END); n=ftell(f)/sizeof(T); fseek(f,0,SEEK_SET); fread(x, sizeof(T), n, f); fclose(f);

C. A và B đúng

D. A và B sai

Câu 157 :
Phát biểu nào sau là đúng khi nói về hàm fgets():

A. Hàm đọc 1 kí tự từ tệp, nếu thành công hàm cho mã đọc được. Nếu gặp cuối tệp hoặc có lỗi, hàm cho kí tự EOF.

B. Hàm đọc 1 dãy kí tự từ tệp để lưu vào vùng nhớ mới.

C. Khi dùng hàm nếu gặp kí tự xuống dòng thì kí tự mã số 10 sẽ được thêm vào cuối xâu được đọc.

D. Khi dùng hàm, nếu gặp kí tự xuống dòng, thì kí tự mã số 10 và 13 sẽ được thêm vào cuối xâu được đọc.

Câu 158 :
Hàm nào dưới đây chỉ dùng để ghi 1 xâu kí tự vào tệp:

A. putch();

B. puts();

C. fputc();

D. fputs();

Câu 159 :
Phát biểu đúng nhất về mẫu lệnh( f là con trỏ tệp): while ((ch = fgetc(f)) != EOF)…

A. Chọn 1 phần tử và kiểm tra xem có phải là EOF hay không.

B. Đọc các phần tử của tệp chừng nào kí tự đó chưa phải là kí tự xuống dòng

C. Ghi một phần tử và kiểm tra xem có phải là EOF hay không.

D. Đọc các phần tử của tệp chừng nào kí tự đó chưa phải là kí tự kết thúc.

Câu 160 :
Phát biểu nào đúng khi nói về câu lệnh fflush(FILE *f):

A. Hàm làm sạch vùng đệm của tệp f, nếu thành công cho giá trị số tệp đang mở, trái lại, trả về EOF.

B. Hàm làm sạch giá trị vùng đệm của tệp f, nếu thành công hàm cho giá trị EOF, trái lại, hàm trả vể 0.

C. Hàm làm sạch vùng đệm của tệp f, nếu thành công trả về 0, trái lại, trả về EOF.

D. Hàm xóa bộ nhớ đệm của bàn phím.

Câu 162 :
Đấu hiệu nào là đúng khi sử dụng hàm fread();

A. int fread( void *ptr, int size, FILE *f, int n);

B. int fread( FILE *f, void *ptr, int size, int n);

C. int fread( int size, void *ptr, int n, FILE *f);

D. int fread( void *ptr, int size, int n, FILE *f);

Câu 163 :
Dấu hiệu nào là đúng khi sử dụng hàm fputs();

A. int puts(const char *s, FILE *f);

B. int puts( const char *s);

C. int puts(FILE *f, const char *s);

D. int puts(FILE *f);

Câu 164 :
Dấu hiệu nào là đúng khi sử dụng hàm fopen() để mở một file đã tồn tại đọc theo kiểu nhị phân:

A. f=fopen(“du_lieu”,”r”);

B. f=fopen(“du_lieu”,”r+b”);

C. f=fopen(“du_lieu”,”a+t”);

D. f=fopen(“du_lieu”,”a+b”);

Câu 165 :
Hàm nào trả lại kích thước của một tệp được mở:

A. long filelength(int the_file);

B. double filelength(int the_file);

C. int filelength(int the_file);

D. Không có đáp án nào đúng.

Câu 166 :
Câu lệnh sau có ý nghĩa gì: FILE * fopen(tep1, ”ab”);

A. Mở tệp nhị phân để ghi.

B. Mở tệp nhị phân đã có và ghi thêm dữ liệu nối tiếp vào tệp này.

C. Mở tệp nhị phân để ghi mới.

D. Mở tệp nhị phân để đọc.

Câu 167 :
Hàm nào có thể thay đổi kích thước của tệp đang mở:

A. double chsize(int handle, long size);

B. long chsize(int handle, long size);

C. int chsize(int handle, long size);

D. Tất cả các đáp án trên

Câu 169 :
Câu lệnh sau có ý nghĩa gì? FILE * fopen(tep1, ”r + ”);

A. Mở tệp văn bản cho phép ghi.

B. Mở tệp văn bản cho phép đọc.

C. Mở tệp văn bản cho phép cả đọc cả ghi.

D. Mở tệp văn bản đã tồn tại để đọc.

Câu 170 :
Câu lệnh sau có ý nghĩa gì? int open(tep1, O_TRUNC);

A. Mở tệp nhị phân để ghi.

B. Xóa nội dung của tệp.

C. Mở tệp văn bản để đọc và ghi.

D. Tất cả các đáp án trên.

Câu 173 :
Cho các khai báo sau. Hãy chọn câu đúng nhất:
struct ngay {
int ng, th, n;
}
vaotruong, ratruong;
typedef struct sinhvien {
char hoten;
ngay ngaysinh;
};

A. Không được phép gán: vaotruong = ratruong;

B. “sinhvien” là tên cấu trúc, “vaotruong”, “ratruong” là tên biến cấu trúc.

C. Có thể viết “vaotruong.ng”, “ratruong.th”, “sinhvien.vaotruong.n” để truy xuất đến các thành phần tương ứng.

D. A, B, C đều đúng

Câu 175 :
Đối với kiểu có cấu trúc, cách gán nào sau đây là không được phép:

A. Gán biến cho nhau.

B. Gán hai phần tử mảng( kiểu cấu trúc) cho nhau.

C. Gán một phần tử mảng( kiểu cấu trúc) cho một biến hoặc ngược lại.

D. Gán hai mảng có cấu trúc có cùng số phần tử cho nhau.

Câu 176 :
Cho đoạn chương trình sau. Chọn câu đúng nhất trong các câu sau:
struct {
int to;
float soluong;
}
x[10];
for (int i = 0; i < 10; i++) scanf(“ % d % f”, & x[i].to, & x[i].soluong);

A. Đoạn chương trình trên có lỗi cú pháp.

B. Không được phép sử dụng toán tử lấy địa chỉ đối với các thành phần “to” và “soluong”.

C. Lây địa chỉ thành phần “soluong” dẫn đến chương trình hoạt động không đúng đắn.

D. Cả 3 ý trên đều sai.

Câu 178 :
Để dùng danh sách liên kết, xét hai khai báo sau(cần 1KB để lưu dữ thông tin về một sinh viên). (Với “thongtin” là một thành phần dữ liệu
của cấu trúc); Chọn câu đúng nhất trong các câu sau:
1. Khai báo 1:
struct SV {
thongtin;
struct SV * tiep;
};
2. Khai báo 2:
struct SV {
thongtin
};
struct DS {
struct SV * sv;
struct DS * tiep;
}

A. Khai báo 1 tốn nhiều bộ nhớ hơn khai báo 2.

B. Khai báo 2 sẽ giúp chương trình chạy nhanh hơn khi đổi vị trí 2 sinh viên

C. Khai báo 1 sẽ giúp tiết kiệm câu lệnh hơn khi viết hàm đổi vị trí 2 sinh viên.

D. Khai báo 2 sẽ giúp chương trình chạy nhanh hơn khi duyệt danh sách.

Câu 180 :
Chọn câu đúng:

A. “struct” là 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. “struct” là sự kết hợp của nhiều thành phần có thể có thể có kiểu khác nhau

C. Cả 2 ý đểu đúng.

D. Cả 2 ý đểu sai.

Câu 181 :
Toán tử nào sau đây sẽ truy xuất 1 thành phần của con trỏ cấu trúc:

A. “.”(Toán tử chấm)

B. “->”(Toán tử mũi tên)

C. Cả hai đều đúng.

D. Cả hai đều sai.

Câu 182 :
Xem đoạn code sau. Giá trị của biến v là:
typedef struct ST {
int d1, d2, d3;
};
ST v = {
5,
6,
7
};
ST * p = & v;
p.d1++;

A. {6, 6, 7};

B. {5, 6, 7};

C. Nhóm trị khác

D. Đoạn code gây lỗi

Câu 184 :
Hãy khai báo một cấu trúc mô tả sinh viên, thông tin về mỗi sinh viên bao gồm: tên, điểm 3 môn học. Khai báo nào sau đây là đúng:

A. structure STUDENT {char Name[]; int s1,s2,s3;};

B. struct STUDENT {char Name[]; int s1, s2, s3;};

C. typedef struct STUDENT {char Name[]; float s1,s2,s3;};

D. typedef STUDENT { char Name[]; int s1, s2,s3;};

Câu 185 :
Biến con trỏ có thể chứa:

A. Địa chỉ vùng nhớ của một biến khác.

B. Giá trị của một biến khác.

C. Cả a và b đều đúng.

D. Cả a và b đều sai.

Câu 193 :
Khi sử dụng từ khóa typedef trước định nghĩa cấu trúc thì:

A. Khai báo biến cho cấu trúc đó ta không cần sử dụng từ khóa “struct” nữa

B. Khai báo 1 biến cho loại cấu trúc đó ta cần sử dụng từ khóa “struct”.

C. Không thể khai báo thêm biến cấu trúc nào nữa.

Câu 195 :
Chọn đáp án đúng khi sử dụng trường kiểu bit:

A. Độ dài các trường không vượt quá 16 bít.

B. Áp dụng được cho các trường có kiểu số nguyên và số thực.

C. Cho phép lấy địa chỉ trường kiểu nhóm bít.

D. Xây dựng được các mảng kiểu nhóm bít.

Câu 196 :
Đâu là định nghĩa đúng về cấu trúc tự trỏ:

A. Là một cấu trúc có một trường là con trỏ chứa địa chỉ của một biến cấu trúc.

B. Là dạng cấu trúc có một trường là con trỏ chứa địa chỉ của một biến cấu trúc có dạng dữ liệu giống nó.

C. Là dạng cấu trúc có một trường có kiểu dữ liệu giống nó.

D. Tất cả các ý trên

Câu 197 :
Trong các khai báo sau, khai báo nào không đúng:

A. struct Date{int ngay, thang, nam;};

B. struct { int ngay, thang, nam;} D1,D2;

C. typedef struct { int ngay, thang, nam;} Date;

D. struct Date { long int ngay:7; long int thang:6; long int nam:5; };

Câu 198 :
Đâu là phát biểu dúng về danh sach moc nối:

A. Độ dài danh sách không thể thay đổi

B. Các phần tử của nó được lưu trữ rải rác trong bộ nhớ RAM.

C. Để cài đặt danh sách móc nối phải sử dụng đến cấu trúc tự trỏ.

D. Chỉ có thể xóa được phần tử đầu tiên của danh sách.

Câu 199 :
Phát biểu nào không đúng về onion:

A. Tất cả các trường chỉ dùng chung một vùng nhớ, và kích thước union bằng kích thước trường lớn nhất.

B. Các trường nằm rải rác trong bộ nhớ RAM và kích thước của các trường bằng tổng kích thước các trường.

C. Có thể khai báo các biến trong union có nhiều kiểu khác nhau.

D. Tại một thời điểm ta không thể chứa dữ liệu tại tất cả các thành phần của một biến union được.

Câu 201 :
Cho một danh sách móc nối với các phần tử trong danh sách có kiểu S1 được định nghĩa như sau: struct S1{ int info; struct S1 * next;} *head; Biết con trỏ “head” lưu địa chỉ của phần tử đầu tiên trong danh sách. Cho biết mục đích của câu lệnh sau: { head->next->next->info=111;};

A. Câu lệnh bị lỗi

B. Giá trị “info” trong phần tử thứ 3 đã bị thay đổi

C. Giá trị “info” trong phần tử thứ 2 đã bị thay đổi

D. Giá trị “info” trong phần tử bất kì đã bị thay đổi.

Câu 204 :
Đâu là phát biểu đúng về danh sách móc nối:

A. Chỉ có thể thêm phần tử mới vào đầu danh sách

B. Không thể thêm phần tử mới vào cuối danh sách

C. Có thể thêm phần tử mới vào vị trí bất kì trong danh sách

D. Không câu nào đúng

Câu 205 :
Đâu là phát biểu đúng về danh sách:

A. Chỉ có thể xóa phần tử đầu tiên trong danh sách

B. Chỉ có thể xóa phần tử cuối cùng trong danh sách

C. Có thể xóa một phần tử tại vị trí bất kì trong danh sách

D. Tất cả đều sai

Câu 209 :
Đâu là phát biểu sai khi nói về danh sách liên kết:

A. Mỗi phần tử trong danh sách liên kết phải có ít nhất một trường dùng để lưu địa chỉ.

B. Sử dụng danh sách liên kết thường tiết kiệm bộ nhớ hơn dùng mảng.

C. Sử dụng danh sách liên kết thường tốn bộ nhớ hơn dùng mảng.

D. Tất cả các đáp án đều sai.

Câu 210 :
Câu nào không nói đến ưu điểm của việc sử dụng cấu trúc:

A. Bạn có thể xử lí một cách hỗn hợp các kiểu dữ liệu trong một đơn vị.

B. Bạn có thể lưu dữ xâu kí tự có đọ dài khác nhau vào trong một biến cấu trúc.

C. Dữ liệu có thể lưu trữ trong một module và dưới dạng phân cấp.

D. Cần ít nhất một bộ nhớ cho cùng dữ liệu.

Câu 212 :
Đâu là phát biểu sai:

A. Có thể truyền tham số là một biến struct cho hàm.

B. Có thể truyền tham số là một biến con trỏ cho hàm.

C. Có thể truyền tham số là một biến con trỏ struct cho hàm.

D. Không thể truyền tham số là phần tử của struct cho hàm.

Câu 213 :
Cho mảng A gồm các phần tử kiểu struct, phát biểu nào là đúng khi truy cập đến các trường của các phần tử:

A. A[chỉ số].tên_trường;

B. A.tên_trường;

C. &A.tên_trường;

D. &A[chỉ số].tên_trường;

Câu 214 :
Không gian nhớ dùng để lưu trữ các node của danh sách liên kết kép:

A. Lưu trữ rởi rác trong bộ nhớ.

B. Luôn lưu trữ liên tục trong bộ nhớ

C. Lưu trữ theo kiểu phân trang.

D. Lưu trữ theo kiểu phân đoạn

Câu 215 :
Khi thực hiện việc thêm một node x vào cây nhị phân tìm kiếm ta chỉ cần:

A. Tìm vị trí thích hợp cho nhánh cây con bên phải.

B. Tìm vị trí thích hợp cho x trên toàn bộ cây

C. Tìm vị trí thích hợp cho nhánh cây con ở bên trái.

D. Không ý nào đúng.

Câu 216 :
Dấu hiệu nào dưới đây cho biết node p của một danh sách liên kết đơn là node cuối cùng bên phải:

A. (p->info!=NULL);

B. (p->info==NULL);

C. (p->next!=NULL);

D. (p->next==NULL);

Câu 217 :
Khi loại bỏ node x ở cây nhị phân tìm kiếm ta chỉ cần kiểm tra xem:

A. x có phải là node lá trái của cây nhị phân tìm kiếm hay không.

B. x có phải là node lá phải của cây nhị phân tìm kiếm hay không.

C. Sự tồn tại của x trên cây.

D. Cả 3 phương án a, b, c đều sai.

Câu 218 :
Cơ chế nào dưới đây được cài đặt cho hàng đợi

A. FIFO

B. Round Robin

C. Tuần tự

D. FILO

Câu 219 :
Dấu hiệu nào dưới đây cho biết danh sách liên kết đơn rỗng:

A. (p->right==NULL);

B. (p->info==NULL);

C. (p==NULL);

D. (p->next==NULL);

Câu 220 :
Dấu hiệu nào cho biết node phải của p có cây con bên phải:

A. (p->right!=NULL);

B. (p->left!=NULL);

C. (p->right!=NULL)&&(p->right->right==NULL);

D. (p->right!=NULL)&&(p->right->right!=NULL);

Câu 221 :
Cơ chế nào dưới đây được cài đặt cho Stack:

A. FILO

B. Tuần tự

C. Round Robin

D. FIFO

Câu 222 :
Một cây nhị phân được gọi là đúng nếu:

A. Node gốc và tất cả các node trung gian đều có 2 node con.

B. Giá trị khóa của node gốc bao giờ cũng lớn hơn giá trị các khóa của nhánh cây con bên phải.

C. Giá trị khóa của node gốc bao giờ cũng lớn hơn giá trị các khóa của nhánh cây con bên trái.

D. Node gốc và các node trung gian đều có 2 node con và các node lá đều có mức giống nhau

Câu 223 :
Khi thực hiện phép thêm một node lá x vào bên phải node p của cây nhị phân thông thường, ta cần:

A. Kiểm tra sự tồn tại của p và các lá bên phải p;

B. Kiểm tra sự tồn tại của node lá bên phải p

C. Kiểm tra sự tồn tại của node p.

D. Không cần thực hiện cả 3 điểu kiện nêu trong câu hỏi.

Câu 225 :
Số màu có thể biểu diễn trong chế độ đồ họa do yếu tố nào quy định:

A. Số bít tương ứng với 1 pixel

B. Độ phân giải màn hình

C. Do kích thước màn hình

D. Không phải 3 yếu tố trên

Câu 227 :
Các file tối thiểu cần cho việc vẽ đồ họa:

A. GRAPH.H, *.BGI, *.CHR.

B. GRAPH.H, *.TXT, *.DOC

C. *.BGI, *.TXT, *.DOC

D. *.CHR, *.TXT, *.DOC.

Câu 229 :
Trong chế độ graphic, gốc tọa độ là

A. Góc trên bên trái

B. Góc trên bên phải

C. Góc dưới bên trái

D. Góc dưới bên phải

Câu 230 :
Ba màu cơ bản trong máy tính là:

A. RED, GREEN, BLUE

B. RED, YELLOW, BLUE

C. BLUE, YELLOW, BLUE

D. GREEN, RED, PING

Câu 231 :
Hàm getpixel(int x, int y) dùng để làm gì:

A. Vẽ một điểm tại tọa độ (x,y);

B. Lấy giá trị màu của điểm tại tọa độ (x,y);

C. Vẽ một điểm tại vị trí con trỏ.

D. Cả 3 phương án đều sai.

Câu 232 :
Sau khi hàm setwiewport(int x1, int y1, int x2, int y2, int clip); được thực hiện thì tọa độ (0,0) của tất cả các hàm vẽ sẽ là:

A. Góc trên phải của màn hình.

B. Góc trên phải của viewport.

C. Góc trên trái của màn hình.

D. Góc trên trái của viewport.

Câu 233 :
Trong chế độ đồ họa, hàm nào thường được dùng để hiện nội dung xâu:

A. printf();

B. outtext(char far * textstring);

C. outtextxy(int x, int y, char far *textstring);

D. putchar();

Câu 234 :
Trong bước khởi tạo đồ họa ta cần:

A. Xác định vi mạch

B. Chọn chế độ đồ họa.

C. Cả 2 phương án trên đều sai

D. Cả 2 phương án trên đều đúng

Câu 235 :
Khẳng định nào dưới đây là sai:

A. Hàm moveto(int x, int y) di chuyển vị trí hiện tại của màn hình đồ họa tới điểm có tọa độ (x,y);

B. lineto(int x, int y) là hàm vẽ đường thẳng từ vị trí con trỏ đồ họa hiện tại tới điểm có tọa độ (x,y).

C. linerel(int x, int y) vẽ đường thẳng tử gốc tọa độ tới điểm có tọa độ (x,y);

D. line(int x1, int y1, int x2, int y2) vẽ đường thẳng nối liền 2 điểm có tọa độ (x1,y1) và (x2,y2);

Câu 236 :
Hàm putpixel(int x, int y) dùng để làm gì?

A. Vẽ một điểm tại tọa độ (x,y);

B. Lấy màu của điểm có tọa độ (x,y);

C. Vẽ một điểm tại vị trí con trỏ.

D. Cả 3 phương án trên đều sai

Câu 237 :
Lệnh nào dùng để đóng chế độ đồ họa:

A. getch();

B. closegraph();

C. Cả 2 phương án trên đều sai.

D. Cả 2 phương án trên đều đúng.

Câu 238 :
Hàm closegraph() dùng để làm gì:

A. Sẽ giải phóng hết các vùng nhớ giành cho đồ họa.

B. Dùng để dừng màn hình

C. Dùng để xóa màn hình.

D. Cả 3 phương án trên đều sai.

Câu 239 :
Phát biểu nào là đúng khi nói về 2 hàm: rectangle(int x1, int y1, int x2, int y2) và bar(int x1, int y1, int x2, int y2):

A. Cả 2 hàm đều vẽ hình chữ nhật.

B. Hàm thứ nhất chỉ vẽ đường viền hình chữ nhật, không tô màu bên trong còn hàm thứ 2 thì tô cả màu bên trong.

C. Hàm thứ 2 chỉ vẽ đường viền hình chữ nhật, không tô màu bên trong còn hàm thứ nhất thì tô cả màu bên trong.

D. Cả hai hàm đều vẽ hình chữ nhật và tô cả màu bên trong.

Câu 240 :
Chế độ đồ họa bao gồm các vấn đề:

A. Bao nhiêu màu.

B. Gồm những màu gì.

C. Độ phân giải của màn hình là bao nhiêu.

D. Cả 3 phương án trên.

Câu 241 :
Hàm setcolor(int color) làm nhiệm vụ gì:

A. Thiết lập màu nền.

B. Đặt màu vẽ hiện tại.

C. Cả 2 ý trên đều đúng.

D. Cả hai ý trên đều sai.

Câu 242 :
Tham số clip trong hàm setviewport(int x1, int y1, int x2, int y2, int clip); qui định vấn đề gì:

A. Cho phép hiển thị hay không hiển thị các nét vẽ bên trong viewport

B. Cho phép hiển thị hay không hiển thị các nét vẽ bên ngoài viewport.

C. Cả 2 đều đúng.

D. Cả 2 đều sai.

Câu 243 :
Điểu gì là đúng nhất khi nói về hàm floodfill(int x, int y, int Border);

A. Dùng để tô màu hình tròn chứa điểm (x,y).

B. Dùng để tô màu hình chữ nhật chứa điểm (x,y).

C. Dùng để tô màu đa giác chứa điểm (x,y);

D. Dùng để tô màu miền kín bất kì chứa điểm (x,y);

Câu 244 :
Trong chế độ đồ họa, hàm nào sau đây xác lập kiểu chữ, cỡ chữ:

A. outtextxy(int x, int y, char far * textstring);

B. outtext(char far *textstring);

C. settextstyle(int font, int direction, int charsize);

D. Cả 3 phương án trên.

Câu 248 :
Kết quả trả về của toán tử sau: Evaluate !(1 && !(0 || 1))

A. True

B. False

C. Không xác định

Câu 249 :
Hàm duy nhất mà tất cả các chương trình C phải chứa là gì?

A. start()

B. system()

C. main()

D. program()

Câu 250 :
Câu nào sau đây cho thấy cú pháp đúng cho câu lệnh if?

A. if expression

B. if { expression

C. if ( expression )

D. expression if

Lời giải có ở chi tiết câu hỏi nhé! (click chuột vào câu hỏi).

Copyright © 2021 HOCTAP247