Trả lời:
Đáp án đúng: B
Toán tử %=
là một toán tử gán phức hợp trong C++. Nó thực hiện phép chia lấy phần dư và gán kết quả cho biến bên trái. Ví dụ, x %= 5
tương đương với x = x % 5
. Vì vậy, khẳng định “%=
is not a operator in C++” là sai.
Câu hỏi liên quan
Lời giải:
Đáp án đúng: B
Preprocessor #define macro và inline functions là hai cơ chế khác nhau trong C/C++.
* Preprocessor #define macro: Là một chỉ thị tiền xử lý. Nó thực hiện thay thế văn bản đơn giản trước khi quá trình biên dịch thực sự bắt đầu. Không có kiểm tra kiểu dữ liệu, và việc thay thế được thực hiện một cách cơ học.
* Inline functions: Là các hàm mà trình biên dịch cố gắng chèn trực tiếp mã của hàm vào nơi hàm được gọi, thay vì thực hiện một lệnh gọi hàm thông thường. Điều này có thể giúp cải thiện hiệu suất, nhưng trình biên dịch có thể chọn không inline hàm nếu nó quá lớn hoặc phức tạp. Inline functions có kiểm tra kiểu dữ liệu và tuân theo các quy tắc phạm vi thông thường.
Vì vậy, câu trả lời đúng là FALSE.
* Preprocessor #define macro: Là một chỉ thị tiền xử lý. Nó thực hiện thay thế văn bản đơn giản trước khi quá trình biên dịch thực sự bắt đầu. Không có kiểm tra kiểu dữ liệu, và việc thay thế được thực hiện một cách cơ học.
* Inline functions: Là các hàm mà trình biên dịch cố gắng chèn trực tiếp mã của hàm vào nơi hàm được gọi, thay vì thực hiện một lệnh gọi hàm thông thường. Điều này có thể giúp cải thiện hiệu suất, nhưng trình biên dịch có thể chọn không inline hàm nếu nó quá lớn hoặc phức tạp. Inline functions có kiểm tra kiểu dữ liệu và tuân theo các quy tắc phạm vi thông thường.
Vì vậy, câu trả lời đúng là FALSE.
Lời giải:
Đáp án đúng: B
Toán tử new
trong C++ (và các ngôn ngữ tương tự) dùng để cấp phát bộ nhớ động. Nó trả về địa chỉ của vùng nhớ đã được cấp phát, chứ không trả về kích thước của vùng nhớ đó. Kích thước vùng nhớ được xác định bởi kiểu dữ liệu mà bạn đang cấp phát (ví dụ: int
, float
, một lớp đối tượng, v.v.). Vì vậy, câu trả lời đúng là "FALSE".
Lời giải:
Đáp án đúng: B
Đoạn code sử dụng toán tử `>` và `++` trong điều kiện `if`. Biến `a` được khởi tạo với giá trị 80.
Trong biểu thức điều kiện `if(a++ > 80)`, toán tử `a++` là toán tử post-increment. Điều này có nghĩa là giá trị của `a` (tức là 80) sẽ được sử dụng để so sánh với 80 trước, *sau đó* `a` mới tăng lên 81.
Vì 80 không lớn hơn 80, điều kiện `a++ > 80` là sai. Do đó, nhánh `else` sẽ được thực thi.
Trong nhánh `else`, `printf("Java %d", a)` được gọi. Lúc này, `a` đã được tăng lên 81. Vì vậy, kết quả in ra màn hình là "Java 81".
Trong biểu thức điều kiện `if(a++ > 80)`, toán tử `a++` là toán tử post-increment. Điều này có nghĩa là giá trị của `a` (tức là 80) sẽ được sử dụng để so sánh với 80 trước, *sau đó* `a` mới tăng lên 81.
Vì 80 không lớn hơn 80, điều kiện `a++ > 80` là sai. Do đó, nhánh `else` sẽ được thực thi.
Trong nhánh `else`, `printf("Java %d", a)` được gọi. Lúc này, `a` đã được tăng lên 81. Vì vậy, kết quả in ra màn hình là "Java 81".
Lời giải:
Đáp án đúng: A
Câu hỏi này kiểm tra kiến thức về hàm `printf` trong C. Hàm `printf` in ra màn hình các giá trị theo định dạng được chỉ định. Trong đoạn code này, chuỗi định dạng `"%d %d %d"` chỉ định rằng sẽ có ba số nguyên được in ra, cách nhau bởi dấu cách. Tuy nhiên, trong lệnh gọi `printf`, không có tham số nào được truyền để thay thế cho các định dạng `%d`. Do đó, `printf` sẽ cố gắng đọc các giá trị từ stack, nơi chứa các giá trị không xác định (rác). Vì vậy, kết quả sẽ là ba giá trị rác (không xác định).
Các phương án khác:
- B, C: Sai vì các giá trị 5, 10, 15 không được truyền vào hàm `printf`.
- D: Sai vì chương trình biên dịch và chạy được, không gây ra lỗi runtime. Lỗi là do `printf` không nhận đủ tham số, dẫn đến in ra các giá trị không xác định.
Các phương án khác:
- B, C: Sai vì các giá trị 5, 10, 15 không được truyền vào hàm `printf`.
- D: Sai vì chương trình biên dịch và chạy được, không gây ra lỗi runtime. Lỗi là do `printf` không nhận đủ tham số, dẫn đến in ra các giá trị không xác định.
Lời giải:
Đáp án đúng: A
Chương trình sử dụng các phép toán bitwise để tạo ra đầu ra. Biến `c` được khởi tạo bằng mã ASCII của ký tự '0' (48). Biến `mask` được khởi tạo bằng 01 (hệ bát phân, tương đương 1 hệ thập phân). Vòng lặp chạy từ 1 đến 5. Trong mỗi vòng lặp, chương trình in ra ký tự có mã ASCII là kết quả của phép OR giữa `c` và `mask`. Sau đó, `mask` được dịch trái một bit (`mask << 1`).
* Lần lặp 1: `c | mask = 48 | 1 = 49`, tương ứng với ký tự '1'.
* Lần lặp 2: `mask = 1 << 1 = 2`, `c | mask = 48 | 2 = 50`, tương ứng với ký tự '2'.
* Lần lặp 3: `mask = 2 << 1 = 4`, `c | mask = 48 | 4 = 52`, tương ứng với ký tự '4'.
* Lần lặp 4: `mask = 4 << 1 = 8`, `c | mask = 48 | 8 = 56`, tương ứng với ký tự '8'.
* Lần lặp 5: `mask = 8 << 1 = 16`, `c | mask = 48 | 16 = 64`, tương ứng với ký tự '@'.
Vậy, đầu ra của chương trình là 1248@.
* Lần lặp 1: `c | mask = 48 | 1 = 49`, tương ứng với ký tự '1'.
* Lần lặp 2: `mask = 1 << 1 = 2`, `c | mask = 48 | 2 = 50`, tương ứng với ký tự '2'.
* Lần lặp 3: `mask = 2 << 1 = 4`, `c | mask = 48 | 4 = 52`, tương ứng với ký tự '4'.
* Lần lặp 4: `mask = 4 << 1 = 8`, `c | mask = 48 | 8 = 56`, tương ứng với ký tự '8'.
* Lần lặp 5: `mask = 8 << 1 = 16`, `c | mask = 48 | 16 = 64`, tương ứng với ký tự '@'.
Vậy, đầu ra của chương trình là 1248@.
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