You are on page 1of 4

TIN HỌC LỚP 11

CẤU TRÚC ĐỀ KIỂM TRA


 Trắc nghiệm: 28 câu (7 điểm)
 Tự luận: 1 câu (3 điểm)
CÂU HỎI ÔN TẬP
*Ngôn ngữ lập trình được sử dụng cho các câu hỏi là ngôn ngữ C++.
TRẮC NGHIỆM
KIỂU XÂU
Câu 1: Xâu kí tự là?
A. Mảng các ký tự;
B. Dãy các kí tự trong bảng mã ASCII;
C. Tập hợp các chữ cái trong bảng chữ cái tiếng Anh;
D. Tập hợp các chữ cái và các chữ số trong bảng chữ cái tiếng Anh
Câu 2: Khai báo biến xâu nào sau đây là hợp lệ?
A. string hoten; C. var hoten:char;
B. hoten string; D. var hoten:string;
Câu 3: Hãy chọn phương án đúng. Cho xâu S = “Hanoi Sapa”;. Kết quả của hàm S.length() là
A. 10; B.11 C.12 D.13
Câu 4: Hãy chọn phương án đúng. Cho xâu S =‘Hanoi-Vietnam’. Kết quả của hàm S.erase(5,8) là
A. “Vietnam” B. “Hanoi” C.”Hanoi-“ D. ”-Vietnam”
Câu 5: Hãy chọn phương án đúng. Cho xâu S =”ABCD”. Kết quả của hàm S.insert(3,”CD”) là
A. ”ABCD” B. “ABCCDD” C. “ABCDCD” D. “CDABCD”
Câu 6: Cú pháp tham chiếu hợp lệ đến kí tự của xâu st =”Tin hoc” là:
A. st.5; B. st(5); C. st[5]; D. st5;
Câu 7: Cho xâu S =”ABCABDCDAB”. Kết quả của hàm S.find(”AB”,4) là
A. 5 B. 8 C. 3 D. 0
Câu 8: Phát biểu nào dưới đây là đúng?
A. Xâu có độ dài lớn nhất là 255;
B. Xâu có độ dài lớn nhất là 500;
C. Xâu có độ dài bằng 0 là xâu rỗng
D. Cần phải khai báo độ dài kích thước của xâu;
Câu 9: Hàm st.substr(vt,n) cho kết quả là :
A. Thực hiện sao chép n kí tự của xâu st bắt đầu từ vị trí vt
B. Thực hiện chèn n kí tự vào xâu st bắt đầu từ vị trí vt
C. Thực hiện sao chép vt kí tự của xâu st bắt đầu từ vị trí n
D. Thực hiện xóa n kí tự của xâu st bắt đầu từ vị trí vt
Câu 10: Phát biểu nào dưới đây là sai về phép so sánh xâu?
A. Hai xâu được coi là bằng nhau nếu như chúng giống nhau hoàn toàn
B. Nếu A và B là các xâu có độ dài khác nhau và A là đoạn đầu của B thì A nhỏ hơn B
C. Xâu A lớn hơn xâu B nếu như kí tự đầu tiên khác nhau giữa chúng kể từ trái sang trong xâu A có mã
ASCII lớn hơn
D. Nếu A và B là các xâu có độ dài khác nhau và A là đoạn đầu của B thì A lớn hơn B
TỆP VÀ THAO TÁC VỚI TỆP
Câu 1: Mở tệp để đọc/ghi dữ liệu ta phải sử dụng câu lệnh:
A. <tên biến tệp>.open(<xâu tên tệp>); C. <tên biến tệp>open(<xâu tên tệp>);
B. (<xâu tên tệp>)open<tên biến tệp>; D. (<xâu tên tệp>).open<tên biến tệp>;
Câu 2: Khai báo biến tệp để đọc dữ liệu ta phải sử dụng cú pháp:
A. fstream <tên biến tệp>;
B. ofstream <tên biến tệp>;
C. ifstream <tên biến tệp>;
D. <tên biến tệp> ifstream;
1
Câu 3: Khai báo biến tệp để ghi dữ liệu ta phải sử dụng cú pháp:
A. fstream <tên biến tệp>;
B. ofstream <tên biến tệp>;
C. ifstream <tên biến tệp>;
D. <tên biến tệp> ofstream;
Câu 4: Để đóng tệp đang mở, ta dùng câu lệnh:
A.<biến tệp>.close(); C. <xâu tên tệp>.close();
B. close(). <biến tệp>; D. close().(<xâu tên tệp>);
Câu 5: Để đọc dữ liệu từ tệp đang mở, ta phải sử dụng câu lệnh:
A. cin>>biến 1>>biến 2>>...>>biến k; C. biến tệp>>biến 1>>biến 2>>...>>biến k;
B.cout<< biến 1<<biến 2<<...<<biến k; D. biến tệp<<biến 1<<biến 2<<...<<biến k;
Câu 6: Để ghi dữ liệu từ tệp đang mở, ta phải sử dụng câu lệnh:
A. cin>>biến 1>>biến 2>>...>>biến k; C. biến tệp>>biến 1>>biến 2>>...>>biến k;
B.cout<< biến 1<<biến 2<<...<<biến k; D. biến tệp<<biến 1<<biến 2<<...<<biến k;
Câu 7: Để vừa khai báo biến tệp, đồng thời mở tệp để đọc dữ liệu, ta sử dụng câu lệnh:
A. ifstream <tên biến tệp>(<xâu tên tệp>);
B. ifstream <xâu tên tệp>(<tên biến tệp>);
C. ifstream (<xâu tên tệp>)<tên biến tệp>;
D. ifstream <tên biến tệp><xâu tên tệp>;
Câu 8: Hãy chọn phương án ghép đúng. Tệp văn bản
A. cho phép truy cập đến một dữ liệu nào đó trong tệp chỉ bằng cách bắt đầu từ đầu tệp và đi qua lần
lượt tất cả các dữ liệu trước nó.
B. cho phép tham chiếu đến dữ liệu cần truy cập bằng cách xác định trực tiếp vị trí của dữ liệu đó.
C. là tệp mà các phần tử của nó được tổ chức theo một cấu trúc nhất định.
D. là tệp mà dữ liệu được ghi dưới dạng các ký tự theo mã ASCII/UNICODE   
Câu 9: Hãy chọn phương án đúng. Tệp có cấu trúc
A. cho phép truy cập đến một dữ liệu nào đó trong tệp chỉ bằng cách bắt đầu từ đầu tệp và đi qua lần
lượt tất cả các dữ liệu trước nó.
B. cho phép tham chiếu đến dữ liệu cần truy cập bằng cách xác định trực tiếp vị trí của dữ liệu đó.
C. là tệp mà các phần tử của nó được tổ chức theo một cấu trúc nhất định.
D. là tệp mà dữ liệu được ghi dưới dạng các ký tự theo mã ASCII/UNICODE      
Câu 10: Hãy chọn phương án đúng. Tệp truy cập tuần tự
A. cho phép truy cập đến một dữ liệu nào đó trong tệp chỉ bằng cách bắt đầu từ đầu tệp và đi qua lần
lượt tất cả các dữ liệu trước nó.       
B. cho phép tham chiếu đến dữ liệu cần truy cập bằng cách xác định trực tiếp vị trí của dữ liệu đó.
C. là tệp mà các phần tử của nó được tổ chức theo một cấu trúc nhất định.
D. là tệp mà dữ liệu được ghi dưới dạng các ký tự theo mã ASCII.
Câu 11: Hãy chọn phương án ghép đúng. Tệp truy cập trực tiếp
A. cho phép truy cập đến một dữ liệu nào đó trong tệp chỉ bằng cách bắt đầu từ đầu tệp và đi qua lần
lượt tất cả các dữ liệu trước nó.
B. cho phép tham chiếu đến dữ liệu cần truy cập bằng cách xác định trực tiếp vị trí của dữ liệu đó.    
C. là tệp mà các phần tử của nó được tổ chức theo một cấu trúc nhất định.
D. là tệp mà dữ liệu được ghi dưới dạng các ký tự theo mã ASCII.

