Trả lời:
Đáp án đúng: A
Trong C++, tên định danh (identifier) phải bắt đầu bằng một chữ cái (a-z, A-Z) hoặc dấu gạch dưới (_). Các ký tự tiếp theo có thể là chữ cái, chữ số (0-9) hoặc dấu gạch dưới. Dấu đô la ($) không được phép sử dụng để bắt đầu một định danh trong C++. Vì vậy, câu trả lời là SAI.
Câu hỏi liên quan
Lời giải:
Đáp án đúng: C
Đoạn code sử dụng một vòng lặp `for` với biến `k` kiểu `double`. Vòng lặp tiếp tục cho đến khi `k` lớn hơn hoặc bằng 3.0. Vì `k` tăng lên sau mỗi lần lặp (k++), vòng lặp sẽ chạy cho đến khi `k` đạt giá trị 3.0. Sau khi vòng lặp kết thúc, `printf` sẽ in giá trị của `k`. Do đó, đầu ra sẽ là 3.000000 (hoặc một giá trị tương tự, tùy thuộc vào độ chính xác hiển thị của kiểu double).
Lời giải:
Đáp án đúng: A
Đề bài yêu cầu xác định số lần chuỗi "laptrinhc++" được in ra màn hình. Đoạn code sử dụng vòng lặp `for` với điều kiện lặp là `i`. Trong mỗi lần lặp, `i` được dịch phải (right shift) một bit (`i >>= 1`).
Giá trị ban đầu của `i` là 1024. Ta có thể biểu diễn 1024 dưới dạng nhị phân là `10000000000`. Mỗi lần dịch phải một bit tương đương với việc chia `i` cho 2 (phần nguyên). Vòng lặp sẽ tiếp tục cho đến khi `i` bằng 0.
Số lần lặp sẽ là số bit cần thiết để biểu diễn 1024 ở dạng nhị phân, tức là 11 (từ bit thứ 0 đến bit thứ 10).
Vậy, chuỗi "laptrinhc++" sẽ được in ra 11 lần.
Giá trị ban đầu của `i` là 1024. Ta có thể biểu diễn 1024 dưới dạng nhị phân là `10000000000`. Mỗi lần dịch phải một bit tương đương với việc chia `i` cho 2 (phần nguyên). Vòng lặp sẽ tiếp tục cho đến khi `i` bằng 0.
Số lần lặp sẽ là số bit cần thiết để biểu diễn 1024 ở dạng nhị phân, tức là 11 (từ bit thứ 0 đến bit thứ 10).
Vậy, chuỗi "laptrinhc++" sẽ được in ra 11 lần.
Lời giải:
Đáp án đúng: C
Đoạn chương trình sử dụng các toán tử logic trong C.
* `w = i||j||k;` Biểu thức này sử dụng toán tử OR (`||`). Vì `i = 4` (khác 0), biểu thức `i||j||k` sẽ trả về 1 (true) mà không cần xét đến `j` và `k`.
* `x = i&&j&&k;` Biểu thức này sử dụng toán tử AND (`&&`). Vì `i = 4` (khác 0) và `j = -1` (khác 0), biểu thức `i&&j` sẽ trả về 1 (true). Tiếp theo, `1 && k` sẽ được tính. Vì `k = 0`, biểu thức `1 && 0` trả về 0 (false).
* `y = i||j&&k;` Toán tử `&&` có độ ưu tiên cao hơn `||`. Do đó, biểu thức được tính như sau: `j&&k`. Vì `j = -1` (khác 0) và `k = 0`, `j&&k` trả về 0. Sau đó, `i||0` được tính. Vì `i = 4` (khác 0), `i||0` trả về 1.
* `z = i&&j||k;` Toán tử `&&` có độ ưu tiên cao hơn `||`. Do đó, biểu thức được tính như sau: `i&&j`. Vì `i = 4` (khác 0) và `j = -1` (khác 0), `i&&j` trả về 1. Sau đó, `1||k` được tính. Vì `k = 0`, `1||0` trả về 1.
Vậy, kết quả in ra màn hình là: `1 0 1 1`.
* `w = i||j||k;` Biểu thức này sử dụng toán tử OR (`||`). Vì `i = 4` (khác 0), biểu thức `i||j||k` sẽ trả về 1 (true) mà không cần xét đến `j` và `k`.
* `x = i&&j&&k;` Biểu thức này sử dụng toán tử AND (`&&`). Vì `i = 4` (khác 0) và `j = -1` (khác 0), biểu thức `i&&j` sẽ trả về 1 (true). Tiếp theo, `1 && k` sẽ được tính. Vì `k = 0`, biểu thức `1 && 0` trả về 0 (false).
* `y = i||j&&k;` Toán tử `&&` có độ ưu tiên cao hơn `||`. Do đó, biểu thức được tính như sau: `j&&k`. Vì `j = -1` (khác 0) và `k = 0`, `j&&k` trả về 0. Sau đó, `i||0` được tính. Vì `i = 4` (khác 0), `i||0` trả về 1.
* `z = i&&j||k;` Toán tử `&&` có độ ưu tiên cao hơn `||`. Do đó, biểu thức được tính như sau: `i&&j`. Vì `i = 4` (khác 0) và `j = -1` (khác 0), `i&&j` trả về 1. Sau đó, `1||k` được tính. Vì `k = 0`, `1||0` trả về 1.
Vậy, kết quả in ra màn hình là: `1 0 1 1`.
Lời giải:
Đáp án đúng: A
Lời giải:
Đáp án đúng: D
Hàm `scanf("%[^\n]", str);` đọc một chuỗi ký tự từ đầu vào chuẩn (stdin) cho đến khi gặp ký tự newline (`\n`). Điều này tương đương với hàm `gets(str);`, cũng đọc một dòng từ đầu vào chuẩn vào chuỗi `str`. Tuy nhiên, cần lưu ý rằng hàm `gets()` không an toàn vì nó không kiểm tra kích thước của bộ đệm, có thể dẫn đến tràn bộ đệm. Trong khi đó, `scanf` với định dạng `%[^\n]` có thể an toàn hơn nếu sử dụng giới hạn kích thước, ví dụ `scanf("%99[^\n]", str);` để tránh tràn bộ đệm (giả sử `str` có kích thước 100). Các hàm `getch()` và `getche()` đọc một ký tự từ bàn phím mà không cần nhấn Enter, và `getchar()` đọc một ký tự từ đầu vào chuẩn sau khi nhấn Enter. Macro `getchar()` cũng tương tự như hàm `getchar()`. Vì vậy, `gets(str)` là đáp án gần đúng nhất với chức năng của `scanf("%[^\n]", str);`.
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