Toán tử “n--“ được hiểu:
Trả lời:
Đáp án đúng: A
Toán tử `n--` là toán tử giảm hậu tố (postfix decrement operator). Điều này có nghĩa là giá trị của biến `n` được sử dụng trước trong biểu thức, sau đó giá trị của `n` mới giảm đi 1.
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
Câu 36:
Khai báo hàm tính tổng các phần tử trong một mảng các số nguyên dưới đây, khai báo nào đúng:
Lời giải:
Đáp án đúng: D
Câu hỏi yêu cầu chọn khai báo hàm đúng để tính tổng các phần tử trong mảng số nguyên. Để tính tổng các phần tử trong một mảng, hàm cần biết kiểu dữ liệu của mảng, con trỏ đến mảng (hoặc tên mảng, tương đương con trỏ đến phần tử đầu tiên) và số lượng phần tử trong mảng để duyệt qua hết các phần tử.
* **Phương án A: `void Sum( int a[]);`** Khai báo này chỉ cho biết hàm `Sum` nhận một mảng các số nguyên, nhưng không có thông tin về số lượng phần tử, nên hàm không thể tính tổng đúng.
* **Phương án B: `long Sum( int *a);`** Tương tự phương án A, khai báo này chỉ cho biết hàm `Sum` nhận một con trỏ đến một mảng các số nguyên và trả về một giá trị kiểu long, nhưng không có thông tin về số lượng phần tử.
* **Phương án C: `void Sum(int a[], int n);`** Khai báo này cho biết hàm `Sum` nhận một mảng các số nguyên `a` và số lượng phần tử `n`. Đây là một khai báo hợp lý vì có đủ thông tin để hàm thực hiện việc tính tổng. Lưu ý rằng kiểu trả về `void` nghĩa là hàm này có thể in ra tổng hoặc lưu tổng vào một biến toàn cục/tham số khác.
* **Phương án D: `Cả 3 phương án trên đều sai`** Vì phương án C đúng nên phương án này sai.
Vậy, phương án C là khai báo đúng nhất (mặc dù kiểu trả về có thể khác, nhưng khai báo các tham số là hợp lý nhất).
Lời giải:
Đáp án đúng: A
Chương trình sử dụng vòng lặp `for` để in ra các ký tự từ 'A' đến 'E'.
- `int i, ch;`: Khai báo biến `i` kiểu số nguyên và `ch` kiểu ký tự.
- `for (i = 0, ch = 'A'; i < 5; i++, ch++)`: Vòng lặp `for` được khởi tạo với `i = 0` và `ch = 'A'`. Vòng lặp tiếp tục cho đến khi `i < 5`. Trong mỗi lần lặp, `i` tăng lên 1 (`i++`) và `ch` tăng lên 1 (`ch++`).
- `putchar(ch);`: In ký tự có mã ASCII tương ứng với giá trị của biến `ch` ra màn hình.
Do đó, chương trình sẽ in ra các ký tự 'A', 'B', 'C', 'D', 'E'.
Lời giải:
Đáp án đúng: B
Câu hỏi kiểm tra sự hiểu biết về con trỏ và mảng trong C.
* `char *ptr;` khai báo một con trỏ `ptr` trỏ đến một vùng nhớ chứa kiểu dữ liệu `char`.
* `char msg[10];` khai báo một mảng `msg` gồm 10 phần tử kiểu `char`. Tên mảng `msg` trong nhiều ngữ cảnh (như trong câu hỏi này) có thể được sử dụng như một con trỏ đến phần tử đầu tiên của mảng.
* `char v;` khai báo một biến `v` kiểu `char`.
**Phân tích các lựa chọn:**
* **A. `ptr = v;`**
* Sai. `ptr` là một con trỏ (địa chỉ), trong khi `v` là một biến kiểu `char` (giá trị). Không thể gán một giá trị `char` cho một con trỏ `char *`. Cần phải lấy địa chỉ của `v` bằng toán tử `&` (ví dụ: `ptr = &v;`).
* **B. `ptr = msg;`**
* Đúng. `msg` là tên của mảng, và trong biểu thức này, nó tự động chuyển đổi thành một con trỏ đến phần tử đầu tiên của mảng (tức là địa chỉ của `msg[0]`). Vì vậy, chúng ta đang gán một địa chỉ (con trỏ) cho con trỏ `ptr`, điều này hợp lệ.
* **C. Cả hai câu đều đúng**
* Sai. Vì A sai.
* **D. Cả hai câu đều sai**
* Sai. Vì B đúng.
Vậy đáp án đúng là B.
Lời giải:
Đáp án đúng: C
Kích thước của mảng có thể được hiểu theo hai khía cạnh: số lượng phần tử tối đa mà mảng có thể chứa (được xác định khi khai báo mảng) và kích thước bộ nhớ mà mảng chiếm dụng trong quá trình thực thi chương trình. Vì vậy, cả hai câu A và B đều đúng.
Phương án A: Số phần tử tối đa của mảng là một cách hiểu về kích thước mảng, đặc biệt khi ta khai báo mảng với một số lượng phần tử cố định. Ví dụ: int arr[10]; thì mảng arr có kích thước là 10 (có thể chứa tối đa 10 phần tử).
Phương án B: Kích thước bộ nhớ mà mảng chiếm giữ cũng là một khía cạnh quan trọng của kích thước mảng. Kích thước này phụ thuộc vào kiểu dữ liệu của các phần tử trong mảng và số lượng phần tử. Ví dụ, một mảng int[10] sẽ chiếm nhiều byte hơn một mảng char[10].
Phương án C: Vì cả hai cách hiểu trên đều đúng, nên phương án C là đáp án chính xác.
Phương án D: Vì có các câu đúng, nên phương án D sai.
Lời giải:
Đáp án đúng: D
- A. fgets();: Hàm này đọc một dòng từ tệp. Không phải đọc một khối dữ liệu bất kỳ.
- B. fputs();: Hàm này dùng để ghi một chuỗi vào tệp, không phải đọc dữ liệu.
- C. fwrite();: Hàm này dùng để ghi một khối dữ liệu vào tệp, không phải đọc dữ liệu.
- D. fread();: Hàm này được sử dụng để đọc một khối dữ liệu từ một tệp. Tham số của nó cho phép chỉ định kích thước của mỗi phần tử dữ liệu và số lượng phần tử cần đọc.
- B. fputs();: Hàm này dùng để ghi một chuỗi vào tệp, không phải đọc dữ liệu.
- C. fwrite();: Hàm này dùng để ghi một khối dữ liệu vào tệp, không phải đọc dữ liệu.
- D. fread();: Hàm này được sử dụng để đọc một khối dữ liệu từ một tệp. Tham số của nó cho phép chỉ định kích thước của mỗi phần tử dữ liệu và số lượng phần tử cần đọ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