320 Câu hỏi trắc nghiệm lập trình C có đáp án - Phần 3
50 câu hỏi
getch();
getche();
macro getchar();
gets(str);
Chọn đáp án D
#include <stdio.h>
#include <conio.h>
void main() {
char c;
clrscr();
do c = getchar(); while (c != ’ * ’);
getch();
};
Nhập vào 1 kí tự cho đến khi gặp kí tự ‘*’
Nhập vào các kí tự cho tới khi gặp kí tự ‘*’
Nhập các kí tự ‘*’
Lỗi khi xây dựng chương trình
Chọn đáp án A
#include <stdio.h>
void main() {
printf(“ % d”, 3 < 7 && 8 > 6);
};
1
0
True
Kết quả khác
Chọn đáp án A
Giá trị n giảm đi sau khi giá trị của nó được sử dụng
Giá trị n giảm đi trước khi giá trị của nó được sử dụng
Giá trị của n được tăng sau khi giá trị của nó được sử dụng
Giá trị của n được tăng lên trước khi giá trị của nó được sử dụng
Chọn đáp án D
Giá trị n giảm đi sau khi giá trị của nó được sử dụng.
Giá trị n giảm đi trước khi giá trị của nó được sử dụng.
Giá trị của n được tăng sau khi giá trị của nó được sử dụng.
Giá trị của n được tăng lên trước khi giá trị của nó được sử dụng.
Chọn đáp án A
!;
&;
*;
Kết quả khác
Chọn đáp án C
Một số nguyên
Một con trỏ cùng kiểu
Cả hai kết quả trên đều đúng
Cả hai kết quả trên đều sai
Chọn đáp án B
struct Employee {
char Code[], name[];
long Salary;
};
Employee e1 = {
“
E089”,
“Hoang so”,
12000
}, e2 = e1;
printf(“ % ld”, el.Salary + e2 -> Salary);
24000
12000
Đoạn mã bị lỗi
Kết quả khác
Chọn đáp án C
123.56
123.567890
123.567
123.567891
Chọn đáp án D
char S[20] = ”aaaaaea”;
char * p = strstr(S, ”e”);
1000
1005
1003
Kết quả khác
Chọn đáp án B
1,2,3,4,5,6
1,5,4,3,2,6
1,2,5,3,4,6
1,5,3,4,2,6
Chọn đáp án C
“%f”
“%s”
“%p”
“%h”
Chọn đáp án C
void Max(long *a);
long Max(long *a[]);
void Max(long a[], int n);
long Max(long *a, int n);
Chọn đáp án D
void Sum( int a[]);
long Sum( int *a);
void Sum(int a[], int n);
Cả 3 phương án trên đều sai
Chọn đáp án D
void CheckAsc(int a[], int n);
int CheckAsc(int *a, int n);
long CheckAsc(int *S);
double CheckAsc(int S[], int n);
Chọn đáp án B
t=a; a=b; b=t;
t=a; a=b; t=b;
a=t; b=a; t=b;
t=b; b=a; a=t;
Chọn đáp án A
Giá trị của một biến có thể thay đổi được.
Giá trị của một biến không thể thay đổi được.
Có thể khai báo 2 biến trùng tên trong cùng một hàm.
Có thể khai báo 2 biến trùng tên trong cùng một hàm.
Chọn đáp án A
Toán tử
Biểu thức
Hàm
Biến
Chọn đáp án A
1 Byte
2 Byte
3 Byte
Không có đáp án nào đúng
Chọn đáp án B
1
0
-1
Không câu nào đúng
Chọn đáp án B
1
0
-1
Không câu nào đúng
Chọn đáp án B
num>1&&num<9&&num!=4;
num>1||num<9&&num!=4;
num>=1&&num<=9&&num!=4;
Không câu nào đúng.
Chọn đáp án A
main() {
int n;
for (n = 18; n > 0; n /= 2)
printf(“ % 3 d”, n);
};
“ 18 17 16 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1”
“ 18 9 4 2 1”
“ 18 9 4 2 1 0
Không câu nào đúng
Chọn đáp án B
#include <stdio.h>
main() {
int i, ch;
for (i = 0, ch = ’A’; i < 5; i++, ch++)
putchar(ch);
};
“ABCDE”
“ABC”
“ACEG”
Không câu nào đúng
Chọn đáp án A
#include <stdio.h>
main() {
int i, ch;
for (i = 0, ch = ’A’; i < 4; i++, ch += 2)
putchar(ch);
};
“ABCDE”
“ABC”
“ACEG”
Không câu nào đúng
Chọn đáp án C
char * ptr;
char msg[10];
char v;
ptr=v;
ptr=msg;
Cả hai câu đều đúng
Cả hai câu đều sai
Chọn đáp án B
Vì chúng có chuỗi định dạng trong tham số
Vì chúng thường dùng để nhập, xuất các trị trong chỉ một kiểu đã định trước
Vì một lí do khác.
2 hàm trên không phải là hai hàm nhập xuất có định dạng.
Chọn đáp án A
dạng:
printf();
scanf();
getchar();
putchar();
1,2
3,4
1,4
2,3
Chọn đáp án B
Nội dung của chuỗi S1 lớn hơn nội dung chuỗi S2
Nội dung chuỗi S1 nhỏ hơn nội dung chuỗi S2
Nội dung chuỗi S1 bằng nội dung chuỗi S2
Dữ liệu nhập vào không đúng định dạng
Chọn đáp án B
Chuỗi là một mảng các kí tự
Chuỗi là một mảng các kí tự và kí tự cuối cùng có mã là 0.
Chuỗi là mảng các kí tự và kí tự cuối cùng có mã là NULL.
Chuỗi là mảng các trị 2 byte.
Chọn đáp án D
“%d”
“%unsigned”
“%i”
“%u”
Chọn đáp án D
“%f”
“%u”
“%i”
“%float”
Chọn đáp án A
+, /, %.
+, -, *, /, %, ++, --, >, <
&&, ||
+, -, *, /, %, =, !=
Chọn đáp án A
Một kí tự thường như các chữ cái hoặc dấu gạch dưới.
Một dấu gạch dưới.
Một kí tự kiểu số
Một toán tử như: +, -…
Chọn đáp án A
for (int i = 1; i < 10; i++)
for (int j = 1; j < 10; j++)
ì(j % i == 0) printf(“Hello\ n”);
6 chuỗi “Hello”
12 chuỗi “Hello”
Không có kết quả xuất ra màn hình
23 chuỗi “Hello”
Chọn đáp án D
1, 2, 3, 4, 5, 6
1, 5, 4, 3, 2, 6
1, 2, 5, 3, 4, 6
1, 5, 3, 4, 2, 6
Chọn đáp án C
int n = 0;
for (int i = 0; i < 10; i += 4) n += i;
8
12
16
20
Chọn đáp án B
Một nhóm phần tử có cùng kiểu và chung tên gọi.
Một nhóm phần tử có thể có kiểu riêng và chung tên gọi.
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ử.
Là một kiểu dữ liệu cơ sở đã định sẵn của ngôn ngữ lập trình C.
Chọn đáp án A
Số phần tử tối đa của mảng.
Kích thước bộ nhớ sẽ cấp phát cho mảng.
Cả hai câu trên đểu đúng.
Cả hai câu trên đều sai.
Chọn đáp án C
Chỉ phát sính trong quá trình thực hiện chương trình.
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.
Sau khi sử dụng có thể giải phóng đi để tiết kiệm chỗ trong bộ nhớ.
Tất cả các đáp án trên
Chọn đáp án D
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.
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:\tm\TEN.txt” – Dạng mô tả tập tin trong C.
“C:/tm/TEN.txt” – Dạng mô tả tập tin trong C.
Chọn đáp án C
FILE * f = fopen(“FL.txt”, ”r”);
int n = 7;
fprintf(f, ” % d”, n);
Đoạn code gây lỗi
Đoạn code không lỗi
Đoạn code này sẽ ghi trị 7 lên file “FL.txt”
Đoạn code này sẽ đọc một trị từ file “FL.txt” vào biến n
Chọn đáp án A
void Read( char* fName, int a[]);
void Read(char* fName, int a);
void Read(char* fName, int *a);
void Read(char* fName, int *&a, int &n);
Chọn đáp án D
fscanf(f,”%d”,x);
fread(&x,sizeof(int),1,f);
getw(f);
B và C đúng
Chọn đáp án D
Khi đọc kí tự có mã 1A từ file văn bản, C sẽ đọc thành kí tự có mã -1.
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.
Khi đọc kí tự có mã OD từ file văn bản thì C sẽ bỏ qua
A, B, C đều đúng
Chọn đáp án D
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);
Độ dài file “source” luôn bé hơn độ dài file “TARGET”.
Độ dài file “source” bằng độ dài file “TARGET”.
Độ dài file “source” nói chung lớn hơn độ dài file “TARGET”.
Độ dài file “source” nói chung sẽ lớn hơn độ dài file “TARGET” 1 byte.
Chọn đáp án B
getch();
fscanf();
fgetc();
scanf();
Chọn đáp án C
getc()
scanf();
getch();
fscanf();
Chọn đáp án D
putch();
puts();
fputs();
fputc();
Chọn đáp án D
putch();
fputc();
fputs();
puts();
Chọn đáp án C




