Tải bản đầy đủ (.docx) (5 trang)

Đề thi hàm by Đại học Bách Khoa TPHCM

Bạn đang xem bản rút gọn của tài liệu. Xem và tải ngay bản đầy đủ của tài liệu tại đây (84.91 KB, 5 trang )

Part 1 of 1 Question 1 of 10

1.0 Points

Định nghĩa hàm nào sau đây là đúng

Reset Selection

Question 2 of 10

1.0 Points

Nhận định nào sau đây về giá trị trả về của hàm là đúng:

A. Các nhận định khác đều đúng
B. Giá trị muốn được trả về luôn cần sử dụng từ khóa return
C. Khi gọi hàm bắt buộc phải có giá trị trả về, nếu không việc gọi hàm trở nên vô nghĩa
D. Kiểu của giá trị trả về được quyết định khi định nghĩa hàm
E. Kiểu của giá trị trả về được quyết định khi gọi hàm
Question 3 of 10

1.0 Points

Nhận định nào sau đây về tham số hình thức là đúng

A. Tham số hình thức có thể là một biểu thức


B. Tham số hình thức cần thiết vì tham gia vào chữ ký của hàm

C. Tên gọi, kiểu dữ liệu, số lượng, thứ tự của tham số hình thức phải gi


D. Hàm không nhất thiết phải có tham số hình thức
E. Các nhận định khác đều sai
Reset Selection

Question 4 of 10

1.0 Points

Ý nghĩa ứng dụng của từ khóa static trong thân hàm là gì?

A. Dùng để đếm số lần gọi hàm trong quá trình thực thi
B. Khai báo giá trị tĩnh, không thay đổi theo thời gian
C. Dùng để truy cập giá trị từ bên ngoài hàm vào
D. Xin cấp phát ô nhớ tĩnh không thay đổi theo thời gian
Question 5 of 10

1.0 Points

Cho bốn hàm có prototype như sau:
(1) void Method1( int a, float b );
(2) void Method1( float a, int b );
(3) void Method1( int b, float a );
(4) int Method1( int a, float b );
Hãy cho biết những hàm nào có cùng chữ ký?

A. Tất cả đều có
B. (1) và (4)

C. (1), (3) và (4)
D. (1) và (3)



E. Cả bốn đều cù
Reset Selection

Question 6 of 10

1.0 Points

Định nghĩa hàm nào dưới đây hợp lệ

A. void example (int a = 5, int b, float c= 6
B. void example(void){}
C. void example (int a + 2*b, float c) {}
D. void example(void a){}
Reset Selection

Question 7 of 10

1.0 Points

Cho hàm Foo với định nghĩa như sau
void Foo(float x , float y = 2, float z = 3) {}
cùng với những lời gọi hàm như sau:
(1). Foo(1, 4);
(2). Foo(1, , 4);
(3). Foo(1, 2, 4);
(4). Foo(x = 1, z = 4);
Hãy cho biết những lời gọi hàm nào truyền cho x giá trị 1, y giá trị 2 và z giá trị 4.


Reset Selection

Question 8 of 10
Giả sử trong chương trình có các khai báo hàm với các prototype như sau:
(1) void calcul(int a, float b, int c=0);
(2) void calcul(double a, int b);

1.0 Points


(3) void calcul(float a, float b);
Việc gọi hàm thông qua câu lệnh “calcul(1,1.0);” sẽ thực hiện hàm nào?

A. Chương trình báo lỗi vì khai báo quá nhiều hàm tr
B. Chương trình chạy lần lượt từ (1) đến (3).
C. (3)
D. (1)
E. (2)
Reset Selection

Question 9 of 10

1.0 Points

Hãy cho biết nhận định nào là đúng nhất dựa trên khai báo hàm concat như sau:
string concat(const string& a, const string& b)
{ return a+b;}

A. Các nhận định trên đều sai
B. Hàm concat dùng để kết nối hai chuỗi hằng

C. Hàm concat dùng để kết nối hai chuỗi
D. Hàm concat dùng để kết nối hai chuỗi và cấm thay đổi nội dung hai
Reset Selection

Question 10 of 10
Cho chương trình tính tổng và tích hai số như sau:
#include <iostream>
using namespace std;
______(?)__________
void main(){
int a,b, tong, tich;
cin >> a >> b;
________(??)________
cout >> tong >> tich;
}

1.0 Points


Hãy chọn lựa các giải pháp dưới đây mà có thể lắp vào chương trình trên.
(1). (?): void calcul(int a, int b, int tong, int tich)
{tong=a+b;tich=a*b;}
(??): calcul (a,b);
(2). (?): int calcul(int a, int b, int & tong){tong=a+b;return a*b;}
(??): tich = calcul(a,b,tong);
(3). (?): struct tmp{int x,y};
tmp calcul(int a, int b)
{tmp c; c.x=a+b;c.y= a*b;return c;}
(??): tmp c = calcul (a,b); tong = c.x; tich = c.y;
(4). (?): void calcul(int a, int b, int t[]){t[0]=a+b;t[1]=a*b;}

(??): int t[2]; calcul (a,b, t); tong=t[0]; tich=t[1];

A. Không giải pháp nào lắp vào được chương trì
B. (2), (3) và (4)
C. Chỉ (2) và (3)
D. (1) và (2)
E. Các giải pháp đều có thể lắp vào
Reset Selection



×