Trả lời:
Đáp án đúng: B
Trong C++, hàm thành viên tĩnh (static member function) không có con trỏ this
. Con trỏ this
trỏ đến đối tượng mà hàm thành viên (non-static) đang được gọi. Vì hàm thành viên tĩnh không được gọi trên một đối tượng cụ thể (mà được gọi trên lớp), nên nó không có con trỏ this
.
Câu hỏi liên quan
Lời giải:
Đáp án đúng: B
Đoạn mã C++ sử dụng namespace và `using` để gọi các hàm trùng tên.
Đầu tiên, `using N1::f;` đưa hàm `f` từ namespace `N1` vào phạm vi hiện tại. Khi gọi `f(1.0)`, vì `1.0` là kiểu `double`, C++ sẽ tìm hàm phù hợp nhất. Trong `N1`, hàm `f(int n)` không khớp chính xác, nhưng có thể chuyển đổi `double` thành `int` (mất thông tin phần thập phân). Do đó, `f(1.0)` trong namespace `N1` được gọi với `n = 1`, và trả về `1 * 2 = 2`. `i1` nhận giá trị 2.
Tiếp theo, `using N2::f;` đưa hàm `f` từ namespace `N2` vào phạm vi hiện tại. Bây giờ, cả `N1::f` và `N2::f` đều có sẵn. Khi gọi `f(1.0)`, hàm `f(double n)` trong `N2` khớp chính xác hơn (không cần chuyển đổi kiểu). Do đó, `f(1.0)` trong namespace `N2` được gọi với `n = 1.0`, và trả về `1.0 * 3 = 3`. `i2` nhận giá trị 3.
Vậy, `i1 = 2` và `i2 = 3`.
Đầu tiên, `using N1::f;` đưa hàm `f` từ namespace `N1` vào phạm vi hiện tại. Khi gọi `f(1.0)`, vì `1.0` là kiểu `double`, C++ sẽ tìm hàm phù hợp nhất. Trong `N1`, hàm `f(int n)` không khớp chính xác, nhưng có thể chuyển đổi `double` thành `int` (mất thông tin phần thập phân). Do đó, `f(1.0)` trong namespace `N1` được gọi với `n = 1`, và trả về `1 * 2 = 2`. `i1` nhận giá trị 2.
Tiếp theo, `using N2::f;` đưa hàm `f` từ namespace `N2` vào phạm vi hiện tại. Bây giờ, cả `N1::f` và `N2::f` đều có sẵn. Khi gọi `f(1.0)`, hàm `f(double n)` trong `N2` khớp chính xác hơn (không cần chuyển đổi kiểu). Do đó, `f(1.0)` trong namespace `N2` được gọi với `n = 1.0`, và trả về `1.0 * 3 = 3`. `i2` nhận giá trị 3.
Vậy, `i1 = 2` và `i2 = 3`.
Lời giải:
Đáp án đúng: C
Đoạn code C++ này sử dụng một biến toàn cục `count` để theo dõi số lượng đối tượng `obj` đang tồn tại. Constructor của lớp `obj` tăng `count` lên 1, và destructor giảm `count` xuống 1.
Trong hàm `main`, các đối tượng `A`, `B`, `C`, `D`, `E`, và `F` được tạo. Điều này làm cho `count` tăng lên 6. Sau đó, một khối mã con được tạo ra, trong đó đối tượng `G` được tạo. Điều này làm cho `count` tăng lên 7. Khi khối mã con kết thúc, đối tượng `G` bị hủy, và `count` giảm xuống 6. Cuối cùng, giá trị của `count` (là 6) được in ra.
Vậy đáp án đúng là C. 6
Trong hàm `main`, các đối tượng `A`, `B`, `C`, `D`, `E`, và `F` được tạo. Điều này làm cho `count` tăng lên 6. Sau đó, một khối mã con được tạo ra, trong đó đối tượng `G` được tạo. Điều này làm cho `count` tăng lên 7. Khi khối mã con kết thúc, đối tượng `G` bị hủy, và `count` giảm xuống 6. Cuối cùng, giá trị của `count` (là 6) được in ra.
Vậy đáp án đúng là C. 6
Lời giải:
Đáp án đúng: A
Đáp án A sai vì trong C++, kí tự đơn (char) được biểu diễn bằng cặp dấu nháy đơn (' '), còn chuỗi kí tự (string) được biểu diễn bằng cặp dấu nháy kép (“ “). Trong khai báo `char c = “a”;`, “a” là một chuỗi chứa một kí tự, không phải là một kí tự đơn. Do đó, khai báo này sai về mặt cú pháp.
Các đáp án còn lại đúng vì:
* B: `int i = 75ul;` (ul là unsigned long) là một cách gán giá trị số nguyên không dấu cho biến kiểu int.
* C: `int i = 0013;` số 0 đứng đầu biểu thị hệ cơ số bát phân, 0013 là số bát phân tương đương với số 11 trong hệ thập phân. Việc gán này hoàn toàn hợp lệ.
* D: `int i = 0x4b;` 0x đứng đầu biểu thị hệ cơ số thập lục phân, 0x4b là số thập lục phân tương đương với số 75 trong hệ thập phân.
Các đáp án còn lại đúng vì:
* B: `int i = 75ul;` (ul là unsigned long) là một cách gán giá trị số nguyên không dấu cho biến kiểu int.
* C: `int i = 0013;` số 0 đứng đầu biểu thị hệ cơ số bát phân, 0013 là số bát phân tương đương với số 11 trong hệ thập phân. Việc gán này hoàn toàn hợp lệ.
* D: `int i = 0x4b;` 0x đứng đầu biểu thị hệ cơ số thập lục phân, 0x4b là số thập lục phân tương đương với số 75 trong hệ thập phân.
Lời giải:
Đáp án đúng: B
Trong ngôn ngữ lập trình C, xâu định dạng "%x"
được sử dụng để in ra một số nguyên ở hệ cơ số 16 (hệ thập lục phân). Các xâu định dạng khác có ý nghĩa như sau:
"%d"
: in ra một số nguyên ở hệ cơ số 10 (hệ thập phân)."%i"
: tương tự như"%d"
, in ra một số nguyên ở hệ cơ số 10."%u"
: in ra một số nguyên không dấu ở hệ cơ số 10.
Do đó, đáp án chính xác là B.
Lời giải:
Đáp án đúng: A
Đoạn code C có một lỗi cú pháp nghiêm trọng ở dòng `*++ptr = 2;`. Trong C, bạn không thể gán một giá trị cho kết quả của phép toán `++ptr` như thế này. `++ptr` sẽ tăng giá trị của con trỏ `ptr` (làm cho nó trỏ đến một vùng nhớ khác), nhưng kết quả của phép tăng này không phải là một lvalue (một biểu thức có thể xuất hiện ở bên trái của phép gán). Do đó, trình biên dịch sẽ báo lỗi.
Vì có lỗi biên dịch, chương trình sẽ không thể thực thi, và không có output nào được tạo ra.
Đáp án đúng là "D. Complier error".
Vì có lỗi biên dịch, chương trình sẽ không thể thực thi, và không có output nào được tạo ra.
Đáp án đúng là "D. Complier error".
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