Đề Thi C++ HUBT Đại học Kinh doanh và Công nghệ Hà Nội

Khám phá đề thi trắc nghiệm online miễn phí có đáp án chính xác cho môn C++ tại HUBT - Đại học Kinh doanh và Công nghệ Hà Nội. Bộ đề được biên soạn tỉ mỉ nhằm củng cố kiến thức lập trình hướng đối tượng, rèn luyện kỹ năng viết mã và giải quyết vấn đề. Đây là tài liệu ôn tập chất lượng, hỗ trợ sinh viên tự tin chuẩn bị cho các kỳ thi và nâng cao năng lực lập trình.

Từ khoá: đề thi online miễn phí đáp án C++ lập trình hướng đối tượng HUBT Đại học Kinh doanh và Công nghệ Hà Nội ôn tập trắc nghiệm kỹ năng lập trình code C++

Số câu hỏi: 170 câuSố mã đề: 5 đềThời gian: 1 giờ

70,370 lượt xem 5,408 lượt làm bài

Xem trước nội dung
Câu 1: 0.25 điểm
Khai báo nào sau đây là chính xác?
A.  
int number[2][3];
B.  
int[][] number;
C.  
int number[][] = { {1, 2}, {3, 4} };
D.  
Tất cả các đáp án đều đúng
Câu 2: 0.25 điểm
Kết quả đoạn lệnh sau là bao nhiêu?
for (int i = 1; i < 5; i++) {
if (i == 3) break;
cout << i << “,”;
}
A.  
1,2,
B.  
1,2,4,5,
C.  
1,2,3,4,5,
D.  
Lỗi biên dịch
Câu 3: 0.25 điểm
Biến cục bộ là dạng biến gì? Chọn câu trả lời đúng nhất.
A.  
Là biến khai báo trong thân một hàm
B.  
Là biến khai báo trong thân một khối lệnh
C.  
Là biến khai báo trong thân hàm main
D.  
Là biến khai báo trong một hàm hoặc một khối lệnh
Câu 4: 0.25 điểm
Kết quả đoạn lệnh sau là bao nhiêu?
void (int x,int& prev,int& next) { prev = --x; next = ++x; }
void output(int a) { cout << a; }
int main() {
int x = 100, y, z;
(x,y,z);
output(y);
return 0;
}
A.  
99
B.  
100
C.  
101
D.  
Lỗi biên dịch
Câu 5: 0.25 điểm
Kết quả đoạn lệnh sau là bao nhiêu?
void prevnext(int x,int& prev,int& next) { prev = --x; next = x + 1; }
void output(int a) { cout << a; }
int main() {
int x = 100, y, z;
prevnext(x,y,z);
output(x);
return 0;
}
A.  
99
B.  
100
C.  
101
D.  
Lỗi biên dịch
Câu 6: 0.25 điểm
Đoạn lệnh sau có kết quả bao nhiêu?
int number[] = { 1, 2, 3, 4, 5 };
int s = 0;
for (int i = 0; i < 5; i++) {s += number[i]; s = 0}
cout << s;
A.  
15
B.  
10
C.  
0
D.  
Lỗi biên dịch
Câu 7: 0.25 điểm
Đoạn lệnh sau có kết quả bao nhiêu?
int number[3] = { 1, 2, 3, 4, 5 };
int s = 0;
for (int i = 0; i < 5; i++) s += number[i];
cout << s;
A.  
15
B.  
10
C.  
0
D.  
Lỗi biên dịch
Câu 8: 0.25 điểm
Toán tử phản tham chiếu * có tác dụng gì?
A.  
Được sử dụng để lấy địa chỉ của một biến
B.  
Được sử dụng để lấy nội dung của con trỏ đang trỏ tới biến khác
C.  
Để kết nối logic giữa 2 phép toán khác
D.  
Không có đáp án đúng
Câu 9: 0.25 điểm
Kết quả đoạn lệnh sau là bao nhiêu?
int x = 2;
switch (x) {
case 1: cout << “x is 1”; break;
case 2: cout << “x is 2”; break;
default: cout << “value of x unknown”;
}
A.  
x is 1
B.  
x is 2
C.  
x is 1x is 2
D.  
value of x unknown
Câu 10: 0.25 điểm
Con trỏ là gì?
A.  
Là biến dùng để lưu địa chỉ của biến khác
B.  
Là biến lưu nội dung của biến khác
C.  
Là biến điều khiển chuột chạy trên màn hình window
D.  
Không có đáp án đúng
Câu 11: 0.25 điểm
Hàm overloaded là những hàm như thế nào?
A.  
Các hàm trùng tên nhưng khác về cách khai báo tham số
B.  
Các hàm trùng tham số những khác nhau về tên
C.  
Các hàm có cùng kiểu dữ liệu trả về
D.  
Không có đáp án đúng
Câu 12: 0.25 điểm
Kết quả đoạn lệnh sau là bao nhiêu?
int divide (int a,int b) { return (a / b); }
void output(int a) { cout << a; }
int main() {
int x = 100, y, z;
output(divide(12));
return 0;
}
A.  
Lỗi biên dịch
B.  
5
C.  
6
D.  
0
Câu 13: 0.25 điểm
Đoạn lệnh sau có kết quả bao nhiêu?
int number[] = { 1, 2, 3, 4, 5 };
int *p1, *p2;
p1 = number; p2 = &number[2];
*p1++ = *p2++;
cout << *p2;
A.  
1
B.  
2
C.  
3
D.  
4
Câu 14: 0.25 điểm
Kết quả đoạn lệnh sau là bao nhiêu? 
int x = 3;
do {
cout << x << “,”;
--x;
} while (x > 0);
A.  
3,2,1,
B.  
1,2,3,
C.  
Lặp vĩnh viễn
D.  
Lỗi biên dịch
Câu 15: 0.25 điểm
Kết quả đoạn lệnh sau là bao nhiêu?
int x = 1;
if (x > 0) cout << “x is positive”;
else if (x < 0) cout << “x is negative”;
else cout << “x is 0”;
A.  
x is negative
B.  
x is positive
C.  
x is 0
D.  
Lỗi biên dịch
Câu 16: 0.25 điểm
Kết quả đoạn lệnh sau là bao nhiêu?
long facto (long a) {
if (a > 1) return (facto(a – 1));
else return (1);
}
int main() {
cout << facto(5);
return 0;
}
A.  
1
B.  
10
C.  
120
D.  
28
Câu 17: 0.25 điểm
Đoạn lệnh sau có kết quả bao nhiêu?
int number[] = { 1, 2, 3, 4, 5 };
int s = 0;
for (int i = 0; i < 5; i++) s += i;
cout << s;
A.  
15
B.  
10
C.  
0
D.  
Lỗi biên dịch
Câu 18: 0.25 điểm
Khai báo nào sau đây là SAI?
A.  
int i = 75ul;
B.  
int i = 0013;
C.  
int i = 0x4b;
D.  
char c = “a”;
Câu 19: 0.25 điểm
Kết quả đoạn lệnh sau là bao nhiêu?
char billy[100][365][24][60][60];
int bill[0][0][0][0][0] = 0;
cout << billy[0][0][0][0][0];
A.  
0
B.  
1
C.  
In ra một giá trị bất kỳ
D.  
Lỗi runtime
Câu 20: 0.25 điểm

