# ***Ôn tập trắc nghiệm C++***
***Người viết:Trần Nhật Vĩ 11Tin***
1. Chọn kết quả thực hiện của chương trình sau:
`
void main()
{
cout<<"15/3";
}
`
+ 153
+ **15/3**
+ 5
+ Cả 3 đều sai
2. Cho biết kết quả của chương trình sau với n=792:
`
int n, k;
while(n)
{
k=n%10;
cout<<k;
n/=10;
}
`
+ **297**
+ 792
+ 0
+ 10
3. Để khai báo kiểu số thực trong c++ ta dùng kiểu nào?
+ int
+ **float**
+ real
+ char
4. Kiểu "unsigned int" có giới hạn giá trị nào sau đây:
+ -2147483648 tới 2147483647
+ **0 tới 4294967295**
+ 0 tới 2147483647
+ 0 tới 65,535
5. Để xác định độ rộng bit của kiểu dữ liệu ta dùng gì?
+ **`sizeof()`**
+ `typedef()`
+ `size()`
+ `count()`
6. Để tạo ra một vòng lặp vô hạn, ta có thể dùng cách nào(chọn đáp án đúng nhất)?
+ `for(;;)`
+ `while(0==0)`
+ Cả hai đều sai
+ **Cả hai đều đúng**
7. Lệnh break dùng để?
+ Khi gặp lệnh này thì chương trình sẽ bỏ qua các câu lệnh ở dưới nó (trong cùng một câu lệnh lặp) để thực hiện vòng lặp mới.
+ **Kết thúc vòng lặp hoặc lệnh switch và chuyển sang lệnh hoặc vòng lặp tiếp theo ngay sau vòng lặp mà nó kết thúc**
+ Chuyển tới lệnh được gán.
+ Thực thi một dãy các lệnh nhiều lần và tóm tắt đoạn code mà quản lý biến vòng lặp.
8. Mỗi lệnh đơn phải được kết thúc bằng dấu nào?
+ " "
+ **;**
+ )
+ /
9. Hàm là gì?
+ Là một kiểu dữ liệu
+ **Là một hoặc nhóm các lệnh đi cùng nhau để thực hiện nhiệm vụ**
+ Là một con trỏ
+ Là một lớp lưu trữ
10. Một chương trình C++ có tối thiểu bao nhiêu hàm?
+ 0
+ **1**
+ 2
+ Vô số
11. Để trả về một số ngẫu nhiên trong C++, ta có thể sử dụng hàm nào?
+ `int()`
+ `abs()`
+ **`rand()`**
+ `random()`
12. Cách khởi tạo mảng nào sau đây đúng?
+ **`int hanghoa[5] = {45, 34, 29, 67, 49};`**
+ `hanghoa= {45, 34, 29, 67, 49};`
+ Cả hai đều sai
+ Cả hai đều đúng
13. Một chuỗi được kết thúc bằng kí tự nào?
+ Một kí tự bất kì
+ **Một kí tự null**
+ Dấu cách
+ Không có đáp án nào đúng
14. Trong C++ chuỗi được thể hiện bằng kiểu dữ liệu nào?
+ int
+ double
+ **string**
+ float
15. Cho lệnh sau:
`if (k<30) z=40 else z=45;`
Lệnh nào có cùng ý nghĩa và cách hoạt động với dòng trên?
+ `k=30;z=45;`
+ `k=29;z=40;`
+ **`z = (k < 30) ? 40 : 45;`**
+ Cả 3 đều sai
16. Cho các dòng lệnh sau:
A: `for (int i=1;i<=10;i++) cout<<i;`
B: `
int n=0;
for (int i=1;i<=n;i++) {cout<<0;n++;}
`
C: `while(0==0) cout<<1;`
D: `for (;;) cout<<0;`
Dòng lệnh nào chạy vô hạn?
+ B,C,D
+ B,C
+ **C,D**
+ Tất cả đều đúng
17. Để định một nghĩa cấu trúc trong C++, ta sử dụng câu lệnh nào?
+ **`struct`**
+ `int main()`
+ `cout<<`
+ `return 0`
18. Dấu "//" trong C++ có khả năng gì?
+ Làm cho dòng lệnh cùng dòng và đằng sau dấu // sẽ được ưu tiên chạy trước
+ **Những dòng lệnh hoặc chú thích cùng dòng và đằng sau dấu `//` sẽ ko ảnh hưởng khi chạy hay kiểm code**
+ Có tác dụng tương tự với cout nhưng được in đậm
+ Tất cả đều sai
19. Ngoài kí tự "//", ta còn có thể dùng cách nào để comment code?
+ `endl`
+ `\\`
+ bắt đầu với `\*` và kết thúc với `*\`
+ **bắt đầu với `/*` và kết thúc với `*/`**
20. Cho chương trình sau:
**1** `#include <iostream>`
**2** `using namespace std;`
**3** `struct a{int vt;int ok;};`
**4** `int main ()`
**5** `{`
**6** `int n=5;`
**7** `int k[100];`
**8** `for( ;; )`
**9** `{`
**10** `cout<<"Vong lap nay se chay mai"<<endl;`
**11** `/* n++;*/`
**12** `}`
**13** `//int a={1,2,3,4};`
**14** `cout<<sizeof(int);`
**15** `return 0;`
**16** `}`
Chương trình trên có thể dịch lỗi ở dòng thứ mấy ?
+ 3
+ 11
+ 13
+ **Không có lỗi**
***Trần Nhật Vĩ-11Tin***