230+ câu trắc nghiệm Ngôn ngữ lập trình có đáp án - Phần 6
30 câu hỏi
while ((ch=fgetc(f))!=EOF) …
Chọn 1 phần tử và kiểm tra xem có phải là EOF hay không.
Đọ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.
Ghi một phần tử và kiểm tra xem có phải là EOF hay không.
Đọ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.
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.
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.
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.
Hàm xóa bộ nhớ đệm của bàn phím.
long filelength(int the_file);
double filelength(int the_file);
int filelength(int the_file);
Không có đáp án nào đúng.
Mở tệp nhị phân để ghi.
Mở tệp nhị phân đã có và ghi thêm dữ liệu nối tiếp vào tệp này.
Mở tệp nhị phân để ghi mới.
Mở tệp nhị phân để đọc.
double chsize(int handle, long size);
long chsize(int handle, long size);
int chsize(int handle, long size);
Tất cả các đáp án trên.
EOF.
NULL.
\n.
Ctrl_Z.
Mở tệp văn bản cho phép ghi.
Mở tệp văn bản cho phép đọc.
Mở tệp văn bản cho phép cả đọc cả ghi.
Mở tệp văn bản đã tồn tại để đọc.
Mở tệp nhị phân để ghi.
Xóa nội dung của tệp.
Mở tệp văn bản để đọc và ghi.
Tất cả các đáp án trên.
(*p).a;
*p->a;
1 và 2 sai.
1 và 2 đúng.
Câu lệnh nào không hợp lệ:
p = &t;
p = &t.x;
p = &a[5];
p = &a;
struct ngay{ int ng, th, n;} vaotruong, ratruong;
typedef struct sinhvien{ char hoten; ngay ngaysinh;};
Hãy chọn câu đúng nhất:
Không được phép gán: vaotruong = ratruong;
“sinhvien” là tên cấu trúc, “vaotruong”, “ratruong” là tên biến cấu trú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.
1, 2, 3 đúng.
struct S1{ int ngay, thang, nam;}; S1 = (2, 1, 3);
struct S2{ char hoten[10]; struct S1 ngaysinh;}; S2 = {"Ly Ly", {4, 5, 6}};
S1 đúng.
S2 đúng.
Cả S1, S2 đều đúng.
Cả S1, S2 đều sai.
Gán biến cho nhau.
Gán hai phần tử mảng (kiểu cấu trúc) cho nhau.
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.
Gán hai mảng có cấu trúc có cùng số phần tử cho nhau.
struct { int to; float soluong;} x[10];
for (int i = 0; i < 10; i++) scanf("%d%f", &x[i].to, &x[i].soluong);
Chọn câu đúng nhất trong các câu sau:
Đoạn chương trình trên có lỗi cú pháp.
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”.
Lấy địa chỉ thành phần “soluong” dẫn đến chương trình hoạt động không đúng đắn.
Cả 3 ý trên đều sai.
1 - Sinh viên 1: struct SV {char ht[25]; int tuoi; struct Sv *tiep;};
2 - Sinh viên 2: typedef struct SV node; struct SV {char ht[25]; int tuoi; node *tiep;};
3 - Sinh viên 3: typedef struct SV {char ht[25]; int tuoi; struct SV *tiep;} node;
1.
2.
2 và 3.
1, 2 và 3.
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;};
(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:
Khai báo 1 tốn nhiều bộ nhớ hơn khai báo 2.
Khai báo 2 sẽ giúp chương trình chạy nhanh hơn khi đổi vị trí 2 sinh viên.
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.
Khai báo 2 sẽ giúp chương trình chạy nhanh hơn khi duyệt danh sách.
char S[] = “Helen”;
char *p = S;
char c = *(p+3);
Giá trị của c sẽ là:
‘H’.
‘e’.
‘l’.
‘n’.
“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.
“struct” là sự kết hợp của nhiều thành phần có thể có kiểu khác nhau.
Cả 2 ý đều đúng.
Cả hai ý đều sai.
“.” (Toán tử chấm).
“->” (Toán tử mũi tên).
Cả hai đều đúng.
Cả hai đều sai.
Xem đoạn code sau:
c
typedef struct ST { int d1, d2, d3; };
ST v = {5, 6, 7};
ST* p = &v;
p.d1++;
Giá trị của biến v là:
{6, 6, 7};
{5, 6, 7};
Nhóm trị khác.
Đoạn code gây lỗi. ((*p).d1++;)
typedef struct STUDENT { int d1, d2, d3; };
STUDENT v = {2, 3, 4};
v.d1++;
Giá trị trung bình của các trường trong biến v là gì:
3.0
4.0
Giá trị khác.
Có lỗi trong đoạn code.
structure STUDENT {char Name[]; int s1, s2, s3;};
struct STUDENT {char Name[]; int s1, s2, s3;};
typedef struct STUDENT {char Name[]; float s1, s2, s3;};
typedef STUDENT { char Name[]; int s1, s2, s3;};
Địa chỉ vùng nhớ của một biến khác.
Giá trị của một biến khác.
Cả A và B đều đúng.
Cả A và B đều sai.
#include <stdio.h>
void main()
{
struct diem;
{
float k;
float a;
float l;
};
struct diem m;
m.k = 8;
m.a = 6.5;
m.l = 6;
printf("%0.1f%0.1f%0.1f", m.k, m.a, m.l);
};
“8.06.56.0”.
“86.56”.
“8.0000006.5000006.000000”.
“86.5000006”.
Mảng.
Con trỏ.
Tập tin.
Cấu trúc (struct).
Lưu trữ rời rạc trong bộ nhớ.
Luôn lưu trữ liên tục trong bộ nhớ.
Lưu trữ theo kiểu phân trang.
Lưu trữ theo kiểu phân đoạn.
Tìm vị trí thích hợp cho nhánh cây con bên phải.
Tìm vị trí thích hợp cho x trên toàn bộ cây.
Tìm vị trí thích hợp cho nhánh cây con ở bên trái.
Không ý nào đúng.
(p->info != NULL);
(p->info == NULL);
(p->next != NULL);
(p->next == NULL);
x có phải là node lá trái của cây nhị phân tìm kiếm hay không.
x có phải là node lá phải của cây nhị phân tìm kiếm hay không.
Sự tồn tại của x trên cây
Cả 3 phương án a, b, c đều sai.
FIFO.
Round Robin.
Tuần tự.
FILO.







