TOP 40 câu Trắc nghiệm Tin học 11 C++ Bài 16 (có đáp án 2023): Ví dụ làm việc với tệp

Bộ 40 câu hỏi trắc nghiệm Tin học lớp 11 C++ Bài 16: Ví dụ làm việc với tệp có đáp án đầy đủ các mức độ giúp các em ôn trắc nghiệm Tin học 11 C++ Bài 16.

1 1,367 11/01/2023
Tải về


Trắc nghiệm Tin học 11 C++ Bài 16: Ví dụ làm việc với tệp

Câu 1. Cho đoạn chương trình sau:

cin>>a>>b;

S=a+b;

ofstream fo ("baitap.txt");

fo<<s;

fo.close();

Trong đoạn chương trình trên tệp “baitap.txt” dùng để làm gì?

A. Đọc dữ liệu.

B. Ghi dữ liệu.

C. Vừa đọc vừa ghi dữ liệu.

D. Không có tác dụng gì.

Đáp án: B

Giải thích:

Để khai báo biến tệp đồng thời mở tệp để ghi dữ liệu ta dùng cú pháp:

ofstream <tên biến tệp> (<xâu tên tệp>);

Câu 2. Cho đoạn chương trình sau:

cin>>a>>b;

S=a+b;

ofstream fo ("baitap.txt");

fo<<s;

fo.close();

Trong đoạn chương trình trên dữ liệu được nhập từ đâu?

A. Bàn phím.

B. Tệp.

C. Bàn phím và tệp.

D. Không nhập.

Đáp án: A

Giải thích:

Dữ liệu được nhập từ bàn phím thông qua câu lệnh:

cin>>a>>b;

Câu 3. Hãy cho biết sau khi thực hiện đoạn lệnh sau:

a = 10;

b =5;

s=a*b;

ofstream fo ("ketqua.txt");

fo<<s;

fo.close();

Thì tệp ketqua.txt có nội dung gì?

A. 5

B. 50

C. 10

D. Không có nội dung.

Đáp án: B

Giải thích:

Vì s=a*b=5*10=50, câu lệnh

 ofstream fo ("ketqua.txt");

fo<<s;

Thực hiện việc ghi giá trị của s vào file ketqua.txt

Câu 4. Chọn phát biểu sai trong các phát biểu sau?

A. Sau khi đọc xong tệp, không đóng tệp cũng không gây ảnh hưởng gì cho việc quản lí tệp.

B. Khi ghi xong dữ liệu cần đóng tệp.

C. Tệp lưu trữ dữ liệu một cách lâu dài.

D. Nếu mở tệp để ghi, mà tệp được chỉ định đang tồn tại thì tệp sẽ bị ghi đè nội dung đang có.

Đáp án: A

Giải thích:

Sau khi kết thúc phiên làm việc với tệp thì ta cần đóng tệp và giải phóng tài nguyên. Giả sử tệp được mở đang gắn với biến tệp f thì ta chỉ cần sử dụng lệnh f.close() để đóng tệp.

Câu 5. Cho đoạn chương trình:

#include <bits/stdc++.h>
 using namespace std;
int main(){

ifstream fi("trai.txt");

int x, y;

while (fi >> x >> y){

float d = sqrt(x*x + y*y);

cout <<fixed<<setw(10)<<setprecision(2) << d << endl;

}
return 0;
}

Lỗi sai trong đoạn chương trình trên là:

A. Không có tệp để đọc

B. Không có tệp để ghi dữ liệu.

C. Không đóng tệp sau khi kết thúc làm việc với tệp

D. Không có lệnh ghi lên tệp

Đáp án: C

Giải thích:

Thiếu câu lệnh đóng tệp: fi.close();

Sau khi kết thúc phiên làm việc với tệp thì ta cần đóng tệp và giải phóng tài nguyên.

Câu 6. Cho 2 số a,b từ tệp bt.txt, tính tổng của 2 số rồi ghi kết quả ra màn hình, hãy chỉ ra lỗi sai đoạn chương trình sau :

#include <bits/stdc++.h>
using namespace std;
int main(){

int a,b;

while (fi >> a >> b){

s=a+b;

cout <<s

}
return 0;
}

fi.close();

A. Thiếu câu lệnh ifstream fi("bt.txt");

B. Thiếu câu lệnh ofstream fi(“bt.txt”);

C.  Thiếu câu lệnh cin>>a>>b;

D. Thiếu khai báo biến tệp.

Đáp án: A

Giải thích:

Thiếu câu lệnh ifstream fi("bt.txt");

Đây là câu lệnh mở tệp bt.txt để đọc dữ liệu.

Câu 7. Cho đoạn chương trình sau:

# include

# include

int main()

{

ifstream;

f.open(“baitap.txt’);

f>>a>>b;

s=a+b;

cout<<s;

f.close();

return 0;

}

Biến tệp trong đoạn chương trình trên là:

A. Biến a                                            

B. Biến b

C. Biến f                                             

D. Biến a,b,f

Đáp án: C

Giải thích:

Khai báo biến tệp để sau đó đọc dữ liệu:
ifstream <tên biến tệp>;

Câu 8. Cho đoạn chương trình sau:

# include

# include

int main()

{

ifstream;

f.open(“baitap.txt’);

f>>a>>b;

s=a+b;

cout<<s;

f.close();

return 0;

}

Tệp “baitap.txt” là tệp dùng để:

A. Đọc dữ liệu.

B. Ghi dữ liệu.

C. Vừa đọc vừa ghi dữ liệu.

D. Làm việc với kết quả của bài toán.