Kết quả đoạn lệnh sau là bao nhiêu?

int x = 3;

while (x > 0) {

cout << x << “,”;

}

A.  
1,2,3,
B.  
Không in gì hết
C.  
Lặp vĩnh viễn
D.  
Lỗi biên dịch
Câu 21: 0.25 điểm
Kết quả đoạn lệnh sau là bao nhiêu?
int s = 0;
for (int i = 0; i <= 10; i++) {
s += i;
}
cout << s;
A.  
0
B.  
45
C.  
55
D.  
Lỗi biên dịch
Câu 22: 0.25 điểm
Kết quả đoạn lệnh sau là bao nhiêu?
int s = 3;
for (int i = 0; i < 10; i++) {
s += i;
}
cout << s;
A.  
0
B.  
45
C.  
55
D.  
48
Câu 23: 0.25 điểm
Chú thích nào sau đây là chính xác?
A.  
\\Lập trình C++
B.  
//Lập trình C++
C.  
< !-Lập trình C++-->
D.  
\*Lập trình C++
Câu 24: 0.25 điểm
Đoạn lệnh sau có kết quả bao nhiêu?
int main() {
int a, b;
a = b = 5;
b++;
cout << a++ + --b;
return 0;
}
A.  
6
B.  
5
C.  
10
D.  
11
Câu 25: 0.25 điểm
Đoạn lệnh sau có kết quả bao nhiêu?
int prt(int arr[][2], int size) {
int s = 0;
for (int i = 0; i < size; i++)
for (int j = 0; j < size; j++)
s += arr[i][j];
}
int main() {
int num[2][2] = { {1, 2}, {3, 4} };
cout << prt(num,2);
return 0;
}
A.  
10
B.  
0
C.  
15
D.  
Lỗi biên dịch
Câu 26: 0.25 điểm
Đoạn lệnh sau có kết quả bao nhiêu?
int main() {
int a, b;
a = 2 + (b = 5);
cout << a % b;
return 0;
}
A.  
Lỗi biên dịch
B.  
5
C.  
2
D.  
7
Câu 27: 0.25 điểm
Kết quả đoạn lệnh sau là bao nhiêu?
int x = 3;
while (x > 0) {
cout << x << “,”;
x--;
}
A.  
3,2,1,
B.  
1,2,3,
C.  
Lặp vĩnh viễn
D.  
Không in gì hết
Câu 28: 0.25 điểm
Kết quả đoạn lệnh sau là bao nhiêu?
int addition (int a,int b) { return (a - b); }
int main() {
int z = addition(5,3);
cout << z;
return 0;
}
A.  
8
B.  
2
C.  
15
D.  
Lỗi biên dịch
Câu 29: 0.25 điểm
Lệnh nào sau đây là SAI?
A.  
cout << 120;
B.  
int x; cout << x;
C.  
int age = 33; cout << “My age is “ << age << “.\n”;
D.  
Không có lệnh sai
Câu 30: 0.25 điểm
Để chú thích trên nhiều dòng lệnh trong chương trình C++, ta dùng cặp dấu nào?
A.  
<<
B.  
>>
C.  
\\
D.  
/* và */
Câu 31: 0.25 điểm
Nguyên lý của cấu trúc while là:
A.  
Chương trình sẽ lặp đi lặp lại khối lệnh cho đến khi biểu thức điều kiện sai.
B.  
Chương trình sẽ lặp đi lặp lại khối lệnh cho đến khi biểu thức điều kiện đúng.
C.  
Chương trình sẽ lặp đi lặp lại khối lệnh cho đến khi biểu thức điều kiện bằng 0.
D.  
Không có đáp án đúng.
Câu 32: 0.25 điểm
Đoạn lệnh sau có kết quả bao nhiêu?
char a = ‘a’;
char b = &a;
char c = &b;
cout << *c;
A.  
a
B.  
Địa chỉ của a
C.  
Địa chỉ của b
D.  
Lỗi biên dịch
Câu 33: 0.25 điểm
Đoạn lệnh sau có kết quả bao nhiêu?
int main() {
int a, b;
a = b = 5;
cout << ++a;
return 0;
}
A.  
6
B.  
5
C.  
11
D.  
7
Câu 34: 0.25 điểm
Đoạn lệnh sau có kết quả bao nhiêu?
int main() {
int a, b, c;
a = 2, b = 7;
c = (a > b) ? b : a;
return 0;
}
A.  
2
B.  
7
C.  
Lỗi biên dịch
Câu 35: 0.25 điểm
Đoạn lệnh sau có kết quả bao nhiêu?
int main() {
int a, b;
a = 2 + b = 5;
cout << a;
return 0;
}
A.  
Lỗi biên dịch
B.  
5
C.  
Một giá trị bất kỳ
D.  
7
Câu 36: 0.25 điểm
Đoạn lệnh sau có kết quả bao nhiêu?
int first, second, *p;
p = &first;
*p = 20;
cout << first;
A.  
20
B.  
0
C.  
Giá trị bất kỳ
D.  
Lỗi biên dịch
Câu 37: 0.25 điểm
Con trỏ null là gì?
A.  
Là con trỏ không có kiểu, do đó nó có thể trỏ đến bất kỳ kiểu nào
B.  
Là không chứa địa chỉ nào
C.  
Là con trỏ trỏ địa con trỏ khác
D.  
Là con trỏ trỏ đến một hàm nào đó
Câu 38: 0.25 điểm
Con trỏ hàm là gì?
A.  
Là con trỏ không có kiểu, do đó nó có thể trỏ đến bất kỳ kiểu nào
B.  
Là không chứa địa chỉ nào
C.  
Là con trỏ chứa địa chỉ trỏ đến con trỏ khác
D.  
Là dạng con trỏ được sử dụng để trỏ đến một hàm nào đó
Câu 39: 0.25 điểm
Đoạn lệnh sau có kết quả bao nhiêu?
int first = 5, second = 15, *p1, *p2;
p1 = &first; p2 = &second;
*p1 = 10; *p2 = *p1;
p1 = p2;
*p1 = 20;
cout << first;
A.  
10
B.  
20
C.  
Giá trị bất kỳ
D.  
Lỗi biên dịch
Câu 40: 0.25 điểm
Cách khai báo dữ liệu cấu trúc trong C++ (chọn cách đầy đủ nhất):”
A.  
struct < Tên kiểu dữ liệu> { < Các dữ liệu thành phần> }
B.  
struct < Tên kiểu dữ liệu> { < Các dữ liệu thành phần>}[Danh sách tên biến]
C.  
struct < Tên kiểu dữ liệu> { < Các dữ liệu thành phần> };
D.  
struct < Tên kiểu dữ liệu> { < Các dữ liệu thành phần>}[Danh sách tên biến];