Trả lời:
Đáp án đúng: C
Trong ngôn ngữ lập trình C, hàm `main()` là hàm bắt buộc phải có trong mọi chương trình. Đây là điểm khởi đầu thực thi của chương trình. Khi chương trình C được chạy, hệ điều hành sẽ gọi hàm `main()` để bắt đầu thực hiện các lệnh. Các hàm khác như `start()`, `system()`, và `program()` không phải là các hàm bắt buộc hoặc tiêu chuẩn trong C.
Câu hỏi liên quan
Lời giải:
Đáp án đúng: A
Câu hỏi này kiểm tra kiến thức về cách đánh dấu các khối mã (code blocks) trong lập trình hoặc các ngôn ngữ đánh dấu văn bản.
* A. { }: Dấu ngoặc nhọn thường được sử dụng trong nhiều ngôn ngữ lập trình (như C, C++, Java, JavaScript) để xác định phạm vi của một khối mã (ví dụ: trong các hàm, vòng lặp, câu lệnh điều kiện). Do đó, đây là một đáp án đúng.
* B. → and ←: Các mũi tên này không được sử dụng phổ biến để đánh dấu bắt đầu và kết thúc của các khối mã.
* C. BEGIN and END: Trong một số ngôn ngữ lập trình (ví dụ: Pascal, SQL), `BEGIN` và `END` được sử dụng để đánh dấu bắt đầu và kết thúc của một khối mã. Tuy nhiên, nó không phải là quy ước chung nhất.
* D. ( and ): Dấu ngoặc đơn thường được sử dụng để bao quanh các tham số của hàm hoặc biểu thức, chứ không phải để đánh dấu các khối mã.
Vì câu A là đáp án đúng và phổ biến nhất, nên ta chọn đáp án A
* A. { }: Dấu ngoặc nhọn thường được sử dụng trong nhiều ngôn ngữ lập trình (như C, C++, Java, JavaScript) để xác định phạm vi của một khối mã (ví dụ: trong các hàm, vòng lặp, câu lệnh điều kiện). Do đó, đây là một đáp án đúng.
* B. → and ←: Các mũi tên này không được sử dụng phổ biến để đánh dấu bắt đầu và kết thúc của các khối mã.
* C. BEGIN and END: Trong một số ngôn ngữ lập trình (ví dụ: Pascal, SQL), `BEGIN` và `END` được sử dụng để đánh dấu bắt đầu và kết thúc của một khối mã. Tuy nhiên, nó không phải là quy ước chung nhất.
* D. ( and ): Dấu ngoặc đơn thường được sử dụng để bao quanh các tham số của hàm hoặc biểu thức, chứ không phải để đánh dấu các khối mã.
Vì câu A là đáp án đúng và phổ biến nhất, nên ta chọn đáp án A
Lời giải:
Đáp án đúng: C
Vòng lặp `do...while` luôn thực thi phần thân vòng lặp ít nhất một lần, ngay cả khi điều kiện kiểm tra ban đầu là `false`. Điều này là do điều kiện được kiểm tra *sau* khi phần thân vòng lặp đã được thực thi. Các vòng lặp khác như `while` hoặc `for` có thể không thực thi lần nào nếu điều kiện ban đầu là `false`. Vì vậy, vòng lặp `do...while` được đảm bảo lặp lại ít nhất một lần.
Lời giải:
Đáp án đúng: B
Trong C/C++, một prototype (khai báo hàm) cho trình biên dịch biết về kiểu trả về, tên hàm và các tham số (kiểu và số lượng) mà hàm đó nhận.
* A. `int funct(char x, char y);`: Đây là một prototype hợp lệ. Hàm `funct` nhận hai tham số kiểu `char` và trả về một giá trị kiểu `int`.
* B. `double funct(char x)`: Đây là một prototype hợp lệ. Hàm `funct` nhận một tham số kiểu `char` và trả về một giá trị kiểu `double`.
* C. `void funct();`: Đây là một prototype hợp lệ. Hàm `funct` không nhận tham số nào và không trả về giá trị nào (kiểu `void`).
* D. `char x();`: Đây là một prototype hợp lệ. Hàm `x` không nhận tham số nào và trả về một giá trị kiểu `char`. Tuy nhiên, theo quy ước đặt tên trong C/C++, tên hàm thường bắt đầu bằng một chữ cái viết thường. Ở đây, `x` có thể gây nhầm lẫn vì nó cũng có thể là tên của một biến. Mặc dù hợp lệ về mặt cú pháp, nó không phải là một prototype tốt theo quy ước.
Mặc dù đáp án D là hợp lệ về mặt cú pháp, nhưng việc đặt tên hàm trùng với tên biến là một cách làm không tốt. Tuy nhiên, câu hỏi yêu cầu tìm "Which is not a proper prototype?" tức là không hợp lệ về mặt cú pháp. Do đó, không có đáp án nào không phải là prototype hợp lệ.
* A. `int funct(char x, char y);`: Đây là một prototype hợp lệ. Hàm `funct` nhận hai tham số kiểu `char` và trả về một giá trị kiểu `int`.
* B. `double funct(char x)`: Đây là một prototype hợp lệ. Hàm `funct` nhận một tham số kiểu `char` và trả về một giá trị kiểu `double`.
* C. `void funct();`: Đây là một prototype hợp lệ. Hàm `funct` không nhận tham số nào và không trả về giá trị nào (kiểu `void`).
* D. `char x();`: Đây là một prototype hợp lệ. Hàm `x` không nhận tham số nào và trả về một giá trị kiểu `char`. Tuy nhiên, theo quy ước đặt tên trong C/C++, tên hàm thường bắt đầu bằng một chữ cái viết thường. Ở đây, `x` có thể gây nhầm lẫn vì nó cũng có thể là tên của một biến. Mặc dù hợp lệ về mặt cú pháp, nó không phải là một prototype tốt theo quy ước.
Mặc dù đáp án D là hợp lệ về mặt cú pháp, nhưng việc đặt tên hàm trùng với tên biến là một cách làm không tốt. Tuy nhiên, câu hỏi yêu cầu tìm "Which is not a proper prototype?" tức là không hợp lệ về mặt cú pháp. Do đó, không có đáp án nào không phải là prototype hợp lệ.
Lời giải:
Đáp án đúng: A
Trong C/C++, một con trỏ (pointer) là một biến lưu trữ địa chỉ của một biến khác. Để lấy địa chỉ của một biến mà con trỏ đang trỏ tới, ta sử dụng chính giá trị của con trỏ đó.
* `a`: Bản thân `a` là một con trỏ, giá trị của `a` chính là địa chỉ mà nó đang trỏ tới.
* `*a`: Toán tử `*` được sử dụng để truy cập giá trị tại địa chỉ mà con trỏ `a` đang trỏ tới (dereferencing). Nó trả về giá trị của biến mà `a` trỏ tới, không phải địa chỉ của biến đó.
* `&a`: Toán tử `&` được sử dụng để lấy địa chỉ của một biến. Trong trường hợp này, `&a` sẽ trả về địa chỉ của chính con trỏ `a`, chứ không phải địa chỉ của biến mà `a` đang trỏ tới.
* `address(a)`: Không có hàm `address()` chuẩn trong C/C++ để lấy địa chỉ của biến mà con trỏ trỏ tới. Cách này không đúng.
Vậy, `a` sẽ trả về địa chỉ bộ nhớ của biến được trỏ bởi con trỏ `a`.
* `a`: Bản thân `a` là một con trỏ, giá trị của `a` chính là địa chỉ mà nó đang trỏ tới.
* `*a`: Toán tử `*` được sử dụng để truy cập giá trị tại địa chỉ mà con trỏ `a` đang trỏ tới (dereferencing). Nó trả về giá trị của biến mà `a` trỏ tới, không phải địa chỉ của biến đó.
* `&a`: Toán tử `&` được sử dụng để lấy địa chỉ của một biến. Trong trường hợp này, `&a` sẽ trả về địa chỉ của chính con trỏ `a`, chứ không phải địa chỉ của biến mà `a` đang trỏ tới.
* `address(a)`: Không có hàm `address()` chuẩn trong C/C++ để lấy địa chỉ của biến mà con trỏ trỏ tới. Cách này không đúng.
Vậy, `a` sẽ trả về địa chỉ bộ nhớ của biến được trỏ bởi con trỏ `a`.
Lời giải:
Đáp án đúng: B
Trong C, để khai báo một biến có kiểu là một cấu trúc (struct), bạn cần sử dụng từ khóa `struct` theo sau là tên của cấu trúc, và sau đó là tên của biến.
Phương án A: `struct foo;` chỉ khai báo kiểu cấu trúc `foo`, chứ không khai báo biến nào có kiểu này. Do đó, phương án A không đúng.
Phương án B: `struct foo var;` khai báo biến `var` có kiểu cấu trúc `foo`. Đây là cách khai báo biến đúng trong C.
Phương án C: `foo;` không hợp lệ vì trình biên dịch không biết `foo` là kiểu dữ liệu gì. Cần phải có từ khóa `struct` phía trước.
Phương án D: `int foo;` khai báo biến `foo` có kiểu số nguyên, không liên quan đến cấu trúc `foo`.
Vậy, phương án B là đáp án đúng.
Phương án A: `struct foo;` chỉ khai báo kiểu cấu trúc `foo`, chứ không khai báo biến nào có kiểu này. Do đó, phương án A không đúng.
Phương án B: `struct foo var;` khai báo biến `var` có kiểu cấu trúc `foo`. Đây là cách khai báo biến đúng trong C.
Phương án C: `foo;` không hợp lệ vì trình biên dịch không biết `foo` là kiểu dữ liệu gì. Cần phải có từ khóa `struct` phía trước.
Phương án D: `int foo;` khai báo biến `foo` có kiểu số nguyên, không liên quan đến cấu trúc `foo`.
Vậy, phương án B là đáp án đúng.
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