Đáp án đúng: B
Câu hỏi liên quan
Câu trả lời là SAI. Việc một hàm trả về tham chiếu đến một biến tự động (automatic variable) là sai và gây ra lỗi nghiêm trọng. Biến tự động được cấp phát trên stack và tự động hủy khi hàm kết thúc. Khi hàm trả về một tham chiếu đến biến này, tham chiếu đó sẽ trở thành dangling reference (tham chiếu treo) vì vùng nhớ mà nó trỏ đến không còn hợp lệ. Việc sử dụng dangling reference sẽ dẫn đến hành vi không xác định (undefined behavior) và có thể gây ra crash hoặc lỗi không lường trước được.
Phân tích câu hỏi:
Câu hỏi kiểm tra kiến thức về các loại thành viên lớp (class members) trong lập trình hướng đối tượng, đặc biệt là thành viên dùng chung cho tất cả các đối tượng của một lớp.
Đánh giá các phương án:
- A. A const member: Một biến thành viên `const` là một biến không thể thay đổi giá trị sau khi khởi tạo. Nó thuộc về từng đối tượng riêng biệt, chứ không phải dùng chung cho tất cả các đối tượng.
- B. A reference parameter: Tham số tham chiếu được sử dụng trong các hàm để truyền tham chiếu đến một biến, không liên quan đến việc chia sẻ giữa các đối tượng của một lớp.
- C. A static member: Một biến thành viên `static` được chia sẻ bởi tất cả các đối tượng của một lớp. Nó chỉ có một bản duy nhất, và mọi thay đổi trên biến `static` sẽ ảnh hưởng đến tất cả các đối tượng của lớp đó. Đây là đáp án đúng.
- D. A function member: Một hàm thành viên là một hàm được định nghĩa bên trong một lớp. Mặc dù tất cả các đối tượng của một lớp có thể truy cập cùng một hàm thành viên, bản thân hàm không phải là một thành viên được chia sẻ theo nghĩa mà câu hỏi đề cập.
Kết luận:
Đáp án đúng là C. A static member vì nó là thành viên lớp được chia sẻ giữa tất cả các đối tượng của một lớp.
Phương án A sai vì mỗi thể hiện của lớp *không* có bản sao riêng của biến static.
Phương án B và C sai vì khi một thể hiện thay đổi giá trị của biến static, các thể hiện khác *sẽ* bị ảnh hưởng.
Phương án D không hoàn toàn chính xác, mặc dù các thể hiện của lớp cần "xem xét" giá trị của biến static, nhưng không nhất thiết phải làm điều này *trước* khi khởi tạo.
Vì không có đáp án nào hoàn toàn chính xác, tuy nhiên đáp án gần đúng nhất là không có đáp án nào.
- Khi `i = 0`, in ra `0*0 = 0`.
- Khi `i = 1`, in ra `1*1 = 1`.
- Khi `i = 2`, in ra `2*2 = 4`.
- Khi `i = 3`, in ra `3*3 = 9`.
Vậy kết quả in ra sẽ là `0,1,4,9,`.
* A. (c = a & b): Phép toán bitwise AND giữa `a` và `b`, kết quả được gán cho `c`.
* B. (c = a && b): Phép toán logic AND giữa `a` và `b`, kết quả (1 hoặc 0) được gán cho `c`. Do `a` và `b` khác 0 nên biểu thức `a && b` sẽ cho kết quả là 1.
* C. (c = a / b): Phép chia số nguyên `a` cho `b`, kết quả được gán cho `c`.
* D. (c = a < b): So sánh `a` có nhỏ hơn `b` không. Kết quả là một giá trị boolean (1 nếu đúng, 0 nếu sai) được gán cho `c`. Ở đây, `a=3` không nhỏ hơn `b=2` nên kết quả là 0. Biểu thức này bị sai cú pháp vì có ký tự "<" không hợp lệ ở giữa.
Vậy, phương án D viết sai cú pháp.

Bộ Đồ Án Tốt Nghiệp Ngành Trí Tuệ Nhân Tạo Và Học Máy

Bộ 120+ Đồ Án Tốt Nghiệp Ngành Hệ Thống Thông Tin

Bộ Đồ Án Tốt Nghiệp Ngành Mạng Máy Tính Và Truyền Thông

Bộ Luận Văn Tốt Nghiệp Ngành Kiểm Toán

Bộ 370+ Luận Văn Tốt Nghiệp Ngành Kế Toán Doanh Nghiệp

Bộ Luận Văn Tốt Nghiệp Ngành Quản Trị Thương Hiệu
ĐĂ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.