vietjack.com

320 Câu hỏi trắc nghiệm lập trình C có đáp án - Phần 3
Quiz

320 Câu hỏi trắc nghiệm lập trình C có đáp án - Phần 3

A
Admin
50 câu hỏiIT TestTrắc nghiệm tổng hợp
50 CÂU HỎI
1. Nhiều lựa chọn

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);

2. Nhiều lựa chọn

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

3. Nhiều lựa chọn

Kết quả của chương trình sau là gì?
#include <stdio.h>
void main() {
printf(“ % d”, 3 < 7 && 8 > 6);
};

A. 1

B. 0

C. True

D. Kết quả khác

4. Nhiều lựa chọn

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

5. Nhiều lựa chọn

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.

6. Nhiều lựa chọn

Phép toán 1 ngôi nào dùng để xác định giá trị ở địa chỉ con trỏ trỏ tới:

A. !;

B. &;

C. *;

D. Kết quả khác

7. Nhiều lựa chọn

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

8. Nhiều lựa chọn

Đâu là kết quả của đoạn mã sau:
struct Employee {
char Code[], name[];
long Salary;
};
Employee e1 = {

E089”,
“Hoang so”,
12000
}, e2 = e1;
printf(“ % ld”, el.Salary + e2 -> Salary);

A. 24000

B. 12000

C. Đoạn mã bị lỗi

D. Kết quả khác

9. Nhiều lựa chọn

Đâ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

10. Nhiều lựa chọn

Nếu địa chỉ của S là 1000, thì giá trị của p là bao nhiêu:
char S[20] = ”aaaaaea”;
char * p = strstr(S, ”e”);

A. 1000

B. 1005

C. 1003

D. Kết quả khác

11. Nhiều lựa chọn

Một số tác vụ sau sẽ được áp dụng để kiểm tra xem một số nguyên là lẻ hay chẵn: Begin(bắt đầu). Nhập số nguyên n. Nếu số đó là 0 thì hiển thị chuỗi: “Đây là số chẵn”. Ngược lại hiển thị: “Đây là số lẻ”. Chia n cho 2; End(kết thúc). Theo bạn, thứ tự các bước nào sau đây là đúng:

A. 1,2,3,4,5,6

B. 1,5,4,3,2,6

C. 1,2,5,3,4,6

D. 1,5,3,4,2,6

12. Nhiều lựa chọn

Trong số các định dạng dưới đây, định dạng nào dùng để in ra địa chỉ:

A. “%f”

B. “%s”

C. “%p”

D. “%h”

13. Nhiều lựa chọn

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);

14. Nhiều lựa chọn

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

15. Nhiều lựa chọn

Để 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);

16. Nhiều lựa chọn

Đ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;

17. Nhiều lựa chọn

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.

18. Nhiều lựa chọn

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

19. Nhiều lựa chọn

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

20. Nhiều lựa chọn

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

21. Nhiều lựa chọn

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

22. Nhiều lựa chọn

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.

23. Nhiều lựa chọn

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

24. Nhiều lựa chọn

Tìm kết quả của chương trình sau:
#include <stdio.h>
main() {
int i, ch;
for (i = 0, ch = ’A’; i < 5; i++, ch++)
putchar(ch);
};

A. “ABCDE”

B. “ABC”

C. “ACEG”

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

25. Nhiều lựa chọn

Tìm kết quả của chương trình sau:
#include <stdio.h>
main() {
int i, ch;
for (i = 0, ch = ’A’; i < 4; i++, ch += 2)
putchar(ch);
};

A. “ABCDE”

B. “ABC”

C. “ACEG”

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

26. Nhiều lựa chọn

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

27. Nhiều lựa chọn

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.

28. Nhiều lựa chọn

Hàm nào trong các hàm sau thuộc các hàm nhập xuất không định
dạng:
printf();
scanf();
getchar();
putchar();

A. 1,2

B. 3,4

C. 1,4

D. 2,3

29. Nhiều lựa chọn

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

30. Nhiều lựa chọn

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.

31. Nhiều lựa chọn

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”

32. Nhiều lựa chọn

Đị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”

33. Nhiều lựa chọn

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

A. +, /, %.

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

C. &&, ||

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

34. Nhiều lựa chọn

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ư: +, -…

35. Nhiều lựa chọn

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”

36. Nhiều lựa chọn

Một số tác vụ sau sẽ được dùng để kiểm tra một số nguyên là lẻ hay chẵn: Bắt đầu; Nhập số nguyên n; Nếu số dư là 0 thì hiển thị chuỗi: “Đây là số chẵn”; Ngược lại hiển thị chuỗi: “Đây là số lẻ”; Chia n cho 2;Kết thúc; Thứ tự các bước như thế nào là đúng:

A. 1, 2, 3, 4, 5, 6

B. 1, 5, 4, 3, 2, 6

C. 1, 2, 5, 3, 4, 6

D. 1, 5, 3, 4, 2, 6

37. Nhiều lựa chọn

Cho đoạn chương trình. Giá trị của biến n là:
int n = 0;
for (int i = 0; i < 10; i += 4) n += i;

A. 8

B. 12

C. 16

D. 20

38. Nhiều lựa chọn

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.

39. Nhiều lựa chọn

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.

40. Nhiều lựa chọn

Đâ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

41. Nhiều lựa chọn

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.

42. Nhiều lựa chọn

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

43. Nhiều lựa chọn

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);

44. Nhiều lựa chọn

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

45. Nhiều lựa chọn

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

46. Nhiều lựa chọn

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.

47. Nhiều lựa chọn

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();

48. Nhiều lựa chọn

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();

49. Nhiều lựa chọn

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();

50. Nhiều lựa chọn

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();

© All rights reserved VietJack