Trả lời:
Đáp án đúng: C
The code declares a global variable `x` initialized to 1. Inside a block, another variable `x` is declared and initialized to 0. The line `cout << ::x << " " << x << endl;` prints the global `x` (using the scope resolution operator `::`) and the local `x`. Therefore, the output is "1 0".
Câu hỏi liên quan
Lời giải:
Đáp án đúng: A
The code defines two functions, `f` and `g`, and a `main` function. `f` takes an integer reference and an integer value, increments both, and returns their sum. Because x is passed as reference any changes to x in function f will affect the original variable in main. `g` takes two integer values, increments both, and returns their sum. Because the values are passed by value not reference changes will only occur within function g, and will not affect the original variables in main. The `main` function initializes two integers, `a` and `b`, prints their initial values, calls `f`, prints the updated values of `a` and `b`, calls `g`, and then prints the values of `a` and `b` again. The initial print statement will print `3, 3`. Function f increments a from 3 to 4. It increments b locally in f to 4. The returned value of 4+4=8 is printed to console. The next print statements show that a now equals 4 but b is still 3 because it was passed by value to f. Function g gets copies of a and b. It adds 2 to each internally and returns 6+5=11 which is then printed to console. The final print statements show that a and b are still 4 and 3 since g only had local copies of the variables. So, 3,3 8 4,3 11 4,3 is printed to console.
Since no answer matches this, the correct answer is "Không có đáp án nào ở trên".
Since no answer matches this, the correct answer is "Không có đáp án nào ở trên".
Lời giải:
Đáp án đúng: B
Trong ngôn ngữ lập trình C, dấu chấm phẩy (;
) được sử dụng để kết thúc hầu hết các câu lệnh. Dấu chấm phẩy báo hiệu cho trình biên dịch C rằng một câu lệnh đã kết thúc và trình biên dịch có thể bắt đầu một câu lệnh mới.
Lời giải:
Đáp án đúng: A
Đoạn code sử dụng câu lệnh `switch` để kiểm tra giá trị của biến `x`. Biến `x` được khởi tạo với giá trị là 0.
Khi `switch(x)` được thực thi, chương trình sẽ tìm kiếm `case` nào có giá trị tương ứng với giá trị của `x`. Trong trường hợp này, `case 0:` sẽ được thực thi. Tuy nhiên, điểm quan trọng là trong C (và C++), nếu không có lệnh `break` ở cuối mỗi `case`, chương trình sẽ tiếp tục thực thi các `case` tiếp theo cho đến khi gặp lệnh `break` hoặc kết thúc khối `switch`.
Trong đoạn code này, sau khi `case 0:` được thực thi, `printf("Zero")` sẽ in ra "Zero". Vì không có lệnh `break`, chương trình sẽ tiếp tục thực thi `case 2:`, và `printf("Hello World")` sẽ in ra "Hello World".
Vì vậy, kết quả cuối cùng sẽ là "ZeroHello World".
Khi `switch(x)` được thực thi, chương trình sẽ tìm kiếm `case` nào có giá trị tương ứng với giá trị của `x`. Trong trường hợp này, `case 0:` sẽ được thực thi. Tuy nhiên, điểm quan trọng là trong C (và C++), nếu không có lệnh `break` ở cuối mỗi `case`, chương trình sẽ tiếp tục thực thi các `case` tiếp theo cho đến khi gặp lệnh `break` hoặc kết thúc khối `switch`.
Trong đoạn code này, sau khi `case 0:` được thực thi, `printf("Zero")` sẽ in ra "Zero". Vì không có lệnh `break`, chương trình sẽ tiếp tục thực thi `case 2:`, và `printf("Hello World")` sẽ in ra "Hello World".
Vì vậy, kết quả cuối cùng sẽ là "ZeroHello World".
Lời giải:
Đáp án đúng: A
Để làm tròn một số thực `x` thành một số nguyên gần nhất, ta cần cộng `x` với 0.5, sau đó lấy phần nguyên của kết quả.
* Phương án A: `y = (int)(x + 0,5)` là cách làm đúng. Đầu tiên, `x + 0,5` được tính. Sau đó, kết quả được ép kiểu về số nguyên, loại bỏ phần thập phân và thực hiện việc làm tròn theo quy tắc thông thường. Ví dụ: `x = 3.2` thì `x + 0.5 = 3.7`, `(int)(3.7)` sẽ là `3`. Nếu `x = 3.7` thì `x + 0.5 = 4.2`, `(int)(4.2)` sẽ là `4`.
* Phương án B: `y = int(x + 0,5)` đúng về mặt logic nhưng không phải là cú pháp chuẩn trong C/C++. Trong Python thì có thể đúng. Câu hỏi không chỉ rõ ngôn ngữ lập trình nên ta ưu tiên cách viết kiểu C/C++.
* Phương án C: `y = (int)x + 0,5` sai. Đầu tiên, `x` được ép kiểu về số nguyên (phần thập phân bị loại bỏ). Sau đó, `0,5` được cộng vào kết quả, nhưng kết quả cuối cùng vẫn là một số thực, không phải số nguyên đã làm tròn.
* Phương án D: `y = (int)((int)x + 0,5)` sai. `(int)x` sẽ loại bỏ phần thập phân của `x`. Sau đó, `0,5` được cộng vào, và kết quả lại được ép về số nguyên. Điều này tương đương với việc làm tròn xuống, không phải là làm tròn theo quy tắc thông thường.
Vậy đáp án đúng là A.
* Phương án A: `y = (int)(x + 0,5)` là cách làm đúng. Đầu tiên, `x + 0,5` được tính. Sau đó, kết quả được ép kiểu về số nguyên, loại bỏ phần thập phân và thực hiện việc làm tròn theo quy tắc thông thường. Ví dụ: `x = 3.2` thì `x + 0.5 = 3.7`, `(int)(3.7)` sẽ là `3`. Nếu `x = 3.7` thì `x + 0.5 = 4.2`, `(int)(4.2)` sẽ là `4`.
* Phương án B: `y = int(x + 0,5)` đúng về mặt logic nhưng không phải là cú pháp chuẩn trong C/C++. Trong Python thì có thể đúng. Câu hỏi không chỉ rõ ngôn ngữ lập trình nên ta ưu tiên cách viết kiểu C/C++.
* Phương án C: `y = (int)x + 0,5` sai. Đầu tiên, `x` được ép kiểu về số nguyên (phần thập phân bị loại bỏ). Sau đó, `0,5` được cộng vào kết quả, nhưng kết quả cuối cùng vẫn là một số thực, không phải số nguyên đã làm tròn.
* Phương án D: `y = (int)((int)x + 0,5)` sai. `(int)x` sẽ loại bỏ phần thập phân của `x`. Sau đó, `0,5` được cộng vào, và kết quả lại được ép về số nguyên. Điều này tương đương với việc làm tròn xuống, không phải là làm tròn theo quy tắc thông thường.
Vậy đáp án đúng là A.
Lời giải:
Đáp án đúng: A
Trong C, `sizeof` là một toán tử trả về kích thước của một kiểu dữ liệu hoặc một biến, tính bằng byte.
- `3.14` là một hằng số kiểu `double` theo mặc định, do đó `sizeof(3.14)` sẽ trả về kích thước của kiểu `double`. Trên nhiều hệ thống, kích thước của `double` là 8 byte.
- `3.14f` là một hằng số kiểu `float`, do đó `sizeof(3.14f)` sẽ trả về kích thước của kiểu `float`. Kích thước của `float` thường là 4 byte.
- `3.14l` là một hằng số kiểu `long double`, do đó `sizeof(3.14l)` sẽ trả về kích thước của kiểu `long double`. Kích thước của `long double` có thể khác nhau tùy theo trình biên dịch và hệ thống, nhưng thường là 8 byte hoặc 12 byte hoặc 16 byte. Trong trường hợp này, giả sử kích thước là 8 byte.
Vì vậy, kết quả in ra sẽ là `8 4 8`.
- `3.14` là một hằng số kiểu `double` theo mặc định, do đó `sizeof(3.14)` sẽ trả về kích thước của kiểu `double`. Trên nhiều hệ thống, kích thước của `double` là 8 byte.
- `3.14f` là một hằng số kiểu `float`, do đó `sizeof(3.14f)` sẽ trả về kích thước của kiểu `float`. Kích thước của `float` thường là 4 byte.
- `3.14l` là một hằng số kiểu `long double`, do đó `sizeof(3.14l)` sẽ trả về kích thước của kiểu `long double`. Kích thước của `long double` có thể khác nhau tùy theo trình biên dịch và hệ thống, nhưng thường là 8 byte hoặc 12 byte hoặc 16 byte. Trong trường hợp này, giả sử kích thước là 8 byte.
Vì vậy, kết quả in ra sẽ là `8 4 8`.
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