# Trắc nghiệm C++
Người soạn: Nguyễn Trần Khánh Luân
1. Cho đoạn code dưới đây, dữ liệu chương trình xuất ra là gì ?
```
> #include <iostream>
> int main()
> {
> string s;
> s = "Dong song";
> cout << s;
> return 0;
> }
```
+ Dong
+ Dongsong
+ **Dong song**
+ "Dong song"
2. Xâu lớn nhất trong những xâu dưới đây là?
+ **9**
+ 12345
+ 397850
+ 85
3. Kiểu dữ liệu số thực là ?
+ string
+ int64_t
+ char
+ **float**
4. "101101" chuyển sang số thập phân sẽ thành số nào ?
+ **45**
+ 2
+ 193
+ 63
5. Để loại bỏ những phần tử trùng nhau khi lưu lại, ta nên sử dụng gì ngay lúc lưu vào ?
+ Mảng thông thường
+ **set**
+ vector
+ queue
6. Để xuống hàng khi xuất ra thì dùng gì ?
+ **cout <<endl;**
+ Ấn enter
+ Không có cách xuống dòng
+ return 0;
7. Lỗi của đoạn code phía dưới là ?
```
> #include <iostream>
> int main()
> {
> for (int i = 1; i <= n ; ++i)
> cout << i;
> return 0;
> }
```
+ **Chưa khai báo n**
+ i chạy vô hạn
+ Thiếu dấu ";" sau "}"
+ Không có lỗi
8. swap(A,B) có công dụng là ?
+ Tính tổng A + B
+ **Hoán đổi giá trị A với B cho nhau**
+ Gán A = B
+ Tính tích A*B
9. max(156,"B") cho kết quả là ?
+ 156
+ B
+ **Câu lệnh lỗi**
+ INT_MAX
10. Lệnh nào dùng để nhập từ tệp ?
+ ifstream
+ freopen( )
+ **Cả 2 đều đúng**
+ Cả 2 đều sai
11. Lệnh while(cin>>x) có nghĩa là gì ?
+ **Vòng lặp cho đến khi còn nhập x**
+ Nhập x rồi thực hiện vòng lặp x lần
+ Nhập x rồi thực hiện vòng lặp
+ Câu lệnh lỗi
12. Biến res sau khi thực hiện vòng lặp có giá trị là ?
```
> #include <iostream>
> int main()
> {
> int res = 0;
> for (int i = 1; i <= 5 ; ++i) res+=i;
> return 0;
> }
```
+ res = 5
+ res = 0
+ res = 12345
+ **res = 15**
13. Trong c++, tmp -= 5 có nghĩa là ?
+ tmp = tmp + 5
+ tmp = 5
+ **tmp = tmp - 5**
+ tmp = tmp*tmp/25
14. Cho đoạn code bên dưới, biến nào là biến toàn cục ?
```
> #include <iostream>
> long long int c;
> int main()
> {
> string a,b;
> a = "60";
> return 0;
> }
```
+ A
+ B
+ **C**
+ Cả A,B,C
15. Kiểu dữ liệu "unsigned char" xử lý dữ liệu trong phạm vi nào ?
+ -128 ... +127
+ -32768 ... +32767
+ **0 ... 255**
+ 1.17549e-38 ... 3.40282e+38
16. Giả sử a và b là 2 số thực. Biểu thức nào dưới đây là không được phép ?
+ (a+=b)
+ (a-=b)
+ **(a>>=b)**
+ (a*=b)
17. Lệnh nào sau đây để nhập dữ liệu vào xâu s kể cả dấu cách ?
+ **getline(cin,s);**
+ cin >> s;
+ cout >> s;
+ s.length();
18. Giá trị của (73>1) là
+ **1**
+ 0
+ -1
+ Không có kết quả
19. Độ rộng bit của "short int" là bao nhiêu byte ?
+ 1 byte
+ **2 byte**
+ 3 byte
+ 4 byte
20. Cách nào để bình luận trong C++
+ // comment //
+ /* comment */
+ **Cả 2 đáp án trên**
+ Không có đáp án đúng
21. Ai là người tạo ra ngôn ngữ C++
+ Dennis Ritchie
+ **Bjarne Stroustrup**
+ Ortis Jarvis
+ Okira Zamaru
22. Trong C++, thao tác nào được gọi lá chèn, đưa vào ?
+ **`<<`**
+ `>>`
+ `>`
+ `<`