Trắc nghiệm Tin học 8 Bài 9: Làm việc với dãy số | Tin học 8 C++

Với 12 câu hỏi trắc nghiệm Tin học 8 Bài 9: Làm việc với dãy số 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 1. Số phần tử trong khai báo dưới đây là bao nhiêu?

#define nmax 100

int a[nmax+5];

A. 5

B. 100

C. 105

D. nmax+5

Hướng dẫn giải

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

 Số phần tử trong mảng a là nmax+5=100+5=105

Câu 2. Cú pháp khai báo dãy số nào sau đây là sai?

A. int n1;inta[n1];

B. int n2 = 10; inta[n2];

C. #define n3 10

        int a[n3];

D. int a[10];

Hướng dẫn giải

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

Khi khai báo biến mảng trong C++ phải xác định cụ thể số phần tử ngay lúc khai báo, không được sử dụng biến chưa có giátrị. Như vậy ở đáp án A, biến n1 chưa có giá trị nên khai báo này sai.

Câu 3. Để nhập dữ liệu từ bàn phím cho mảng a gồm 100 phần tử là số nguyên ta dùng lệnh nào sau đây?

A. for (int i=1; i<=100; i++) cout<

B. for (int i=0; i<=100; i++) cin>>a[i];

C. for (int i=1; i<=100; i++) cin>>a[i];

D. for (int i=0; i<=100; i++) cout>>a[i];

Hướng dẫn giải

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

Để nhập dữ liệu từ bàn phím cho mảng A có 100 phần tử là số nguyên ta dùng lệnh lặp với số lần biết trước là for, câu cin>>a[i] là nhập dữ liệu từ bàn phím cho từng phần tử.

Câu 4. Em hãy chọn phát biểu đúng khi nói về dữ liệu kiểu mảng:

A. Dữ liệu kiểu mảng là tập hợp các phần tử không có thứ tự và mọi phần tử có cùng một kiểu dữ liệu.

B. Dữ liệu kiểu mảng là tập hợp các phần tử có thứ tự và mỗi một phần tử trong mảng có thể có các kiểu dữ liệu khác nhau.

C. Dữ liệu kiểu mảng là tập hợp các phần tử có thứ tự và mọi phần tử có cùng một kiểu dữ liệu.

D. Tất cả ý trên đều sai

Hướng dẫn giải

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

Dữ liệu kiểu mảng là tập hợp các phần tử có thứ tự và mọi phần tử có cùng một kiểu dữ liệu.

Câu 5. khi ta viết lệnh:int a[4] = {123, 456, -789, 100}; chỉ số của phần tử có giá trị -789 là bao nhiêu?

A. 2

B. 

C. 1

D. 4

Hướng dẫn giải

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

 Chỉ số mặc định của mảng gồm n phần tử là từ 0 đến n-1. Như vậy với lệnh khai báo và khởi tạo int a[4] = {123, 456, -789, 100}; ta biết được:

Chỉ số

0

1

2

3

Giá trị

123

456

-789

100

Câu 6. khi ta viết lệnh:int a[4] = {123}; thì phần tử nào sẽ được gán giá trị khởi tạo  là 120?

A. a[1]

B. a]2]

C. a[0]

D. a[4]

Hướng dẫn giải

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

 Chỉ số mặc định của mảng gồm n phần tử là từ 0 đến n-1. Như vậy với lệnh khai báo và khởi tạo int a[4] = {123}; ta biết được:

Chỉ số

0

1

2

3

Giá trị

123

0

0

0

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

#include

 using namespace std;

