Trả lời:
Đáp án đúng: A
Định dạng "%f" được sử dụng để hiển thị một số thực (số dấu phẩy động) trong các ngôn ngữ lập trình như C, C++, Java (khi sử dụng String.format), và Python (khi sử dụng định dạng chuỗi kiểu cũ).
"%u" được sử dụng cho số nguyên không dấu.
"%i" thường được sử dụng cho số nguyên có dấu (tương tự như "%d").
"%float" không phải là một định dạng chuẩn trong các ngôn ngữ lập trình phổ biến.
Tổng hợp 600+ câu hỏi trắc nghiệm lập trình C có đáp án đầy đủ nhằm giúp các bạn dễ dàng ôn tập lại toàn bộ các kiến thức.
50 câu hỏi 60 phút
Câu hỏi liên quan
Lời giải:
Đáp án đúng: D
Đoạn mã `while ((ch = fgetc(f)) != EOF)` thực hiện việc đọc từng ký tự từ tệp được trỏ bởi con trỏ `f` bằng hàm `fgetc()`. Hàm `fgetc()` trả về ký tự đọc được (ép kiểu thành `int`) hoặc `EOF` (End-of-File) nếu gặp cuối tệp hoặc lỗi. Vòng lặp `while` tiếp tục chừng nào ký tự đọc được khác `EOF`. Như vậy, vòng lặp này đọc các phần tử của tệp cho đến khi gặp ký tự kết thúc tệp.
Phân tích các đáp án:
* **A. Chọn 1 phần tử và kiểm tra xem có phải là EOF hay không.** - Không chính xác vì `fgetc` đọc và gán giá trị cho `ch` *trước khi* kiểm tra.
* **B. Đọ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** - Không chính xác. Điều kiện dừng vòng lặp là gặp `EOF`, không phải ký tự xuống dòng.
* **C. Ghi một phần tử và kiểm tra xem có phải là EOF hay không.** - Không chính xác, `fgetc` là hàm đọc, không phải hàm ghi.
* **D. Đọ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.** - Chính xác. Vòng lặp tiếp tục đọc cho đến khi gặp `EOF` (kí tự kết thúc tệp).
Vậy, đáp án đúng là D.
Lời giải:
Đáp án đúng: A
Trong ngôn ngữ lập trình C/C++, hàm `filelength` thường được sử dụng để lấy kích thước của một tệp. Hàm này nhận một số nguyên (file descriptor) làm đối số, đại diện cho tệp đã được mở, và trả về kích thước của tệp đó. Kiểu dữ liệu trả về của hàm `filelength` thường là `long`, vì kích thước tệp có thể lớn hơn giới hạn của kiểu `int`. Do đó, đáp án A là đáp án chính xác nhất.
Các phương án khác:
- B: `double filelength(int the_file)`: Kiểu `double` không phù hợp để biểu diễn kích thước tệp vì kích thước tệp là một số nguyên.
- C: `int filelength(int the_file)`: Kiểu `int` có thể không đủ lớn để chứa kích thước của các tệp lớn.
- D: Không có đáp án nào đúng: Đáp án này sai vì A là đáp án đúng.
Lời giải:
Đáp án đúng: B
Đoạn code đưa ra 2 cấu trúc `S1` và `S2`, sau đó cố gắng khởi tạo giá trị cho chúng. Ta cần xem xét tính đúng đắn của các khởi tạo này.
* **Cấu trúc S1:**
* `struct S1 { int ngay, thang, nam; };` Khai báo một cấu trúc `S1` chứa ba thành viên kiểu `int`: `ngay`, `thang`, và `nam`.
* `S1 = (2, 1, 3);` **Sai**. Trong C/C++, không thể gán giá trị cho một biến cấu trúc (ở đây là `S1`) bằng cách sử dụng cú pháp `(2, 1, 3)`. Cú pháp này sử dụng toán tử dấu phẩy (comma operator), và nó chỉ trả về giá trị cuối cùng (trong trường hợp này là 3). Để khởi tạo một biến kiểu `S1`, chúng ta cần sử dụng cú pháp khởi tạo danh sách (list initialization) hoặc khởi tạo từng thành viên một.
* **Cấu trúc S2:**
* `struct S2 { char hoten[10]; struct S1 ngaysinh; };` Khai báo cấu trúc `S2` chứa một mảng ký tự `hoten` và một biến `ngaysinh` kiểu cấu trúc `S1`.
* `S2 = { "Ly Ly", { 4, 5, 6 } };` **Sai**. Việc gán trực tiếp một chuỗi ký tự như `"Ly Ly"` cho một mảng ký tự (`hoten[10]`) không được phép trong C/C++. Chúng ta cần sử dụng hàm `strcpy` để sao chép chuỗi vào mảng. Ngoài ra, để khởi tạo `ngaysinh`, cú pháp `{ 4, 5, 6 }` có thể được chấp nhận nếu trình biên dịch hỗ trợ C++11 hoặc các phiên bản mới hơn (khởi tạo danh sách rút gọn). Tuy nhiên, do lỗi sai ở phần gán chuỗi cho `hoten`, khởi tạo này vẫn sai.
Vì cả hai cách khởi tạo `S1` và `S2` đều sai, đáp án đúng là "S1 và S2 đều sai".
Lời giải:
Đáp án đúng: D
Để tạo danh sách liên kết, cấu trúc tự trỏ (self-referential structure) là yếu tố then chốt. Cấu trúc này chứa một con trỏ trỏ đến một biến có cùng kiểu cấu trúc đó.
* **Sinh viên 1:** Khai báo này đúng vì `struct Sv * tiep;` khai báo một con trỏ `tiep` kiểu `struct Sv`, cho phép liên kết đến phần tử tiếp theo trong danh sách.
* **Sinh viên 2:** Khai báo này cũng đúng. `typedef struct SV node;` tạo một bí danh (alias) `node` cho `struct SV`. Sau đó, `node * tiep;` khai báo một con trỏ `tiep` kiểu `node`, tương đương với `struct SV`, cho phép liên kết đến phần tử tiếp theo.
* **Sinh viên 3:** Khai báo này cũng đúng. Nó sử dụng `typedef` để định nghĩa `node` là một bí danh cho cấu trúc `struct SV` ngay sau khi định nghĩa cấu trúc. Điều này tương đương với cách làm của sinh viên 2, nhưng được thực hiện ngắn gọn hơn.
Vì cả ba sinh viên đều khai báo đúng, nên đáp án chính xác là D.
Lời giải:
Đáp án đúng: B
Câu hỏi này kiểm tra kiến thức về các cấu trúc dữ liệu cơ bản.
* **Stack (Ngăn xếp):** Là cấu trúc dữ liệu hoạt động theo nguyên tắc LIFO (Last In, First Out - Vào sau ra trước). Các thao tác thêm và xóa đều thực hiện ở một đầu, được gọi là đỉnh của stack.
* **Queue (Hàng đợi):** Là cấu trúc dữ liệu hoạt động theo nguyên tắc FIFO (First In, First Out - Vào trước ra trước). Các thao tác thêm (chèn) thực hiện ở một đầu (rear/đuôi), và thao tác xóa thực hiện ở đầu kia (front/đầu).
* **Cây nhị phân:** Là một cấu trúc dữ liệu phân cấp, trong đó mỗi nút có tối đa hai nút con.
Dựa vào định nghĩa, ta thấy Queue phù hợp với mô tả "thao tác chèn thực hiện tại một đầu, thao tác xóa được thực hiện tại đầu kia".
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

FORM.08: Bộ 130+ Biểu Mẫu Thống Kê Trong Doanh Nghiệp
136 tài liệu563 lượt tải

FORM.07: Bộ 125+ Biểu Mẫu Báo Cáo Trong Doanh Nghiệp
125 tài liệu585 lượt tải

FORM.06: Bộ 320+ Biểu Mẫu Hành Chính Thông Dụng
325 tài liệu608 lượt tải

FORM.05: Bộ 330+ Biểu Mẫu Thuế - Kê Khai Thuế Mới Nhất
331 tài liệu1010 lượt tải

FORM.04: Bộ 240+ Biểu Mẫu Chứng Từ Kế Toán Thông Dụng
246 tài liệu802 lượt tải

CEO.22: Bộ Tài Liệu Quy Trình Kiểm Toán, Kiểm Soát Nội Bộ Doanh Nghiệp
138 tài liệu417 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