1
ĐẠI HC BÁCH KHOA HÀ NI
TRƯỜNG ĐIỆN ĐIN T
Đề s: 1. Tng s trang: 6
Thi gian làm bài: 75 phút
ĐỀ THI CUI K 20242
Mã hc phn: ET2031
Tên hc phn : K thut lp trình C/C++
(Không s dụng máy tính, đin thoi
Đưc s dng tài liu giy, np đề thi cùng bài làm)
Ký duyt
Trưởng nhóm chuyên môn
Câu 1: Cho biết kết qu trên màn hình khi thc hiện đoạn code sau:
void hoanvi(int *px, int *py) { int* z; z = px; px = py; py = z; }
int main() { int a = 15, b = 21; hoanvi(&a, &b);
cout << a <<" "<< b << endl; return 0; }
A.15 15 B.Báo li C.21 15 D.15 21
Câu 2: Giá tr ca x và y sau khi chạy đoạn lnh sau là ?
int x = 5, y = 7; int* p = &x; int &r = x; *p += 2; y += r;
A. x=5, y=12 B. x=7, y=12 C. x=7, y=14 D. x=5, y=7
Câu 3: Cho biết kết qu trên màn hình khi thc hiện đoạn code sau:
int* myArray = new int[2];
cout<<myArray[0];
A. -1 B. 1 C. 0 D. Không xác định
Câu 4: Cho biết kết qu trên màn hình khi thc hiện đoạn code sau:
int func(int& x) { x += 6; return x; }
int main() { int x = 4; int y = func(x);
cout << x << ", " << y << endl; return 0; }
A. 10, 10 B. 10, 4 C. 4, 10 D. 4, 4
Câu 5: Cho biết kết qu trên màn hình khi thc hiện đoạn code sau:
typedef struct Student { char Name[50]; double CPA; } Student;
int main() { cout << sizeof(double) << sizeof(Student) << endl; }
A. 454 B. 450 C. 858 D. 864
Câu 6: Cho biết kết qu trên màn hình khi thc hiện đoạn code sau:
int k = 64; printf("%d\n", k >> 3);
A. 16 B. 8 C. 32 D. 4
Câu 7: Cho biết kết qu trên màn hình khi thc hiện đoạn code sau:
class A { int a;
public:
A(int _a): a(_a) {}
void print() { cout << a << "\t"; }
};
class B : public A { int b;
public:
B(int _a, int _b) : A(_a), b(_b * 2) {}
void print() { A::print(); cout << b; }
2
};
int main() { B b(2, 3); b.print(); }
A. 5 8 B. 4 6 C. 2 6 D. 2 5
Câu 8: Cho biết kết qu trên màn hình khi thc hiện đoạn code sau:
char s[] = "DHBK Hanoi"; char* p = s;
for (int i = 0; s[i] != '\0'; i++) { if (s[i] == ' ') { s[i] = '\0'; p = s; break; }}
cout << p << endl;
A. Hanoi B. DHBK HANOI C. DHBK hanoi D. DHBK
Câu 9: Cho biết kết qu trên màn hình khi thc hiện đoạn code sau:
class Point { float _x, _y;
public:
Point(float x = 0, float y = 0) { _x = x; _y = y; }
friend float distanceP2P(Point p, Point q);};
float distanceP2P(Point p, Point q) {
return sqrt((p._x - q._x) * (p._x - q._x) + (p._y - q._y) * (p._y - q._y));}
int main() { Point p1; Point p2(10);
cout << "Khoang cach = " << distanceP2P(p1, p2) << endl;
return 0;}
A. Khoang cach = 0 B. Báo li C. Khoang cach = 10 D. Khoang cach = 100
Câu 10: Cho biết kết qu trên màn hình khi thc hiện đoạn code sau:
class X {
public: X() { cout << "1"; }
~X() { cout << "0"; } };
int main() { X a, b; { X c, d; } X e, f;}
A. 111111000000 B. 111000111000 C. 000000111111 D. 111100110000
Câu 11: Cho biết kết qu đoạn chương trình sau:
int main() { int a = 16; cout << ((a >> 3) | 3);}
A. 2 B. 3 C. 1 D. 16
Câu 12: Cho biết kết qu trên màn hình khi thc hiện đoạn code sau:
enum SpeedLevel { SPEED_ONE = 7, SPEED_TWO, SPEED_THREE };
enum SpeedLevel currentSpeed = SPEED_THREE;
printf("%d", currentSpeed);
A. 8 B. 7 C. 2 D. 9
Câu 13: Cho biết kết qu đoạn chương trình sau:
int main() { int T = 14;
switch (T * T % 2) {
case 0: T = 10;
case 1: T = 100; break;
case 2: T = 1000; break; }
cout << T;}
A. 14 B. 10 C. 100 D. 1000
Câu 14: Cho biết kết qu đoạn chương trình sau:
void updateValue(int *ptr) { *ptr = 20; }
int main() { int var = 10; updateValue(&var); cout << var; return 0; }
3
A. 0 B. 20 C. 10 D. nan
Câu 15: Cho biết kết qu trên màn hình khi thc hiện đoạn code sau:
char s[] = "Lap Trinh"; int i = 0;
while (s[i]) { if (s[i] >= 'A' && s[i] <= 'Z') s[i] += 'a' - 'A'; i++; }
cout << s;
A. LAP TRINH B. lap trinh C. Lap Trinh D. Lap trinh
Câu 16: Cho biết kết qu trên màn hình khi thc hiện đoạn code sau:
int a = 5, b = 10;
a += b; b = a - b; a -= b;
cout << a << ' ' << b << endl;
A. 5 10 B. 10 10 C. 5 5 D. 10 5
Câu 17: Cho biết kết qu trên màn hình khi thc hiện đoạn code sau:
class A {public:
void func() { cout << "a"; }};
class B : public A {public:
void func() { A::func(); cout << "b"; }};
void main() { A* p = new B(); p->func();}
A. ab B. a C. b D. ba
Câu 18: Cho biết kết qu trên màn hình khi thc hiện đoạn code sau:
int func(int v) { if (v == 0) return v;
return 1 + (v & 0 ? v - 2 : v / 2); }
int main() { cout << func(7); }
A. 3 B. 1 C. 7 D. 4
Câu 19: Cho biết kết qu trên màn hình khi thc hiện đoạn code sau:
int a = 128, n = 4;
for (int i = 0; i < n; i++, a /= 2) { }
cout << a << endl;
A. 63 B. 4 C. 8 D. 16
Câu 20: Cho biết kết qu trên màn hình khi thc hiện đoạn code sau:
int a[] = {12, 4, 5, 3, 9, 6, 7, 8, 0, 10};
int n = sizeof(a) / sizeof(int);
int k = ++a[4]; printf("%d, %d", k, n);
A. 9 10 B. 10 10 C. 4 10 D. 10 9
Câu 21: Cho biết kết qu trên màn hình khi thc hiện đoạn code sau:
class Rect { int w, h;
public: Rect(int w, int h) : w(w), h(h) {}
int Bound() const { return 2 * (w + h); }
virtual int Area() const { return w * h; } };
class Circle : public Rect {
public: Circle(int d) : Rect(d, d) {}
int Bound() const { return Rect::Bound() * 3 / 4; }
int Area() const override { return Rect::Area() * 3 / 4; } };
int main() { Rect* p = new Circle(10);
cout << p->Bound() << ' ' << p->Area() << endl; }
4
A. 40 100 B. 30 75 C. 30 100 D. 40 75
Câu 22: Cho biết kết qu trên màn hình khi thc hiện đoạn code sau:
int a = 128, count = 0;
while (a) { a /= 2; ++count; }
cout << count << endl;
A. 7 B. 8 C. Vô cùng D. 6
Câu 23: Cho biết kết qu trên màn hình khi thc hiện đoạn code sau:
int main() { int a = 0x11; cout << (a | 2); }
A. 2 B. 0 C. 19 D. 11
Câu 24: Cho biết kết qu trên màn hình khi thc hiện đoạn code sau:
const int n = 4;
int A[] = {22, 44, 55, 33, 66};
for (int i = 0; i < n; i++) { if (A[i] % 2 == 0) { cout << i; }}
A. 01 B. 0 C. 014 D. 23
Câu 25: Cho biết kết qu trên màn hình khi thc hiện đoạn code sau:
int a, b; a = 3; b = (++a) * 2;
cout << a << " " << b << endl;
A. 3 6 B. 3 8 C. 4 6 D. 4 8
Câu 26: Cho biết kết qu trên màn hình khi thc hiện đoạn code sau:
void myPrint(int a) { cout << a << " "; }
void myPrint(int a, int b = 5) { cout << a << " " << b;}
int main() { myPrint(5); return 0;}
A. 5 5 B. 5 C. 5 5 5 D. Báo li
Câu 27: Cho biết kết qu trên màn hình khi thc hiện đoạn code sau:
int* ptr = new int[10];
for (int i = 0; i < 10; i++) { ptr[i] = i + 1; }
cout << ptr[2]; delete[] ptr; ptr = NULL;
A. 4 B. 2 C. 3 D. 1
Câu 28: Cho biết kết qu trên màn hình khi thc hiện đoạn code sau:
int a, num = 20;
a = (num > 10 ? (num <= 39 ? 24 : 14) : 5);
switch (a) { case 14: printf("First"); break;
case 5: printf("Second"); break;
case 24: printf("Third"); break;
default: printf("Hello"); }
A. Second B. First C. Third D. Hello
Câu 29: Cho biết kết qu đoạn chương trình sau:
int main() { int p = 10; int& q = p;
q = 20; cout << "p=" << p << endl;
p = 30; cout << "q=" << q << endl;
return 0; }
A. p=10 q=30 B. p=20 q=20 C. p=30 q=30 D. p=20 q=30
Câu 30: Cho biết kết qu trên màn hình khi thc hiện đoạn code sau:
int a = 5, b = 10;
5
int* p = (a > b ? &a : &b);
cout << *p + 1 << endl;
A. 5 B. 6 C. 11 D. 10
Câu 31: Cho biết kết qu trên màn hình khi thc hiện đoạn code sau:
char s[] = "00000000"; int x = 100, i = 8;
while (x) { s[--i] = (x % 2) + '0'; x /= 2; }
cout << s << endl;
A. 00010001 B. 01100100 C. 10000001 D. 10100000
Câu 32: Cho biết kết qu trên màn hình khi thc hiện đoạn code sau:
int countCharacter(const char str[]) { int count = 0;
while (str[count] != '\0') { count++; } return count; }
int main() { char input[] = "Chao 2025!";
cout << countCharacter(input) << endl;
return 0; }
A. 5 B. 10 C. 4 D. 9
Câu 33: Cho biết kết qu trên màn hình khi thc hiện đoạn code sau:
int main() {
int arr[] = {10, 20, 30, 40, 50};
int *ptr = arr + 3;
cout << *ptr-- << " ";
cout << *ptr << " ";
cout << arr[2];
return 0;}
A. 40 30 30 B. 40 30 20 C. 30 20 30 D. 30 30 40
Câu 34: Cho mt mng 2 chiu khai báo như sau. Giá tr 1 phn t ca mng ti v trí (3, 4) là
bao nhiêu:
int table[5][5] = { { 1,8 }, { 2,4,6 }, { 5} };
A. 8 B. 5 C. 4 D. 0
Câu 35: Cho biết kết qu trên màn hình khi thc hiện đoạn code sau:
int main() {
int x = 1, y = 2, z = 3;
cout << (x++ + y * 2 + --z);
return 0;}
A. 6 B. 7 C. 8 D. 9
Câu 36: Cho biết kết qu trên màn hình khi thc hiện đoạn code sau:
int main() {
int a = 10, b = 20;
a = a ^ b; b = a & b; a = a | b ;
cout << a << " " << b;
return 0; }
A. 10 20 B. 30 20 C. 10 10 D. 20 30
Câu 37: Cho mng int A[]= { 1, 2, 3, 4, 3, 2, 1 };
Tính giá tr ca A[A[l] + A[5]]
A. 4 B. 1 C. 3 D. 2
6
Câu 38: Đoạn mã nào dùng để tính tng các s nguyên dương chẵn nh hơn 100?
A. S=0; for(int i=0;i<=l00;i+=2) S+=i; B. S=0; for(int i=l;i<=l00;i+=2) S+=i;
C. S=0; for(int i=l; i<l00; i+=2) S+=i; D. S=0; for(int i=0; i<l00; i+=2) S+=i;
Câu 39: Đ comment trong C++ ta dùng cách nào
A. $comment B. %comment C. #comment D. //comment
Câu 40: Câu lnh nào cho ra kết qu khác vi các câu còn li?
A. x *= 2 B. x = x >> 1 C. x = x << 1 D. x += x
(Hết)
7
1
ĐẠI HC BÁCH KHOA HÀ NI
TRƯỜNG ĐIỆN ĐIN T
Đề s: 2. Tng s trang: 6
Thi gian làm bài: 75 phút
ĐỀ THI CUI K 20242
Mã hc phn: ET2031
Tên hc phn : K thut lp trình C/C++
(Không s dụng máy tính, đin thoi
Đưc s dng tài liu giy, nộp đề thi cùng bài làm)
Ký duyt
Trưởng nhóm chuyên môn
Câu 1: Cho biết kết quả trên màn hình khi thực hiện đoạn code sau:
int* ptr = new int[10];
for (int i = 0; i < 10; i++) { ptr[i] = i + 1; }
cout << ptr[2]; delete[] ptr; ptr = NULL;
A. 4 B. 2 C. 3 D. 1
Câu 2: Cho biết kết qu trên màn hình khi thc hiện đoạn code sau:
int countCharacter(const char str[]) { int count = 0;
while (str[count] != '\0') { count++; } return count; }
int main() { char input[] = "Chao 2025!";
cout << countCharacter(input) << endl;
return 0; }
A. 5 B. 10 C. 4 D. 9
Câu 3: Câu lnh nào cho ra kết qu khác vi các câu còn li?
A. x *= 2 B. x = x >> 1 C. x = x << 1 D. x += x
Câu 4: Cho biết kết qu trên màn hình khi thc hiện đoạn code sau:
int a[] = {12, 4, 5, 3, 9, 6, 7, 8, 0, 10};
int n = sizeof(a) / sizeof(int);
int k = ++a[4]; printf("%d, %d", k, n);
A. 9 10 B. 10 10 C. 4 10 D. 10 9
Câu 5: Cho biết kết qu trên màn hình khi thc hiện đoạn code sau:
int a = 128, count = 0;
while (a) { a /= 2; ++count; }
cout << count << endl;
A. 7 B. 8 C. Vô cùng D. 6
Câu 6: Cho biết kết qu trên màn hình khi thc hiện đoạn code sau:
char s[] = "00000000"; int x = 100, i = 8;
while (x) { s[--i] = (x % 2) + '0'; x /= 2; }
cout << s << endl;
A. 00010001 B. 01100100 C. 10000001 D. 10100000
Câu 7: Cho biết kết qu trên màn hình khi thc hiện đoạn code sau:
int main() { int a = 0x11; cout << (a | 2); }
A. 2 B. 0 C. 19 D. 11
Câu 8: Cho biết kết qu trên màn hình khi thc hiện đoạn code sau:
int func(int v) { if (v == 0) return v;
2
return 1 + (v & 0 ? v - 2 : v / 2); }
int main() { cout << func(7); }
A. 3 B. 1 C. 7 D. 4
Câu 9: Cho biết kết qu trên màn hình khi thc hiện đoạn code sau:
class Point { float _x, _y;
public:
Point(float x = 0, float y = 0) { _x = x; _y = y; }
friend float distanceP2P(Point p, Point q);};
float distanceP2P(Point p, Point q) {
return sqrt((p._x - q._x) * (p._x - q._x) + (p._y - q._y) * (p._y - q._y));}
int main() { Point p1; Point p2(10);
cout << "Khoang cach = " << distanceP2P(p1, p2) << endl;
return 0;}
A. Khoang cach = 0 B. Báo li C. Khoang cach = 10 D. Khoang cach = 100
Câu 10: Cho biết kết qu trên màn hình khi thc hiện đoạn code sau:
void myPrint(int a) { cout << a << " "; }
void myPrint(int a, int b = 5) { cout << a << " " << b;}
int main() { myPrint(5); return 0;}
A. 5 5 B. 5 C. 5 5 5 D. Báo li
Câu 11: Cho biết kết qu trên màn hình khi thc hiện đoạn code sau:
int* myArray = new int[2];
cout<<myArray[0];
A. -1 B. 1 C. 0 D. Không xác định
Câu 12: Cho mng int A[]= { 1, 2, 3, 4, 3, 2, 1 };
Tính giá tr ca A[A[l] + A[5]]
A. 4 B. 1 C. 3 D. 2
Câu 13: Giá tr ca x và y sau khi chạy đoạn lnh sau là gì ?
int x = 5, y = 7; int* p = &x; int &r = x; *p += 2; y += r;
A. x=5, y=12 B. x=7, y=12 C. x=7, y=14 D. x=5, y=7
Câu 14: Cho biết kết qu trên màn hình khi thc hiện đoạn code sau:
void hoanvi(int *px, int *py) { int* z; z = px; px = py; py = z; }
int main() { int a = 15, b = 21; hoanvi(&a, &b);
cout << a <<" "<< b << endl; return 0; }
A. 15 15 B. Bo li C. 21 15 D. 15 21
Câu 15: Cho biết kết qu đoạn chương trình sau:
int main() { int a = 16; cout << ((a >> 3) | 3);}
A. 2 B. 3 C. 1 D. 16
Câu 16: Cho biết kết qu trên màn hình khi thc hiện đoạn code sau:
int a, b; a = 3; b = (++a) * 2;
cout << a << " " << b << endl;
A. 3 6 B. 3 8 C. 4 6 D. 4 8
Câu 17: Cho biết kết qu trên màn hình khi thc hiện đoạn code sau:
const int n = 4;
3
int A[] = {22, 44, 55, 33, 66};
for (int i = 0; i < n; i++) { if (A[i] % 2 == 0) { cout << i; }}
A. 01 B. 0 C. 014 D. 23
Câu 18: Cho biết kết qu trên màn hình khi thc hiện đoạn code sau:
enum SpeedLevel { SPEED_ONE = 7, SPEED_TWO, SPEED_THREE };
enum SpeedLevel currentSpeed = SPEED_THREE;
printf("%d", currentSpeed);
A. 8 B. 7 C. 2 D. 9
Câu 19: Cho mt mng 2 chiu khai báo như sau. Giá tr 1 phn t ca mng ti v trí (3, 4) là
bao nhiêu:
int table[5][5] = { { 1,8 }, { 2,4,6 }, { 5} };
A. 8 B. 5 C. 4 D. 0
Câu 20: Cho biết kết qu trên màn hình khi thc hiện đoạn code sau:
int func(int& x) { x += 6; return x; }
int main() { int x = 4; int y = func(x);
cout << x << ", " << y << endl; return 0; }
A. 10, 10 B. 10, 4 C. 4, 10 D. 4, 4
Câu 21: Cho biết kết qu đoạn chương trình sau:
int main() { int p = 10; int& q = p;
q = 20; cout << "p=" << p << endl;
p = 30; cout << "q=" << q << endl;
return 0; }
A. p=10 q=30 B. p=20 q=20 C. p=30 q=30 D. p=20 q=30
Câu 22: Đ comment trong C++ ta dùng cách nào
A. $comment B. %comment C. #comment D. //comment
Câu 23: Cho biết kết qu trên màn hình khi thc hiện đoạn code sau:
class Rect { int w, h;
public: Rect(int w, int h) : w(w), h(h) {}
int Bound() const { return 2 * (w + h); }
virtual int Area() const { return w * h; } };
class Circle : public Rect {
public: Circle(int d) : Rect(d, d) {}
int Bound() const { return Rect::Bound() * 3 / 4; }
int Area() const override { return Rect::Area() * 3 / 4; } };
int main() { Rect* p = new Circle(10);
cout << p->Bound() << ' ' << p->Area() << endl; }
A. 40 100 B. 30 75 C. 30 100 D. 40 75
Câu 24: Cho biết kết qu trên màn hình khi thc hiện đoạn code sau:
typedef struct Student { char Name[50]; double CPA; } Student;
int main() { cout << sizeof(double) << sizeof(Student) << endl; }
A. 454 B. 450 C. 858 D. 864
Câu 25: Cho biết kết qu trên màn hình khi thc hiện đoạn code sau:
class X {
public: X() { cout << "1"; }
4
~X() { cout << "0"; } };
int main() { X a, b; { X c, d; } X e, f;}
A. 111111000000 B. 111000111000 C. 000000111111 D. 111100110000
Câu 26: Cho biết kết qu trên màn hình khi thc hiện đoạn code sau:
int main() {
int a = 10, b = 20;
a = a ^ b; b = a & b; a = a | b ;
cout << a << " " << b;
return 0; }
A. 10 20 B. 30 20 C. 10 10 D. 20 30
Câu 27: Cho biết kết qu trên màn hình khi thc hiện đoạn code sau:
int a = 128, n = 4;
for (int i = 0; i < n; i++, a /= 2) { }
cout << a << endl;
A. 63 B. 4 C. 8 D. 16
Câu 28: Cho biết kết qu trên màn hình khi thc hiện đoạn code sau:
char s[] = "DHBK Hanoi"; char* p = s;
for (int i = 0; s[i] != '\0'; i++) { if (s[i] == ' ') { s[i] = '\0'; p = s; break; }}
cout << p << endl;
A. Hanoi B. DHBK HANOI C. DHBK hanoi D. DHBK
Câu 29: Cho biết kết qu trên màn hình khi thc hiện đoạn code sau:
class A {public:
void func() { cout << "a"; }};
class B : public A {public:
void func() { A::func(); cout << "b"; }};
void main() { A* p = new B(); p->func();}
A. ab B. a C. b D. ba
Câu 30: Cho biết kết qu trên màn hình khi thc hiện đoạn code sau:
class A { int a;
public:
A(int _a): a(_a) {}
void print() { cout << a << "\t"; }
};
class B : public A { int b;
public:
B(int _a, int _b) : A(_a), b(_b * 2) {}
void print() { A::print(); cout << b; }
};
int main() { B b(2, 3); b.print(); }
A. 5 8 B. 4 6 C. 2 6 D. 2 5
Câu 31: Cho biết kết qu trên màn hình khi thc hiện đoạn code sau:
char s[] = "Lap Trinh"; int i = 0;
while (s[i]) { if (s[i] >= 'A' && s[i] <= 'Z') s[i] += 'a' - 'A'; i++; }
cout << s;
5
A. LAP TRINH B. lap trinh C. Lap Trinh D. Lap trinh
Câu 32: Cho biết kết qu trên màn hình khi thc hiện đoạn code sau:
int k = 64; printf("%d\n", k >> 3);
A. 16 B. 8 C. 32 D. 4
Câu 33: Cho biết kết qu trên màn hình khi thc hiện đoạn code sau:
int main() {
int x = 1, y = 2, z = 3;
cout << (x++ + y * 2 + --z);
return 0;}
A. 6 B. 7 C. 8 D. 9
Câu 34: Cho biết kết qu đoạn chương trình sau:
int main() { int T = 14;
switch (T * T % 2) {
case 0: T = 10;
case 1: T = 100; break;
case 2: T = 1000; break; }
cout << T;}
A. 14 B. 10 C. 100 D. 1000
Câu 35: Cho biết kết qu trên màn hình khi thc hiện đoạn code sau:
int a = 5, b = 10;
int* p = (a > b ? &a : &b);
cout << *p + 1 << endl;
A. 5 B. 6 C. 11 D. 10
Câu 36: Cho biết kết qu trên màn hình khi thc hiện đoạn code sau:
int a, num = 20;
a = (num > 10 ? (num <= 39 ? 24 : 14) : 5);
switch (a) { case 14: printf("First"); break;
case 5: printf("Second"); break;
case 24: printf("Third"); break;
default: printf("Hello"); }
A. Second B. First C. Third D. Hello
Câu 37: Đoạn mã nào dùng để tính tng các s nguyên dương chẵn nh hơn 100?
A. S=0; for(int i=0;i<=l00;i+=2) S+=i; B. S=0; for(int i=l;i<=l00;i+=2) S+=i; C. S=0; for(int
i=l; i<l00; i+=2) S+=i; D. S=0; for(int i=0; i<l00; i+=2) S+=i;
Câu 38: Cho biết kết qu đoạn chương trình sau:
void updateValue(int *ptr) { *ptr = 20; }
int main() { int var = 10; updateValue(&var); cout << var; return 0; }
A. 0 B. 20 C. 10 D. nan
Câu 39: Cho biết kết qu trên màn hình khi thc hiện đoạn code sau:
int a = 5, b = 10;
a += b; b = a - b; a -= b;
cout << a << ' ' << b << endl;
A. 5 10 B. 10 10 C. 5 5 D. 10 5
6
Câu 40: Cho biết kết qu trên màn hình khi thc hiện đoạn code sau:
int main() {
int arr[] = {10, 20, 30, 40, 50};
int *ptr = arr + 3;
cout << *ptr-- << " ";
cout << *ptr << " ";
cout << arr[2];
return 0;}
A. 40 30 30 B. 40 30 20 C. 30 20 30 D. 30 30 40
(Hết)

