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 SỞ GD& ĐT THANH HÓA TRƯỜNG THPT CHU VĂN AN ĐỀ CƯƠNG CUỐI HK II (2021 – 2022) MÔN TIN HỌC KHỐI 11 Câu 1 Khi viết chương[.]
Trang 1SỞ GD& ĐT THANH HÓA
TRƯỜNG THPT CHU VĂN AN
ĐỀ CƯƠNG CUỐI HK II (2021 – 2022) MÔN:TIN HỌC - KHỐI 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
C Khai báo trong chương trình con D 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ử?
Câu 6: Đâu là câu lệnh đúng cú pháp?
A for (int i=0; i<n;i++) B for (int i=0;i++; i<n)
C for (i<n; int i=0;i++) D for (i++;int i=0; i<n)
Câ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?
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<<t;
return 0;
}
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: Nếu hàm EOF(<tên biến tệp>) cho giá trị là TRUE thì con trỏ tệp nằm ở vị trí
Trang 2A đầu dòng B cuối dòng; C cuối tệp; D đầu tệp;
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â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:
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 "<<i<<" : ";cin>>a[i];}
for(i=1; i<=n; i++){tong+=a[i];}
cout<<tong;
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
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<<x<< y<< z; B cin(f, x:5 , y:5, z); C cout<<f ‘x’, ‘y’, ‘z’); 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 quá 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?
Câu 27: Cho xâu S= “hoc le” hàm s.length() kết quả là :
Câu 28: Cho xâu A= 'ca nau' và xâu B= 'ca nanh' phép so sánh nào đúng?
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ử]>;
Trang 3Câu 31: Khai báo nào đúng mảng một chiều trong C++?
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<n;i=i+2) B for (int i=0;i+=3; i<n)
C for (i<n; int i=0;i+=9) D for (i++;int i=0; i<n)
Câu 34: Khi khai báo biến xâu, ta sử dụng kiểu dữ liệu:
Câu 35: Dùng hàm nào sau đây để đổi kí tự in hoa sang in thường:
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ì:
Câu 37: S=“500 ki tu”, hàm Length(s) cho giá trị bằng:
Câu 38: Để khai báo thủ tục trong C++ bắt đầu bằng từ khóa
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++?
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<<A[i]; D For( i=0;i<= 99;i++) cout<<A[i];
Câu 45: Cho 2 xâu S1= “abcd” và S2= “ABC”; khi đó S2 + “_” + S1 cho kế quả nào?
Câu 46: Cho a= “chao xuan” Để in ký tự 'x' ta viết như thế nào?
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 "<<i<<" : ";cin>>a[i];}
for(i=1; i<=n; i++){tong+=a[i];}
cout<<tong;
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ảngD 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 truy cập đến phần tử bất kì C xóa một phần tửD chèn thêm phần tử và xóa phần tử
Trang 4Câu 51: Đâ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 52: Xác định kết quả của đoạn chương trình sau: string S="THPT Uong Bi "; cout<<S substr(5,7);
A.THPTUong B Uong bi C THPT Uong D Uong Bi
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.
#include <bits/stdc++.h>
using namespace std;
int main()//Bai 1
{
int n, i, tong=0;int a[20];
cout<<"Nhap n: ";cin>>n;
for(i=1; i<=n; i++)
{
cout<<"\nNhap phan tu "<<i<<" : ";
cin>>a[i];
}
for(i=1; i<=n; i++)
{tong+=a[i];}
cout<<tong;
return 0;
}
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
#include <bits/stdc++.h>
using namespace std;
int main()// Bai 2
{
int n, i, dc=0; int a[20];
cout<<"Nhap n: ";
cin>>n;
for(i=1; i<=n; i++)
{
cout<<"\nNhap phan tu "<<i<<" : ";
cin>>a[i];
}
for(i=1; i<=n; i++)
if (a[i]%2==0) dc=dc+1;
cout<<dc;
return 0;
}
Câu 3 : Nhập vào xâu ký tự s1 chỉ gồm các ký tự in thường, đếm xem trong xâu có bao nhiêu ký tự dấu cách,
tạo sâu s2 gồm những ký tự của xâu s1 nhưng được viết hoa In xâu s2
#include <bits/stdc++.h>
using namespace std;
int main()// Bai 3
{
int n, i, dc=0;
Trang 5string s1,s2="";
cout<<"Nhap xau s1=: ";
getline(cin,s1); n=s1.length();
for(i=0; i<n; i++)
{
if (s1[i]== ' ') dc++;
}
cout<<"So dau cach la: "<<dc;
for (i=0;i<n;i++)
s2+=toupper(s1[i]);
cout<<" \nXau chu hoa s2= "<<s2;
return 0;
}
Câu 4: Nhập xâu a, kiểm tra xem xâu a có là xâu đối xứng hay không?
#include <bits/stdc++.h>
using namespace std;
int main()// Bai 4
{
int n, i;
string s1,s2;
cout<<"Nhap xau s1=: ";
getline(cin,s1); n=s1.length();
s2=””;
for(i=n-1; i>=0; i )
s2=s2+s1[i];
if (s1==s2) cout<<s1<<” la xau doi xung”;
else cout<<s1<<” khong la xau doi xung”;
return 0;
}
Câu 5: 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
#include <bits/stdc++.h>
using namespace std;
int main()// Bai 5
{
int a,b,c,cv,dt;
ifstream f1(“baitap.inp”);
ofstream f2(“ketqua.inp”);
f1>>a>>b>>c;
cv=a+b+c;
dt=sqrt(cv/2*(cv/2-a)*(cv/2-b)*(cv/2-c));
f2<<cv<<endl<<dt;
return 0;
}
Câu 6: Cho tệp dulieu.inp gồm 10 dòng chứa 10 số nguyên Tính tổng của 10 số đó, và ghi kết quả vào tệp
ketqua.inp
#include <bits/stdc++.h>
using namespace std;
Trang 6int main()// Bai 6
{
int x,tong=0;
ifstream f1("dulieu.inp");
ofstream f2("ketqua.inp");
while (f1>>x)
tong=tong+x;
f2<<tong;
return 0;
}
Cho chương trình
Câu 7:
#include<bits/stdc++.h>
using namespace std;
void Tinh(int &x, int y)
{
int k;
k=5;
x=x+k;
y=y+k;
}
int main()
{
int a,b,S;
a=30;b=50;
Tinh(a,b);
S=a+b;
cout<<"tong la:"<<S;
return 0;
}
Câu 8:
#include<bits/stdc++.h>
using namespace std;
void Tich(int &a, int &b)
{
a=a*a;
b=b*10;
}
int main()
{ int m,n;
m=2;n=10;
Tich(m,n);
cout<<"m="<<m
<<" "<< "n="<<n;
return 0;
}
Câu 9:
#include<bits/stdc++.h>
using namespace std;
int giaithua(int a)
{
int s, i;
s=1;
for (i=1; i<=a;i++) s=s*i;
return s;
}
int main()
{ int x,y;
x=4;
y=giaithua(x);
cout<<"gia tri la:"<<y;
return 0;
}
Câu 10:
#include<bits/stdc++.h>
using namespace std;
int luythua(int a, int b)
{
int p,i;
p=1;
for (i=1; i<=b;i++) p=p*a;
return p;
}
int main()
{ int x,y,S;
x=2; y=5;
S=luythua(x,y);
cout<<"gia tri la:"<<S; return 0;
}
Trang 7Câ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 toà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?