Trả lời:
Đáp án đúng: A
Câu hỏi kiểm tra sự khác biệt giữa hai khai báo biến. Trong trường hợp này, cả hai khai báo đều giống nhau, đều khai báo một biến kiểu `int`. Không có sự khác biệt nào về mặt chức năng hoặc hiệu suất giữa hai cách viết này.
Câu hỏi liên quan
Lời giải:
Đáp án đúng: A
Kiểu `float` trong C/C++/Java thường chiếm 4 byte trong bộ nhớ, trong khi kiểu `double` thường chiếm 8 byte. Điều này đúng với hầu hết các kiến trúc và trình biên dịch phổ biến. Vì vậy, khẳng định "A float is 4 byte wide, whereas a double is 8 byte wide" là đúng.
Lời giải:
Đáp án đúng: B
Để biểu diễn hằng số 3.14 dưới dạng `long double` trong C/C++, chúng ta sử dụng hậu tố `L` hoặc `l` (chữ L viết thường).
* Đáp án A (3.14LD): Sai. Không có hậu tố `LD` cho kiểu `long double`.
* Đáp án B (3.14L): Đúng. Đây là cách chính xác để chỉ định một hằng số `long double`.
* Đáp án C (3.14DL): Sai. Không có hậu tố `DL`.
* Đáp án D (3.14LF): Sai. Không có hậu tố `LF` cho `long double`.
Vậy, đáp án đúng là B.
* Đáp án A (3.14LD): Sai. Không có hậu tố `LD` cho kiểu `long double`.
* Đáp án B (3.14L): Đúng. Đây là cách chính xác để chỉ định một hằng số `long double`.
* Đáp án C (3.14DL): Sai. Không có hậu tố `DL`.
* Đáp án D (3.14LF): Sai. Không có hậu tố `LF` cho `long double`.
Vậy, đáp án đúng là B.
Lời giải:
Đáp án đúng: A
Đoạn chương trình thực hiện các phép gán và ép kiểu dữ liệu.
- `float a = 5;`: Khai báo biến `a` kiểu `float` và gán giá trị 5.0.
- `int b = 2;`: Khai báo biến `b` kiểu `int` và gán giá trị 2.
- `float c = a / b;`: Thực hiện phép chia `a` (5.0) cho `b` (2). Kết quả là 2.5. Vì `c` là kiểu `float`, nên `c` sẽ có giá trị 2.5.
- `int d = (int)c;`: Ép kiểu `c` (2.5) về kiểu `int`. Phần thập phân bị bỏ đi, nên `d` sẽ có giá trị 2.
- `float e = a - d;`: Thực hiện phép trừ `a` (5.0) cho `d` (2). Kết quả là 3.0. `e` là kiểu `float` nên sẽ có giá trị 3.0.
- `float f = a - (float)b;`: Ép kiểu `b` (2) về `float` (2.0), sau đó thực hiện phép trừ `a` (5.0) cho `b` (2.0). Kết quả là 3.0. `f` là kiểu `float` nên sẽ có giá trị 3.0.
- `float sum = c + d + e + f;`: Tính tổng `c` (2.5) + `d` (2) + `e` (3.0) + `f` (3.0) = 10.5.
- `printf("%f", sum);`: In giá trị của `sum` (10.5) ra màn hình với định dạng số thực dấu phẩy động. Vì vậy, kết quả sẽ là 10.500000. Tuy nhiên, không có đáp án nào đúng.
- `float a = 5;`: Khai báo biến `a` kiểu `float` và gán giá trị 5.0.
- `int b = 2;`: Khai báo biến `b` kiểu `int` và gán giá trị 2.
- `float c = a / b;`: Thực hiện phép chia `a` (5.0) cho `b` (2). Kết quả là 2.5. Vì `c` là kiểu `float`, nên `c` sẽ có giá trị 2.5.
- `int d = (int)c;`: Ép kiểu `c` (2.5) về kiểu `int`. Phần thập phân bị bỏ đi, nên `d` sẽ có giá trị 2.
- `float e = a - d;`: Thực hiện phép trừ `a` (5.0) cho `d` (2). Kết quả là 3.0. `e` là kiểu `float` nên sẽ có giá trị 3.0.
- `float f = a - (float)b;`: Ép kiểu `b` (2) về `float` (2.0), sau đó thực hiện phép trừ `a` (5.0) cho `b` (2.0). Kết quả là 3.0. `f` là kiểu `float` nên sẽ có giá trị 3.0.
- `float sum = c + d + e + f;`: Tính tổng `c` (2.5) + `d` (2) + `e` (3.0) + `f` (3.0) = 10.5.
- `printf("%f", sum);`: In giá trị của `sum` (10.5) ra màn hình với định dạng số thực dấu phẩy động. Vì vậy, kết quả sẽ là 10.500000. Tuy nhiên, không có đáp án nào đúng.
Lời giải:
Đáp án đúng: A
Trong lập trình, hàm (function) có thể được gọi bằng hai cách chính: gọi theo giá trị (call by value) và gọi theo tham chiếu (call by reference). Khi gọi theo giá trị, một bản sao của giá trị đối số được truyền vào hàm. Mọi thay đổi đối với đối số trong hàm sẽ không ảnh hưởng đến biến gốc bên ngoài hàm. Khi gọi theo tham chiếu, địa chỉ của biến đối số được truyền vào hàm. Do đó, mọi thay đổi đối với đối số trong hàm sẽ trực tiếp ảnh hưởng đến biến gốc bên ngoài hàm. Như vậy, phát biểu "Function can be called either by value or reference" là đúng.
Lời giải:
Đáp án đúng: A
Câu hỏi này kiểm tra sự hiểu biết về hiệu năng của đệ quy so với vòng lặp.
Tại sao đệ quy thường chậm hơn vòng lặp:
* Overhead của việc gọi hàm: Mỗi khi một hàm đệ quy gọi chính nó, hệ thống phải lưu trạng thái hiện tại của hàm (ví dụ: các biến cục bộ, địa chỉ trả về) vào stack. Quá trình này tốn thời gian và bộ nhớ. Vòng lặp không có overhead này vì nó chỉ đơn giản là lặp lại các lệnh trong cùng một hàm.
* Sử dụng bộ nhớ: Đệ quy có thể sử dụng nhiều bộ nhớ hơn vòng lặp do việc lưu trữ trạng thái của các hàm đệ quy trên stack. Nếu độ sâu đệ quy quá lớn, nó có thể dẫn đến tràn stack (stack overflow).
* Khó tối ưu hóa: Các trình biên dịch đôi khi khó tối ưu hóa các hàm đệ quy hơn các vòng lặp, đặc biệt là đối với các ngôn ngữ không hỗ trợ tối ưu hóa đệ quy đuôi (tail recursion optimization).
Vì vậy, đáp án A "Yes" là chính xác.
Tại sao đệ quy thường chậm hơn vòng lặp:
* Overhead của việc gọi hàm: Mỗi khi một hàm đệ quy gọi chính nó, hệ thống phải lưu trạng thái hiện tại của hàm (ví dụ: các biến cục bộ, địa chỉ trả về) vào stack. Quá trình này tốn thời gian và bộ nhớ. Vòng lặp không có overhead này vì nó chỉ đơn giản là lặp lại các lệnh trong cùng một hàm.
* Sử dụng bộ nhớ: Đệ quy có thể sử dụng nhiều bộ nhớ hơn vòng lặp do việc lưu trữ trạng thái của các hàm đệ quy trên stack. Nếu độ sâu đệ quy quá lớn, nó có thể dẫn đến tràn stack (stack overflow).
* Khó tối ưu hóa: Các trình biên dịch đôi khi khó tối ưu hóa các hàm đệ quy hơn các vòng lặp, đặc biệt là đối với các ngôn ngữ không hỗ trợ tối ưu hóa đệ quy đuôi (tail recursion optimization).
Vì vậy, đáp án A "Yes" là chính xác.
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