Anh (Chị) hãy cho biết khối lệnh sai ở dòng nào?
1. int i=0;
2. do {
3. i += 1;
4. } while (i == 0); 5 . cout << i;
Trả lời:
Đáp án đúng: A
Câu hỏi này kiểm tra kiến thức về cú pháp cơ bản của vòng lặp `do...while` trong C++. Lỗi nằm ở dòng số 5: `cout << i;`. Trong C++, sau vòng lặp `do...while`, câu lệnh `cout << i;` cần được đặt trên một dòng riêng biệt và kết thúc bằng dấu chấm phẩy. Cách viết liền như trong câu hỏi là sai cú pháp. Các dòng còn lại đều đúng cú pháp.
Do đó, đáp án đúng là C.
Câu hỏi liên quan
Lời giải:
Đáp án đúng: A
Đoạn code có lỗi vì biến `s` được khai báo lại bên trong vòng lặp `while`. Điều này dẫn đến biến `s` bên ngoài vòng lặp không được cập nhật. Tuy nhiên, vì câu hỏi yêu cầu "kết quả của đoạn lệnh", ta sẽ xét theo logic code (cho dù code lỗi).
Ban đầu: `i = 0`, `n = 10`, `s = 0`.
Vòng lặp `while (i < n)` sẽ thực hiện với điều kiện `i` luôn là 0, do đó `i < n` luôn đúng (với `n` giảm dần nhưng vẫn lớn hơn 0). Điều này dẫn đến vòng lặp vô hạn (infinite loop).
Tuy nhiên, đề bài có `cout << s;` nằm ngoài vòng lặp, nghĩa là đoạn code sẽ biên dịch và chạy (nếu bỏ qua lỗi khai báo biến trùng tên trong vòng lặp). Khi đó giá trị của `s` in ra sẽ là giá trị khởi tạo ban đầu của `s` (biến `s` bên ngoài vòng lặp) tức là 0. Dù vòng lặp vô hạn, giá trị s ban đầu vẫn được in ra nếu chương trình biên dịch được.
Do đó, đáp án đúng nhất trong các đáp án được đưa ra là A. 0 (mặc dù chương trình có thể không kết thúc do vòng lặp vô hạn).
Ban đầu: `i = 0`, `n = 10`, `s = 0`.
Vòng lặp `while (i < n)` sẽ thực hiện với điều kiện `i` luôn là 0, do đó `i < n` luôn đúng (với `n` giảm dần nhưng vẫn lớn hơn 0). Điều này dẫn đến vòng lặp vô hạn (infinite loop).
Tuy nhiên, đề bài có `cout << s;` nằm ngoài vòng lặp, nghĩa là đoạn code sẽ biên dịch và chạy (nếu bỏ qua lỗi khai báo biến trùng tên trong vòng lặp). Khi đó giá trị của `s` in ra sẽ là giá trị khởi tạo ban đầu của `s` (biến `s` bên ngoài vòng lặp) tức là 0. Dù vòng lặp vô hạn, giá trị s ban đầu vẫn được in ra nếu chương trình biên dịch được.
Do đó, đáp án đúng nhất trong các đáp án được đưa ra là A. 0 (mặc dù chương trình có thể không kết thúc do vòng lặp vô hạn).
Lời giải:
Đáp án đúng: A
Chương trình này thực hiện việc tìm kiếm một phần tử (trong trường hợp này là `tk = 51`) trong mảng `mang`. Macro `length(a)` tính toán số lượng phần tử của mảng `a`. Vòng `for` duyệt qua từng phần tử của mảng `mang`, so sánh với giá trị `tk`. Nếu tìm thấy, biến `check` được đặt thành `true` và vòng lặp kết thúc. Cuối cùng, chương trình in ra thông báo "Found" kèm theo giá trị `tk` và chỉ số `i` nếu `check` là `true`, ngược lại in ra "Not found".
Lời giải:
Đáp án đúng: A
Đoạn code trên duyệt qua chuỗi "peter pan put a pepper into pen" và đếm số lần ký tự 'p' xuất hiện.
- `char chuoi[] = "peter pan put a pepper into pen";` Khai báo một mảng ký tự (chuỗi) có tên là `chuoi` và khởi tạo nó với giá trị "peter pan put a pepper into pen".
- `int max = strlen(chuoi);` Tính độ dài của chuỗi `chuoi` và lưu vào biến `max`. Trong trường hợp này, `max` sẽ bằng 31.
- `int number = 0;` Khởi tạo biến `number` với giá trị 0. Biến này sẽ dùng để đếm số lần xuất hiện của ký tự 'p'.
- Vòng lặp `for (int i = 0; i < max; i++)` duyệt qua từng ký tự trong chuỗi.
- `if (chuoi[i] != 'p') continue;` Nếu ký tự tại vị trí `i` không phải là 'p', lệnh `continue` sẽ bỏ qua các lệnh còn lại trong vòng lặp và chuyển đến lần lặp tiếp theo.
- `number++;` Nếu ký tự tại vị trí `i` là 'p', biến `number` sẽ tăng lên 1.
- `cout << number << endl;` In giá trị của biến `number` ra màn hình.
Đếm số ký tự 'p' trong chuỗi "peter pan put a pepper into pen": peter (1), pan (1), put (1), pepper (2), pen (1). Tổng cộng có 7 ký tự 'p'.
Vậy, kết quả của đoạn code trên là 7.
- `char chuoi[] = "peter pan put a pepper into pen";` Khai báo một mảng ký tự (chuỗi) có tên là `chuoi` và khởi tạo nó với giá trị "peter pan put a pepper into pen".
- `int max = strlen(chuoi);` Tính độ dài của chuỗi `chuoi` và lưu vào biến `max`. Trong trường hợp này, `max` sẽ bằng 31.
- `int number = 0;` Khởi tạo biến `number` với giá trị 0. Biến này sẽ dùng để đếm số lần xuất hiện của ký tự 'p'.
- Vòng lặp `for (int i = 0; i < max; i++)` duyệt qua từng ký tự trong chuỗi.
- `if (chuoi[i] != 'p') continue;` Nếu ký tự tại vị trí `i` không phải là 'p', lệnh `continue` sẽ bỏ qua các lệnh còn lại trong vòng lặp và chuyển đến lần lặp tiếp theo.
- `number++;` Nếu ký tự tại vị trí `i` là 'p', biến `number` sẽ tăng lên 1.
- `cout << number << endl;` In giá trị của biến `number` ra màn hình.
Đếm số ký tự 'p' trong chuỗi "peter pan put a pepper into pen": peter (1), pan (1), put (1), pepper (2), pen (1). Tổng cộng có 7 ký tự 'p'.
Vậy, kết quả của đoạn code trên là 7.
Lời giải:
Đáp án đúng: A
Đoạn mã C++ này thực hiện việc truyền địa chỉ của biến `a` vào hàm `indl`. Hàm `indl` nhận một con trỏ `a` kiểu `int*`, sau đó in ra giá trị mà con trỏ này trỏ tới (`*a`). Trong hàm `main`, biến `a` được khởi tạo với giá trị là 10. Khi `indl(&a)` được gọi, địa chỉ của `a` được truyền vào hàm, và `*a` trong hàm `indl` sẽ truy cập và in ra giá trị của `a`, tức là 10.
Lời giải:
Đáp án đúng: C
Đoạn code thực hiện một vòng lặp for từ i = 0 đến i < 5. Trong mỗi vòng lặp, biến k được gán bằng 0, sau đó cộng thêm i (k += i), và cuối cùng s được gán bằng k (s = k). Điều quan trọng là k được khởi tạo lại bằng 0 trong mỗi vòng lặp. Do đó, sau mỗi vòng lặp, giá trị của s sẽ bằng giá trị của i ở vòng lặp đó. Sau khi vòng lặp kết thúc, giá trị của k sẽ là giá trị của i ở vòng lặp cuối cùng, tức là k = 4. Sau đó, biểu thức điều kiện (k % 2) == 0 được đánh giá. Vì 4 chia hết cho 2, nên biểu thức này trả về true. Do đó, biến str được gán chuỗi "true". Cuối cùng, chương trình in ra giá trị của str, là "true".
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