Trả lời:
Đáp án đúng: C
Vòng lặp `do...while` luôn thực thi ít nhất một lần. Điều này là do điều kiện lặp được kiểm tra *sau* khi khối lệnh bên trong vòng lặp đã được thực thi. Vì vậy, ngay cả khi điều kiện ban đầu là sai, vòng lặp vẫn sẽ chạy một lần. Do đó, đáp án đúng là C.
Câu hỏi liên quan
Lời giải:
Đáp án đúng: B
Một prototype hàm (hay khai báo hàm) trong C/C++ cần chỉ rõ kiểu trả về, tên hàm, và danh sách các tham số (kiểu và tên). Tên tham số có thể bỏ qua trong prototype.
* A. `int funct(char x, char y);`: Đúng, đây là một prototype hàm hợp lệ. Nó khai báo một hàm tên `funct` trả về một số nguyên (`int`) và nhận hai tham số kiểu `char`.
* B. `double funct(char x);`: Đúng, đây cũng là một prototype hàm hợp lệ. Nó khai báo một hàm tên `funct` trả về một số thực dấu chấm động (`double`) và nhận một tham số kiểu `char`.
* C. `void funct();`: Đúng, đây là một prototype hàm hợp lệ. Nó khai báo một hàm tên `funct` không trả về giá trị gì (`void`) và không nhận tham số nào.
* D. `char x();`: Sai, đây không phải là một prototype hàm hợp lệ. Mặc dù cú pháp có vẻ giống một khai báo hàm, `x` không thể đồng thời là tên hàm và một biến. Nếu `x` là tên hàm, thì nó phải tuân theo quy tắc đặt tên hàm và cần có kiểu trả về. Nếu `x` là tên biến, cần có kiểu dữ liệu đi kèm và không có cặp ngoặc đơn `()` phía sau.
Vì vậy, phương án D không phải là một prototype hàm hợp lệ.
* A. `int funct(char x, char y);`: Đúng, đây là một prototype hàm hợp lệ. Nó khai báo một hàm tên `funct` trả về một số nguyên (`int`) và nhận hai tham số kiểu `char`.
* B. `double funct(char x);`: Đúng, đây cũng là một prototype hàm hợp lệ. Nó khai báo một hàm tên `funct` trả về một số thực dấu chấm động (`double`) và nhận một tham số kiểu `char`.
* C. `void funct();`: Đúng, đây là một prototype hàm hợp lệ. Nó khai báo một hàm tên `funct` không trả về giá trị gì (`void`) và không nhận tham số nào.
* D. `char x();`: Sai, đây không phải là một prototype hàm hợp lệ. Mặc dù cú pháp có vẻ giống một khai báo hàm, `x` không thể đồng thời là tên hàm và một biến. Nếu `x` là tên hàm, thì nó phải tuân theo quy tắc đặt tên hàm và cần có kiểu trả về. Nếu `x` là tên biến, cần có kiểu dữ liệu đi kèm và không có cặp ngoặc đơn `()` phía sau.
Vì vậy, phương án D không phải là một prototype hàm hợp lệ.
Lời giải:
Đáp án đúng: B
Kiểu trả về của một hàm được xác định bởi kiểu dữ liệu được khai báo trước tên hàm trong prototype của hàm. Trong trường hợp này, prototype của hàm là int func(char x, float v, double t);
, kiểu dữ liệu được khai báo trước tên hàm func
là int
. Do đó, kiểu trả về của hàm là int
.
Lời giải:
Đáp án đúng: C
Trong C/C++, một lệnh gọi hàm hợp lệ cần có tên hàm và cặp dấu ngoặc đơn ()
. Nếu hàm có tham số, các tham số sẽ được liệt kê bên trong dấu ngoặc đơn, phân tách bằng dấu phẩy. Nếu hàm không có tham số, cặp dấu ngoặc đơn vẫn phải được giữ lại.
- A. funct;
- Đây không phải là một lệnh gọi hàm hợp lệ. Nó chỉ là một định danh (identifier) và không có dấu ngoặc đơn để chỉ ra rằng nó là một hàm.
- B. func x, y;
- Đây không phải là một lệnh gọi hàm hợp lệ. Cú pháp này không đúng trong C/C++.
- C. funct();
- Đây là một lệnh gọi hàm hợp lệ. Nó gọi hàm có tên
funct
mà không có tham số nào.
- Đây là một lệnh gọi hàm hợp lệ. Nó gọi hàm có tên
- D. int funct();
- Đây là một khai báo hàm (function declaration) hoặc nguyên mẫu hàm (function prototype), không phải là một lệnh gọi hàm.
int
chỉ định kiểu trả về của hàm.
- Đây là một khai báo hàm (function declaration) hoặc nguyên mẫu hàm (function prototype), không phải là một lệnh gọi hàm.
Vậy, đáp án đúng là C.
Lời giải:
Đáp án đúng: B
Một hàm hoàn chỉnh trong C/C++ cần có đầy đủ các thành phần sau:
- Kiểu trả về (ví dụ:
int
,void
,float
, ...). - Tên hàm (ví dụ:
funct
,function
, ...). - Danh sách tham số (có thể rỗng, nhưng phải có cặp ngoặc đơn
()
). Mỗi tham số cần có kiểu dữ liệu và tên biến. - Phần thân hàm, được bao trong cặp ngoặc nhọn
{}
, chứa các câu lệnh thực thi của hàm.
Phân tích các phương án:
- A.
int funct();
: Đây chỉ là khai báo hàm (function declaration), không phải định nghĩa hàm (function definition). Nó chỉ cho trình biên dịch biết rằng có một hàm tênfunct
trả về kiểuint
, nhưng không cung cấp phần thân hàm. Do đó, đây không phải là một hàm hoàn chỉnh. - B.
int funct(int x) {return x=x+1;}
: Đây là một hàm hoàn chỉnh. Nó có kiểu trả về làint
, tên hàm làfunct
, tham số làint x
, và phần thân hàm trả về giá trị củax + 1
. - C.
void function(int) {printf( “Hello” );
: Mẫu hàm này bị thiếu dấu ngoặc kép để kết thúc chuỗi định dạng và tham số truyền vào hàmprintf
, nó không hoàn chỉnh. - D.
void funct(x) {printf( “Hello” ); }
: Thiếu kiểu dữ liệu của tham sốx
. Trong C/C++, khi định nghĩa hàm, cần phải chỉ rõ kiểu dữ liệu cho mỗi tham số. Do đó, đây không phải là một hàm hoàn chỉnh.
Vậy, chỉ có phương án B là một hàm hoàn chỉnh.
Lời giải:
Đáp án đúng: B
Trong cấu trúc switch-case, để tránh việc thực thi các case tiếp theo sau khi một case đã được khớp và thực thi, ta cần sử dụng lệnh `break`. Lệnh `break` sẽ kết thúc việc thực thi cấu trúc `switch` và chuyển điều khiển đến lệnh tiếp theo sau `switch`.
* A. end;: Không phải là một từ khóa hoặc lệnh hợp lệ trong cú pháp C, C++, Java hoặc các ngôn ngữ tương tự thường sử dụng trong cấu trúc `switch-case`.
* B. break;: Đây là đáp án chính xác. Lệnh `break` được sử dụng để thoát khỏi vòng lặp hoặc cấu trúc `switch-case`.
* C. stop;: Không phải là một từ khóa hoặc lệnh hợp lệ trong cú pháp C, C++, Java hoặc các ngôn ngữ tương tự thường sử dụng trong cấu trúc `switch-case`.
* D. continue;: Lệnh `continue` được sử dụng để bỏ qua phần còn lại của vòng lặp hiện tại và chuyển đến lần lặp tiếp theo, chứ không phải để thoát khỏi `switch-case`.
* A. end;: Không phải là một từ khóa hoặc lệnh hợp lệ trong cú pháp C, C++, Java hoặc các ngôn ngữ tương tự thường sử dụng trong cấu trúc `switch-case`.
* B. break;: Đây là đáp án chính xác. Lệnh `break` được sử dụng để thoát khỏi vòng lặp hoặc cấu trúc `switch-case`.
* C. stop;: Không phải là một từ khóa hoặc lệnh hợp lệ trong cú pháp C, C++, Java hoặc các ngôn ngữ tương tự thường sử dụng trong cấu trúc `switch-case`.
* D. continue;: Lệnh `continue` được sử dụng để bỏ qua phần còn lại của vòng lặp hiện tại và chuyển đến lần lặp tiếp theo, chứ không phải để thoát khỏi `switch-case`.
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