Preview text:

ĐẠI HỌC BÁCH KHOA HÀ NỘI
ĐỀ THI CUỐI KỲ 20242
TRƯỜNG ĐIỆN – ĐIỆN TỬ
Mã học phần: ET2031
Đề số: 1. Tổng số trang: 6
Tên học phần : Kỹ thuật lập trình C/C++
(Không sử dụng máy tính, điện thoại
Thời gian làm bài: 75 phút
Được sử dụng tài liệu giấy, nộp đề thi cùng bài làm) Ký duyệt Trưởng nhóm chuyên môn
Câu 1:
Cho biết kết quả trên màn hình khi thực hiện đoạn code sau:
void hoanvi(int *px, int *py) { int* z; z = px; px = py; py = z; }
int main() { int a = 15, b = 21; hoanvi(&a, &b);
cout << a <<" "<< b << endl; return 0; } A.15 15 B.Báo lỗi C.21 15 D.15 21
Câu 2: Giá trị của x và y sau khi chạy đoạn lệnh sau là gì ?
int x = 5, y = 7; int* p = &x; int &r = x; *p += 2; y += r;
A. x=5, y=12 B. x=7, y=12 C. x=7, y=14 D. x=5, y=7
Câu 3: Cho biết kết quả trên màn hình khi thực hiện đoạn code sau: int* myArray = new int[2]; cout<A. -1 B. 1 C. 0 D. Không xác định
Câu 4: Cho biết kết quả trên màn hình khi thực hiện đoạn code sau:
int func(int& x) { x += 6; return x; }
int main() { int x = 4; int y = func(x);
cout << x << ", " << y << endl; return 0; } A. 10, 10 B. 10, 4 C. 4, 10 D. 4, 4
Câu 5: Cho biết kết quả trên màn hình khi thực hiện đoạn code sau:
typedef struct Student { char Name[50]; double CPA; } Student;
int main() { cout << sizeof(double) << sizeof(Student) << endl; } A. 454 B. 450 C. 858 D. 864
Câu 6: Cho biết kết quả trên màn hình khi thực hiện đoạn code sau:
int k = 64; printf("%d\n", k >> 3); A. 16 B. 8 C. 32 D. 4
Câu 7: Cho biết kết quả trên màn hình khi thực hiện đoạn code sau: class A { int a; public: A(int _a): a(_a) {}
void print() { cout << a << "\t"; } }; class B : public A { int b; public:
B(int _a, int _b) : A(_a), b(_b * 2) {}
void print() { A::print(); cout << b; } 1 };
int main() { B b(2, 3); b.print(); } A. 5 8 B. 4 6 C. 2 6 D. 2 5
Câu 8: Cho biết kết quả trên màn hình khi thực hiện đoạn code sau:
char s[] = "DHBK Hanoi"; char* p = s;
for (int i = 0; s[i] != '\0'; i++) { if (s[i] == ' ') { s[i] = '\0'; p = s; break; }}
cout << p << endl; A. Hanoi
B. DHBK HANOI C. DHBK hanoi D. DHBK
Câu 9: Cho biết kết quả trên màn hình khi thực hiện đoạn code sau: class Point { float _x, _y; public:
Point(float x = 0, float y = 0) { _x = x; _y = y; }
friend float distanceP2P(Point p, Point q);};
float distanceP2P(Point p, Point q) {
return sqrt((p._x - q._x) * (p._x - q._x) + (p._y - q._y) * (p._y - q._y));}
int main() { Point p1; Point p2(10);
cout << "Khoang cach = " << distanceP2P(p1, p2) << endl; return 0;}
A. Khoang cach = 0 B. Báo lỗi C. Khoang cach = 10 D. Khoang cach = 100
Câu 10: Cho biết kết quả trên màn hình khi thực hiện đoạn code sau: class X {
public: X() { cout << "1"; }
~X() { cout << "0"; } };
int main() { X a, b; { X c, d; } X e, f;}
A. 111111000000 B. 111000111000 C. 000000111111 D. 111100110000
Câu 11: Cho biết kết quả đoạn chương trình sau:
int main() { int a = 16; cout << ((a >> 3) | 3);} A. 2 B. 3 C. 1 D. 16
Câu 12: Cho biết kết quả trên màn hình khi thực hiện đoạn code sau:
enum SpeedLevel { SPEED_ONE = 7, SPEED_TWO, SPEED_THREE };
enum SpeedLevel currentSpeed = SPEED_THREE; printf("%d", currentSpeed); A. 8 B. 7 C. 2 D. 9
Câu 13: Cho biết kết quả đoạn chương trình sau: int main() { int T = 14; switch (T * T % 2) { case 0: T = 10; case 1: T = 100; break; case 2: T = 1000; break; } cout << T;} A. 14 B. 10 C. 100 D. 1000
Câu 14: Cho biết kết quả đoạn chương trình sau:
void updateValue(int *ptr) { *ptr = 20; }
int main() { int var = 10; updateValue(&var); cout << var; return 0; } 2 A. 0 B. 20 C. 10 D. nan
Câu 15: Cho biết kết quả trên màn hình khi thực hiện đoạn code sau:
char s[] = "Lap Trinh"; int i = 0;
while (s[i]) { if (s[i] >= 'A' && s[i] <= 'Z') s[i] += 'a' - 'A'; i++; } cout << s;
A. LAP TRINH B. lap trinh C. Lap Trinh D. Lap trinh
Câu 16: Cho biết kết quả trên màn hình khi thực hiện đoạn code sau: int a = 5, b = 10; a += b; b = a - b; a -= b;
cout << a << ' ' << b << endl; A. 5 10 B. 10 10 C. 5 5 D. 10 5
Câu 17: Cho biết kết quả trên màn hình khi thực hiện đoạn code sau: class A {public:
void func() { cout << "a"; }}; class B : public A {public:
void func() { A::func(); cout << "b"; }};
void main() { A* p = new B(); p->func();} A. ab B. a C. b D. ba
Câu 18: Cho biết kết quả trên màn hình khi thực hiện đoạn code sau:
int func(int v) { if (v == 0) return v;
return 1 + (v & 0 ? v - 2 : v / 2); }
int main() { cout << func(7); } A. 3 B. 1 C. 7 D. 4
Câu 19: Cho biết kết quả trên màn hình khi thực hiện đoạn code sau: int a = 128, n = 4;
for (int i = 0; i < n; i++, a /= 2) { }
cout << a << endl; A. 63 B. 4 C. 8 D. 16
Câu 20: Cho biết kết quả trên màn hình khi thực hiện đoạn code sau:
int a[] = {12, 4, 5, 3, 9, 6, 7, 8, 0, 10};
int n = sizeof(a) / sizeof(int);
int k = ++a[4]; printf("%d, %d", k, n); A. 9 10 B. 10 10 C. 4 10 D. 10 9
Câu 21: Cho biết kết quả trên màn hình khi thực hiện đoạn code sau: class Rect { int w, h;
public: Rect(int w, int h) : w(w), h(h) {}
int Bound() const { return 2 * (w + h); }
virtual int Area() const { return w * h; } }; class Circle : public Rect {
public: Circle(int d) : Rect(d, d) {}
int Bound() const { return Rect::Bound() * 3 / 4; }
int Area() const override { return Rect::Area() * 3 / 4; } };
int main() { Rect* p = new Circle(10);
cout << p->Bound() << ' ' << p->Area() << endl; } 3 A. 40 100 B. 30 75 C. 30 100 D. 40 75
Câu 22: Cho biết kết quả trên màn hình khi thực hiện đoạn code sau: int a = 128, count = 0;
while (a) { a /= 2; ++count; }
cout << count << endl; A. 7 B. 8
C. Vô cùng D. 6
Câu 23: Cho biết kết quả trên màn hình khi thực hiện đoạn code sau:
int main() { int a = 0x11; cout << (a | 2); } A. 2 B. 0 C. 19 D. 11
Câu 24: Cho biết kết quả trên màn hình khi thực hiện đoạn code sau: const int n = 4;
int A[] = {22, 44, 55, 33, 66};
for (int i = 0; i < n; i++) { if (A[i] % 2 == 0) { cout << i; }} A. 01 B. 0 C. 014 D. 23
Câu 25: Cho biết kết quả trên màn hình khi thực hiện đoạn code sau:
int a, b; a = 3; b = (++a) * 2;
cout << a << " " << b << endl; A. 3 6 B. 3 8 C. 4 6 D. 4 8
Câu 26: Cho biết kết quả trên màn hình khi thực hiện đoạn code sau:
void myPrint(int a) { cout << a << " "; }
void myPrint(int a, int b = 5) { cout << a << " " << b;}
int main() { myPrint(5); return 0;} A. 5 5 B. 5 C. 5 5 5 D. Báo lỗi
Câu 27: Cho biết kết quả trên màn hình khi thực hiện đoạn code sau: int* ptr = new int[10];
for (int i = 0; i < 10; i++) { ptr[i] = i + 1; }
cout << ptr[2]; delete[] ptr; ptr = NULL; A. 4 B. 2 C. 3 D. 1
Câu 28: Cho biết kết quả trên màn hình khi thực hiện đoạn code sau: int a, num = 20;
a = (num > 10 ? (num <= 39 ? 24 : 14) : 5);
switch (a) { case 14: printf("First"); break;
case 5: printf("Second"); break;
case 24: printf("Third"); break; default: printf("Hello"); } A. Second B. First C. Third D. Hello
Câu 29: Cho biết kết quả đoạn chương trình sau:
int main() { int p = 10; int& q = p;
q = 20; cout << "p=" << p << endl;
p = 30; cout << "q=" << q << endl; return 0; }
A. p=10 q=30 B. p=20 q=20 C. p=30 q=30 D. p=20 q=30
Câu 30: Cho biết kết quả trên màn hình khi thực hiện đoạn code sau: int a = 5, b = 10; 4
int* p = (a > b ? &a : &b);
cout << *p + 1 << endl; A. 5 B. 6 C. 11 D. 10
Câu 31: Cho biết kết quả trên màn hình khi thực hiện đoạn code sau:
char s[] = "00000000"; int x = 100, i = 8;
while (x) { s[--i] = (x % 2) + '0'; x /= 2; }
cout << s << endl;
A. 00010001 B. 01100100 C. 10000001 D. 10100000
Câu 32: Cho biết kết quả trên màn hình khi thực hiện đoạn code sau:
int countCharacter(const char str[]) { int count = 0;
while (str[count] != '\0') { count++; } return count; }
int main() { char input[] = "Chao 2025!";
cout << countCharacter(input) << endl; return 0; } A. 5 B. 10 C. 4 D. 9
Câu 33: Cho biết kết quả trên màn hình khi thực hiện đoạn code sau: int main() {
int arr[] = {10, 20, 30, 40, 50}; int *ptr = arr + 3;
cout << *ptr-- << " ";
cout << *ptr << " "; cout << arr[2]; return 0;}
A. 40 30 30 B. 40 30 20 C. 30 20 30 D. 30 30 40
Câu 34: Cho một mảng 2 chiều khai báo như sau. Giá trị 1 phần tử của mảng tại vị trí (3, 4) là bao nhiêu:
int table[5][5] = { { 1,8 }, { 2,4,6 }, { 5} }; A. 8 B. 5 C. 4 D. 0
Câu 35: Cho biết kết quả trên màn hình khi thực hiện đoạn code sau: int main() { int x = 1, y = 2, z = 3;
cout << (x++ + y * 2 + --z); return 0;} A. 6 B. 7 C. 8 D. 9
Câu 36: Cho biết kết quả trên màn hình khi thực hiện đoạn code sau: int main() { int a = 10, b = 20;
a = a ^ b; b = a & b; a = a | b ;
cout << a << " " << b; return 0; } A. 10 20 B. 30 20 C. 10 10 D. 20 30
Câu 37: Cho mảng int A[]= { 1, 2, 3, 4, 3, 2, 1 };
Tính giá trị của A[A[l] + A[5]] A. 4 B. 1 C. 3 D. 2 5
Câu 38: Đoạn mã nào dùng để tính tổng các số nguyên dương chẵn nhỏ hơn 100?
A. S=0; for(int i=0;i<=l00;i+=2) S+=i; B. S=0; for(int i=l;i<=l00;i+=2) S+=i;
C. S=0; for(int i=l; iD. S=0; for(int i=0; iCâu 39: Để comment trong C++ ta dùng cách nào
A. $comment B. %comment C. #comment D. //comment
Câu 40: Câu lệnh nào cho ra kết quả khác với các câu còn lại? A. x *= 2 B. x = x >> 1 C. x = x << 1 D. x += x (Hết) 6 7
ĐẠI HỌC BÁCH KHOA HÀ NỘI
ĐỀ THI CUỐI KỲ 20242
TRƯỜNG ĐIỆN – ĐIỆN TỬ
Mã học phần: ET2031
Đề số: 2. Tổng số trang: 6
Tên học phần : Kỹ thuật lập trình C/C++
(Không sử dụng máy tính, điện thoại
Thời gian làm bài: 75 phút
Được sử dụng tài liệu giấy, nộp đề thi cùng bài làm) Ký duyệt Trưởng nhóm chuyên môn
Câu 1:
Cho biết kết quả trên màn hình khi thực hiện đoạn code sau: int* ptr = new int[10];
for (int i = 0; i < 10; i++) { ptr[i] = i + 1; }
cout << ptr[2]; delete[] ptr; ptr = NULL; A. 4 B. 2 C. 3 D. 1
Câu 2: Cho biết kết quả trên màn hình khi thực hiện đoạn code sau:
int countCharacter(const char str[]) { int count = 0;
while (str[count] != '\0') { count++; } return count; }
int main() { char input[] = "Chao 2025!";
cout << countCharacter(input) << endl; return 0; } A. 5 B. 10 C. 4 D. 9
Câu 3: Câu lệnh nào cho ra kết quả khác với các câu còn lại? A. x *= 2
B. x = x >> 1 C. x = x << 1 D. x += x
Câu 4: Cho biết kết quả trên màn hình khi thực hiện đoạn code sau:
int a[] = {12, 4, 5, 3, 9, 6, 7, 8, 0, 10};
int n = sizeof(a) / sizeof(int);
int k = ++a[4]; printf("%d, %d", k, n); A. 9 10 B. 10 10 C. 4 10 D. 10 9
Câu 5: Cho biết kết quả trên màn hình khi thực hiện đoạn code sau: int a = 128, count = 0;
while (a) { a /= 2; ++count; }
cout << count << endl; A. 7 B. 8
C. Vô cùng D. 6
Câu 6: Cho biết kết quả trên màn hình khi thực hiện đoạn code sau:
char s[] = "00000000"; int x = 100, i = 8;
while (x) { s[--i] = (x % 2) + '0'; x /= 2; }
cout << s << endl;
A. 00010001 B. 01100100 C. 10000001 D. 10100000
Câu 7: Cho biết kết quả trên màn hình khi thực hiện đoạn code sau:
int main() { int a = 0x11; cout << (a | 2); } A. 2 B. 0 C. 19 D. 11
Câu 8: Cho biết kết quả trên màn hình khi thực hiện đoạn code sau:
int func(int v) { if (v == 0) return v; 1
return 1 + (v & 0 ? v - 2 : v / 2); }
int main() { cout << func(7); } A. 3 B. 1 C. 7 D. 4
Câu 9: Cho biết kết quả trên màn hình khi thực hiện đoạn code sau: class Point { float _x, _y; public:
Point(float x = 0, float y = 0) { _x = x; _y = y; }
friend float distanceP2P(Point p, Point q);};
float distanceP2P(Point p, Point q) {
return sqrt((p._x - q._x) * (p._x - q._x) + (p._y - q._y) * (p._y - q._y));}
int main() { Point p1; Point p2(10);
cout << "Khoang cach = " << distanceP2P(p1, p2) << endl; return 0;}
A. Khoang cach = 0 B. Báo lỗi C. Khoang cach = 10 D. Khoang cach = 100
Câu 10: Cho biết kết quả trên màn hình khi thực hiện đoạn code sau:
void myPrint(int a) { cout << a << " "; }
void myPrint(int a, int b = 5) { cout << a << " " << b;}
int main() { myPrint(5); return 0;} A. 5 5 B. 5 C. 5 5 5 D. Báo lỗi
Câu 11: Cho biết kết quả trên màn hình khi thực hiện đoạn code sau: int* myArray = new int[2]; cout<A. -1 B. 1 C. 0 D. Không xác định
Câu 12: Cho mảng int A[]= { 1, 2, 3, 4, 3, 2, 1 };
Tính giá trị của A[A[l] + A[5]] A. 4 B. 1 C. 3 D. 2
Câu 13: Giá trị của x và y sau khi chạy đoạn lệnh sau là gì ?
int x = 5, y = 7; int* p = &x; int &r = x; *p += 2; y += r;
A. x=5, y=12 B. x=7, y=12 C. x=7, y=14 D. x=5, y=7
Câu 14: Cho biết kết quả trên màn hình khi thực hiện đoạn code sau:
void hoanvi(int *px, int *py) { int* z; z = px; px = py; py = z; }
int main() { int a = 15, b = 21; hoanvi(&a, &b);
cout << a <<" "<< b << endl; return 0; } A. 15 15 B. Bảo lỗi C. 21 15 D. 15 21
Câu 15: Cho biết kết quả đoạn chương trình sau:
int main() { int a = 16; cout << ((a >> 3) | 3);} A. 2 B. 3 C. 1 D. 16
Câu 16: Cho biết kết quả trên màn hình khi thực hiện đoạn code sau:
int a, b; a = 3; b = (++a) * 2;
cout << a << " " << b << endl; A. 3 6 B. 3 8 C. 4 6 D. 4 8
Câu 17: Cho biết kết quả trên màn hình khi thực hiện đoạn code sau: const int n = 4; 2
int A[] = {22, 44, 55, 33, 66};
for (int i = 0; i < n; i++) { if (A[i] % 2 == 0) { cout << i; }} A. 01 B. 0 C. 014 D. 23
Câu 18: Cho biết kết quả trên màn hình khi thực hiện đoạn code sau:
enum SpeedLevel { SPEED_ONE = 7, SPEED_TWO, SPEED_THREE };
enum SpeedLevel currentSpeed = SPEED_THREE; printf("%d", currentSpeed); A. 8 B. 7 C. 2 D. 9
Câu 19: Cho một mảng 2 chiều khai báo như sau. Giá trị 1 phần tử của mảng tại vị trí (3, 4) là bao nhiêu:
int table[5][5] = { { 1,8 }, { 2,4,6 }, { 5} }; A. 8 B. 5 C. 4 D. 0
Câu 20: Cho biết kết quả trên màn hình khi thực hiện đoạn code sau:
int func(int& x) { x += 6; return x; }
int main() { int x = 4; int y = func(x);
cout << x << ", " << y << endl; return 0; } A. 10, 10 B. 10, 4 C. 4, 10 D. 4, 4
Câu 21: Cho biết kết quả đoạn chương trình sau:
int main() { int p = 10; int& q = p;
q = 20; cout << "p=" << p << endl;
p = 30; cout << "q=" << q << endl; return 0; }
A. p=10 q=30 B. p=20 q=20 C. p=30 q=30 D. p=20 q=30
Câu 22: Để comment trong C++ ta dùng cách nào
A. $comment B. %comment C. #comment D. //comment
Câu 23: Cho biết kết quả trên màn hình khi thực hiện đoạn code sau: class Rect { int w, h;
public: Rect(int w, int h) : w(w), h(h) {}
int Bound() const { return 2 * (w + h); }
virtual int Area() const { return w * h; } }; class Circle : public Rect {
public: Circle(int d) : Rect(d, d) {}
int Bound() const { return Rect::Bound() * 3 / 4; }
int Area() const override { return Rect::Area() * 3 / 4; } };
int main() { Rect* p = new Circle(10);
cout << p->Bound() << ' ' << p->Area() << endl; } A. 40 100 B. 30 75 C. 30 100 D. 40 75
Câu 24: Cho biết kết quả trên màn hình khi thực hiện đoạn code sau:
typedef struct Student { char Name[50]; double CPA; } Student;
int main() { cout << sizeof(double) << sizeof(Student) << endl; } A. 454 B. 450 C. 858 D. 864
Câu 25: Cho biết kết quả trên màn hình khi thực hiện đoạn code sau: class X {
public: X() { cout << "1"; } 3
~X() { cout << "0"; } };
int main() { X a, b; { X c, d; } X e, f;}
A. 111111000000 B. 111000111000 C. 000000111111 D. 111100110000
Câu 26: Cho biết kết quả trên màn hình khi thực hiện đoạn code sau: int main() { int a = 10, b = 20;
a = a ^ b; b = a & b; a = a | b ;
cout << a << " " << b; return 0; } A. 10 20 B. 30 20 C. 10 10 D. 20 30
Câu 27: Cho biết kết quả trên màn hình khi thực hiện đoạn code sau: int a = 128, n = 4;
for (int i = 0; i < n; i++, a /= 2) { }
cout << a << endl; A. 63 B. 4 C. 8 D. 16
Câu 28: Cho biết kết quả trên màn hình khi thực hiện đoạn code sau:
char s[] = "DHBK Hanoi"; char* p = s;
for (int i = 0; s[i] != '\0'; i++) { if (s[i] == ' ') { s[i] = '\0'; p = s; break; }}
cout << p << endl;
A. Hanoi B. DHBK HANOI C. DHBK hanoi D. DHBK
Câu 29: Cho biết kết quả trên màn hình khi thực hiện đoạn code sau: class A {public:
void func() { cout << "a"; }}; class B : public A {public:
void func() { A::func(); cout << "b"; }};
void main() { A* p = new B(); p->func();} A. ab B. a C. b D. ba
Câu 30: Cho biết kết quả trên màn hình khi thực hiện đoạn code sau: class A { int a; public: A(int _a): a(_a) {}
void print() { cout << a << "\t"; } }; class B : public A { int b; public:
B(int _a, int _b) : A(_a), b(_b * 2) {}
void print() { A::print(); cout << b; } };
int main() { B b(2, 3); b.print(); } A. 5 8 B. 4 6 C. 2 6 D. 2 5
Câu 31: Cho biết kết quả trên màn hình khi thực hiện đoạn code sau:
char s[] = "Lap Trinh"; int i = 0;
while (s[i]) { if (s[i] >= 'A' && s[i] <= 'Z') s[i] += 'a' - 'A'; i++; } cout << s; 4
A. LAP TRINH B. lap trinh C. Lap Trinh D. Lap trinh
Câu 32: Cho biết kết quả trên màn hình khi thực hiện đoạn code sau:
int k = 64; printf("%d\n", k >> 3); A. 16 B. 8 C. 32 D. 4
Câu 33: Cho biết kết quả trên màn hình khi thực hiện đoạn code sau: int main() { int x = 1, y = 2, z = 3;
cout << (x++ + y * 2 + --z); return 0;} A. 6 B. 7 C. 8 D. 9
Câu 34: Cho biết kết quả đoạn chương trình sau: int main() { int T = 14; switch (T * T % 2) { case 0: T = 10; case 1: T = 100; break; case 2: T = 1000; break; } cout << T;} A. 14 B. 10 C. 100 D. 1000
Câu 35: Cho biết kết quả trên màn hình khi thực hiện đoạn code sau: int a = 5, b = 10;
int* p = (a > b ? &a : &b);
cout << *p + 1 << endl; A. 5 B. 6 C. 11 D. 10
Câu 36: Cho biết kết quả trên màn hình khi thực hiện đoạn code sau: int a, num = 20;
a = (num > 10 ? (num <= 39 ? 24 : 14) : 5);
switch (a) { case 14: printf("First"); break;
case 5: printf("Second"); break;
case 24: printf("Third"); break; default: printf("Hello"); } A. Second B. First C. Third D. Hello
Câu 37: Đoạn mã nào dùng để tính tổng các số nguyên dương chẵn nhỏ hơn 100?
A. S=0; for(int i=0;i<=l00;i+=2) S+=i; B. S=0; for(int i=l;i<=l00;i+=2) S+=i; C. S=0; for(int
i=l; iD. S=0; for(int i=0; iCâu 38: Cho biết kết quả đoạn chương trình sau:
void updateValue(int *ptr) { *ptr = 20; }
int main() { int var = 10; updateValue(&var); cout << var; return 0; } A. 0 B. 20 C. 10 D. nan
Câu 39: Cho biết kết quả trên màn hình khi thực hiện đoạn code sau: int a = 5, b = 10; a += b; b = a - b; a -= b;
cout << a << ' ' << b << endl; A. 5 10 B. 10 10 C. 5 5 D. 10 5 5
Câu 40: Cho biết kết quả trên màn hình khi thực hiện đoạn code sau: int main() {
int arr[] = {10, 20, 30, 40, 50}; int *ptr = arr + 3;
cout << *ptr-- << " ";
cout << *ptr << " "; cout << arr[2]; return 0;}
A. 40 30 30 B. 40 30 20 C. 30 20 30 D. 30 30 40 (Hết) 6