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);
Trả lời:
Đáp án đúng: A
Đoạn code này mở file "FL.txt" ở chế độ đọc ("r"). Tuy nhiên, sau đó lại sử dụng `fprintf` để ghi giá trị của biến `n` (bằng 7) vào file. Vì file được mở ở chế độ đọc, nên việc ghi vào file sẽ gây ra lỗi. Do đó, đáp án đúng là A. Đoạn code gây lỗi.
Câu hỏi liên quan
Lời giải:
Đáp án đúng: B
Phân tích câu hỏi:
Câu hỏi này kiểm tra kiến thức về cách khởi tạo giá trị cho các biến cấu trúc (struct) trong C hoặc C++. Cần xem xét cú pháp và quy tắc khởi tạo cho từng thành phần của cấu trúc.
Đánh giá các phương án:
- S1 = (2, 1, 3); Cách khởi tạo này không đúng cú pháp trong C/C++. Khi khởi tạo một struct, ta cần sử dụng cú pháp khởi tạo danh sách (initializer list) với dấu ngoặc nhọn {}.
- S2 = { “ Ly Ly”, { 4, 5, 6 } }; Cấu trúc S2 có một mảng ký tự hoten và một cấu trúc S1 ngaysinh. Cách khởi tạo này cũng không đúng. Thứ nhất, chuỗi "Ly Ly" (với khoảng trắng ở đầu) có 7 kí tự (6 kí tự + \0), do đó sẽ gây ra lỗi tràn bộ nhớ khi gán vào mảng hoten có kích thước 10. Thứ hai, cần sử dụng strcpy để gán chuỗi.
Kết luận:
Vì cả hai cách khởi tạo S1 và S2 đều sai, đáp án đúng là D.
Lời giải:
Đáp án đúng: C
Để khai báo một cấu trúc (struct) trong C/C++, ta cần sử dụng từ khóa struct
. Nếu muốn sử dụng typedef
để tạo một tên ngắn gọn hơn cho cấu trúc, ta khai báo typedef struct
. Tên của cấu trúc (trong trường hợp này là STUDENT) thường được viết hoa theo quy ước, tuy nhiên điều này không bắt buộc.
Trong các đáp án:
- Đáp án A sai vì sử dụng từ khóa
structure
thay vìstruct
. - Đáp án B sai vì sử dụng kiểu dữ liệu
int
cho điểm số (s1, s2, s3), điểm số thường là số thực (float
). Ngoài ra, khai báochar Name[]
không chỉ rõ kích thước mảng, có thể gây lỗi biên dịch hoặc hành vi không mong muốn. - Đáp án C đúng vì sử dụng
typedef struct
để định nghĩa cấu trúc STUDENT với các trường dữ liệu phù hợp:Name
là mảng các ký tự (chuỗi) vàs1
,s2
,s3
là các số thực (float
) để lưu điểm. - Đáp án D sai vì sử dụng
typedef STUDENT
không hợp lệ. Cần phải cóstruct
sautypedef
để chỉ ra rằng ta đang định nghĩa một kiểu dữ liệu cấu trúc. Thêm vào đó, kiểu dữ liệu điểm làint
cũng không phù hợp.
Vậy đáp án đúng là C.
Lời giải:
Đáp án đúng: B
Phát biểu đúng về danh sách móc nối là: C. Để cài đặt danh sách móc nối phải sử dụng đến cấu trúc tự trỏ.
Giải thích:
A. Sai. Độ dài của danh sách móc nối có thể thay đổi linh hoạt trong quá trình thực thi bằng cách thêm hoặc xóa các phần tử.
B. Đúng. Danh sách móc nối lưu trữ các phần tử một cách rải rác trong bộ nhớ RAM. Mỗi phần tử (node) chứa dữ liệu và một con trỏ đến phần tử tiếp theo trong danh sách.
C. Đúng. Để cài đặt danh sách móc nối, ta sử dụng cấu trúc tự trỏ (self-referential structure), trong đó mỗi node chứa một con trỏ đến một node khác cùng kiểu. Điều này cho phép liên kết các node lại với nhau để tạo thành danh sách.
D. Sai. Ta có thể xóa bất kỳ phần tử nào trong danh sách móc nối, không chỉ phần tử đầu tiên, miễn là ta cập nhật lại các con trỏ liên kết cho phù hợp.
Giải thích:
A. Sai. Độ dài của danh sách móc nối có thể thay đổi linh hoạt trong quá trình thực thi bằng cách thêm hoặc xóa các phần tử.
B. Đúng. Danh sách móc nối lưu trữ các phần tử một cách rải rác trong bộ nhớ RAM. Mỗi phần tử (node) chứa dữ liệu và một con trỏ đến phần tử tiếp theo trong danh sách.
C. Đúng. Để cài đặt danh sách móc nối, ta sử dụng cấu trúc tự trỏ (self-referential structure), trong đó mỗi node chứa một con trỏ đến một node khác cùng kiểu. Điều này cho phép liên kết các node lại với nhau để tạo thành danh sách.
D. Sai. Ta có thể xóa bất kỳ phần tử nào trong danh sách móc nối, không chỉ phần tử đầu tiên, miễn là ta cập nhật lại các con trỏ liên kết cho phù hợp.
Lời giải:
Đáp án đúng: D
Khi loại bỏ một node x khỏi cây nhị phân tìm kiếm, ta cần kiểm tra sự tồn tại của x trên cây trước. Nếu x không tồn tại, việc loại bỏ là vô nghĩa. Nếu x tồn tại, các trường hợp sau cần được xem xét:
* x là node lá: Đơn giản chỉ cần loại bỏ x khỏi cây.
* x có một con: Thay x bằng con của nó.
* x có hai con: Tìm node kế cận (in-order successor) của x (node nhỏ nhất lớn hơn x) hoặc node tiền nhiệm (in-order predecessor) của x (node lớn nhất nhỏ hơn x), thay giá trị của x bằng giá trị của node này, và sau đó loại bỏ node kế cận hoặc node tiền nhiệm này. (Lưu ý rằng node kế cận và node tiền nhiệm chắc chắn có tối đa một con).
* x là node lá: Đơn giản chỉ cần loại bỏ x khỏi cây.
* x có một con: Thay x bằng con của nó.
* x có hai con: Tìm node kế cận (in-order successor) của x (node nhỏ nhất lớn hơn x) hoặc node tiền nhiệm (in-order predecessor) của x (node lớn nhất nhỏ hơn x), thay giá trị của x bằng giá trị của node này, và sau đó loại bỏ node kế cận hoặc node tiền nhiệm này. (Lưu ý rằng node kế cận và node tiền nhiệm chắc chắn có tối đa một con).
Lời giải:
Đáp án đúng: C
Trong chế độ đồ họa của ngôn ngữ lập trình (thường là Turbo Pascal hoặc các thư viện đồ họa tương tự trong C/C++), hàm `settextstyle(int font, int direction, int charsize)` được sử dụng để thiết lập kiểu chữ (font), hướng chữ (direction) và kích cỡ chữ (charsize) cho các văn bản sẽ được hiển thị sau đó.
- `font`: Xác định kiểu font chữ (ví dụ: font sans-serif, font serif).
- `direction`: Xác định hướng của chữ (ngang hoặc dọc).
- `charsize`: Xác định kích cỡ của chữ.
Hàm `outtextxy(int x, int y, char far * textstring)` dùng để hiển thị một chuỗi văn bản tại vị trí (x, y) trên màn hình, sử dụng kiểu chữ đã được thiết lập trước đó bởi `settextstyle`. Hàm `outtext(char far *textstring)` hiển thị chuỗi văn bản tại vị trí hiện tại của con trỏ văn bản, cũng sử dụng kiểu chữ đã được thiết lập trước. Do đó, `outtextxy` và `outtext` không trực tiếp xác lập kiểu chữ, cỡ chữ mà chỉ sử dụng các thiết lập này.
Vì vậy, phương án C là đáp án chính xác nhất.
- `font`: Xác định kiểu font chữ (ví dụ: font sans-serif, font serif).
- `direction`: Xác định hướng của chữ (ngang hoặc dọc).
- `charsize`: Xác định kích cỡ của chữ.
Hàm `outtextxy(int x, int y, char far * textstring)` dùng để hiển thị một chuỗi văn bản tại vị trí (x, y) trên màn hình, sử dụng kiểu chữ đã được thiết lập trước đó bởi `settextstyle`. Hàm `outtext(char far *textstring)` hiển thị chuỗi văn bản tại vị trí hiện tại của con trỏ văn bản, cũng sử dụng kiểu chữ đã được thiết lập trước. Do đó, `outtextxy` và `outtext` không trực tiếp xác lập kiểu chữ, cỡ chữ mà chỉ sử dụng các thiết lập này.
Vì vậy, phương án C là đáp án chính xác nhất.
Lời giải:
Bạn cần đăng ký gói VIP để làm bài, xem đáp án và lời giải chi tiết không giới hạn. Nâng cấp VIP
Lời giải:
Bạn cần đăng ký gói VIP để làm bài, xem đáp án và lời giải chi tiết không giới hạn. Nâng cấp VIP
Lời giải:
Bạn cần đăng ký gói VIP để làm bài, xem đáp án và lời giải chi tiết không giới hạn. Nâng cấp VIP
Lời giải:
Bạn cần đăng ký gói VIP để làm bài, xem đáp án và lời giải chi tiết không giới hạn. Nâng cấp VIP
Lời giải:
Bạn cần đăng ký gói VIP để làm bài, xem đáp án và lời giải chi tiết không giới hạn. Nâng cấp VIP

Bộ Đồ Án Tốt Nghiệp Ngành Trí Tuệ Nhân Tạo Và Học Máy
89 tài liệu310 lượt tải

Bộ 120+ Đồ Án Tốt Nghiệp Ngành Hệ Thống Thông Tin
125 tài liệu441 lượt tải

Bộ Đồ Án Tốt Nghiệp Ngành Mạng Máy Tính Và Truyền Thông
104 tài liệu687 lượt tải

Bộ Luận Văn Tốt Nghiệp Ngành Kiểm Toán
103 tài liệu589 lượt tải

Bộ 370+ Luận Văn Tốt Nghiệp Ngành Kế Toán Doanh Nghiệp
377 tài liệu1030 lượt tải

Bộ Luận Văn Tốt Nghiệp Ngành Quản Trị Thương Hiệu
99 tài liệu1062 lượt tải
ĐĂNG KÝ GÓI THI VIP
- Truy cập hơn 100K đề thi thử và chính thức các năm
- 2M câu hỏi theo các mức độ: Nhận biết – Thông hiểu – Vận dụng
- Học nhanh với 10K Flashcard Tiếng Anh theo bộ sách và chủ đề
- Đầy đủ: Mầm non – Phổ thông (K12) – Đại học – Người đi làm
- Tải toàn bộ tài liệu trên TaiLieu.VN
- Loại bỏ quảng cáo để tăng khả năng tập trung ôn luyện
- Tặng 15 ngày khi đăng ký gói 3 tháng, 30 ngày với gói 6 tháng và 60 ngày với gói 12 tháng.
77.000 đ/ tháng