# Trắc nghiệm C++
Người soạn: Đào Hùng Thuận
1. Trong cấu trúc chương trình C++, lệnh #include dùng để?
* Khai báo các câu lệnh được sử dụng trong chương trình
* **Thông báo cho bộ tiền biên dịch thêm các thư viện chuẩn trong C++**
* Thông báo trong chương trình sử dụng các lệnh tính toán
* Không có đáp án đúng
2. Trong cấu trúc chương trình C++, có bao nhiêu hàm main()?
* **1**
* 2
* 5
* 3
3. Đối tượng trong C++ là gì?
* Là một thực thể
* Là một khuôn mẫu được tạo ra trong phần mềm
* **Là biểu diễn của một thực thể trong thế giới thực của phần mềm**
* Là nhóm thực thể có thuộc tính chung
4. Class(lớp) trong C++ là gì?
* **Là một khuôn mẫu hoặc bản vẽ định nghĩa trạng thái và hành vi của tất cả các đối tượng thuộc về lớp đó**
* Là một khuôn mẫu định nghĩa trong phần mềm
* Là một dạng hàm của chương trình
* Là một bản vẽ hoặc khuôn mẫu định nghĩa các hàm giao tiếp với người dùng của chương trình hướng đối tượng
5. Các file.h trong C++ có tác dụng gì?
* Thư viện mã nguồn của C++
* **Các file header chứa các định nghĩa sẵn hỗ trợ cho việc lập trình C++**
* Các chương trình đã được mã hóa nhằm hỗ trợ cho việc lập trình C++
* Một bộ phận của trình biên dịch C++
6. Một khối lệnh trong C++ được biểu diễn dưới dạng nào?
* **{}**
* <>
* ""
* Tất cả đều sai
7. File C++ sau khi biên dịch được biểu diễn dưới dạng nào?
* .CPP
* .C
* .BAK
* **.EXE**
8. Câu lệnh nào sau đây dùng để stream đầu vào chuẩn trong C++?
* getline
* **cin**
* print
* cout
9. Câu lệnh nào sau đây dùng để stream đầu ra chuẩn trong C++?
* cin
* getline
* **cout**
* print
10. Để chú thích trên một dòng lệnh trong C++, ta dùng?
* \\
* <<
* **//**
* ""
11. Quy tắc đặt tên biến nào sau đây là đúng?
* Không trùng với các từ khóa
* Không chứa các kí hiệu đặc biệt hoặc dấu cách
* Là một chuỗi gồm nhiều kí tự chữ, số hoặc ký tự gạch dưới, bắt đầu bằng một ký tự hoặc dấu gạch dưới
* **Tất cả đều đúng**
12. Biến toàn cục là gì?
* Biến khai báo trong thân một hàm hoặc một khối lệnh
* **Biến khai báo trong thân main hoặc bên ngoài tất cả các hàm**
* Tất cả đều đúng
* Tất cả đều sai
13. Biến cục bộ là dạng biến gì?
* **Là biến khai báo trong một hàm hoặc một khối lệnh**
* Là biến khai báo trong thân một hàm
* Là biến khai báo trong thân một khối lệnh
* Là biến khai báo trong thân hàm main
14. Chuỗi ký tự(string) là gì?
* Có giá trị không phải là số và độ dài bằng 1
* **Các giá trị cả chữ và số, nằm trong hai dấu nháy"" và kết thúc với một kí tự null**
* Các biến có giá trị true hoặc false
* Các giá trị số lớn hơn 0
15. Đoạn lệnh sau đây có kết quả bằng bao nhiêu?
int main()
{
int i=5+7%2;
cout << i;
return 0;
}
* Lỗi biên dịch
* 8
* 0
* **6**
16. Đoạn lệnh sau có kết quả bằng bao nhiêu?
int main()
{
a = 2+(b=5);
cout<<a%b;
return 0;
}
* 2
* 5
* **lỗi biên dịch**
* một giá trị bất kì
17. Kết quả đoạn lệnh sau là bao nhiêu? For (int i = 0; i < 3; i++) cout << ii << “,”;?
* Lặp vô hạn
* 0,1,4,9
* **0,1,4**
* Lỗi biên dịch
18. Thế nào là truyền tham biến? Hãy chọn câu trả lời đúng nhất.
* Truyền địa chỉ của biến và hàm
* Truyền bản sao của biến vào hàm
* Truyền bản sao của tham số vào biến
* **Truyền giá trị của tham số vào biến**
19. Mảng là gì?
* **một chuỗi các phần tử cùng kiểu được đặt trên các vị trí bộ nhớ liên tiếp nhau, trong đó mỗi thành phần có thể được tham chiếu thông qua số chỉ mục và tên mảng**
* một chuỗi các phần tử cùng kiểu được đặt trên các vị trí bộ nhớ liên tiếp nhau, trong đó mỗi phần tử có thể tham chiếu thông qua số chỉ mục và tên mảng
* một chuỗi các phần tử khác kiểu được đặt trên các vị trí bộ nhớ liên tiếp nhau, trong đó mỗi thành phần có thể được tham chiếu thông qua số chỉ mục và tên mảng
* Không có đáp án đúng
20. Cách khai báo mảng nào là chính xác?
* <Kiểu dữ liệu><Tên mảng>[]=new<Kiểu dữ liệu mảng>[Số phần tử];
* <Kiểu dữ liệu mảng>[]<Tên mảng>;
* **<Kiểu dữ liệu mảng><Tên mảng>[số phần tử];**
* <Kiểu dữ liệu mảng>[số phần tử];
21. Con trỏ là gì?
* Là biến điều khiển chuột chạy trên màn hình window
* **Là biến dùng để lưu địa chỉ biến khác**
* Là biến nêu nội dung của biến khác
* Là biến sao chép nội dung của biến khác
22. Cách khai báo con trỏ nào sau đây là đúng?
* <Kiểu dữ liệu><Tên biến con trỏ>
* <Kiểu dữ liệu><Tên biến con trỏ>*;
* **<Kiểu dữ liệu> * <Tên biến con trỏ>;**
* Tất cả đều đúng