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 Ý 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 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
Trang 1Part 1 of 1
Định nghĩa hàm nào sau đây là đúng
Reset Selection
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
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
Trang 2B 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ống hệt tham số thực
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
Ý 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
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ó chữ ký khác nhau
B (1) và (4)
C (1), (3) và (4)
D (1) và (3)
Trang 3E Cả bốn đều cùng chữ ký
Reset Selection
Định nghĩa hàm nào dưới đây hợp lệ
A void example (int a = 5, int b, float c= 6.78) {}
B void example(void){}
C void example (int a + 2*b, float c) {}
D void example(void a){}
Reset Selection
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
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);
Trang 4(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ùng tên
B Chương trình chạy lần lượt từ (1) đến (3).
C (3)
D (1)
E (2)
Reset Selection
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 chuỗi sau việc gọi hàm
Reset Selection
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;
}
Trang 5Hã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ình trên
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