100+ câu trắc nghiệm Lập trình nâng cao có đáp án phần 3
25 câu hỏi
Khi thực hiện đoạn lệnh, balance = ?
double balance = 10, goal = 20, payment =5;
int years = 0;
while (balance < goal) {
balance += payment;
double interest =balance * 0.1 / 100;
balance += interest;
years ++;
}
>
20.015
15
15.015
20.035
Chọn đáp án D
Khi thực hiện đoạn lệnh sau, years = ?
double balance = 20, goal = 20, payment = 5;
int years = 0;
do {
balance += payment;
double interest = balance * 0.1 / 100;
balance+= interest; years ++; }
while (balance
1
2
0
3
Chọn đáp án A
Anh (Chị) hãy cho biết kết quả, s = ?
int s = 0;
for (int i = 0; i < 10; i++)
s += i; s -= 10;
Sau khi chạy khối lệnh s = ?
>
0
55
45
35
Chọn đáp án D
Anh (Chị) hãy cho biết kết quả của đoạn lệnh sau là gì?
void inc (void* data, int psize) {
if (psize == sizeof (char)) {
char* pchar;
pchar =(char*)data;
++(*pchar);
} else if (psize == sizeof(int)) {
int* pint;
pint = (int*)data;
++(*pint);
}
}
int main() { int s = 1642; inc(&s,sizeof(s));
cout << s << endl;
return 0;
}
1642
1641
1643
Lỗi biên dịch.
Chọn đáp án C
Anh (Chị) hãy cho biết kết quả của đoạn lệnh sau là gì?
void inc (void* data, int psize) {
if (psize == sizeof (char)) {
char* pchar;
pchar = (char*)data;
++(*pchar);
} else if (psize == sizeof(int)) {
int* pint; pint = (int*)data;
++(*pint);
}
}
int main() { char c = 'y'; inc (&s,sizeof(s));
cout << s << endl;
return 0;
}
'y'
'x'
'z'
Lỗi biên dịch.
Chọn đáp án D
Đoạn lệnh sau đưa ra kết quả là gì?
void inc (void* data, int psize) {
if (psize == sizeof (char)) {
char* pchar; pchar =
(char*)data; ++(*pchar);
} else if (psize == sizeof(int)) {
int* pint; pint = (char*)data;
++(*pint);
}
}
int main() { int s = 1642; inc (s);
void << s << endl;
return 0;
}
1642
1643
1641
Lỗi biên dịch.
Chọn đáp án D
Chương trình tên test.exe với mã lệnh như bên dưới. Anh (Chị) hãy cho biết kết quả của đoạn lệnh sau khi chạy lệnh chương trình: test 3 3?
int main(int argc,char* argv[]) { double s = 1;
for (int i = 0; i < argv[2]; i++) s += atof(argv[1]);
cou << s << endl; return 0;
}
>
27
9
3
Lỗi biên dịch.
Chọn đáp án D
Anh (Chị) hãy cho biết kết quả của đoạn lệnh sau là gì?
int add (int a, int b)
{ return (a + b); }
int sub (int a, int b)
{ return (a - b); }
int operation (int x, int y, int(*functocall) (int,int))
{ int s = (*functocall)
(x,y); return s;
}
int main() { int m,n; int (*minus)(int,int) = sub;
m= (7,5,add);
n =(20,m,minus);
return 0;
}
12
32
8
Lỗi biên dịch.
Chọn đáp án D
Anh (Chị) hãy cho biết kết quả của đoạn lệnh sau là gì?
int s = 0, n = 10; int number[3][3];
for (int i = 0,j = 0; i < 3,j < 3; i++, j++) {
number[i][j] = n --; s += number[i][j];
}
cout << s << endl;
>
10
9
8
27
Chọn đáp án D
Anh (Chị) hãy cho biết kết quả của đoạn lệnh sau là gì?
void inc (void* data,int psize) {
if (psize == sizeof(char)) {
char *p; p = (char*)data;
++(*p);
}
}
struct hocsinh { string hoten; int namsinh; } ;
int
main() {
char ten = 'A';
hocsinh hs[3];
for (int i = 0; i < 3; i++) {
hs[i].hoten = ten; hs[i].namsinh = 1990 + i;
inc (&ten,sizeof(ten));
}
cout << hs[1].hoten << “ - “ << hs[1].namsinh << endl;
return 0;
}
>
A - 1990
B - 1991
C - 1992
A – 1991
Chọn đáp án B
Anh (Chị) hãy cho biết kết quả của đoạn lệnh sau là gì?
struct hocsinh {
string hoten; int namsinh; } ;
int main() {
hocsinh hs[3];
hocsinh *p = hs;
for (int I = 0; i < 3; i++) {
p->namsinh = 1991 + i;
p++;
}
p = hs+1; p->namsinh -= 20; cout << hs[1].namsinh << endl; return 0;
}
>
1972
1971
1970
1973
Chọn đáp án A
Anh (Chị) hãy cho biết, chương trình sau sai ở dòng nào?
1 .struct hocsinh {
2. string hoten;
3. int namsinh;
4.} ;
5 .int main() {
6. hocsinh hs[3];
7. hocsinh *p = hs;
8. for (int i = 0; i < 3; i++) {
9. p->namsinh = 1991 + i;
10. p++;
11. }
12. *p = hs+1;
13. p.namsinh -= 20;
14. cout << *p.namsinh << endl;
15. return 0;
16.}
Không sai dòng nào.
9, 12, 14
12, 13, 14
9, 13, 14
Chọn đáp án C
Anh (Chị) hãy cho biết kết quả của đoạn lệnh sau là gì?
struct hocsinh {
string hoten;
int namsinh;
double diem;
} ;
double bac3 (double a,int x) {
double d = 1;
for (int i = 0; i < x; i++) d *= a;
return d;
}
int main() {
hocsinh hs[3];
hocsinh *p;
p = hs;
for (int i = 0; i < 3; i++) {
p->diem = 5;
p++;
}
cout << hs[0].diem << “, “ << bac3(hs[1].diem,2);
>>
5, 25, 125
5, 25, 625
5, 25
5, 5
Chọn đáp án C
Anh (Chị) hãy cho biết kết quả của đoạn lệnh sau là gì?
double bac3 (double a, int x) {
for (int i = 0; i < x; i++)
a = a * a;
return a;
}
int main() {
int i = 3;
cout << i << “, “ << bac3(i,2);
return 0;
}
>
3, 81
3, 9
9, 81
3, 18
Chọn đáp án A
Chương Anh (Chị) hãy cho biết kết quả của đoạn lệnh sau là gì?
class nhanvien {
double luong;
public:
void setLuong(double d) { luong = d; }
double getLuong() { return luong; }
void tangLuong(double d) { luong += d; }
} ;
int main() {
nhanvien A;
A.setLuong(700);
nhanvien B = A;
B.tangLuong(100);
cout << B.luong;
return 0;
}
700
800
0
Lỗi biên dịch.
Chọn đáp án D
Chương Anh (Chị) hãy cho biết kết quả của đoạn lệnh sau là gì?
class CRect {
int height, width;
public:
CRect (int,int);
int DT ()
{
return (height * width);
}
} ;
CRect::CRect (int a, int b) {
height = a; width = b;
}
int main() {
CRect cn (7,7);
cout << cn.DT();
return 0;
}
Lỗi biên dịch.
7
49
14
Chọn đáp án C
Anh (Chị) hãy cho biết kết quả của đoạn lệnh sau là gì?
class CRect {
int height, width;
public:
CRect (int,int);
int DT () {
return (height + width); }
} ;
CRect::CRect (int a, int b) {
height = a; width = b;
}
int main() {
CRect cn (7,7);
cout << cn.DT();
return 0;
}
21
7
49
14
Chọn đáp án D
Anh (Chị) hãy cho biết kết quả của đoạn lệnh sau là gì?
class CRect {
int height, width;
public:
CRect (int,int);
CRect ();
Int DT (void)
{ return (height * width); }
} ;
CRect::CRect (int a, int b) {
height = a; width = b;
}
CRect::CRect () {
height = 5;
width = 5;
}
int main() {
CRect cn1 (3,4);
CRect cn2;
cout << cn1.DT() + cn2.DT();
return 0;
}
12
25
37
21
Chọn đáp án C
Anh (Chị) hãy cho biết kết quả của đoạn lệnh sau là gì?
class CRect {
int *height, *width;
public:
CRect(int,int); ~CRect ();
int DT (void) { return (*height **width); }
} ;
CRect::CRect (int a, int b) {
height = new int;
width = new int;
*height = a;
*width = b;
}
CRect::~CRect() {
delete height;
delete width;
}
int main() {
CRect cn1 (3,4);
cout << cn1.DT();
return 0;
}
12
20
7
10
Chọn đáp án A
Anh (Chị) hãy cho biết, chương trình sau sai ở dòng nào?
1. class CRect {
2 .int *height, *width;
3. public :
4. CRect (int,int);
5. ~CRect ();
6. int DT (void) { return (height * width); }
7. }
8. CRect::CRect (int a, int b) {
9. height = new int;
10. width = new int;
11. *height = a;
12. *width = b;
13.}
14. CRect::~CRect() {
15. delete height;
16. delete width;
17. }
18. int main() {
19. CRect cn1 (3,4);
20. cout << cn1.DT();
21. return 0;
22. }
6, 7
9, 10
6, 11, 12
Không sai dòng nào.
Chọn đáp án A
Anh (Chị) hãy cho biết kết quả của đoạn lệnh sau là gì?
1. class CRect {
2. int height, width;
3. public :
4. void setGiatri(int a, int b) {
5. height = a;
6. width = b;
7. }
8. int DT() { return (height * width); }
9. };
10. int main() {
11. CRect a, *b, *c, *d;
12. d = new CRect[2];
13. b = new CRect;
14. c = &a;
15. a.setGiatri(1,2);
16. b->setGiatri(3,4);
17. d->setGiatri(5,6);
18. d[1].setGiatri(7,8);
19. cout << c->DT() << endl;
20. delete b;
21. delete[] d;
22. return 0; 23. }
2
12
30
56
Chọn đáp án A
Anh (Chị) hãy cho biết kết quả của đoạn lệnh sau là gì?
1. class CRect {
2. int height, width;
3. public :
4. void setGiatri(int a, int b) {
5. height = a;
6. width = b;
7. }
8. int DT() { return (height * width); }
9. };
10. int main() {
11. CRect a, *b, *c, d*;
12. d = new CRect[2];
13. b = new CRect;
14. c = &a;
15. a.setGiatri(1,2);
16. b->setGiatri(3,4);
17. d->setGiatri(5,6);
18. d[1].setGiatri(7,8);
19. cout << c->DT() * (*b).DT() << endl;
20. delete b;
21. delete[] d;
22. return 0; 23. }
24
12
30
56
Chọn đáp án A
Anh (Chị) hãy cho biết kết quả của đoạn lệnh sau là gì?
1. class CVector {
2. public :
3. int x,y;
4. CVector () {}
5. CVector (int,int);
6. CVector operator+ (CVector);
7. };
8. CVector::CVector (int a,int b) {
9. x = a;
10. y = b;
11. }
12. CVector CVector::operator+ (CVector v) {
13. CVector tmp;
14. tmp.x = x + v.x;
15. tmp.y = y + v.y;
16. return tmp;
17.}
18 .int main () {
19. CVector a (3,1);
20. CVector b(8,4);
21. CVector c;
22. c = a + b;
23. cout << c.x + c.y << endl;
24. return 0;
25.}
-8
5
16
4
Chọn đáp án C
Anh (Chị) hãy cho biết kết quả của đoạn lệnh sau là gì?
int i;
float p; p=1;
for(i=1;i<3;i++)
{ p=p*i;
p=p*p;
}
cout << p << endl;
3;i++)
p=6
p=4
p=124
p=144
Chọn đáp án B
Anh (Chị) hãy cho biết kết quả của đoạn lệnh sau là gì?
class tinh {
public:
int a;
tinh() {} tinh(int i)
{a = i;} tinh
operator+(tinh t) {
tinh tmp;
tmp.a = a % t.a;
return tmp
}
} ;
void main() {
tinh t1(1),
t2(3),t3;
t3 = t1 + t2;
cout << t.a;
}
1
3
4
Lỗi biên dịch
Chọn đáp án D



