Đề kiểm tra Cấu trúc điều khiển trong C++
Exam info
- Subject
- Lập trình C++ - Cấu trúc điều khiển
- Exam type
- University
- Questions
- 20
- Duration
- 45 min
- Answers
- ✓ With explanations
Questions (20)
- Q 1.
Cho đoạn mã sau: int a = 5; if (a > 3) cout << "A"; cout << "B";. Kết quả in ra màn hình là gì?
- A.
A
- B.
B
- C.
AB
- D.
Không in gì
- A.
- Q 2.
Khi nào câu lệnh if mà không có phần else được sử dụng hợp lý nhất?
- A.
Khi cần thực hiện một hành động trong một trường hợp và hành động khác trong trường hợp ngược lại
- B.
Khi chỉ cần kiểm tra điều kiện và thực hiện hành động khi đúng, bỏ qua khi sai
- C.
Khi cần kiểm tra nhiều điều kiện liên tiếp
- D.
Khi cần lặp lại nhiều lần
- A.
- Q 3.
Cho đoạn mã: if (a != 0) if (b > 0) cout << "X"; else cout << "Y";. Câu lệnh else sẽ tương ứng với if nào?
- A.
if (a != 0)
- B.
if (b > 0)
- C.
Cả hai if cùng lúc
- D.
Không if nào
- A.
- Q 4.
Trong cấu trúc switch...case, các giá trị trong mỗi case phải thỏa mãn điều kiện nào?
- A.
Phải là số thực
- B.
Phải là hằng số và không được trùng nhau
- C.
Có thể trùng nhau tùy ý
- D.
Có thể là biến bất kỳ
- A.
- Q 5.
Cho đoạn mã: int a = 2; switch(a) { case 1: cout << "Mot"; case 2: cout << "Hai"; case 3: cout << "Ba"; default: cout << "Mac dinh"; }. Kết quả in ra là gì?
- A.
Hai
- B.
HaiBa
- C.
HaiBaMac dinh
- D.
Lỗi biên dịch
- A.
- Q 6.
Vai trò của khối default trong cấu trúc switch là gì?
- A.
Được thực thi đầu tiên khi vào switch
- B.
Được thực thi khi biểu thức switch không khớp với bất kỳ case nào
- C.
Bắt buộc phải có trong mọi switch
- D.
Được thực thi cuối cùng sau mỗi case
- A.
- Q 7.
Trong cú pháp vòng lặp for: for(<Khởi đầu>; <Đ/K lặp>; <Bước nhảy>), phát biểu nào sau đây đúng?
- A.
Cả 3 thành phần đều bắt buộc phải có
- B.
Ba thành phần phân tách nhau bởi dấu phẩy
- C.
Ba thành phần phân tách nhau bởi dấu chấm phẩy và đặt trong dấu ngoặc đơn
- D.
Phải có dấu chấm phẩy ngay sau dấu ngoặc đơn của for
- A.
- Q 8.
Cho vòng lặp: for(int i = 1; i <= 5; i++) cout << i; Kết quả in ra màn hình là gì?
- A.
12345
- B.
123456
- C.
01234
- D.
1234
- A.
- Q 9.
Trong vòng lặp for, khi gặp lệnh continue, chương trình sẽ thực hiện điều gì?
- A.
Thoát hoàn toàn khỏi vòng lặp
- B.
Bỏ qua phần lệnh còn lại trong thân vòng lặp và chuyển tới bước nhảy, sau đó kiểm tra điều kiện lặp
- C.
Dừng chương trình ngay lập tức
- A.
- Q 10.
Khi viết for(i = 0; i < 10; i++); { cout << "Hello"; } thì điều gì xảy ra?
- A.
In ra "Hello" 10 lần
- B.
Lỗi biên dịch
- C.
In ra "Hello" 1 lần
- D.
Không in gì
- A.
- Q 11.
Nguyên nhân nào sau đây gây ra vòng lặp vô hạn trong đoạn mã: int i = 1; while(i <= 10) { cout << i; i--; }?
- A.
Vì i luôn giảm nên không bao giờ vượt quá 10
- B.
Vì i luôn giảm (i--) nên giá trị của i không bao giờ tăng để vượt qua điều kiện i <= 10
- C.
Vì thiếu lệnh break
- D.
Vì cout << i không thay đổi giá trị i
- A.
- Q 12.
Đặc điểm quan trọng nhất phân biệt vòng lặp do...while với vòng lặp while là gì?
- A.
do...while không có điều kiện lặp
- B.
do...while kiểm tra điều kiện ở đầu vòng lặp
- C.
do...while thực hiện khối lệnh ít nhất 1 lần trước khi kiểm tra điều kiện
- D.
do...while không thể lồng nhau
- A.
- Q 13.
Cho đoạn mã: int i = 0; do { cout << i; i++; } while(i < 0);. Kết quả in ra là gì?
- A.
Không in gì
- B.
0
- C.
01
- D.
Lỗi biên dịch
- A.
- Q 14.
Sự khác biệt giữa lệnh break và continue trong vòng lặp là gì?
- A.
break kết thúc vòng lặp hiện tại, continue bỏ qua phần lệnh còn lại và bắt đầu lần lặp mới
- B.
break và continue có tác dụng giống nhau
- C.
break chỉ dùng trong switch, continue chỉ dùng trong vòng lặp
- D.
continue kết thúc vòng lặp, break bỏ qua lần lặp
- A.
- Q 15.
Cho đoạn mã: for(int i = 1; i <= 5; i++) { if(i == 3) break; cout << i; }. Kết quả in ra là gì?
- A.
12
- B.
12345
- C.
123
- D.
12 3 4 5
- A.
- Q 16.
Trong cấu trúc if...else if...else, khi nào khối lệnh cuối cùng (sau else) được thực thi?
- A.
Khi điều kiện đầu tiên đúng
- B.
Khi tất cả các điều kiện trước đó đều sai
- C.
Luôn luôn được thực thi
- D.
Khi điều kiện cuối cùng đúng
- A.
- Q 17.
Cho đoạn mã sử dụng switch: switch (a) { case 1: case 2: case 3: cout << "Q1"; break; case 4: case 5: case 6: cout << "Q2"; break; }. Nếu a = 5 thì kết quả là gì?
- A.
Q1
- B.
Q2
- C.
Q1Q2
- D.
Không in gì
- A.
- Q 18.
Trong vòng lặp for, nếu bỏ trống phần <Đ/K lặp> (ví dụ: for(int i = 0; ; i++)), điều gì sẽ xảy ra?
- A.
Vòng lặp không thực hiện lần nào
- B.
Lỗi biên dịch
- C.
Vòng lặp chạy vô hạn nếu không có break bên trong
- D.
Vòng lặp chỉ chạy 1 lần
- A.
- Q 19.
Cho đoạn mã: int n; cin >> n; while(n <= 0) { cout << "Nhap lai: "; cin >> n; }. Đoạn mã này có chức năng gì?
- A.
Tính tổng các số nguyên
- B.
Yêu cầu nhập lại n cho đến khi n là số dương
- C.
In ra các số từ 1 đến n
- D.
Vòng lặp vô hạn
- A.
- Q 20.
Phát biểu nào sau đây về câu lệnh switch là đúng?
- A.
switch có thể dùng cho cả số thực
- B.
switch không thể lồng vào nhau
- C.
Các giá trị case có thể là biến và được trùng lặp
- D.
switch là câu lệnh đơn và có thể lồng nhau, giá trị trong case là hằng và không được trùng nhau
- A.
Answers and explanations are in mode.