File
Câu 1:
Để làm việc với File trong C, thư viện nào cần được sử
dụng? A. stdlib.h
B. stdio.h
C. conio.h
D. string.h
Câu 2:
Kiểu dữ liệu nào dùng để khai báo một biến File trong
B. FILE
C. FilePointer
D. TextFile
Câu 3:
Câu lệnh nào sau đây đúng để mở file “data.txtchế độ ghi
(write)? A. fopen("data.txt", "r");
B. fopen("data.txt", "w");
C. fopen("data.txt", "rw");
D. open("data.txt", "w");
Câu 4:
Hàm nào được sử dụng để ghi một chuỗi vào file?
A. fread()
B. fgets()
C. fprintf()
D. fputs()
Câu 5:
Hàm dùng để: fclose(file);
A. Xoá tệp tin
B. Đóng file sau khi sử dụng
C. Mở lại file
D. Dọn bộ nhớ RAM
Câu 6:
Hàm nào dùng để đọc một tự từ file?
A. getchar()
B. fscanf()
C. fgetc()
D. getc()
Câu 7:
Giá trị trả về của khi mở file thất bại fopen()
gì? A. 0
B. 1
C. NULL
D. -1
Câu 8:
Chế độ trong nghĩa gì? "a" fopen()
A. Ghi mới từ đầu file
B. Ghi đè toàn bộ file
C. Ghi nối tiếp vào cuối file (append)
D. Chỉ đọc file
Câu 9:
Lệnh nào ghi một dòng văn bản kèm định dạng vào
file? A. printf()
B. fprintf()
C. puts()
D. scanf()
Câu 10:
Để đọc một dòng từ file lưu vào chuỗi , hàm nào nên str
dùng? A. fgets(str, size, file);
B. scanf("%s", str);
C. gets(str);
D. fscanf(file, "%s", str);
Câu 11: Hàm nào được sử dụng để mở một file trong C?
A. fopen()
B. fclose()
C. fscanf()
D. fwrite()
Câu 12: Kết quả của đoạn code sau nếu file "test.txt" không tồn tại?
#include <stdio.h>
int main() {
FILE *fp = fopen( , ); "test.txt" "r"
(fp == ) if NULL
); printf("Khong mo duoc file"
else
printf("Mo file thanh cong");
; return 0
}
A. Mo file thanh cong
B. Khong mo duoc file
C. Lỗi biên dịch
D. Lỗi runtime
Câu 13: Chế độ file nào dưới đây cho phép ghi dữ liệu vào cuối file không xóa nội dung
cũ? A. "w"
B. "r"
C. "a"
D. "r+"
Câu 14: Hàm nào dưới đây được sử dụng để đóng một file trong C?
A. fopen()
B. fclose()
C. fseek()
D. feof()
Câu 15: Kết quả của đoạn code sau nếu "test.txt" chứa dòng "Hello"?
#include <stdio.h>
int main() {
FILE *fp = fopen( , );"test.txt" "r"
ch = fgetc(fp); char
, ch); printf("%c"
fclose(fp);
; return 0
}
A. H
B. Hello
C. e
D. Lỗi biên dịch
Câu 16: Hàm nào dưới đây được sử dụng để kiểm tra xem đã đọc đến cuối file hay
chưa? A. fseek()
B. feof()
C. fread()
D. fputs()
Câu 17: Đoạn code sau lỗi gì?
#include <stdio.h>
int main() {
FILE *fp;
, fp); fputs("Hello"
fclose(fp);
; return 0
}
A. Không lỗi
B. Chưa mở file trước khi ghi
C. Thiếu thư viện string.h
D. Sai pháp fputs
Câu 18: Kết quả của đoạn code sau nếu file "data.txt" rỗng?
#include <stdio.h>
int main() {
FILE *fp = fopen( , ); "data.txt" "w"
, fp); fputs("Hello World"
fclose(fp);
; return 0
}
A. File data.txt chứa "Hello World"
B. File data.txt vẫn rỗng
C. Lỗi runtime
D. Lỗi biên dịch
Câu 19: Hàm nào dưới đây được sử dụng để di chuyển con trỏ file đến một vị tcụ
thể? A. fseek()
B. ftell()
C. rewind()
D. Cả A C
Câu 20: Kết quả của đoạn code sau nếu file "test.txt" chứa "12345"?
#include <stdio.h>
int main() {
FILE *fp = fopen( , ); "test.txt" "r"
num; int
(fp, , &num); fscanf "%d"
, num); printf("%d"
fclose(fp);
; return 0
}
A. 12345
B. 1
C. Lỗi biên dịch
D. Lỗi runtime
Cấu trúc
Câu 1:
Từ khóa nào được dùng để khai báo một cấu trúc trong C?
A. structure
B. class
C. struct
D. object
Câu 2:
Câu khai báo nào sau đây đúng?
A. structure Person { char name[20]; int
age; }; struct { name[20]; int age; } B.
Person;
C. struct Person { char name[20]; int
age; }; Person struct { char name[20];D.
int age; };
Câu 3:
Để khai báo biến của kiểu , cách nào sv1 struct SinhVien
đúng? A. sv1 SinhVien;
B. struct sv1 SinhVien;
C. struct SinhVien sv1;
D. SinhVien struct sv1;
Câu 4:
Giả sử , câu truy cập đúng struct HocSinh { int tuoi; };
là: A. HocSinh.tuoi = 20;
B. HocSinh->tuoi = 20;
C. hs.tuoi = 20; (với hs biến kiểu struct)
D. hs[tuoi] = 20;
Câu 5:
Muốn truy cập thành viên của con trỏ đến struct, ta dùng hiệu
nào? A. .
B. ->
C. *.
D. []
Câu 6:
Câu nào sau đây đúng để khai báo mảng 100 sinh
viên? A. struct SinhVien[100];
B. struct SinhVien sv[100];
C. SinhVien sv[100];
D. sv[100] struct SinhVien;
Câu 7:
thể truyền vào hàm bằng cách nào? struct
A. Truyền giá trị
B. Truyền địa chỉ (con trỏ)
C. Cả A B đều đúng
D. Không thể truyền struct vào hàm
Câu 8:
Cấu trúc thể chứa thành viên là:
A. Mảng
B. Biến
C. Con trỏ
D. Tất cả đều đúng
Câu 9:
thể định nghĩa lồng nhau không? struct
A.
B. Không
C. Chỉ khi dùng con trỏ
D. Chỉ trong C++
Câu 10:
Giả sử , để nhập dữ liệu từ bàn phím cho biếnstruct SV { char ten[20]; int tuoi; };
sv1, lệnh nào đúng?
A. scanf("%s %d", sv1.ten, &sv1.tuoi);
B. scanf("%s %d", &sv1.ten, sv1.tuoi);
C. scanf("%s %d", &sv1.ten, &sv1.tuoi);
D. scanf("%s %d", sv1.ten, sv1.tuoi);
Câu 11: Câu lệnh nào dưới đây khai báo một struct hợp lệ trong C?
A.
struct Point {
x; int
y; int
};
B.
struct {
x; int
y; int
} Point;
C.
struct Point {
x, y; int
};
D. Cả A C
Câu 12: Kết quả của đoạn code sau gì?
#include <stdio.h>
struct Point {
x; int
y; int
};
int main() {
= { , }; struct Point p 3 4
, p.x); printf("%d"
; return 0
}
A. 3
B. 4
C. Lỗi biên dịch
D. 0
Câu 13: Cách nào dưới đây cách truy cập đúng một trường của
struct? A. struct Point p; p.x = 5;
B. struct Point p; p->x = 5;
C. struct Point *p; p.x = 5;
D. struct Point *p; (*p)->x = 5;
Câu 14: Đoạn code sau lỗi gì?
#include <stdio.h>
struct Point {
x; int
y; int
};
int main() {
Point p = { , }; 1 2
, p.x, p.y); printf("%d %d"
return 0;
}
A. Không lỗi
B. Thiếu từ khóa struct khi khai báo biến
p C. Lỗi pháp printf
D. Thiếu khởi tạo cho p
Câu 15: Kết quả của đoạn code sau gì?
#include <stdio.h>
typedef struct {
x; int
y; int
} Point;
int main() {
Point p = { , }; 5 10
p.y = ; 20
, p.y); printf("%d"
; return 0
}
A. 10
B. 20
C. 5
D. Lỗi biên dịch
Câu 16: Struct trong C thể chứa những
gì? A. Các biến kiểu dữ liệu bản
B. Các struct khác
C. Con trỏ tới chính struct đó
D. Tất cả các đáp án trên
Câu 17: Kết quả của đoạn code sau gì?
#include <stdio.h>
struct Student {
]; char name[50
age; int
};
int main() {
= { , }; struct Student s "Alice" 20
, s.name, s.age); printf("%s %d"
; return 0
}

