Trắc nghiệm Tin học 8 Bài 7: Câu lệnh lặp | Tin học 8 C++

Với 12 câu hỏi trắc nghiệm Tin học 8 Bài 7: Câu lệnh lặp ngôn ngữ C++ sẽ giúp Giáo viên có thêm tài liệu Giảng dạy, giúp học sinh ôn tập trắc nghiệm Tin 8.

Câu hỏi trắc nghiệm Tin học 8 Bài 7: Câu lệnh lặp

Quảng cáo

Câu 1. Chọn cú pháp câu lệnh lặp là:

A. for < biến đếm > : = < giá trị đầu > to < giá trị cuối > do < câu lệnh >;

B. for (<biểu thức khởi tạo>; <biểu thức giới hạn>; <biểu thức tăng giảm>) <Câu lệnh>;

C. for < biến đếm > = < giá trị đầu > to < giá trị cuối >; do < câu lệnh >;

D. for (<biểu thức khởi tạo>, <biểu thức giới hạn>, <biểu thức tăng giảm>) <Câu lệnh>;

Hướng dẫn giải

Đáp án đúng là: B

Để mô tả cấu trúc lặp với số lần biết trước, C++ dùng câu lệnh for như sau:

for (<biểu thức khởi tạo>; <biểu thức giới hạn>; <biểu thức tăng giảm>) <Câu lệnh>;

Câu 2. Kiểu dữ liệu của biến đếm trong lệnh lặp For – do:

A. Cùng kiểu với giá trị đầu và giá trị cuối

B. Chỉ cần khác kiểu với giá trị đầu

C. Cùng kiểu với các biến trong câu lệnh

D. Không cần phải xác định kiểu dữ liệu

Hướng dẫn giải

Đáp án đúng là: A

Biến đếm là biến kiểu số nguyên hoặc kí tự.

Giá trị đầu, giá trị cuối là các biểu thức cùng kiểu với biến đếm, giá trị đầu phải nhỏ hơn giá trị cuối.

Giá trị biến đếm được điều chỉnh tự động, vì vậy câu lệnh không được thay đổi giá trị biến đếm.

Câu 3. Câu lệnh for tiến đến kết thúc:

A. Khi biến đếm nhỏ hơn giá trị cuối

B. Khi biến đếm lớn hơn giá trị cuối

C. Khi biến đếm vượt qua biểu thức giới hạn

D. Khi biến đếm lớn hơn giá trị đầu

Hướng dẫn giải

Đáp án đúng là: C

Câu lệnh for kết thúc khi biến đếm lớn hơn giá trị trong biểu thức giới hạn. Vì biến đếm chỉ có thể chạy từ giá trị khởi tạo đến giá trị của biểu thức giới hạn.

Quảng cáo

Câu 4. Cho các câu lệnh sau hãy chỉ ra câu lệnh dạng tiến trong C++ đúng:

A. for (int i=1; i<=10;i++) x:=x+1;

B. for (int i=1; i<=10;i++) x=x+1;

C. for (int i=10; i>=1;i++) x=x+1;

D. for (int i=10; i<=1;i--) x=x+1;

Hướng dẫn giải

Đáp án đúng là: B

Cú pháp câu lệnh lặp dạng tiến:

for (<biểu thức khởi tạo>; <biểu thức giới hạn>; <biểu thức tăng >) <Câu lệnh>;

Trong đó: biến đếm phải là kiểu nguyên. Giá trị khởi tạo nhỏ hơn hoặc bằng giá trị biểu thức giới hạn.

Câu 5. Đoạn chương trình sau giải bài toán nào?

 int T=0;

   for (int i=1; i<=100; i++)

       If ((i% 3 == 0) and (i% 5= = 0))             T := T + i;

A. Tổng các số chia hết cho 3 hoặc 5 trong phạm vi từ 1 đến 100

B. Tổng các số chia hết cho 3 và 5 trong phạm vi từ 1 đến 100

C. Tổng các số chia hết cho 3 trong phạm vi từ 1 đến 100

D. Tổng các số chia hết cho 5 trong phạm vi từ 1 đến 100

Hướng dẫn giải

Đáp án đúng là: B

 Đoạn chương trình:

 int T=0;

   for (int i=1; i<=100; i++) { i chạy trong phạm vi từ 1 đến 100}

       If ((i% 3 == 0) and (i% 5= = 0))   { kiểm tra i chia hết cho 3 và cho 5 không}

T := T + i; {Cộng dồn vào tổng}

Câu 6. Cho chương trình C++ sau:

#include<bits/stdc++.h>

 using namespace std;

 int main(){

int i=1, s=0;

for (; i<=10; i++); s=s+i;

cout<< “s=”<<s; }

Kết quả khi chạy chương trình trên là:

A. 0

B. 10

C. 11

D. Lỗi cú pháp

Hướng dẫn giải

Đáp án đúng là: C

Vì sau for sử dụng dấu ; được gọi là lệnh rỗng, vì vậy sau khi i=11 thoát khỏi vòng lặp thì câu lệnh s=s+i mới được thực hiện ® s=0+11=11

Quảng cáo

Câu 7. Cho chương trình C++ sau:

#include<bits/stdc++.h>

 using namespace std;

 int main(){

                   int i, s=0;

                   for (i=1; i<10; i+2) s=s+i;

                   cout<< "s="<<s; }

Kết quả khi chạy chương trình trên là:

A. 105

B. 25

C. 9

D. Không có kết quả

Hướng dẫn giải

