What is output of code? #include
Trả lời:
Đáp án đúng: A
Đoạn code trên có một lỗi logic trong điều kiện `if`. Trong C, biểu thức `i == 20 || 30` không hoạt động như mong đợi. Nó được hiểu là `(i == 20) || (30)`, chứ không phải `i == 20 || i == 30`. Vì 30 là một giá trị khác 0, nó luôn được coi là `true`. Do đó, điều kiện `if` luôn đúng, và chương trình in ra "True".
Câu hỏi liên quan
Lời giải:
Đáp án đúng: A
Đoạn mã C này sử dụng một biến `static` trong hàm `count()`. Biến `static` được khởi tạo một lần duy nhất khi chương trình bắt đầu chạy và giữ giá trị của nó giữa các lần gọi hàm. Trong trường hợp này, biến `page` được khởi tạo là 0. Mỗi khi hàm `count()` được gọi, nó in giá trị hiện tại của `page` và sau đó tăng `page` lên 1. Vì vòng lặp `for` trong hàm `main()` gọi hàm `count()` 10 lần, giá trị của `page` sẽ được in ra từ 0 đến 9. Vì vậy, đầu ra của chương trình sẽ là "0123456789".
Lời giải:
Đáp án đúng: B
Đoạn mã có một số lỗi cú pháp nghiêm trọng.
1. `const int x = 5;` Khai báo một hằng số nguyên `x` có giá trị là 5.
2. `int x[x]` Khai báo một mảng `x` với kích thước `x` (tức là 5). Đây là nơi có lỗi. Trong C/C++, kích thước mảng phải là một hằng số biên dịch (compile-time constant). Tuy nhiên, trong C99 và các phiên bản C sau này, tính năng mảng có kích thước thay đổi (variable-length array - VLA) được giới thiệu, cho phép kích thước mảng được xác định tại thời điểm chạy. Đoạn code này sẽ biên dịch được nếu được biên dịch bằng trình biên dịch C hỗ trợ VLA, còn với C++ thì sẽ báo lỗi.
3. `int y = sizeof(x) / sizeof(int);` Tính kích thước của mảng `x` (5 * sizeof(int)) và chia cho kích thước của một phần tử int (sizeof(int)). Kết quả là số lượng phần tử trong mảng `x`, tức là 5.
4. `printf("%d", y);` In giá trị của `y` ra màn hình. `y` bằng 5.
Vì vậy, đáp án đúng là B. 5
1. `const int x = 5;` Khai báo một hằng số nguyên `x` có giá trị là 5.
2. `int x[x]` Khai báo một mảng `x` với kích thước `x` (tức là 5). Đây là nơi có lỗi. Trong C/C++, kích thước mảng phải là một hằng số biên dịch (compile-time constant). Tuy nhiên, trong C99 và các phiên bản C sau này, tính năng mảng có kích thước thay đổi (variable-length array - VLA) được giới thiệu, cho phép kích thước mảng được xác định tại thời điểm chạy. Đoạn code này sẽ biên dịch được nếu được biên dịch bằng trình biên dịch C hỗ trợ VLA, còn với C++ thì sẽ báo lỗi.
3. `int y = sizeof(x) / sizeof(int);` Tính kích thước của mảng `x` (5 * sizeof(int)) và chia cho kích thước của một phần tử int (sizeof(int)). Kết quả là số lượng phần tử trong mảng `x`, tức là 5.
4. `printf("%d", y);` In giá trị của `y` ra màn hình. `y` bằng 5.
Vì vậy, đáp án đúng là B. 5
Lời giải:
Đáp án đúng: B
Đoạn code này kiểm tra sự hiểu biết về thứ tự ưu tiên của các toán tử trong C. Cụ thể, toán tử quan hệ `<` có độ ưu tiên cao hơn toán tử gán `=`.
Phân tích biểu thức `i = x < y < z`:
1. `x < y` tương đương `10 < 20`, kết quả là `1` (true).
2. `1 < z` tương đương `1 < 5`, kết quả là `1` (true).
3. Cuối cùng, `i = 1`.
Do đó, giá trị của `i` sẽ là 1.
Phân tích biểu thức `i = x < y < z`:
1. `x < y` tương đương `10 < 20`, kết quả là `1` (true).
2. `1 < z` tương đương `1 < 5`, kết quả là `1` (true).
3. Cuối cùng, `i = 1`.
Do đó, giá trị của `i` sẽ là 1.
Lời giải:
Đáp án đúng: C
Trong biểu thức `a = f1(11, 16) * f2(12/8) + f3();`, thứ tự thực hiện các hàm phụ thuộc vào trình biên dịch. Thông thường, các trình biên dịch sẽ thực hiện các hàm từ trái sang phải. Tuy nhiên, do các hàm này không phụ thuộc vào nhau (không có tác dụng phụ ảnh hưởng đến nhau), trình biên dịch có thể tối ưu hóa và thay đổi thứ tự thực hiện để tăng hiệu suất. Vì vậy, không có một thứ tự cố định nào đúng cho tất cả các trường hợp.
Lời giải:
Đáp án đúng: D
Đoạn chương trình có lỗi trong việc sử dụng hàm `scanf`. Theo cú pháp của `scanf`, `%c` dùng để đọc một ký tự và `%d` dùng để đọc một số nguyên. Tuy nhiên, trong đoạn code, thứ tự biến được truyền vào lại bị ngược so với thứ tự định dạng trong chuỗi định dạng. Cụ thể, `%c` lại được gán cho `&n` (là một biến kiểu `int`), và `%d` lại được gán cho `&c` (là một biến kiểu `char`).
Khi chạy chương trình, `scanf` sẽ cố gắng đọc ký tự 'R' và gán nó cho biến `n` (kiểu `int`), điều này sẽ gây ra lỗi hoặc kết quả không mong muốn (thường là một giá trị số không có nghĩa). Sau đó, nó sẽ cố gắng đọc số '45' và gán nó cho biến `c` (kiểu `char`), điều này cũng sẽ dẫn đến lỗi hoặc kết quả không mong muốn. Vì vậy không có đáp án nào đúng trong trường hợp này, chương trình sẽ không hoạt động như mong đợi hoặc có thể bị crash.
Tuy nhiên, trong các đáp án được đưa ra, đáp án D. Kết quả khác là phù hợp nhất để mô tả tình huống này.
Khi chạy chương trình, `scanf` sẽ cố gắng đọc ký tự 'R' và gán nó cho biến `n` (kiểu `int`), điều này sẽ gây ra lỗi hoặc kết quả không mong muốn (thường là một giá trị số không có nghĩa). Sau đó, nó sẽ cố gắng đọc số '45' và gán nó cho biến `c` (kiểu `char`), điều này cũng sẽ dẫn đến lỗi hoặc kết quả không mong muốn. Vì vậy không có đáp án nào đúng trong trường hợp này, chương trình sẽ không hoạt động như mong đợi hoặc có thể bị crash.
Tuy nhiên, trong các đáp án được đưa ra, đáp án D. Kết quả khác là phù hợp nhất để mô tả tình huống này.
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