int a[100], n;

 int main(){  cin>>n;

                     for (int i=0; i>a[i];  

                for (int i=0; i

                 }

Chương trình trên thực hiện những công việc gì?

A. Nhập số phần tử của mảng

B. Nhập giá trị cho n phần tử trong mảng

C. In ra màn hình giá trị của n phần tử trong mảng a, mỗi phần tử cách nhau 1 dấu cách trống.

D. Cả 3 công việc trên

Hướng dẫn giải

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

Trong thân chương trình có 3 câu lệnh sau:

 - Lệnh 1: cin>>n; //Nhập số phần tử của mảng

 - Lệnh 2: for (int i=0; i>a[i];  //Nhập giá trị cho n phần tử trong mảng

 - Lệnh 3: for (int i=0; i

/*In ra màn hình giá trị của n phần tử trong mảng a, mỗi phần tử cách nhau 1 dấu cách trống.*/

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

#include

 using namespace std;

int a[100], n, s=0;

 int main(){  cin>>n;

                     for (int i=0; i

                     {cin>>a[i]; 

                         if  (i%2!=0) s=s+a[i];}

                cout<

                 }

Chương trình trên đang giải quyết bài toán nào?

A. Nhập số phần tử của mảng

B. Nhập giá trị cho n phần tử trong mảng

C. Tính tổng các phần tử có chỉ số lẻ trong dãy gồm n số nguyên.

D. Tính tổng các phần tử có giá trị lẻ trong dãy gồm n số nguyên.

Hướng dẫn giải

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

 Biểu thức điều kiện trong câu lệnh if là kiểm tra xem i có lẻ không, nếu i lẻ thì tính tổng của các phần tử có chỉ số i lẻ đó.

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

#include

 using namespace std;

int a[100], n, s=0;

 int main(){  cin>>n;

                     for (int i=0; i

                     {cin>>a[i]; 

                         if  (a[i]%2==0) s=s+a[i];}

                cout<

                 }

Chương trình trên giải quyết bài toán nào?

A. Nhập số phần tử của mảng

B. Nhập giá trị cho n phần tử trong mảng

C. Tính tổng các phần tử có chỉ số chẵn trong dãy gồm n số nguyên.

D. Tính tổng các phần tử có giá trị chẵn trong dãy gồm n số nguyên.

Hướng dẫn giải

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

 Biểu thức điều kiện trong câu lệnh if là kiểm tra xem giá trị của phần tử thứ i có chẵn không, nếu chẵn thì tính tổng của các phần tử có giá trị chẵn đó.

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

#include

 using namespace std;

int a[100], n, s=0;

 int main(){  cin>>n;

                     for (int i=0; i

                     {cin>>a[i]; 

                        int y=sqrt(a[i]);

                         if  (y*y==a[i]) s=s+a[i];}

                cout<

                 }

Khi chạy chương trình ta nhập các giá trị cho 4 phần tử trong mảng là 12 25 4 39 thì kết quả trên màn hình là?

A. 29

B. 16

C. 4

D. 80.

Hướng dẫn giải

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

 Chương trình trên giải quyết bài toán tính tổng các số chính phương trong dãy a gồm n số nguyên. Như vậy trong các giá trị của mảng a có 25 và 4 là hai số chính phương.

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

#include

 using namespace std;

int a[100], n, s=0;

 int main(){  cin>>n;

                      srand((int)(time(0));

                     for (int i=0; i

                      for (int i=0; i

               }

Đề bài của bài toán được thực hiện bởi chương trình trên là?

A. Nhập và in ra giá trị của mảng gồm n số nguyên.

B. In các giá trị của mảng a ra màn hình, mỗi phần tử cách nhau một dấu cách.

C. Nhập và in ra giá trị ngẫu nhiên trong phạm vi [1,100] của mảng a gồm n số nguyên. 

D. Nhập giá trị cho mảng a trong phạm vi [1, 100] bằng chế dộ random.

Hướng dẫn giải

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

Chương trình trên giải quyết bài toán “nhập và in ra giá trị ngẫu nhiên trong phạm vi [1,100] của mảng a gồm n số nguyên”. 

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

#include

 using namespace std;

int a[100], n, s=0;

 int main(){  cin>>n;

                     for (int i=0; i>a[i]; 

                     for (int i=1; i

                      for (int i=0; i

                                         }

Giá trị của mảng a được in ra màn hình có thứ tự?

A. Mảng a đã được sắp xếp tăng dần.

B. Mảng a đã được sắp xếp giảm dần.

C. Mảng a được in ra theo thứ tự khi nhập dữ liệu.

D. Mảng a được in ra theo thứ tự ngược lại khi nhập dữ liệu.

Hướng dẫn giải

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

- for (int i=0; i>a[i]; //nhập dữ liệu cho mảng

- for (int i=1; i

- for (int i=0; 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:


Giải bài tập lớp 8 sách mới các môn học