Đáp án đúng là: D

Biểu thức tăng giảm trong cấu trúc for chỉ sử dụng phép tăng ++ hoặc phép giảm --. Như vậy trong bài này ta sử dụng i+2 nên bài toán không giải quyết được.

Câu 8. Cho chương trình C++ sau:

#include<bits/stdc++.h>

 using namespace std;

 int main(){

                   int i; float s=0;

                   for (i=1; i<=5; i++) s=s+1/i;

                   cout<< "s="<<s; }

Kết quả khi chạy chương trình trên là:

A. 2.28333

B. 1

C. 0

D. Lỗi cú pháp

Hướng dẫn giải

Đáp án đúng là: B

Phép tính 1/i với i và 1 đều là số nguyên nên kết quả của phép tính là phép chia lấy phần nguyên do đó: s=s+1/i=0+1/1+1/2+1/3+1/4+1/5=0+1+0+0+0+0=1

Câu 9. Câu lệnh in ra màn hình 10 chữ “Mau sac” trong C++ là:

A. for (int i=1; i<=10;i++) cout<< “Mau sac   ”;

B. for (int i=1, i<=10,i++) cout<< “Mau sac   ”;

C. for (int i=10; i>=1;i++) cout<< “Mau sac   ”;

D. for (int i=10; i>=1;i--) cout<< “Mau sac   ”;

Hướng dẫn giải

Đáp án đúng là: D

Cú pháp câu lệnh lặp dạng lùi:

for (<biểu thức khởi tạo>; <biểu thức giới hạn>; <biểu thức giảm >) <Câu lệnh>;

Trong đó: biến đếm phải là kiểu nguyên. Giá trị khởi tạo lớn hơn hoặc bằng giá trị biểu thức giới hạn.

Quảng cáo

Câu 10. Cho chương trình C++ sau:

#include<bits/stdc++.h>

 using namespace std;

 int main(){

                   int i; float s=0;

                   for (i=1; i<=5; i++)

                         {s=s+1/i;

                             cout<<s<< “\t”; }

              }

Kết quả khi chạy chương trình trên là:

A. 2.28333

B. 1

C. 1   1 1 1 1

D. Lỗi cú pháp

Hướng dẫn giải

Đáp án đúng là: C

Phép tính 1/i với i và 1 đều là số nguyên nên kết quả của phép tính là phép chia lấy phần nguyên do đó: s=s+1/i với i=1 s=0+1/1=1; rồi thực hiện lệnh                                 cout<<s<< “\t”; tức là in ra giá trị s sau đó cách 1 khoảng tab, cứ thực hiện lặp lại công việc này cho đến khi i=6 thì dừng. Như vậy kết quả trên màn hình là:

 1   1      1 1     1.

Câu 11. Cho chương trình C++ sau:

#include<bits/stdc++.h>

 using namespace std;

 int main(){

                   int i; float s=0;

                   for (i=1; i<=5; i++) s=s+1.0/i;

                   cout<< "s="<<s; }

Kết quả khi chạy chương trình trên là:

A. 2.28333

B. 1

C. 0

D. Lỗi cú pháp

Hướng dẫn giải

Đáp án đúng là: A

Phép tính 1.0/i có 1.0 là số thực nên kết quả của phép tính là phép chia cho kết quả thực: s=s+1.0/i=0+1.0/1+1.0/2+.01/3+1.0/4+1.0/5=0+1+0.5+0.333333+0.25+0.2=2.28333

Câu 12. Cho chương trình C++ sau:

#include<bits/stdc++.h>

 using namespace std;

 int main(){

                   long long p=1; int n;

cin>>n;

                   for (i=1; i<n; i++) p=p*i;

                   cout<< p; }

Kết quả khi chạy chương trình trên khi nhập n=5 là:

A. chương trình bị lỗi

B. 1

C. 120

D. 24

Hướng dẫn giải

Đáp án đúng là: A

Vì biến chạy i trong vòng lặp for chưa được khai báo trước khi sử dụng nên khi dịch, chương trình sẽ báo lỗi.

 

Xem thêm câu hỏi trắc nghiệm Tin học 8 C++ có đáp án, hay khác:

Xem thêm các loạt bài Để học tốt Tin học 8 hay khác:

Săn shopee siêu SALE :

ĐỀ THI, GIÁO ÁN, GÓI THI ONLINE DÀNH CHO GIÁO VIÊN VÀ PHỤ HUYNH LỚP 8

Bộ giáo án, bài giảng powerpoint, đề thi dành cho giáo viên và gia sư dành cho phụ huynh tại https://tailieugiaovien.com.vn/ . Hỗ trợ zalo VietJack Official

Tổng đài hỗ trợ đăng ký : 084 283 45 85

Đã có app VietJack trên điện thoại, giải bài tập SGK, SBT Soạn văn, Văn mẫu, Thi online, Bài giảng....miễn phí. Tải ngay ứng dụng trên Android và iOS.

Theo dõi chúng tôi miễn phí trên mạng xã hội facebook và youtube:

Loạt bài Giải bài tập Tin học 8 | Soạn Tin học lớp 8 | Trả lời câu hỏi Tin học 8 của chúng tôi được biên soạn bám sát nội dung sgk Tin học lớp 8.

Nếu thấy hay, hãy động viên và chia sẻ nhé! Các bình luận không phù hợp với nội quy bình luận trang web sẽ bị cấm bình luận vĩnh viễn.


Giải bài tập lớp 8 sách mới các môn học
Tài liệu giáo viên