NEW
Font size
Worksheetson tap kiem tra giua ki 2
Total questions: 36
Worksheet time: 18mins
Câu 1. Chọn phát biểu sai trong các phát biểu sau đây:
A. Có thể dùng cấu trúc lặp để thay cho cấu trúc rẽ nhánh trong mô tả thuật toán.
B. Để mô tả việc lặp đi lặp lại một số thao tác (hoặc câu lệnh) trong một thuật toán ta có thể dùng cấu trúc lặp.
C. Tùy từng trường hợp cụ thể (khi mô tả một thuật toán), khi thì ta biết trước số lần lặp, khi thì ta không cần hoặc không xác định được trước số lần lặp các thao tác nào đó.
D. Không thể mô tả được mọi thuật toán bằng ngôn ngữ lập trình bậc cao nếu không dùng cấu trúc lặp.
Câu 2. Trong vòng lặp While, câu lệnh được thực hiện khi:
A. Điều kiện sai
B. Điều kiện còn đúng
C. Điều kiện không xác định
D. Không cần điều kiện
Câu 3. Trong ngôn ngữ C++ câu lệnh while có cú pháp nào dưới đây?
A. white <điều kiện> do <câu lệnh>;
B. while (<Điều kiện>) { <Dãy lệnh>;}
C. while <điều kiện> to <câu lệnh>;
D. while <điều kiện> begin <câu lệnh>;end;
Câu 4. Kiểu dữ liệu của biến đếm trong lệnh lặp for là:
A. Cùng kiểu với giá trị đầu và giá trị cuối
B. Chỉ cần khác kiểu với giá trị đầu
C. Cùng kiểu với các biến trong câu lệnh
D. Không cần phải xác định kiểu dữ liệu
Câu 5. Hãy chọn phương án ĐÚNG ở dạng lặp tiến for trong ngôn ngữ C++?
A. Giá trị đầu phải nhỏ hơn giá trị cuối
B. Giá trị đầu phải nhỏ hơn hoặc bằng giá trị cuối.
C. Giá trị đầu phải lớn hơn giá trị cuối
C. Giá trị đầu phải bằng giá trị cuối
Câu 6: Cấu trúc lặp for trong C++ là đúng:
A. s=0; for (i= 1; i<= 5; i++) s=s+i;
B. s=0; for (i= 1.i<= 5. i++) s=s+i;
C. s=0; for (i= 1, i<= 5, i++) s=s+i;
D. s=0; for (i= 1 i<= 5 i++) s=s+i;
Câu 7. Cho đoạn chương trình: S= 0; n= 1;
while (… ) { S= S + n; n = n + 1; }
Tính tổng S = 1 + 2 + 3 + … + 100, điều kiện nào sau đây cần điền vào chỗ ba chấm (…) giữa câu lệnh while … ?
A. n >= 100
B. n < 100
C. n < 100
D. n <= 100
Câu 8. Hãy đọc đoạn chương trình sau:
s = 0;
for (i = 1; i <= 5; i++) s:= s * i;
Sau khi thực hiện xong, kết quả s bằng
A.10
B. 120
C. 0
D.15
Câu 9. Khi chạy chương trình:
int main()
{
int s, i, j ;
s= 0;
for (i = 1; i <= 3; i++) s= s + 2;
cout<<s;
}
Giá trị của s là:
A. 3
B. 6
C. 8
D. 2
Câu 10. Hãy cho biết đoạn chương trình sau thực hiện công việc?
i: = 0; t:= 0;
while (i < 10000)
{ t:= t + i; i:= i + 2; }
A. Tính tổng các số tự nhiên nhỏ hơn hoặc bằng 10000
B. Tính tổng các số tự nhiên chẵn nhỏ hơn 10000
C. Tính tổng các số tự nhiên chẵn nhỏ hơn hoặc bằng 10000
D. Tính tổng các số tự nhiên nhỏ hơn 10000
Câu 11. Phát biểu nào sau đây ĐÚNG về mảng một chiều?
A. Là dãy hữu hạn các phần tử có cùng kiểu dữ liệu
B. Chỉ là dãy các số nguyên
C. Mảng không chứa các kí tự là chữ cái
D. Là dãy vô hạn các phần tử có cùng kiểu dữ liệu
Câu 12. Cách viết nào sau đây tham chiếu đúng phần tử thứ i của mảng D?
A. D[',i',]
B. D['i']
C. D[i]
D. D(i)
Câu 13. Cấu trúc khai báo mảng là:
A. <kiểu dữ liệu> <tên biến mảng> [<số phần tử>];
B. var <tên biến mảng>:array[kiểu chỉ số] of <kiểu phần tử>;
C. type <tên kiểu mảng> = array [kiểu chỉ số] of <kiểu phần tử>;
D. var <tên biến mảng> : <tên kiểu mảng>;
Câu 14. Xác định kết quả của đoạn chương trình sau: int a[]={1,2,3}; cout<<a[0];
A. 1
B. 0
C. 2
D. Không có đáp án đúng
Câu 15. 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[0. . 19];
C. int a;
D. int a[1. . 20];
Câu 16. Cho khai báo mảng:
int a[20];
và đoạn chương trình như sau:
max =a[1]; for (i= 2; i<=20; i++) if (a[i] > max) max=a[i];
Đoạn chương trình trên thực hiện công việc?
A. Tìm phần tử nhỏ nhất trong mảng
B. Tìm phần tử lớn nhất trong mảng
C. Tìm chỉ số của phần tử lớn nhất trong mảng
D. Tìm chỉ số của phần tử nhỏ nhất trong mảng
Câu 17. Cho khai báo mảng:
int a[20];
và đoạn chương trình như sau:
s=0; for (i= 1; i<=20; i++) s= s + a[i];
Đoạn chương trình trên thực hiện công việc?
A. Tính tích các phần tử trong mảng;
B. Tính tổng các phần tử trong mảng;
C. Tính hiệu các phần tử trong mảng
D. Tính thương các phần tử trong mảng
Câu 18. Cho khai báo mảng:
int a[20];
for (int i = 1; i < =20; i++)
{
cout << a[i] << endl;
}
Đoạn chương trình trên thực hiện công việc?
A.Nhập các phần tử của mảng
B. Xuất các phần tử của mảng
C. Tìm phần tử lớn nhất trong mảng
D. Tìm phần tử nhỏ nhất trong mảng;
Câu 19. Phát biểu nào ĐÚNG về kiểu dữ liệu xâu?
A. Là dãy các ký tự trong bảng mã ASCII
B. Là dãy các ký tự chữ
C. Là dãy các ký tự dấu
D. Là dãy các ký tự số
Câu 20. Hãy chọn phương án ĐÚNG về các phép toán thao tác với xâu ?
A. Cộng, trừ, nhân, chia.
B. Ghép và so sánh.
C. Tính toán và so sánh
D. Cắt, dán, sao chép.
Câu 21. Cách viết nào sau đây tham chiếu đúng phần tử thứ i của xâu S?
A.S[',i',]
B. S['i']
C. S(i)
D. S[i]
Câu 22. Xác định kết quả của đoạn chương trình sau: string A="ABCDE "; cout<<A[1];
A. A
B. B
C. C
D. D
Câu 23. Xác định kết quả của đoạn chương trình sau:
string S="Truong_THPT_Da_Sar"; cout<< S. size();
A. 18
B. 10
C. 11
D. 12
Câu 24. Xác định kết quả của đoạn chương trình sau:
string a="xin chaoban";
string istr = " cac ";
a.insert(8, istr);
cout << a << endl;
A. Chaoban
B. xin chao
C. xin chao cac ban
D. xinchaoban
Câu 25. Xác định kết quả của đoạn chương trình sau: string
S="Thanh_Pho_Da_Lat"; cout<<S. erase(9,7);
A.Thanh_Pho
B. Pho_ Da
C.Thanh_Pho_Da
D._Pho_Da_Lat
Câu 26: Biểu thức nào sau đây trả về giá trị true?
A. “ TINHOC” = “tin hoc”.
B. “AC” < ”AA”
C. “AAA” < ”AC”
D. “may” > ”maymoc”
Câu 27: Xác định kết quả của đoạn chương trình sau:
string S="Truong_THPT_Da_Sar "; cout<<S. substr(12,6);
A. Da_Sar
B. THPT_D
C. Truong_
D. uong_Da
Câu 28. Đoạn chương trình dưới đây cho kết quả là bao nhiêu?
string s1="Hello world";
cout<<s1.length()<<endl;
A. 9
B. 10
C. 11
D. 12
Cú pháp nào sau đây để đánh dấu sự bắt đầu và kết thúc của một khối lập trình ?
{ }
-> and <-
BEGIN and END
( and )
Chọn cách khai báo biến đúng?
int a;b;c;
int a,b,c;
int:a,b,c;
var a,b,c:integer;
1.Trong 1 chương trình C++, hàm nào sau đây bắt buộc phải có ?
start()
system()
main()
program()
Kết quả sau khi chạy chương trình trên là gì?
20
10
30
40
Đoạn lệnh sau dùng để làm gì ?
int n, res; cin>>n; res = 1;
for(int i = 1;i<=n;i++) res *= i;
cout<<res;
Tính n! (n giai thừa)
Tính tích các số từ 1 đến n-1
Tính tổng các số từ 1 đến n<br />
Đoạn lệnh bị lỗi
Đoạn lệnh sau cho kết quả là
tong=0;
for (i=5; i<10; i++)
if (i%2==0) tong=tong+i;
14
15
16
17
Cho biết kết quả màn hình hiển thị sau khi thực hiện dãy lệnh sau
s=0;
for(int i=1;i<6;i++)
cout<<i <<" ";
1 2 3 4 5 6
12345
123456
1 2 3 4 5
