Cho biết kết quả của đoạn chương trình sau:
int p = 4;
p = 10 + ++p;
int p = 4;
p = 10 + ++p;
p = 10 + ++p;
Trả lời:
Đáp án đúng: B
Đoạn chương trình thực hiện phép gán và sử dụng toán tử tăng trước (++). Ban đầu, biến `p` được khởi tạo bằng 4. Sau đó, biểu thức `10 + ++p` được tính toán. Toán tử `++p` tăng giá trị của `p` lên 1 trước khi sử dụng, do đó `p` trở thành 5. Sau đó, 10 được cộng với 5, kết quả là 15. Giá trị này được gán lại cho `p`. Vậy kết quả cuối cùng của `p` là 15.
Câu hỏi liên quan
Lời giải:
Đáp án đúng: C
Chương trình C này sử dụng con trỏ để thay đổi giá trị của một biến. Ban đầu, biến `x` được gán giá trị 3, sau đó được gán lại giá trị 6. Con trỏ `p` trỏ đến địa chỉ của `x`. Khi `*p` được gán giá trị 9, giá trị của `x` cũng thay đổi thành 9, vì `p` đang trỏ đến `x`. Do đó, khi in ra `x`, `*p`, và `x` một lần nữa, ta sẽ thấy giá trị 9 được in ba lần.
Vậy, kết quả in ra màn hình sẽ là "9 9 9".
Lời giải:
Đáp án đúng: C
Chương trình C này có một vòng lặp `for` không có điều kiện dừng (`;;`). Điều này có nghĩa là vòng lặp sẽ tiếp tục chạy mãi mãi. Bên trong vòng lặp, biến `k` được gán giá trị `5` trong mỗi lần lặp, nhưng điều này không ảnh hưởng đến giá trị của `i`. Biến `i` được tăng lên mỗi lần lặp. Tuy nhiên, lệnh `printf` nằm *bên ngoài* vòng lặp, và vòng lặp này không bao giờ kết thúc, do đó lệnh `printf` không bao giờ được thực thi. Do đó, chương trình sẽ rơi vào vòng lặp vô hạn và không in ra bất cứ giá trị nào.
Lời giải:
Đáp án đúng: B
Đoạn chương trình trên thực hiện một vòng lặp `for` với biến `i` khởi tạo bằng 1. Vòng lặp tiếp tục cho đến khi `i` không còn nhỏ hơn 5 nữa (`i < 5`). Trong mỗi lần lặp, biến `k` được tăng lên 1 (`k++`).
- Ban đầu, `i = 1` và `k = 0`.
- Lần lặp 1: `i = 1 < 5` là đúng, `k` tăng lên thành 1.
- Lần lặp 2: `i` tăng lên thành 2, `i = 2 < 5` là đúng, `k` tăng lên thành 2.
- Lần lặp 3: `i` tăng lên thành 3, `i = 3 < 5` là đúng, `k` tăng lên thành 3.
- Lần lặp 4: `i` tăng lên thành 4, `i = 4 < 5` là đúng, `k` tăng lên thành 4.
- Lần lặp 5: `i` tăng lên thành 5, `i = 5 < 5` là sai, vòng lặp kết thúc.
Vậy, sau khi vòng lặp kết thúc, giá trị của `k` là 4. Chương trình in ra giá trị của `k`.
Lời giải:
Đáp án đúng: C
Câu hỏi yêu cầu tìm hàm *không* dùng để in một kí tự ra màn hình.
* **A. `puts();`**: Hàm này dùng để in một chuỗi kí tự ra màn hình, không phải một kí tự đơn lẻ.
* **B. `printf();`**: Hàm này dùng để in các dữ liệu có định dạng, bao gồm cả kí tự, chuỗi, số nguyên, số thực,... Do đó, nó có thể in một kí tự ra màn hình.
* **C. `putchar();`**: Hàm này chuyên dùng để in một kí tự ra màn hình.
* **D. `2 và 3`**: Tức là `printf()` và `putchar()`. Như phân tích ở trên, cả hai hàm này đều có thể in kí tự ra màn hình.
Vậy, đáp án đúng là A vì `puts()` dùng để in chuỗi, không phải kí tự.
Lời giải:
Đáp án đúng: A
Chương trình C này thực hiện đảo ngược một mảng các số thực.
1. **Khai báo và khởi tạo mảng:** Mảng `x` được khởi tạo với các giá trị {63.2, -45.6, 70.1, 3.6, 14.5}. Biến `n` lưu trữ số lượng phần tử của mảng. Do đó, `n = 5`.
2. **Vòng lặp đảo ngược:** Vòng lặp `for (i = 0, j = n - 1; i < j; i++, j--);` được sử dụng để đảo ngược mảng. Tuy nhiên, có một lỗi cú pháp quan trọng: dấu chấm phẩy (`;`) ngay sau vòng lặp `for`. Điều này khiến thân vòng lặp chỉ chứa một khối lệnh trống (null statement). Do đó, các câu lệnh gán `c = x[i]`, `x[i] = x[j]` và `x[j] = c` chỉ được thực hiện một lần sau khi vòng lặp kết thúc, với giá trị cuối cùng của `i` và `j`.
Vòng lặp dừng khi `i >= j`. Vì `i` bắt đầu từ 0 và tăng dần, `j` bắt đầu từ `n-1 = 4` và giảm dần, vòng lặp dừng khi `i = j = 2`.
3. **Hoán đổi duy nhất:** Sau vòng lặp, các lệnh sau được thực thi:
* `c = x[2]` (c = 70.1)
* `x[2] = x[2]` (x[2] = 70.1)
* `x[2] = c` (x[2] = 70.1)
Như vậy, chỉ có phần tử ở vị trí giữa mảng bị "hoán đổi" với chính nó, không làm thay đổi mảng.
4. **In mảng:** Sau đó, chương trình in ra mảng đã được (gần như) không thay đổi. Kết quả sẽ là dãy số ban đầu: 63.20, -45.60, 70.10, 3.60, 14.50.
Do đó, đáp án đúng là A.
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

FORM.08: Bộ 130+ Biểu Mẫu Thống Kê Trong Doanh Nghiệp
136 tài liệu563 lượt tải

FORM.07: Bộ 125+ Biểu Mẫu Báo Cáo Trong Doanh Nghiệp
125 tài liệu585 lượt tải

FORM.06: Bộ 320+ Biểu Mẫu Hành Chính Thông Dụng
325 tài liệu608 lượt tải

FORM.05: Bộ 330+ Biểu Mẫu Thuế - Kê Khai Thuế Mới Nhất
331 tài liệu1010 lượt tải

FORM.04: Bộ 240+ Biểu Mẫu Chứng Từ Kế Toán Thông Dụng
246 tài liệu802 lượt tải

CEO.22: Bộ Tài Liệu Quy Trình Kiểm Toán, Kiểm Soát Nội Bộ Doanh Nghiệp
138 tài liệu417 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