Preview text:

File Câu 1:
Để làm việc với File trong C, thư viện nào cần được sử dụng? A. stdlib.h B. stdio.h C. conio.h D. string.h Câu 2:
Kiểu dữ liệu nào dùng để khai báo một biến File trong C? A. file B. FILE C. FilePointer D. TextFile Câu 3:
Câu lệnh nào sau đây là đúng để mở file “data.txt” ở chế độ ghi
(write)? A. fopen("data.txt", "r"); B. fopen("data.txt", "w"); C. fopen("data.txt", "rw"); D. open("data.txt", "w"); Câu 4:
Hàm nào được sử dụng để ghi một chuỗi vào file? A. fread() B. fgets() C. fprintf() D. fputs() Câu 5:
Hàm fclose(file); dùng để: A. Xoá tệp tin
B. Đóng file sau khi sử dụng C. Mở lại file D. Dọn bộ nhớ RAM Câu 6:
Hàm nào dùng để đọc một ký tự từ file? A. getchar() B. fscanf() C. fgetc() D. getc() Câu 7: Giá trị trả về của
khi mở file thất bại là fopen() gì? A. 0 B. 1 C. NULL D. -1 Câu 8: Chế độ trong "a" nghĩa là gì? fopen() A. Ghi mới từ đầu file B. Ghi đè toàn bộ file
C. Ghi nối tiếp vào cuối file (append) D. Chỉ đọc file Câu 9:
Lệnh nào ghi một dòng văn bản kèm định dạng vào file? A. printf() B. fprintf() C. puts() D. scanf() Câu 10:
Để đọc một dòng từ file và lưu vào chuỗi str, hàm nào nên
dùng? A. fgets(str, size, file); B. scanf("%s", str); C. gets(str); D. fscanf(file, "%s", str);
Câu 11: Hàm nào được sử dụng để mở một file trong C? A. fopen() B. fclose() C. fscanf() D. fwrite()
Câu 12: Kết quả của đoạn code sau là gì nếu file "test.txt" không tồn tại? #include int main() {
FILE *fp = fopen("test.txt", "r"); if (fp == NULL)
printf("Khong mo duoc file"); else
printf("Mo file thanh cong"); return 0; } A. Mo file thanh cong B. Khong mo duoc file C. Lỗi biên dịch D. Lỗi runtime
Câu 13: Chế độ file nào dưới đây cho phép ghi dữ liệu vào cuối file mà không xóa nội dung cũ? A. "w" B. "r" C. "a" D. "r+"
Câu 14: Hàm nào dưới đây được sử dụng để đóng một file trong C? A. fopen() B. fclose() C. fseek() D. feof()
Câu 15: Kết quả của đoạn code sau là gì nếu "test.txt" chứa dòng "Hello"? #include int main() {
FILE *fp = fopen("test.txt", "r"); char ch = fgetc(fp); printf("%c", ch); fclose(fp); return 0; } A. H B. Hello C. e D. Lỗi biên dịch
Câu 16: Hàm nào dưới đây được sử dụng để kiểm tra xem đã đọc đến cuối file hay chưa? A. fseek() B. feof() C. fread() D. fputs()
Câu 17: Đoạn code sau có lỗi gì? #include int main() { FILE *fp; fputs("Hello", fp); fclose(fp); return 0; } A. Không có lỗi
B. Chưa mở file trước khi ghi
C. Thiếu thư viện string.h D. Sai cú pháp fputs
Câu 18: Kết quả của đoạn code sau là gì nếu file "data.txt" rỗng? #include int main() {
FILE *fp = fopen("data.txt", "w"); fputs("Hello World", fp); fclose(fp); return 0; }
A. File data.txt chứa "Hello World" B. File data.txt vẫn rỗng C. Lỗi runtime D. Lỗi biên dịch
Câu 19: Hàm nào dưới đây được sử dụng để di chuyển con trỏ file đến một vị trí cụ thể? A. fseek() B. ftell() C. rewind() D. Cả A và C
Câu 20: Kết quả của đoạn code sau là gì nếu file "test.txt" chứa "12345"? #include int main() {
FILE *fp = fopen("test.txt", "r"); num; int fscanf(fp, , &num); "%d" printf("%d", num); fclose(fp); return 0; } A. 12345 B. 1 C. Lỗi biên dịch D. Lỗi runtime Cấu trúc Câu 1:
Từ khóa nào được dùng để khai báo một cấu trúc trong C? A. structure B. class C. struct D. object Câu 2:
Câu khai báo nào sau đây là đúng?
A. structure Person { char name[20]; int
age; }; B. struct { name[20]; int age; } Person;
C. struct Person { char name[20]; int
age; }; D. Person struct { char name[20]; int age; }; Câu 3:
Để khai báo biến sv1 của kiểu struct SinhVien, cách nào đúng? A. sv1 SinhVien; B. struct sv1 SinhVien; C. struct SinhVien sv1; D. SinhVien struct sv1; Câu 4:
Giả sử struct HocSinh { int tuoi; };, câu truy cập đúng là: A. HocSinh.tuoi = 20; B. HocSinh->tuoi = 20;
C. hs.tuoi = 20; (với hs là biến kiểu struct) D. hs[tuoi] = 20; Câu 5:
Muốn truy cập thành viên của con trỏ đến struct, ta dùng ký hiệu nào? A. . B. -> C. *. D. [] Câu 6:
Câu nào sau đây đúng để khai báo mảng 100 sinh
viên? A. struct SinhVien[100]; B. struct SinhVien sv[100]; C. SinhVien sv[100]; D. sv[100] struct SinhVien; Câu 7:
Có thể truyền struct vào hàm bằng cách nào? A. Truyền giá trị
B. Truyền địa chỉ (con trỏ) C. Cả A và B đều đúng
D. Không thể truyền struct vào hàm Câu 8:
Cấu trúc có thể chứa thành viên là: A. Mảng B. Biến C. Con trỏ D. Tất cả đều đúng Câu 9:
Có thể định nghĩa struct lồng nhau không? A. Có B. Không C. Chỉ khi dùng con trỏ D. Chỉ trong C++ Câu 10:
Giả sử có struct SV { char ten[20]; int tuoi; };, để nhập dữ liệu từ bàn phím cho biến sv1, lệnh nào đúng?
A. scanf("%s %d", sv1.ten, &sv1.tuoi);
B. scanf("%s %d", &sv1.ten, sv1.tuoi);
C. scanf("%s %d", &sv1.ten, &sv1.tuoi);
D. scanf("%s %d", sv1.ten, sv1.tuoi);
Câu 11: Câu lệnh nào dưới đây khai báo một struct hợp lệ trong C? A. struct Point { x; int y; int }; B. struct { x; int y; int } Point; C. struct Point { x, y; int }; D. Cả A và C
Câu 12: Kết quả của đoạn code sau là gì? #include struct Point { x; int y; int }; int main() { struct = { Point p 3, 4}; printf("%d", p.x); return 0; } A. 3 B. 4 C. Lỗi biên dịch D. 0
Câu 13: Cách nào dưới đây là cách truy cập đúng một trường của
struct? A. struct Point p; p.x = 5;
B. struct Point p; p->x = 5; C. struct Point *p; p.x = 5;
D. struct Point *p; (*p)->x = 5;
Câu 14: Đoạn code sau có lỗi gì? #include struct Point { x; int y; int }; int main() { Point p = {1, 2}; printf("%d %d", p.x, p.y); return 0; } A. Không có lỗi
B. Thiếu từ khóa struct khi khai báo biến p C. Lỗi cú pháp printf D. Thiếu khởi tạo cho p
Câu 15: Kết quả của đoạn code sau là gì? #include typedef struct { x; int y; int } Point; int main() { Point p = {5, 10}; p.y = 20; printf("%d", p.y); return 0; } A. 10 B. 20 C. 5 D. Lỗi biên dịch
Câu 16: Struct trong C có thể chứa những
gì? A. Các biến kiểu dữ liệu cơ bản B. Các struct khác
C. Con trỏ tới chính struct đó
D. Tất cả các đáp án trên
Câu 17: Kết quả của đoạn code sau là gì? #include struct Student { char name[50]; age; int }; int main() {
struct Student s = {"Alice", 20};
printf("%s %d", s.name, s.age); return 0; }