Trả lời:
Đáp án đúng: C
Trong C, để in ra địa chỉ của một biến hoặc con trỏ, ta sử dụng định dạng %p
. Các định dạng khác có công dụng như sau:
%f
: Được sử dụng để in ra số thực dấu phẩy động.%s
: Được sử dụng để in ra một chuỗi ký tự.%h
: Không phải là một định dạng chuẩn trong C để in địa chỉ hoặc bất kỳ kiểu dữ liệu thông thường nào.
Câu hỏi liên quan
Lời giải:
Đáp án đúng: C
Kích thước của mảng trong lập trình thể hiện số lượng phần tử tối đa mà mảng có thể chứa. Đồng thời, nó cũng phản ánh kích thước bộ nhớ cần thiết để lưu trữ tất cả các phần tử của mảng đó. Do đó, cả hai câu A và B đều đúng.
Lời giải:
Đáp án đúng: C
Phân tích các đáp án:
- A. getch(); Hàm này thường dùng để đọc một ký tự từ bàn phím mà không hiển thị ký tự đó trên màn hình. Nó không liên quan đến việc đọc từ tệp.
- B. fscanf(); Hàm này dùng để đọc dữ liệu có định dạng từ tệp. Nó có thể đọc nhiều ký tự hoặc nhiều giá trị khác nhau cùng lúc, không chỉ một ký tự.
- C. fgetc(); Hàm này được sử dụng để đọc một ký tự duy nhất từ một tệp. Nó trả về ký tự đọc được (dưới dạng int) hoặc EOF nếu gặp cuối tệp hoặc lỗi.
- D. scanf(); Hàm này dùng để đọc dữ liệu có định dạng từ đầu vào chuẩn (thường là bàn phím), không phải từ tệp.
Kết luận:
Hàm fgetc()
là hàm duy nhất trong các lựa chọn được cung cấp, chuyên dùng để đọc một ký tự duy nhất từ một tệp.
Lời giải:
Đáp án đúng: C
Phân tích câu hỏi:
Câu hỏi kiểm tra kiến thức về hàm `fseek()` trong C/C++ để định vị con trỏ tệp trong tệp nhị phân.
Đánh giá các phương án:
* A. fseek(f,10,SEEK_END): Sai. Di chuyển 10 byte *từ* cuối tệp về đầu.
* B. fseek(f, 10, SEEK_END): Sai. Để tới cuối tệp cần offset 0.
* C. fseek(f, n, SEEK_SET): Sai. Chỉ định vị tới byte `n`, không phải cấu trúc thứ `n`. Cấu trúc cuối là `n-1`.
* D. fseek(f, n, SEEK_CUR): Đúng *nhất*. Chỉ đúng khi n=0.
Kết luận:
Phương án D đúng nhất do các phương án còn lại sai nhiều hơn.
Câu hỏi kiểm tra kiến thức về hàm `fseek()` trong C/C++ để định vị con trỏ tệp trong tệp nhị phân.
Đánh giá các phương án:
* A. fseek(f,10,SEEK_END): Sai. Di chuyển 10 byte *từ* cuối tệp về đầu.
* B. fseek(f, 10, SEEK_END): Sai. Để tới cuối tệp cần offset 0.
* C. fseek(f, n, SEEK_SET): Sai. Chỉ định vị tới byte `n`, không phải cấu trúc thứ `n`. Cấu trúc cuối là `n-1`.
* D. fseek(f, n, SEEK_CUR): Đúng *nhất*. Chỉ đúng khi n=0.
Kết luận:
Phương án D đúng nhất do các phương án còn lại sai nhiều hơn.
Lời giải:
Đáp án đúng: B
Đoạn chương trình khai báo một mảng `x` gồm 10 phần tử, mỗi phần tử là một cấu trúc (struct) chứa hai thành phần: `to` (kiểu int) và `soluong` (kiểu float). Sau đó, chương trình sử dụng vòng lặp `for` để đọc dữ liệu nhập vào từ bàn phím cho từng phần tử của mảng `x`. Hàm `scanf` được sử dụng để đọc một số nguyên (`%d`) vào `x[i].to` và một số thực (`%f`) vào `x[i].soluong`. Toán tử `&` được sử dụng để lấy địa chỉ của các biến `x[i].to` và `x[i].soluong`, cần thiết cho `scanf` để lưu trữ các giá trị đã đọc vào đúng vị trí trong bộ nhớ.
Phân tích các phương án:
A. Sai. Đoạn chương trình không có lỗi cú pháp.
B. Sai. Được phép sử dụng toán tử lấy địa chỉ `&` đối với các thành phần của cấu trúc.
C. Sai. Việc lấy địa chỉ thành phần `soluong` là hoàn toàn hợp lệ và cần thiết để hàm `scanf` có thể lưu giá trị đọc được vào biến này.
D. Đúng. Vì cả 3 ý trên đều sai.
Vậy, đáp án đúng nhất là D.
Phân tích các phương án:
A. Sai. Đoạn chương trình không có lỗi cú pháp.
B. Sai. Được phép sử dụng toán tử lấy địa chỉ `&` đối với các thành phần của cấu trúc.
C. Sai. Việc lấy địa chỉ thành phần `soluong` là hoàn toàn hợp lệ và cần thiết để hàm `scanf` có thể lưu giá trị đọc được vào biến này.
D. Đúng. Vì cả 3 ý trên đều sai.
Vậy, đáp án đúng nhất là D.
Lời giải:
Đáp án đúng: B
Phân tích:
* Khai báo 1: Định nghĩa một cấu trúc `SV` chứa thông tin sinh viên (`thongtin`) và một con trỏ `tiep` trỏ đến phần tử tiếp theo trong danh sách. Đây là cách triển khai danh sách liên kết đơn giản.
* Khai báo 2: Định nghĩa hai cấu trúc: `SV` chỉ chứa thông tin sinh viên và `DS` chứa một con trỏ `sv` trỏ đến một sinh viên và một con trỏ `tiep` trỏ đến phần tử tiếp theo trong danh sách.
Đánh giá các phương án:
* A. Khai báo 1 tốn nhiều bộ nhớ hơn khai báo 2: Sai. Khai báo 2 tốn nhiều bộ nhớ hơn vì mỗi nút trong danh sách liên kết (cấu trúc `DS`) chứa một con trỏ đến sinh viên (cấu trúc `SV`) và một con trỏ đến nút tiếp theo. Trong khi khai báo 1, mỗi nút (cấu trúc `SV`) chỉ chứa trực tiếp thông tin sinh viên và con trỏ đến nút tiếp theo.
* B. Khai báo 2 sẽ giúp chương trình chạy nhanh hơn khi đổi vị trí 2 sinh viên: Sai. Việc đổi vị trí hai sinh viên trong danh sách liên kết yêu cầu thay đổi các con trỏ, và tốc độ không phụ thuộc vào việc sử dụng khai báo 1 hay khai báo 2.
* C. 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: Đúng. Với khai báo 1, việc đổi vị trí hai sinh viên chỉ cần thao tác trên các con trỏ `tiep` của các nút `SV`. Với khai báo 2, cần thao tác trên các con trỏ `tiep` của các nút `DS` và có thể cần thao tác trên các con trỏ `sv` nếu cần thay đổi thông tin sinh viên được trỏ tới.
* D. Khai báo 2 sẽ giúp chương trình chạy nhanh hơn khi duyệt danh sách: Sai. Tốc độ duyệt danh sách liên kết phụ thuộc vào số lượng phần tử và hiệu năng của hệ thống, không phụ thuộc vào cách khai báo cấu trúc.
Vậy đáp án đúng là C.
* Khai báo 1: Định nghĩa một cấu trúc `SV` chứa thông tin sinh viên (`thongtin`) và một con trỏ `tiep` trỏ đến phần tử tiếp theo trong danh sách. Đây là cách triển khai danh sách liên kết đơn giản.
* Khai báo 2: Định nghĩa hai cấu trúc: `SV` chỉ chứa thông tin sinh viên và `DS` chứa một con trỏ `sv` trỏ đến một sinh viên và một con trỏ `tiep` trỏ đến phần tử tiếp theo trong danh sách.
Đánh giá các phương án:
* A. Khai báo 1 tốn nhiều bộ nhớ hơn khai báo 2: Sai. Khai báo 2 tốn nhiều bộ nhớ hơn vì mỗi nút trong danh sách liên kết (cấu trúc `DS`) chứa một con trỏ đến sinh viên (cấu trúc `SV`) và một con trỏ đến nút tiếp theo. Trong khi khai báo 1, mỗi nút (cấu trúc `SV`) chỉ chứa trực tiếp thông tin sinh viên và con trỏ đến nút tiếp theo.
* B. Khai báo 2 sẽ giúp chương trình chạy nhanh hơn khi đổi vị trí 2 sinh viên: Sai. Việc đổi vị trí hai sinh viên trong danh sách liên kết yêu cầu thay đổi các con trỏ, và tốc độ không phụ thuộc vào việc sử dụng khai báo 1 hay khai báo 2.
* C. 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: Đúng. Với khai báo 1, việc đổi vị trí hai sinh viên chỉ cần thao tác trên các con trỏ `tiep` của các nút `SV`. Với khai báo 2, cần thao tác trên các con trỏ `tiep` của các nút `DS` và có thể cần thao tác trên các con trỏ `sv` nếu cần thay đổi thông tin sinh viên được trỏ tới.
* D. Khai báo 2 sẽ giúp chương trình chạy nhanh hơn khi duyệt danh sách: Sai. Tốc độ duyệt danh sách liên kết phụ thuộc vào số lượng phần tử và hiệu năng của hệ thống, không phụ thuộc vào cách khai báo cấu trúc.
Vậy đáp án đúng là C.
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