2
Câu 12: Dữ liệu kiểu tệp
A. Được lưu trữ ở bộ nhớ trong
B. Dữ liệu sẽ bị mất hết khi tắt điện đột ngột.
C. Được lưu trữ ở bộ nhớ ngoài (đĩa từ, CD,…)
D. Lượng thông tin lưu trữ trên tệp không lớn
Câu 13: Đoạn chương trình sau có lỗi ở dòng thứ mấy?
dòng 1) #include <iostream>
dòng 2) #include <fstream>
dòng 3) using namespace std;
dòng 4) int main(){
dòng 5) ifstream fi(“vdin.txt”);
dòng 6) ofstream fo("vdout.txt");
dòng 7) f>>a>>b;
dòng 8) fo<<a+b;
dòng 9) fi,fo.close();
dòng 10) return 0;}
A. 5,9 B.2,7 C.7,9 D.2,9
HÀM VÀ LẬP TRÌNH CÓ CẤU TRÚC
Câu 1: Chương trình con là:
A. Một dãy lệnh mô tả một số thao tác nhất định và có thể được thực hiện từ nhiều vị trí trong chương
trình
B. Một dãy lệnh mô tả một số thao tác nhất định và trả về một giá trị thông qua tên của nó
C. Một dãy lệnh mô tả một số thao tác nhất định và trong chương trình luôn phải có câu lệnh
D. Một dãy lệnh mô tả một số thao tác nhất định và không trả về một giá trị thông qua tên của nó
Câu 2: Mô tả nào dưới đây về hàm là không đúng:
A. Phải có tham số C. Trong hàm có thể gọi lại chính hàm đó
B. Có thể có biến cục bộ D. Có thể có hoặc không có tham số hình thức
Câu 3: Lợi ích của việc sử dụng chương trình con?
A. Tránh được việc phải viết lặp đi lặp lại cùng một dãy lệnh.
B. Hỗ trợ việc thực hiện các chương trình lớn.
C. Phục vụ quá trình trừu tượng hóa.
D. Tất cả đều đúng.
Câu 4: Khai báo phần đầu của hàm không có kết quả nào sau đây là đúng?
A. void ve_hinh_chu_nhat (int a, int b);
B. void ve_hinh_chu _nhat (int a, int b)
C. void ve hinh_chu_nhat (int a, int b)
D. void ve_hinh_chu_nhat (int a; int b)
Câu 5: Khai báo phần đầu của hàm có kết quả nào sau đây là đúng?
A. float tim_min (a,b,c,d float)
B. float tim_min(float a, float b)
C. float tim_min(float a, float b);
D. float tim_min(float a; float b)
Câu 6: Một biến được gọi là biến toàn cục nếu
A. Nó được khai báo ngoài tất cả các hàm kể cả hàm main()
B. Nó được khai báo tất cả các hàm ngoại trừ hàm main()
C. Nó được khai báo bên ngoài hàm main()
D. Nó được khai báo bên trong hàm main()
Câu 7: Một biến được gọi là biến cục bộ nếu
A. Nó được khai báo bên trong các hàm, kể cả hàm main()
B. Nó được khai báo bên trong các hàm, ngoại trừ hàm main()
C. Nó được khai báo ngoài tất cả các hàm kể cả hàm main()
D. Nó được khai báo bên trong hàm main()
3
Câu 8: Đoạn chương trình sau có lỗi ở dòng thứ mấy?
dòng 1) int hcn(int a,int b)
dòng 2) {a+b;}
dòng 3) int main(){
dòng 4) int x,y; cin>>x>>y;
dòng 5) cout<<hcn();
dòng 6) return 0;}
A. 1,2 B.2,3 C.2 D.2,5
Câu 9: Để khai báo hàm không có kết quả bắt đầu bằng từ khóa
A. int B. program C. function D. void
Câu 10: Khẳng định nào sau đây là sai về cú pháp định nghĩa hàm?
A. Hàm có thể có hoặc không có biến cục bộ.
B. Các lệnh trong thân hàm phải nằm trong cặp móc nhọn ({})
C. Danh sách các tham số hình thức (nếu có) thì được liệt kê trong cặp ngoặc đơn và phân cách bằng dấu
chấm phẩy
D. Dù định nghĩa hàm có tham số hình thức hay không thì cặp ngoặc đơn nhất thiết phải có
Câu 11: Trong phần thân hàm có kết quả, cần phải có lệnh trả về giá trị của hàm. Lệnh đó là:
A.end. B. end; C. <biểu thức> return; D. return <biểu thức>;
TỰ LUẬN
1. Viết chương trình nhập một xâu vào từ bàn phím và đưa ra màn hình xâu thu được từ nó bởi việc loại bỏ
các dấu cách.
2. Viết chương trình nhập vào từ bàn phím xâu kí tự a, tạo xâu b gồm tất cả các chữ số có trong a (giữ nguyên
thứ tự xuất hiện của chúng) và đưa kết quả màn hình xâu b.

You might also like