Trắc nghiệm Bài 8: Lặp với số lần chưa biết trước có đáp án
12 câu hỏi
Cú pháp lệnh lặp với số lần chưa biết trước:
while (<Điều kiện>) { <dãy lệnh>;}
While < điều kiện > to < câu lệnh 1 > do < câu lệnh 2 >;
While < điều kiện > do ;< câu lệnh >;
While < điều kiện >< câu lệnh >;
Đáp án đúng là: A
Cú pháp lệnh lặp với số lần chưa biết trước:
while (<điều kiện>) { <câu lệnh>};
Trong đó:
+ Điều kiện: thường là 1 phép so sánh
+ Câu lệnh: có thể là câu lệnh đơn giản hay câu lệnh ghép.
Việc đầu tiên mà câu lệnh while cần thực hiện là gì?
Thực hiện < câu lệnh >
Kiểm tra giá trị của < điều kiện >
Thực hiện câu lệnh sau từ khóa Then
Kiểm tra < câu lệnh >
Đáp án đúng là: B
Việc đầu tiên mà câu lệnh while cần thực hiện là kiểm tra điều kiện. Nếu điều kiện SAI, câu lệnh sẽ bị bỏ qua và việc thực hiện lệnh lặp kết thúc. Nếu điều kiện đúng, thực hiện câu lệnh và quay lại bước đầu.
Cú pháp lệnh lặp với số lần chưa biết trước:
do { <dãy lệnh>;} while (<Điều kiện>)
do { <dãy lệnh>;} while (<Điều kiện>);
do <dãy lệnh>; while (<Điều kiện>);
while (<Điều kiện>) do { <dãy lệnh>;}
Đáp án đúng là: B
Cú pháp lệnh lặp với số lần chưa biết trước:
do { <dãy lệnh>;} while (<Điều kiện>);
trong đó:
+ Điều kiện: thường là 1 phép so sánh
+ Dãy lệnh: có thể là câu lệnh đơn giản hay câu lệnh ghép.
Cho chương trình C++ sau:
#include<bits/stdc++.h>
using namespace std;
int main(){
int a=36, b=90;
while (a*b!=0)
{if (a>b) a=a%b;
else b=b%a; }
cout<<a+b;
}
Kết quả khi chạy chương trình trên là:
18
0
36
126
Đáp án đúng là: A
Giá trị của a, b sau mỗi lần duyệt là:
a | 36 | 36 | 0 |
b | 90 | 18 | 18 |
a+b | 18 |
Cho chương trình C++ sau:
#include<bits/stdc++.h>
using namespace std;
int main(){
int a=43, b=34;
while (a!=b)
{if (a>b) a=a-b;
else b=b-a; }
cout<<a;
}
Kết quả khi chạy chương trình trên là:
9
34
43
1
Đáp án đúng là: D
Giá trị của a, b sau mỗi lần duyệt là:
a | 9 | 9 | 9 | 9 | 2 | 2 | 2 | 2 | 1 |
b | 34 | 25 | 16 | 7 | 7 | 5 | 3 | 1 | 1 |
Cho chương trình C++ sau:
#include<bits/stdc++.h>
using namespace std;
int main(){
int n=792, k=0;
while (n!=0)
{k=k*10+n%10;;
n=n/10; }
cout<<k;
}
Kết quả khi chạy chương trình trên là:
792
92
297
79
Đáp án đúng là: C
Giá trị của k, n sau mỗi lần duyệt là:
k | 0 | 2 | 29 | 297 |
n | 792 | 79 | 7 | 0 |
Vòng lặp while kết thúc khi nào?
Khi đủ số vòng lặp
Khi tìm được output
Khi điều kiện cho trước được thỏa mãn
Cả A, B và C đều đúng
Đáp án đúng là: C
Vòng lặp while là vòng lặp chưa biết trước số lần lặp vì vậy việc lặp chỉ kết thúc khi một điều kiện cho trước được thỏa mãn.
Cho biết câu lệnh lặp trong đoạn chương trình sau thực hiện mấy lần?
i=5;
while (i>=1) i--;
10
2
1
9
Đáp án đúng là: A
Vì i=10; mỗi lần kiểm tra i>=1 thì giảm i đi 1 đơn vị qua câu lệnh i--; vậy câu lệnh được thực hiện 10 lần.
Hoạt động nào sau đây lặp với số lần chưa biết trước?
Ngày ăn 3 bữa cơm
Mỗi tuần đi học 6 ngày
Học cho tới khi thuộc bài
Một tháng cả nhà đi du lịch 1 lần
Đáp án đúng là: C
Hoạt động học cho tới khi thuộc bài là lặp với số lần lặp chưa biết trước vì không biết đến khi nào sẽ thuộc bài, chỉ cần biết thuộc bài sẽ dừng.
Câu lệnh sau, từ khóa do trong lệnh do… while được thực hiện ít nhất mấy lần?
0
1
2
Phụ thuộc vào điều kiện
Đáp án đúng là: B
Cú pháp lệnh lặp với số lần chưa biết trước do…while:
do { ;} while (<Điều kiện>); như vậy câu lệnh sẽ được thực hiện ít nhất 1 lần.Điều>
Cho chương trình C++ sau:
#include<bits/stdc++.h>
using namespace std;
int main(){
int n;
do
{ cin>>n;}
while (n<=0);
}
Kết quả khi chạy chương trình và nhập n=-12 là:
-12
Con trỏ nhấp nháy yêu cầu nhập lại giá trị của n
n=-12
Chương trình báo lỗi
Đáp án đúng là: B
Chương trình trên sử dụng vòng lặp do…while để nhập dữ liệu cho n, với n>0 thì việc nhập được thỏa mãn, còn nếu n<=0 thì chương trình yêu cầu nhập lại giá trị của n. Như vậy khi nhập n=-12 thì con trỏ sẽ nhấp nháy yêu cầu nhập lại giá trị của n, việc này sẽ lặp lại cho đến khi nào ta nhập giá trị cho n là một số nguyên dương.
Cho chương trình C++ sau:
#include<bits/stdc++.h>
using namespace std;
int main(){
int n;
do
{ cin>>n;}
while ((n<-300) || (n>300));
}
Chương trình trên thực hiện việc nhập dữ liệu cho n với điều kiện của n là gì?
|n|<=300
|n|>300
|n|<300
|n|>=300
Đáp án đúng là: A
Chương trình trên có nghĩa là hãy tiếp tục nhập giá trị của n khi điều kiện (n<-330||n>300) vẫn còn thỏa mãn, tức là khi điều kiện đó sai thì việc nhập mới kết thúc, như vậy muốn điều kiện sai thì ta phải nhập n có giá trị từ -300 đến 300 tức là |n|<=300
