Cái gì quyết định kích thước của vùng nhớ được cấp phát cho các biến:
Trả lời:
Đáp án đúng: B
Kiểu dữ liệu của biến quyết định kích thước vùng nhớ được cấp phát. Ví dụ, một biến kiểu `int` thường chiếm 4 bytes, trong khi một biến kiểu `double` có thể chiếm 8 bytes. Tên biến chỉ là định danh, giá trị của biến được lưu trữ trong vùng nhớ đã cấp phát chứ không quyết định kích thước vùng nhớ đó.
Do đó, đáp án B là chính xác nhất.
Tổng hợp 600+ câu hỏi trắc nghiệm lập trình C có đáp án đầy đủ nhằm giúp các bạn dễ dàng ôn tập lại toàn bộ các kiến thức.
50 câu hỏi 60 phút
Câu hỏi liên quan
Lời giải:
Đáp án đúng: B
Trong ngôn ngữ C, hàm `fflush(stdin)` được dùng để xóa bộ nhớ đệm (buffer) của luồng nhập chuẩn (standard input), tức là làm sạch những dữ liệu còn sót lại trong bộ nhớ đệm của bàn phím trước khi chương trình tiếp tục đọc dữ liệu mới. Việc này thường được thực hiện để tránh các lỗi không mong muốn khi chương trình đọc dữ liệu từ bàn phím, đặc biệt là sau khi sử dụng các hàm như `scanf`. Tuy nhiên, việc sử dụng `fflush(stdin)` không được khuyến khích và không phải lúc nào cũng hoạt động như mong đợi trên mọi hệ thống, vì hành vi của nó không được định nghĩa rõ ràng trong chuẩn ANSI C. Thay vào đó, nên sử dụng các phương pháp khác để xử lý luồng nhập một cách an toàn và tin cậy hơn.
Trong các lựa chọn trên:
- Phương án A không đúng vì `fflush(stdin)` không dùng để đọc kí tự từ bàn phím, mà để xóa bộ nhớ đệm.
- Phương án B không hoàn toàn chính xác. Mặc dù có liên quan đến việc xóa, nhưng mô tả không đủ chính xác.
- Phương án C chính xác nhất. `fflush(stdin)` dùng để xóa bộ nhớ đệm đầu vào (thường là từ bàn phím).
- Phương án D không đúng vì có một đáp án đúng là C.
Lời giải:
Đáp án đúng: D
Câu hỏi này kiểm tra kiến thức về cách định nghĩa hằng trong ngôn ngữ lập trình C/C++.
- Phương án A: `#define string` là cách định nghĩa hằng bằng tiền xử lý (preprocessor) trong C/C++. Khi chương trình được biên dịch, trình tiền xử lý sẽ thay thế tất cả các lần xuất hiện của `` bằng `string`. Ví dụ: `#define PI 3.14159`. Đây là một cách định nghĩa hằng hợp lệ.
- Phương án B: `const tên_kiểu tên_biến_hằng = giá trị;` là cách định nghĩa hằng sử dụng từ khóa `const` trong C++. Khi một biến được khai báo với `const`, giá trị của nó không thể thay đổi sau khi khởi tạo. Ví dụ: `const double PI = 3.14159;`. Đây cũng là một cách định nghĩa hằng hợp lệ.
- Phương án C: "Không có cách định nghĩa chung" là sai, vì như đã giải thích ở trên, có ít nhất hai cách để định nghĩa hằng.
- Phương án D: "1 và 2" là đúng, vì cả hai cách định nghĩa được mô tả trong phương án A và B đều hợp lệ.
Vậy, đáp án đúng là phương án D.
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:
Đáp án đúng: C
Phép toán `%` (phép toán modulo) được sử dụng để lấy phần dư của phép chia hai số nguyên. Ví dụ: `10 % 3` sẽ cho kết quả là `1` vì 10 chia 3 dư 1.
* **A. Đổi dấu một số thực hoặc một số nguyên:** Sai. Toán tử đổi dấu là `-` (ví dụ: `-5`).
* **B. Chia hai số thực hoặc nguyên:** Sai. Phép chia là `/` (ví dụ: `10 / 3`).
* **C. Lấy phần dư của phép chia hai số nguyên:** Đúng. Đây là chức năng chính xác của toán tử `%`.
* **D. 1 và 2:** Sai. Vì cả 1 và 2 đều sai.
Lời giải:
Đáp án đúng: B
Biểu thức `2+4 > 2 && 4 < 2` được tính như sau:
1. `2 + 4` bằng 6.
2. `6 > 2` là đúng (true), tương đương với 1.
3. `4 < 2` là sai (false), tương đương với 0.
4. `1 && 0` là phép toán AND. Trong C/C++, Java, và nhiều ngôn ngữ khác, phép AND giữa 1 và 0 cho kết quả là 0.
Vậy giá trị của biểu thức là 0.
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