1. 1
PHẦN I: TRẮC NGHIỆM
1.Cho đoạn chương trình sau:
int k = 0;
while (k = 1) k++;
Câu lệnh trong vòng lặp while sẽ thực thi bao nhiêu lần:
A.Thực thi vô số lần
B.Thực thi một lần
C.Không thực thi lần nào
D.Cả A, B, C đều sai vì đoạn mã trên bị lỗi
2.Hãy cho biết kết xuất của đoạn chương trình sau :
int i = 1, b = 1;
for(; ; )
{ if (b >= 10) break ;
if (b % 3 == 1)
{ b += 3 ; continue ; }
}
cout << i;
A. 10 B. 5 C. 1 D. Cả A, B, C đều sai
3. Cho định nghĩa mảng sau:
char teams[] = {‘E’,’a’,’g’,’l’,’e’,’s’,’0', ’R’, ‘a’,’m’,’s’,’0'};
Trong số những câu lệnh sau:
(i) cout << teams; (ii) cout << teams+7;
(iii) cout << (teams+3); (iv) cout << teams[0];
(v) cout << (teams+0)[0]; (vi) cout << (teams+5);
A. Có đúng 3 câu lệnh hợp lệ B.Có đúng 4 câu lệnh hợp lệ
C. Có đúng 5 câu lệnh hợp lệ D.Tất cả các câu lệnh đều hợp lệ
4.Nhóm câu lệnh nào dưới đây không đúng cú pháp
A. int *p, i = 8; p = &i;
B. int *p, i; p = &i;
C. float *p; int i; p = &(float)i;
D. float *p; cout << *p;
5.Giá trị của lời gọi hàm exampleRecursion(2) bằng bao nhiêu?
int exampleRecursion (int n) {
if (n!=0)
return exampleRecursion(n-1) + n*n*n;
else
return 0; }
A.7 B.8 C.9 D.10
2. 2
6.Cho hàm:
int func(int m, int n) {
if (m > n) return 0;
else return 1 + func3(n, m-n); }
Lời gọi hàm func(3, 6) ; trả về kết quả bằng
A.1 B.2 C.3 D.4
7. Cho bốn hàm có prototype như sau:
(i) void Method1( int a, float b );
(ii) void Method1( float a, int b );
(iii) void Method1( int b, float a );
(iv) int Method1( int a, float b );
A.Có đúng 2 hàm có cùng chữ ký B.Có đúng 3 hàm có cùng chữ ký
C.Cả 4 hàm đều có cùng chữ ký D.Không có 2 hàm nào có chữ ký giống nhau
8. Đị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 (int a + 2*b, float c) {}
C. void example(void){}
D. void example(void a){}
9.Kết xuất ra màn hình của đoạn chương trình sau là:
class GrandFather{
public: GrandFather() { cout << "Gr ";} };
class Father:public GrandFather{
public: Father() { cout << "Fa ";} };
class Child : public Father{
public: Child() { cout << "Ch ";} };
void main()
{ Child c; }
A. Ch B.Fa Ch C.Gr Fa Ch D. Ch Fa Gr
10. Nhận định nào đúng nhất khi cho thực thi đoạn chương trình sau:
class base{
int a;
protected: int b;
public: int c;
base(){a = 1; b = 2; c = 3;} };
class deri: public base{
public: deri() {cout << a << " " << b << " " << c;}};
void main()
{ deri d; }
A. Kết quả xuất ra màn hình là : 1 2 3
3. 3
B. Trình biên dịch báo lỗi vì a, b và c không thể truy xuất từ lớp deri
C. Trình biên dịch báo lỗi vì a và b không thể truy xuất từ lớp deri
D. Trình biên dịch báo lỗi vì a không thể truy xuất từ lớp deri
PHẦN II: ĐIỀN VÀO CHỖ TRỐNG
1.Hãy cho biết kết xuất của đoạn chương trình sau :
for (int i=1; i<=10; i++)
for (int j=1; j<=5; j++) {
if ( i == j )
continue;
else if( i>j)
break;
else
cout << i <<" " << j << " "; }
_______________________________
2.Câu lệnh gán count = count + 1; trong đoạn chương trình sau được thực thi ________ lần
int count = 0;
for (int i = 14; i>= 4; i--)
for(int j = 1; j<20; j+=2)
count = count + 1;
3.Hãy cho biết kết xuất của đoạn chương trình sau:
int *p, *q, i = 8, j = 9;
p =&j; q = &i; cout << *p << " ";
*q = j; cout << *q << " ";
q = p; cout << *q << " ";
p =q; cout << *p;
_______________________________________
4.Hãy cho biết kết xuất của đoạn chương trình sau:
int *p, arr[3] = {70, 80, 90};
p = arr;
cout << *p << " ";
cout << ++(*p) << " ";
cout << *(p++) << " ";
cout << *p << " ";
______________________________________
5.Cho hàm:
int foo(int x)
{ return ((x > 0) ? x*f(x-2): 3); }
Lời gọi hàm foo(3) trả về kết quả bằng __________
6.Cho hàm:
int fib(int number) {
if (number <= 0) return 0;
4. 4
if (number == 1) return 1;
return (fib(number-1) + fib(number-2)); }
Lời gọi hàm fib(12) cho kết quả bằng _____________
7.Cho biết kết xuất của đoạn chương trình sau:
void func(int p) {
static int a = 5;
register int b = 5;
auto int c = a + b;
a += p; b += p; c += p;
cout << a << ";" << b << ";" << c << endl; }
void main(){ func(5); func(6); }
_______________________________
8.Cho biết kết xuất của đoạn chương trình sau:
void func1(int& a, int b, int c = 7) {
a = b + c;
b = a + c; }
void main(){
int x = 5, y = 6;
func1(x, y); cout << x << " " << y << " ";
func1(x, y, 6.8); cout << x << " " << y << " "; }
________________________________
9.Cho biết kết xuất của đoạn chương trình sau:
class Foo{
public:Foo() { cout << "Constructor is called" << endl;}
~Foo(){ cout << "Destructor is called" << endl;}
};
void main()
{ Foo a;
Foo* pa = new Foo();}
_________________________________
_________________________________
_________________________________
_________________________________
10.Cho biết kết xuất ra màn hình của đoạn chương trình sau:
class myClass{
public: static int value;
myClass(){value++;} };
int myClass::value;
void main()
{ myClass::value = 0;
for(int i = 0; i<20; i++)
myClass* c = new myClass();
cout << myClass::value;
}
_________________________________