Trả lời:
Đáp án đúng: B
Returning a local variable by reference in C++ is invalid. When a function ends, all its local variables are destroyed. Returning a reference to a local variable results in a dangling reference, pointing to invalid memory. Using this dangling reference can cause undefined behavior, including program crashes or incorrect results. Therefore, it's illegal.
Câu hỏi liên quan
Lời giải:
Đáp án đúng: A
Câu hỏi khẳng định rằng một lớp (class) đóng gói (encapsulates) cả phần triển khai (implementation) và giao diện (interface) của một kiểu dữ liệu do người dùng định nghĩa (user-defined data type) và tạo thành một kiểu dữ liệu trừu tượng (abstract data type). Điều này là đúng.
- Đóng gói (Encapsulation): Lớp che giấu chi tiết triển khai bên trong và chỉ cung cấp một giao diện để tương tác.
- Giao diện (Interface): Lớp định nghĩa cách các đối tượng bên ngoài có thể tương tác với nó (thông qua các phương thức public).
- Kiểu dữ liệu trừu tượng (Abstract Data Type - ADT): Lớp cung cấp một kiểu dữ liệu mới với các thao tác (phương thức) cụ thể, che giấu cách dữ liệu được lưu trữ và thao tác bên trong.
Do đó, lớp thực sự là một cơ chế để tạo ra các kiểu dữ liệu trừu tượng bằng cách đóng gói dữ liệu và các thao tác trên dữ liệu đó.
Lời giải:
Đáp án đúng: A
Trong C++, bạn hoàn toàn có thể lấy địa chỉ bộ nhớ của biến và hàm. Điều này được thực hiện bằng cách sử dụng toán tử `&` (toán tử địa chỉ). Khi bạn đặt toán tử `&` trước tên một biến, nó sẽ trả về địa chỉ bộ nhớ của biến đó. Tương tự, tên của một hàm (mà không có dấu ngoặc đơn `()`) cũng có thể được sử dụng để biểu diễn địa chỉ của hàm đó. Do đó, câu trả lời "TRUE" là chính xác.
Lời giải:
Đáp án đúng: C
Hàm `func()` chứa một vòng lặp `for` chạy hai lần (i = 0 và i = 1). Bên trong vòng lặp, có phép chia `5 / d`. Ban đầu, `d` được khởi tạo bằng 0. Do đó, khi `i = 0`, phép chia `5 / 0` sẽ xảy ra, gây ra lỗi chia cho 0, dẫn đến một ngoại lệ (exception). Vì vậy, hàm sẽ không trả về giá trị nào cả mà sẽ phát sinh ngoại lệ.
Lời giải:
Đáp án đúng: A
Đoạn mã C sử dụng vòng lặp `do...while`. Vòng lặp này sẽ thực hiện ít nhất một lần trước khi kiểm tra điều kiện. Trong trường hợp này:
- `putchar(ch)`: In ký tự `ch` ra màn hình.
- `i++ < 5`: So sánh giá trị của `i` với 5, sau đó tăng `i` lên 1. Biểu thức này đúng (true) khi `i` nhỏ hơn 5.
- `++ch <= 'F'`: Tăng giá trị của `ch` lên 1, sau đó so sánh với 'F'. Biểu thức này đúng (true) khi `ch` nhỏ hơn hoặc bằng 'F'.
- `||`: Toán tử OR. Vòng lặp tiếp tục nếu một trong hai biểu thức trên đúng.
Bây giờ, hãy xem xét từng bước:
1. Lần lặp đầu tiên:
- `i = 0`, `ch = 'A'`
- In 'A'.
- `i++ < 5` là `0 < 5` (true), `i` trở thành 1.
- `++ch <= 'F'` là `'B' <= 'F'` (true), `ch` trở thành 'B'.
- Vì một trong hai biểu thức đúng, vòng lặp tiếp tục.
2. Lần lặp thứ hai:
- `i = 1`, `ch = 'B'`
- In 'B'.
- `i++ < 5` là `1 < 5` (true), `i` trở thành 2.
- `++ch <= 'F'` là `'C' <= 'F'` (true), `ch` trở thành 'C'.
- Vòng lặp tiếp tục.
3. Các lần lặp tiếp theo:
- Vòng lặp tiếp tục tương tự cho đến khi `ch` vượt quá 'F'.
4. Khi `ch = 'F'`:
- `i` có thể là bất kỳ giá trị nào đó nhỏ hơn 5.
- In 'F'.
- `i++ < 5` (có thể đúng hoặc sai, tùy thuộc vào giá trị của i)
- `++ch <= 'F'` là `'G' <= 'F'` (false), `ch` trở thành 'G'.
- Vòng lặp sẽ tiếp tục nếu `i++ < 5` đúng.
5. Khi `i = 5`:
- Giả sử vòng lặp tiếp tục đến khi i = 5 và ch = 'G'
- In 'G'
- `i++ < 5` là `5 < 5` (false), `i` trở thành 6.
- `++ch <= 'F'` là `'H' <= 'F'` (false), `ch` trở thành 'H'.
- Cả hai điều kiện đều sai. Vòng lặp kết thúc.
Kết quả in ra là ABCDEF. Do đó, đáp án đúng là C. ABCDEF
- `putchar(ch)`: In ký tự `ch` ra màn hình.
- `i++ < 5`: So sánh giá trị của `i` với 5, sau đó tăng `i` lên 1. Biểu thức này đúng (true) khi `i` nhỏ hơn 5.
- `++ch <= 'F'`: Tăng giá trị của `ch` lên 1, sau đó so sánh với 'F'. Biểu thức này đúng (true) khi `ch` nhỏ hơn hoặc bằng 'F'.
- `||`: Toán tử OR. Vòng lặp tiếp tục nếu một trong hai biểu thức trên đúng.
Bây giờ, hãy xem xét từng bước:
1. Lần lặp đầu tiên:
- `i = 0`, `ch = 'A'`
- In 'A'.
- `i++ < 5` là `0 < 5` (true), `i` trở thành 1.
- `++ch <= 'F'` là `'B' <= 'F'` (true), `ch` trở thành 'B'.
- Vì một trong hai biểu thức đúng, vòng lặp tiếp tục.
2. Lần lặp thứ hai:
- `i = 1`, `ch = 'B'`
- In 'B'.
- `i++ < 5` là `1 < 5` (true), `i` trở thành 2.
- `++ch <= 'F'` là `'C' <= 'F'` (true), `ch` trở thành 'C'.
- Vòng lặp tiếp tục.
3. Các lần lặp tiếp theo:
- Vòng lặp tiếp tục tương tự cho đến khi `ch` vượt quá 'F'.
4. Khi `ch = 'F'`:
- `i` có thể là bất kỳ giá trị nào đó nhỏ hơn 5.
- In 'F'.
- `i++ < 5` (có thể đúng hoặc sai, tùy thuộc vào giá trị của i)
- `++ch <= 'F'` là `'G' <= 'F'` (false), `ch` trở thành 'G'.
- Vòng lặp sẽ tiếp tục nếu `i++ < 5` đúng.
5. Khi `i = 5`:
- Giả sử vòng lặp tiếp tục đến khi i = 5 và ch = 'G'
- In 'G'
- `i++ < 5` là `5 < 5` (false), `i` trở thành 6.
- `++ch <= 'F'` là `'H' <= 'F'` (false), `ch` trở thành 'H'.
- Cả hai điều kiện đều sai. Vòng lặp kết thúc.
Kết quả in ra là ABCDEF. Do đó, đáp án đúng là C. ABCDEF
Lời giải:
Đáp án đúng: A
Đoạn code này sử dụng một vòng lặp `for` vô hạn. Vòng lặp `for` có dạng `for (initialization; condition; increment)`. Nếu bỏ trống cả ba phần như trong câu hỏi (`for (; ; ;)`) thì vòng lặp sẽ lặp mãi mãi vì điều kiện lặp luôn đúng. Do đó, dòng `printf("In for loop\n");` sẽ được in liên tục ra màn hình. Dòng `printf("After loop\n");` sẽ không bao giờ được thực thi vì vòng lặp không bao giờ kết thú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