Trắc nghiệm Ví dụ về cách định nghĩa và sử dụng hàm có đáp án
-
345 lượt thi
-
15 câu hỏi
-
30 phút
Danh sách câu hỏi
Câu 1:
Hàm không có kết quả có cú pháp định nghĩa như thế nào?
Đáp án đúng là: C
Hàm không có kết quả có cú pháp định nghĩa như sau:
void <tên hàm>([danh sách tham số])
{
[<dãy các lệnh>]
}
Câu 2:
Cú pháp của hàm có kết quả như sau:
Đáp án đúng là: A
Hàm có cấu kết quả có cấu trúc:
<kiểu dữ liệu><tên hàm>([]){</tên></kiểu>
<các câu lệnh>;</các>
return <biểu thức giá trị>;} </biểu>
Câu 3:
Cho hàm sau:
void CatDan(string s1, string &s2)
{
s2 = s1.substr(1) + s1[0]; }
Khẳng định nào sau đây là đúng về hàm CatDan?
Đáp án đúng là: A
Hàm không có kết quả có cú pháp định nghĩa như sau:void <tên hàm>([danh sách tham số]){
[<dãy các lệnh>]
}
Câu 4:
Phát biểu nào sau đây là đúng?
Đáp án đúng là: B
Theo phân loại hàm: Hàm có kết quả (Fruitful functions) là loại hàm thực hiện một số thao tác nào đó và trả về một số giá trị theo sau lệnh return.
Câu 5:
Khẳng định nào sau đây là sai?
Đáp án đúng là: D
Trong hàm có kết quả nếu hàm không có tham số hình thức thì không cần danh sách tham số nhưng vẫn phải có cặp ngoặc đơn ( và ) theo sau khai báo tên hàm. Trong thân hàm cần có lệnh trả về giá trị của hàm: return
Câu 6:
Để tính tổng của 2 số nguyên x,y, ta viết phần đầu của hàm là:
Đáp án đúng là: C
Vì tổng của 2 số nguyên trả về 1 giá trị nên ta viết hàm có kết quả theo cấu trúc của phần đầu là:
<kiểu dữ liệu> <tên hàm> ([<danh sách tham số>])
Câu 7:
Cho đoạn chương trình sau:
tong(int a1,int b1)
{
s=a1+b1;
return s;
}
Lỗi sai trong đoạn chương trình trên là:
Đáp án đúng là: A
Thiếu kiểu dữ liệu của tên hàm.
Câu 8:
Cho đoạn chương trình sau:
int tong(int a1,int b1)
{
s=a1+b1;
return s;
}
int main()
{
cin>>a>>b;
cout< return 0; } Với a=2, b=3 thì kết quả sau khi thực hiện là:
Đáp án đúng là: C
Vì hàm tong(a1,b1) dùng để tính tổng của 2 số a và b nhập vào từ chương trình chính.
Câu 9:
Phát biểu nào về hàm là đúng?
Đáp án đúng là: A
Một trong những lợi ích của việc dùng hàm đó là bạn có thể gọi lại nó nhiều lần, vậy nên nó giúp ta tránh viết lặp lại nhiều lần một đoạn code.
Câu 10:
Ký tự đặt trước một biến, được dùng để định nghĩa biến tham chiếu là?
Đáp án đúng là: C
Để phân biệt tham chiếu và tham trị, C++ sử dụng ký hiệu & để khai báo những tham số là tham chiếu.
Câu 11:
Cho đoạn chương trình sau:
Void Hoan_doi(int &x, int &y)
{ int tg = x;x = y;y = tg;}
Biến x,y trong chương trình trên là:
Đáp án đúng là: A
C++ sử dụng ký hiệu & để khai báo những tham số là tham chiếu.
Câu 12:
Cho lệnh khai báo hàm:
float Max(float &x, float &y);
Và các khai báo biến: float a, b, c;
Lời gọi hàm nào sau đây là sai?
Đáp án đúng là: B
Khi truyền tham số bằng tham chiếu, thì khi gọi hàm, các đối số truyền vào phải là một biến. Không thể nhận bởi một giá trị hoặc hằng số nào đó.
Câu 13:
Trong các đoạn lệnh sau đây, đoạn nào là khai báo một hàm?
Đáp án đúng là: D
Vì khai báo là giới thiệu sự tồn tại của một định danh (một type, function, hoặc class) và mô tả nó. Khai báo giúp compiler biết được về sự tồn tại của một định danh trước khi chúng ta định nghĩa nó. Compiler không cần phải cấp vùng nhớ khi khai báo.
Câu 14:
Cho khai báo hàm: int sub(int a, int b);
Đâu là lời gọi hàm đúng
Đáp án đúng là: A
sub(3.2, 4) sai vì 3.2 là số thực
sub(12, 5.4); sai vì 5.4 là số thực
sub(5); sai vì thiếu đối số
Câu 15:
Kết quả của đoạn chương trình sau là gì?
#include
using namespace std;
int max(int a, int b)
{
int max=a;
Đáp án đúng là: B
Trong câu lệnh max = (b < a) * b, khi truyền 4, 12 vào hàm, thì ta có a = 4 và b = 12. Khi đó (b < a) sẽ trả về giá trị 0 (vì b = 12 >a = 4), mà 0 * b = 0.>