ĐỀ CƯƠNG HỌC KỲ II - MÔN TIN HỌC 11
Câu 1: Khi viết chương trình con, khơng cần trả về giá trị qua tên của nó ta dùng :
A. Thủ tục. B. Chương trình chính
C. Hàm. D. Chương trình con.
Câu 2: Phát biểu nào sau đây về mảng là khơng chính xác?
A. Chỉ số của mảng không nhất thiết bắt đầu từ 1
B. Độ dài tối đa của mảng là 255
C. Có thể xây dựng mảng nhiều chiều
D. Xâu kí tự cũng dược xem như là một loại mảng
Câu 3: Biến cục bộ là các biến được khai báo trong ?
A. Khai báo của chương trình chính
B. Khai báo trong tham số hình thức
B. Khai báo trong chương trình con
C. Khai báo trong tham số thực sự
Câu 4: Phát biểu nào dưới đây về kiểu mảng là phù hợp?
A. Là một tập hợp các số nguyên.
B. Độ dài tối đa của mảng là 255.
C. Là một dãy hữu hạn các phần tử cùng kiểu.
D. Mảng khơng thể chứa kí tự.
Câu 5: Lệnh nào sau đây truy cập chính xác phần tử thứ bảy được lưu trữ trong mảng A, một mảng có 100
phần tử?
A. A (7);
B. A [6];
C. A [7];
D. A;
Câu 6: Đâu là câu lệnh đúng cú pháp?
A. for (int i=0; iB. for (int i=0;i++; iC. for (iD. for (i++;int i=0; iCâu 7: Chương trình con là:
A.Dãy các lệnh mơ tả một số thao tác nhất định và có thể thực hiện được từ nhiều vị trí trong chương trình.
B. Một chuỗi các câu lệnh tương đối giống nhau
D. Một chuỗi các câu lệnh liên kết với nhau để thực hiện một cơng việc nào đó
C. Chương trình nằm trong chương trình chính
Câu 8: Biến xâu được khai báo như thế nào?
A.
String <tên biến xâu>[độ dài lớn nhất];
B.
String <độ dài lớn nhất>[tên biến xâu];
C.
String <tên biến xâu>(độ dài lớn nhất);
D.
String [tên biến xâu]<độ dài lớn nhất>;
Câu 9: Thủ tục S.erase (vt,n) thực hiện thao tác:
A.
Xóa từ vị trí vt, n ký tự trong xâu S
B.
Xóa từ vị trí vt đến vị trí n trong xâu S
C.
Xóa từ vị trí vt trở đi trong xâu S
D.
Xóa kí tự vt và n trong xâu S
Câu 10: Cho xâu A= “anh “, xâu B= “Em”. Khẳng định nào sau đây đúng?
A. A>B
B.A>=B
C.A
D.A=B
Câu 11: Tham số được khai báo trong thủ tục hoặc hàm được gọi là gì?
A. Tham số hình thức
B. Tham số thực sự
C. Biến cục bộ
D. Biến toàn bộ
Câu 12: Đoạn chương trình sau in ra kết quả là:
int main()
{
string s= “truong dong da”;
t= s.substr(7,4);
cout<
return 0;
}
A. “dong”
B.t= “ g don”
C.t= “ong d”
D.t= “ng do”
Câu 13: Chọn khai báo đúng, đề khai báo mảng a gồm 20 số nguyên
A.int a[20];
B. int a;
C. int a[1..20];
D. int A[1...20];
Câu 14: Đâu không là đặc điểm của mảng ?
A. Dễ dàng thao tác dữ liệu.
B. Dễ dàng sắp xếp dữ liệu
C. Mảng có độ dài cố định.
D. Trong C++ có 3 loại mảng
Câu 15: Nhận xét nào sau đây đúng với tệp:
A. Bị mất khi tắt nguồn điện
B. Bị giới hạn kích thước
C. Được lưu trữ ở RAM
D. Không bị mất khi tắt nguồn điện
Câu 16: Để biết con trỏ tệp đã ở cuối dòng của tệp f hay chưa, ta sử dụng hàm:
A. eof(f)
B. eof(f, ‘trai.txt’)
C. foe(f)
D. eoln(f)
Câu 17: Cho chương trình sau:
int main(){
int n, i, tong=0;int a[20];
cout<<"Nhap n: ";cin>>n;
for(i=1; i<=n; i++){cout<<"\nNhap phan tu "<
for(i=1; i<=n; i++){tong+=a[i];}
cout<
return 0;}
Hỏi chương trình đó dùng làm gì?
A. Tính hiệu các phần tử trong mảng
B. Liệt kê phần tử trong mảng
C. Tính tổng các số lẻ trong mảng
D. Tính tổng các phần tử trong mảng
Câu 18: Trong ngơn ngữ lập trình C++, xâu khơng có kí tự nào gọi là xâu?
A. Xâu trắng;
B. Khơng phải là xâu kí tự.
C. Xâu khơng;
D. Xâu rỗng;
Câu 19: Khẳng định nào sau đây là đúng?
A. Cả thủ tục và hàm đều có thể có tham số hình thức.
B. Chỉ có thủ tục mới có thể có tham số hình thức.
C. Chỉ có hàm mới có thể có tham số hình thức.
D. Thủ tục và hàm nào cũng phải có tham số hình thức.
Câu 20: Thao tác nào sau đây với tệp là hợp lệ :
A. Mở tệp –> đọc/ghi dữ liệu-> đóng tệp
B. Mở tệp-> đóng tệp
C. Mở tệp-> đọc/ghi dữ liệu
D. Đọc/ghi dữ liệu-> đóng tệp
Câu 21: Để khai báo thủ tục trong C++ bắt đầu bằng từ khóa
A.Program.
B. Procedure
C. void.
D. Var.
Câu 22: Có 3 giá trị x, y, z. Để ghi 3 giá trị đó vào tệp f thì ta viết:
A. f<
B. cin(f, x:5 , y:5, z);
C. cout<
D.f.cout<<(x, ‘ ’,y, ‘ ’,z);
Câu 23: Hãy chọn phương án ghép đúng . Kiểu của một hàm được xác định bởi
A. Kiểu của các tham số
B. Kiểu giá trị trả về
C. Tên hàm D. Địa chỉ mà hàm trả về
Câu 24: Đâu không phải lợi ích của chương trình con:
A.
Giúp giảm thời gian chạy chương trình.
B.
Tránh được việc phải lặp đi lặp lại một dãy lệnh.
C.
Phục vụ cho q trình trừu tượng hóa.
D.
Mở rộng khả năng ngôn ngữ.
Câu 25: Cho 2 xâu S1= “nam moi” và S2= “2022”; khi đó S1 + “ - ” + S2 cho kế quả nào?
A. “2022 nam moi”
B. “nam moi_2022”
C. “nam moi 2022”
D. “_nam moi2022”
Câu 26: Cho a= “tan ke” . Để in ký tự 'n' ta viết như thế nào?
A. read(a[3]);
B. read(a);
C.cout<
D. write(a(3));
Câu 27: Cho xâu S= “hoc le” . hàm s.length() kết quả là :
A. 7
B. 6
C. 5
D. 8
Câu 28: Cho xâu A= 'ca nau' và xâu B= 'ca nanh' phép so sánh nào đúng?
A. A
B. A=B
C. A>B
D. A<>B
Câu 29: Phát biểu nào dưới đây về chỉ số của mảng là phù hợp nhất?
A. Dùng để truy cập đến một phần tử bất kì trong mảng
B. Dùng để quản lí kích thước của mảng
C. Dùng trong vịng lặp với mảng
D. Dùng trong vịng lặp với mảng để quản lí kích thước của mảng
Câu 30: Khai báo mảng một chiều nào sau đây đúng?
A. -Cú pháp: < Kiểu dữ liệu> <Tên biến mảng ><[số phần tử]>;
B. -Cú pháp: <Tên biến mảng ><Kiểu dữ liệu><[số phần tử]>;
C. -Cú pháp: < Kiểu dữ liệu> <Tên biến mảng >;
D. -Cú pháp: < Kiểu dữ liệu><[số phần tử]>;
Câu 31: Khai báo nào đúng mảng một chiều trong C++?
A. int arr [10];
B. int arr;
C. arr {10};
D. mảng arr [10];
Câu 32: Khi viết chương trình con, khơng cần trả về giá trị qua tên của nó ta dùng :
A. Thủ tục. B. Chương trình chính
C. Hàm. D. Chương trình con.
Câu 33: Đâu là câu lệnh đúng cú pháp?
A. for (int i=0; i
B. for (int i=0;i+=3; i
C. for (i
D. for (i++;int i=0; i
Câu 34: Khi khai báo biến xâu, ta sử dụng kiểu dữ liệu:
A.String
B.Float
C.Int
D.Char
Câu 35: Dùng hàm nào sau đây để đổi kí tự in hoa sang in thường:
A.tolower
B.Replace
C.Compare
D.toupper
Câu 36: Cho S= “THPT Luc Nam” và t= “55nam”. Sau khi thực hiện thủ tục S.insert(6,t) thì:
A.
S= “THPT L55namuc Nam”
B.
S= “THPT L55nam uc Nam”
C.
S= “THPT Lu55namc Nam”
D.
S= “THPT Luc 55nam Nam”
Câu 37: S=“500 ki tu”, hàm Length(s) cho giá trị bằng:
A.9
B.500
C.“5”
D.“500”
Câu 38: Để khai báo thủ tục trong C++ bắt đầu bằng từ khóa
A.Program.
B. Procedure
C. void.
D. Var.
Câu 39: Có 3 giá trị x, y, z ở trong tệp. Để đọc 3 giá trị đó từ tệp g thì ta viết:
A. cin>>x>>y>>z;
B. g>>x>>y>>z;
C. cin>>g. ‘x’, ‘y’, ‘z’); D.g.cout<<(x, ‘ ’,y, ‘ ’,z);
Câu 40: Chương trình con thường được chia làm mấy loại?
A. 2
B. 4
C. 3
D. 1
Câu 41: Kiểu dữ liệu trả về của hàm
A. Kiểu int.
B. Kiểu float
C. Kiểu string.
D. Cả A, B, C đều đúng.
Câu 42: Hãy chọn phương án ghép đúng. Kiểu của một hàm được xác định bởi
A. Kiểu của các tham số
B. Kiểu giá trị trả về
C. Tên hàm
D. Địa chỉ mà hàm trả về
Câu 43: Khai báo mảng một chiều nào sau đây đúng trong C++?
A. double A[100];
B. var A : array[1…100]of byte;
C. var A = array[1..100]of double;
D. var A = array[1…100]of byte;
Câu 44: Với khai báo: Int A[100]; nhóm lệnh nào dùng để in giá trị của A ra màn hình trong C++?
A. for i= 1 to 100 do read(A[i]);
B. for i= 1 to 100 do readln(A[i]);
C. For( i=1,i<= 100, i++) cout<
D. For( i=0;i<= 99;i++) cout<
Câu 45: Cho 2 xâu S1= “abcd” và S2= “ABC”; khi đó S2 + “_” + S1 cho kế quả nào?
A. “ABCabcd”
B. “abcdABC”
C. “ABC_abcd”
D. “abcd _ABC”
Câu 46: Cho a= “chao xuan” . Để in ký tự 'x' ta viết như thế nào?
A. read(a[5]);
B. read(a);
C.cout<
D. cout(a(5));
Câu 47: Cho chương trình sau:
int main(){
int n, i, tong=0;int a[20];
cout<<"Nhap n: ";cin>>n;
for(i=1; i<=n; i++){cout<<"\nNhap phan tu "<
for(i=1; i<=n; i++){tong+=a[i];}
cout<
return 0;}
Hỏi chương trình đó dùng làm gì?
A.Tính hiệu các phần tử trong mảng
C. Tính tổng các số lẻ trong mảng
B. Liệt kê phần tử trong mảng
D. Tính tổng các phần tử trong mảng
Câu 48: Để khai báo số phần tử của mảng trong C++, người lập trình cần:
A. khai báo một hằng số là số phần tử của mảng
B. khai báo kiểu dữ liệu,tên mảng,số phần tử
C. khai báo chỉ số kết thúc của mảng
D. khơng cần khai báo gì, hệ thống sẽ tự xác định
Câu 49: Phát biểu nào sau đây về mảng là khơng chính xác?
A. Chỉ số của mảng khơng nhất thiết bắt đầu từ 1
B. Có thể xây dựng mảng nhiều chiều
C. Xâu kí tự cũng có thể xem như là một loại mảng
D. Độ dài tối đa của mảng là 255
Câu 50: Mảng là kiểu dữ liệu biểu diễn một dãy các phần tử thuận tiện cho:
A. chèn thêm phần tử
B. xóa một phần tử
C. Truy cập đến phần tử bất kì
D. chèn thêm phần tử và xóa phần tử
TỰ LUẬN:
Câu 1: Nhập mảng 1 chiều A gồm n số nguyên, tính tổng các phần tử của mảng. In kết quả lên màn hình.
Câu 2: Nhập mảng 1 chiều A, gồm n số nguyên, đếm xem trong mảng có bao nhiêu phần tử lẻ, bao nhiêu
phần tử chẵn.
Câu 3: Nhập vào xâu ký tự s1 chỉ gồm các ký tự in thường. Chuyển xâu thành xâu in hoa. In xâu
Câu 4: Nhập vào xâu ký tự s1 chỉ gồm các ký tự in hoa. Chuyển xâu thành xâu in thường. In xâu
Câu 5: Nhập xâu a, chuyển ký tự đầu tiên của xâu thành in hoa. In xâu đó và độ dài của xâu.
Câu 6: Nhập xâu a, in ký tự cuối cùng của xâu và cho biết độ dài của xâu.
Câu 7: Cho tệp baitap.inp chứa 3 giá trị là 3 cạnh tam giác. Tính chu vi và diện tích tam giác, ghi kết quả vào
tệp ketqua.inp
Câu 8: Cho tệp dulieu.inp gồm 10 dòng chứa 10 số ngun. Tính tổng của 10 số đó, và ghi kết quả vào tệp
ketqua.inp
Cho chương trình
Câu 9:
Câu 10:
Câu 11:
Câu 12:
#include<bits/stdc++.h> #include<bits/stdc++.h> #include<bits/stdc++.h> #include<bits/stdc++.h>
using namespace std;
using namespace std;
using namespace std;
using namespace std;
void Tinh(int &x, int y) void Tich(int &a, int &b) int giaithua(int a)
int luythua(int a, int b)
{
{
{
{
a=a*a;
int k;
int s, i;
int p,i;
b=b*10;
k=5;
s=1;
p=1;
}
x=x+k;
for (i=1; i<=a;i++)
for (i=1; i<=b;i++)
y=y+k;
s=s*i;
p=p*a;
int
main()
}
return s;
return p;
{
int main()
}
}
int m,n;
{
int main()
int main()
m=2;n=10;
int a,b,S;
{
{
Tich(m,n);
a=30;b=50;
int x,y;
int x,y,S;
cout<<"m="<
Tinh(a,b);
x=4;
x=2; y=5;
<<" "<< "n="<
S=a+b;
y=giaithua(x);
S=luythua(x,y);
return 0;
cout<<"tong la:"<
cout<<"gia tri la:"<
cout<<"gia tri la:"<
}
return 0;
return 0;
return 0;
}
}
}
Câu hỏi:
a) Xác định đoạn lệnh chương trình con? Tên chương trình con? Loại chương trình con?
b) Xác định biến cục bộ? biến tồn cục?
c) Xác định tham số hình thức, tham số thực sự?
d) Kết quả hiện lên màn hình là gì? Giải thích?