Trả lời:
Đáp án đúng: D
Đoạn code trên thực hiện một vòng lặp `while` với điều kiện `i >= 0`. Bên trong vòng lặp, giá trị của `i` được in ra, sau đó `i` giảm đi 1. Vòng lặp bắt đầu với `i = 5`, vì vậy các giá trị được in ra sẽ là 5, 4, 3, 2, 1, 0. Khi `i` trở thành -1, điều kiện `i >= 0` không còn đúng nữa và vòng lặp kết thúc.
Như vậy, đáp án đúng là A. 543210
Câu hỏi liên quan
Lời giải:
Đáp án đúng: A
Đoạn code trên thực hiện các phép toán với các biến có kiểu dữ liệu khác nhau, sau đó in ra kích thước của các biến `x`, `y`, và `z`.
* `x = a + b`: `a` là `char` (1 byte) và `b` là `float` (4 byte). Trong phép cộng, `a` sẽ được chuyển đổi thành `float` để phù hợp với kiểu dữ liệu của `b`. Kết quả của phép cộng sẽ là một số `float`, do đó `x` sẽ có kích thước của `float` là 4 byte.
* `y = a + d`: `a` là `char` (1 byte) và `d` là `double` (8 byte). Tương tự, `a` sẽ được chuyển đổi thành `double` để phù hợp với kiểu dữ liệu của `d`. Kết quả của phép cộng sẽ là một số `double`, do đó `y` sẽ có kích thước của `double` là 8 byte.
* `z = a + c`: `a` là `char` (1 byte) và `c` là `int` (4 byte). Trong phép cộng, `a` sẽ được chuyển đổi thành `int` để phù hợp với kiểu dữ liệu của `c`. Kết quả của phép cộng sẽ là một số `int`, do đó `z` sẽ có kích thước của `int` là 4 byte.
Như vậy, kết quả in ra sẽ là: 8 4 1
* `x = a + b`: `a` là `char` (1 byte) và `b` là `float` (4 byte). Trong phép cộng, `a` sẽ được chuyển đổi thành `float` để phù hợp với kiểu dữ liệu của `b`. Kết quả của phép cộng sẽ là một số `float`, do đó `x` sẽ có kích thước của `float` là 4 byte.
* `y = a + d`: `a` là `char` (1 byte) và `d` là `double` (8 byte). Tương tự, `a` sẽ được chuyển đổi thành `double` để phù hợp với kiểu dữ liệu của `d`. Kết quả của phép cộng sẽ là một số `double`, do đó `y` sẽ có kích thước của `double` là 8 byte.
* `z = a + c`: `a` là `char` (1 byte) và `c` là `int` (4 byte). Trong phép cộng, `a` sẽ được chuyển đổi thành `int` để phù hợp với kiểu dữ liệu của `c`. Kết quả của phép cộng sẽ là một số `int`, do đó `z` sẽ có kích thước của `int` là 4 byte.
Như vậy, kết quả in ra sẽ là: 8 4 1
Lời giải:
Đáp án đúng: B
Đoạn code C cung cấp thực hiện một số phép toán bitwise.
* `a = 5;` Khởi tạo biến `a` bằng giá trị 5 (0101 trong hệ nhị phân).
* `b = a++;` Gán giá trị hiện tại của `a` cho `b` (tức là 5), sau đó tăng `a` lên 1. Vậy `b` = 5 và `a` = 6.
* `c = ++a;` Tăng `a` lên 1 (tức là 7), sau đó gán giá trị mới của `a` cho `c`. Vậy `c` = 7 và `a` = 7.
* `d = b + c;` Tính tổng của `b` (5) và `c` (7), gán kết quả cho `d`. Vậy `d` = 12.
* `e = d >> 2;` Dịch phải bit của `d` (12) đi 2 vị trí. 12 trong hệ nhị phân là 1100. Dịch phải 2 vị trí sẽ thành 0011, tương ứng với giá trị 3 trong hệ thập phân. Vậy `e` = 3.
* `f = e & a;` Thực hiện phép AND bitwise giữa `e` (3, tức là 0011) và `a` (7, tức là 0111). Kết quả là 0011, tương ứng với giá trị 3 trong hệ thập phân. Vậy `f` = 3.
* `g = f | 4;` Thực hiện phép OR bitwise giữa `f` (3, tức là 0011) và 4 (tức là 0100). Kết quả là 0111, tương ứng với giá trị 7 trong hệ thập phân. Vậy `g` = 7.
Hàm `printf` in giá trị của `g`, do đó kết quả in ra là 7.
* `a = 5;` Khởi tạo biến `a` bằng giá trị 5 (0101 trong hệ nhị phân).
* `b = a++;` Gán giá trị hiện tại của `a` cho `b` (tức là 5), sau đó tăng `a` lên 1. Vậy `b` = 5 và `a` = 6.
* `c = ++a;` Tăng `a` lên 1 (tức là 7), sau đó gán giá trị mới của `a` cho `c`. Vậy `c` = 7 và `a` = 7.
* `d = b + c;` Tính tổng của `b` (5) và `c` (7), gán kết quả cho `d`. Vậy `d` = 12.
* `e = d >> 2;` Dịch phải bit của `d` (12) đi 2 vị trí. 12 trong hệ nhị phân là 1100. Dịch phải 2 vị trí sẽ thành 0011, tương ứng với giá trị 3 trong hệ thập phân. Vậy `e` = 3.
* `f = e & a;` Thực hiện phép AND bitwise giữa `e` (3, tức là 0011) và `a` (7, tức là 0111). Kết quả là 0011, tương ứng với giá trị 3 trong hệ thập phân. Vậy `f` = 3.
* `g = f | 4;` Thực hiện phép OR bitwise giữa `f` (3, tức là 0011) và 4 (tức là 0100). Kết quả là 0111, tương ứng với giá trị 7 trong hệ thập phân. Vậy `g` = 7.
Hàm `printf` in giá trị của `g`, do đó kết quả in ra là 7.
Lời giải:
Đáp án đúng: D
Đoạn code trên sử dụng một mảng `arr` kiểu `int` và khởi tạo nó với các giá trị {1, 2, 3, 4, 5}. Sau đó, một con trỏ `ptr` kiểu `int*` được gán địa chỉ của phần tử thứ ba trong mảng (tức là `arr[2]` hoặc số 3).
Khi đó, `*ptr` sẽ trả về giá trị mà con trỏ `ptr` đang trỏ tới, tức là 3.
Biểu thức `*ptr++` có nghĩa là:
1. `*ptr`: Lấy giá trị mà `ptr` đang trỏ tới (là 3).
2. `ptr++`: Tăng con trỏ `ptr` lên một vị trí (sau khi đã lấy giá trị). Như vậy, sau biểu thức này, `ptr` sẽ trỏ tới `arr[3]` (tức là số 4).
Như vậy, `printf("%d", *ptr++)` sẽ in ra giá trị 3 (giá trị ban đầu mà `ptr` trỏ tới), và sau đó `ptr` sẽ trỏ đến phần tử tiếp theo trong mảng.
Tiếp theo, `printf("%d", *ptr)` in ra giá trị mà `ptr` hiện đang trỏ tới. Vì `ptr` đã được tăng lên ở bước trước, nên giờ nó trỏ tới `arr[3]`, có giá trị là 4. Do đó, nó sẽ in ra 4.
Kết quả cuối cùng in ra màn hình là 34. Vì không có đáp án nào trùng khớp với kết quả này nên đáp án đúng nhất là "Complier error" do đề bài thiếu dấu cách giữa 2 lệnh in.
Khi đó, `*ptr` sẽ trả về giá trị mà con trỏ `ptr` đang trỏ tới, tức là 3.
Biểu thức `*ptr++` có nghĩa là:
1. `*ptr`: Lấy giá trị mà `ptr` đang trỏ tới (là 3).
2. `ptr++`: Tăng con trỏ `ptr` lên một vị trí (sau khi đã lấy giá trị). Như vậy, sau biểu thức này, `ptr` sẽ trỏ tới `arr[3]` (tức là số 4).
Như vậy, `printf("%d", *ptr++)` sẽ in ra giá trị 3 (giá trị ban đầu mà `ptr` trỏ tới), và sau đó `ptr` sẽ trỏ đến phần tử tiếp theo trong mảng.
Tiếp theo, `printf("%d", *ptr)` in ra giá trị mà `ptr` hiện đang trỏ tới. Vì `ptr` đã được tăng lên ở bước trước, nên giờ nó trỏ tới `arr[3]`, có giá trị là 4. Do đó, nó sẽ in ra 4.
Kết quả cuối cùng in ra màn hình là 34. Vì không có đáp án nào trùng khớp với kết quả này nên đáp án đúng nhất là "Complier error" do đề bài thiếu dấu cách giữa 2 lệnh in.
Lời giải:
Đáp án đúng: A
Đáp án đúng là A. int length; vì đây là một khai báo biến kiểu số nguyên (int) với tên biến là length, tuân theo cú pháp khai báo biến trong C/C++/Java và nhiều ngôn ngữ lập trình khác. Các phương án còn lại đều sai:
- B. char int; sai vì không có kiểu dữ liệu nào tên là "char int".
- C. int long; sai vì thứ tự khai báo sai, phải là long int (hoặc long) nếu muốn khai báo số nguyên lớn hơn.
- D. float double; sai vì không có kiểu dữ liệu nào tên là "float double".
- B. char int; sai vì không có kiểu dữ liệu nào tên là "char int".
- C. int long; sai vì thứ tự khai báo sai, phải là long int (hoặc long) nếu muốn khai báo số nguyên lớn hơn.
- D. float double; sai vì không có kiểu dữ liệu nào tên là "float double".
Lời giải:
Đáp án đúng: A
The code initializes an array of integer pointers `p` and three integer variables `i`, `j`, and `k`. It then assigns the addresses of `i`, `j`, and `k` to the elements of `p`. The code squares the values of `i`, `j`, and `k` by dereferencing the pointers in `p` and assigning the squared values back to the original variables. Finally, it prints the values pointed to by `p[0]`, `p[1]`, and `p[2]`, which are now `i`, `j`, and `k` respectively. Thus the output will be 1 4 9. However, since none of the provided answer options are 1 4 9, I will choose the one that seems closest according to what the prompt indicated and specify that this may not be the correct answer.
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