Đáp án: A

Giải thích:

Vì tệp “baitap.txt” được dùng để đọc dữ liệu qua câu lệnh:

ifstream;

f.open(“baitap.txt’);

Câu 9. Câu lệnh ifstream <tên biến tệp> có nghĩa là gì?

A. Khai báo biến tệp để sau đó ghi dữ liệu.

B. Khai báo biến tệp để sau đó đọc dữ liệu.

C. Đọc dữ liệu.

D. Ghi dữ liệu

Đáp án: B

Giải thích:

Khai báo biến tệp để sau đó đọc dữ liệu:
ifstream <tên biến tệp>;

Câu 10. Câu lệnh sau thực hiện nhiệm vụ gì?

ofstream fi("dulieu.txt") ;

fi<<a;

A. Đọc giá trị a.

B. nhập vào giá trị a.

C. Ghi giá trị của a ra màn hình.

D. Ghi giá trị của biến a ra tệp “dulieu.txt”

Đáp án: D

Giải thích:

Ghi dữ liệu vào tệp đang mở ở chế độ ghi:

biến_tệp << biến1 << biến2 << ... << biếnK;

Câu 11. Cho câu lệnh sau:

ifstream fi("f:\mydata\dulieu.txt") ;

fi>>a;

Câu lệnh trên thực hiện:

A. Đọc giá trị a từ tệp “dulieu.txt"

B. nhập vào giá trị a.

C. Ghi giá trị của a ra màn hình.

D. Ghi giá trị của biến a ra tệp “dulieu.txt"

Đáp án: A

Giải thích:

Vì câu lệnh fi>>a;

 Là câu lệnh đọc dữ liệu từ tệp đang mở (tệp “delieu.txt”) ở chế độ đọc.

Câu 12. Cho đoạn chương trình sau:

# include

# include

float a,s;

int main()

{

ifstream fi(“dulieu.txt") ;

ofstream fo("ketqua.txt") ;

fi>>a;

s=a*a;

fo<<s;

fi.close();

f0.close();

return 0;

}

Đoạn chương trình trên thực hiện:

A. Đọc dữ liệu từ tệp và ghi kết quả ra màn hình.

B. Đọc dữ liệu từ tệp và ghi kết quả ra tệp.

C. Đọc dữ liệu từ bàn phím và ghi kết quả ra tệp.

D. Đọc dữ liệu từ bàn phím và ghi kết quả ra màn hình.

Đáp án: B

Giải thích:

Đoạn chương trình trên thực hiện: Đọc dữ liệu từ tệp và ghi kết quả ra tệp, thông qua 2 câu lệnh:

ifstream fi(“dulieu.txt") ;

ofstream fo("ketqua.txt") ;

Câu 13. Khẳng định nào sau đây là sai?

A. Nếu mở tệp để đọc, mà tệp được chỉ định không tồn tại thì bạn sẽ nhận được thông báo lỗi.

B. Nếu mở tệp để ghi, mà tệp được chỉ định đang tồn tại thì tệp sẽ bị ghi đè nội dung đang có.

C. Nếu đã khai báo biến tệp để đọc/ghi dữ liệu thì ta có thể mở tệp như sau: <tên biến tệp>.open(<xâu tên tệp>);

D. Đọc dữ liệu từ tệp đang mở ở chế độ đọc tương tự như lệnh cin: biến_tệp << biến1 << biến2 <<…<< biếnK;

Đáp án: D

Giải thích:

Đọc dữ liệu từ tệp đang mở ở chế độ đọc tương tự như lệnh cin:

biến_tệp >> biến1 >> biến2 >> ... >> biếnK;

Câu 14. Cho đoạn chương trình sau:

# include

# include

float a,s,b;

int main()

{

cin>>a,b

ofstream fo("ketqua.txt") ;

s=a+b;

cout<<s;

f0.close();

return 0;

}

Với a=5, b=10 thì nội dung của tệp “ketqua.txt” là:

A. 5                                

B. 10

C. 15                              

D. Không có giá trị trên tệp.

Đáp án: D

Giải thích:

Vì a=5, b=10, s=a+b=5+10=15, câu lệnh cout<

→ ghi giá trị của s=15 ra màn hình

→ trên tệp “ketqua.txt” không có giá trị của s.

Câu 15. Cho đoạn chương trình sau:

# include

# include

float a,s,b;

int main()

{

cin>>a>>b;

ofstream fo("ketqua.txt") ;

s=a+b;

fo<<s;

f0.close();

return 0;

}

Hãy cho biết tệp nào được khai báo để đọc dữ liệu:

A. Không có tệp để đọc dữ liệu.

B. Tệp "ketqua.txt"

C. Tệp fo

D. Tệp bất kì.

Đáp án: A

Giải thích:

Dữ liệu được nhập từ bàn phím thông qua câu lệnh cin>>a>>b;

→ Không có tệp để đọc dữ liệu.

Các câu hỏi trắc nghiệm Tin học lớp 11 C++ có đáp án, chọn lọc khác:

Trắc nghiệm Bài 14: Kiểu dữ liệu tệp có đáp án

Trắc nghiệm Bài 15: Kiểu tệp có đáp án

Trắc nghiệm Bài 17: Chương trình con và phân loại có đáp án

Trắc nghiệm Bài 18: Ví dụ về cách định nghĩa và sử dụng hàm có đáp án

Trắc nghiệm Bài 19: Thư viện chương trình con chuẩn có đáp án

1 1,367 11/01/2023
Tải về


Xem thêm các chương trình khác: