30 câu hỏi
Nếu có khai báo:
char *ptr;
char msg[10];
char v;
Câu nào sẽ đúng?
ptr = v;
ptr = msg;
Cả hai câu đều đúng.
Không câu nào đúng.
Tại sao hai hàm scanf() và printf() gọi là 2 hàm nhập, xuất có định dạng?
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.
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 ?
1- printf();
2- scanf();
3- getchar();
4- putchar();
1,2
3,4
1,4
2,3
Nếu strcmp(S1, S2) trả về số nguyên âm thì:
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 một phát biểu sai:
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. (1 byte)
Các định dạng nào sau đây có thể sử dụng để xuất số nguyên không dấu:
“%d”.
“%unsigned”.
“%i”.
“%u”.
Định dạng nào dưới đây dùng để hiển thị một số thực:
“%f”.
“%u”.
“%i”.
“%float”.
Đâu là những toán tử toán học:
+, /, %.
+, -, *, /, %, ++, --, >, <.
</.
&&, ||.
+, -, *, /, %, =, !=.
Một biến phải bắt đầu với:
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 kết quả của đoạn code sau:
for (int i = 1; i < 10; i++)
for (int j = 1; j < 10; j++)
if (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”.
Một số tác vụ sau sẽ được dùng để kiểm tra một số nguyên là lẻ hay chẵn:
1- Bắt đầu;
2- Nhập số nguyên n;
3- Nếu số dư là 0 thì hiển thị chuỗi: “Đây là số chẵn”;
4- Ngược lại hiển thị chuỗi: “Đây là số lẻ”;
5- Chia n cho 2;
6- Kết thúc;Thứ tự các bước như thế nào là đúng?
1, 2, 3, 4, 5, 6.
1, 5, 4, 3, 2, 6.
1, 2, 5, 3, 4, 6.
1, 5, 3, 4, 2, 6.
Cho đoạn chương trình sau:
int n = 0;
for (int i = 0; i < 10; i += 4)
n += i;
Giá trị của biến n là:
</>
8.
12.
16.
20.
Mảng là:
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.
Kích thước của mảng là:
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.
Đâu là phát biểu đúng nhất về biến động:
Chỉ phát sinh 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 để tiết kiệm chỗ trong bộ nhớ.
Tất cả các đáp án trên.
Phát biểu nào sau đây là sai khi nói đến tập tin:
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.
Nghiên cứu đoạn code sau:
FILE* f = fopen("FL.txt", "r");
int n = 7;
fprintf(f, "%d", n);
Hãy chọn câu đúng:
Đ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.
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:
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);
void Read(char* fName, int *&a[], int &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:
fscanf(f, "%d", x);
fread(&x, sizeof(int), 1, f);
getw(f);
2 và 3 đúng.
Chọn câu đúng nhất trong các câu sau:
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.
1, 2 và 3 đều đúng.
Chọn câu đúng nhất trong các câu sau:
Khi ghi kí tự có mã 1A vào file văn bản, C sẽ ghi thành kí tự có mã -1.
Khi ghi file văn bản, cả 2 kí tự OD và OA sẽ được C ghi thành kí tự mã OA.
Khi ghi kí tự có mã OD vào file văn bản thì C sẽ bỏ qua.
1, 2 và 3 đều đúng.
Cho khai báo FILE *f1,*f2; int c; và đoạn lệnh: f1=fopen(“source”,”rt”); f2=fopen(“TARGET”,”wt”); while((c=fgetc(f1))!=EOF) fputc(c,f2); 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:
Độ 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.
Hàm nào dưới đây chỉ dùng để đọc 1 kí tự từ tệp:
getch();
fscanf();
fgetc();
scanf();
Hàm nào dưới đây chỉ dùng để nhập dữ liệu từ tệp:
getch();
fscanf();
getc();
scanf();
Hàm nào dưới đây chỉ dùng để ghi một kí tự vào tệp:
putch();
puts();
fputs();
fputc();
Hàm nào dưới đây dùng để ghi 1 xâu kí tự vào tệp:
putch();
fputc();
fputs();
puts();
Hàm nào dưới đây chỉ dùng để đọc 1 khối dữ liệu từ tệp:
fgets();
fputs();
fwrite();
fread();
Hàm nào dưới đây chỉ dùng để ghi một khối dữ liệu vào file:
fgets();
fputs();
fwrite();
fread();
Giả sử tệp DATA chứa 5 byte: “70, 26, 13, 10, 44”. Cho đoạn lệnh:FILE *f; char ch; f=fopen(“DATA”,”r”); while(!feof(f)) { ch=fgetc(f); printf(“%c”,ch);}; fclose(f);Hãy cho biết kết quả của đoạn chương trình trên:
“70,26,13,13,10,44”.
“70,26,13,10,44”.
“70,26,10,44”.
Đoạn lệnh có lỗi.
Cho tệp nhị phân DATA chứa dãy các cấu trúc liền nhau struct T{…} và f là con trỏ tệp đến DATA. Chọn câu đúng nhất trong các câu sau:
Lệnh fseek(f,10,SEEK_END) định vị con trỏ tệp đến byte thứ 10 trong tệp.
Đoạn lệnh fseek(f, 10, SEEK_END); định vị con trỏ tới cuối tệp.
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.
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.
