## TRẮC NGHIỆM C++
Nguyễn Thị Huyền Linh - 11Tin
1. Đâu là cú pháp đúng để thêm tiêu đề trong chương trình C++?
* **#include <filename>**
* include "filename.h"
* <include>"filename.h"
* #include filename.h
2. Ai là người thiết kế ra ngôn ngữ C++?
* Guido van Rossum
* Dennis Ritchie
* **Bjarne Stroustrup**
* Sun Microsystems
3. Nhận biết nào sau đây là định danh đúng?
* $ var_name
* **VAR_123**
* varname @
* Không có cái nào ở trên
4. Kí tự nào sau đây là toán tử địa chỉ?
* @
* *#*
* **&**
* %
5. Cú pháp nào sau đây là đúng để đọc một hoặc nhiều ký tự trên bảng điều khiển trong ngôn ngữ C ++?
* Đọc ch ()
* Getline vh ()
* **get (ch)**
* Scanf (ch)
6. Cú pháp a.top() là của hàm nào?
* vector
* set
* queue
* **stack**
7. Cấu trúc dữ liệu Queue C++ hoạt động dựa trên kỹ thuật?
* **FIFO**
* FILO
* LIFO
* LILO
8. Lệnh swap(a,b) có nghĩa là?
* **Hoán đổi giá trị hai phần tử a,b**
* Tăng giá trị a thành a+b
* Giảm giá trị a thành a-b
* Tính tích a*b
9. Cú pháp chú thích nào sau đây là đúng để tạo chú thích một dòng trong chương trình C ++?
* **//Bình luận**
* /Bình luận/
* Bình luận//
* Không có cái nào ở trên
10. Để chèn một dòng mới trong chương trình C ++, có thể dùng câu lệnh nào sau đây?
* **endl**
* \ r
* \ a
* /n
11. Cái nào sau đây đại diện cho tab?
* \ n
* **\ t**
* \ r
* Không có cái nào ở trên
12. Cú pháp khai báo mảng nào sau đây là đúng?
* mang init[]
* **int mang[5];**
* Mang [5];
* Không có cái nào ở trên
13. Đâu là cú pháp đúng để in địa chỉ của phần tử đầu tiên?
* **array[0];**
* array[1];
* array[2];
* Không có cái nào ở trên
14. Cho chương trình có: int array[]={10,20,30};. Kết quả của cú pháp "cout<< -2[array];" là:
* -15
* **-30**
* Lỗi biên dịch
* Giá trị rác
15. Trong C ++, "rank ()" được sử dụng cho mục đích gì?
* Nó trả về kích thước của từng thứ nguyên
* Nó trả về số phần tử tối đa có thể được lưu trữ trong mảng
* **Nó trả về kích thước của mảng được chỉ định**
* Không có cái nào ở trên
16. Định nghĩa nào sau đây là đúng của "is_array ();" hàm trong C ++?
* **Nó kiểm tra xem biến được chỉ định có thuộc mảng hay không**
* Nó kiểm tra xem mảng được chỉ định có kích thước đơn hay không
* Nó kiểm tra xem mảng được chỉ định đa chiều hay không
* Cả B và C
17. Định nghĩa nào sau đây là đúng của "is_array ();" hàm trong C ++?
* **Nó kiểm tra xem biến được chỉ định có thuộc mảng hay không**
* Nó kiểm tra xem mảng được chỉ định có kích thước đơn hay không
* Nó kiểm tra xem mảng được chỉ định đa chiều hay không
* Cả B và C
18. Quan sát chương trình C ++ sau và chọn đầu ra chính xác:
#include <iostream>
#include <string>
using namespace std;
int main ()
{
cout << is_array <int> :: value; // trường hợp A
cout << is_array <char [10]> :: value; // trường hợp B
cout << is_array <string> :: value; // trường hợp C
return 0;
}
* 110
* 001
* **010**
* 101
19. Đọc kỹ chương trình C ++ sau và chọn đầu ra chính xác:
#include <iostream>
#include <string>
sử dụng không gian tên std;
int main ()
{
cout << rank <int [10]> :: value; // Trường hợp A
cout << rank <char [10][10]> :: value; // Trường hợp B
cout << rank <string [10][10][10]> :: value; // Trường hợp C
return 0;
}
* 121
* 321
* **123**
* 010
20. Ý nào sau đây đề cập đúng đến Delete và Delete [] trong ngôn ngữ lập trình C ++?
* Delete là chính xác về mặt cú pháp, mặc dù nếu Delete [] được sử dụng, nó sẽ gặp lỗi.
* "Delete" được sử dụng để xóa các đối tượng tiêu chuẩn, trong khi "Delete []" được sử dụng để xóa các đối tượng con trỏ.
* "Delete" là một loại từ khóa, trong khi "Delete []" là một loại định danh.
* **"Delete" được sử dụng để xóa một đối tượng tiêu chuẩn, trong khi "Delete []" được sử dụng để xóa một mảng nhiều đối tượng.**
21. Phát biểu nào sau đây là đúng về Thừa kế ảo?
* Đó là một kỹ thuật để đảm bảo rằng một thành viên riêng của một lớp cơ sở có thể được truy cập.
* Đó là một kỹ thuật để tối ưu hóa nhiều kế thừa.
* Đó là một kỹ thuật để tránh sự kế thừa nhiều lớp của các lớp.
* **Đó là một kỹ thuật C ++ để tránh nhiều bản sao của lớp cơ sở vào các lớp dẫn xuất hoặc lớp con.**
22. Thành phần nào sau đây có thể được coi là thành viên có thể kế thừa nhưng không thể truy cập trong bất kỳ lớp nào?
* Public
* **Private**
* Protected
* Cả A và C
23. Câu lệnh Break trong C++ dùng để:
* **Ngắt vòng lặp**
* Dừng chương trình chính
* Không chạy câu lệnh phía sau
* Tiếp tục chương trình
24. Cho một đoạn chương trình:
int i=1;
while(i<=10)
{
cout << i << '\n';
i++;
}
Đoạn chương trình trên tương đương với câu lệnh nào sau đây?
* for(int i=1; i<10; i++) cout << i << endl;
* **for(int i=1; i<=10; i++) cout << i << '\n';**
* for(int i=10; i>1; --i) cout << i << '\n';
* for( i= 1; i<=10; ++i) cout << i << end;
25. Các tham chiếu khác với con trỏ như thế nào?
* Một tham chiếu không thể được sửa đổi sau khi nó được khởi tạo
* Không cần thêm một nhà điều hành để đọc tài liệu tham khảo
* Tham chiếu không được NULL
* **Tất cả những điều trên**
26. Điều nào sau đây nói đúng về C++?
* là một ngôn ngữ lập trình có cấu trúc.
* dữ liệu và các hàm là các thực thể tự do.
* **hỗ trợ cả ngôn ngữ lập trình cấu trúc và hướng đối tượng.**
* không hỗ trợ chức năng ảo và kết bạn.
27. Đâu không phải là OOPS trong C++?
* Class
* Object
* Polymorphism
* **Map**
28. Định nghĩa mã thông báo là?
* Từ khóa
* Hằng số
* Kí hiệu
* **Tất cả ý trên**
29. Đâu là điểm khác biệt giữa Struct so với Class?
* **Các biến của một Struct được lưu trữ trong bộ nhớ ngăn xếp. Còn các biến của một Class được lưu trữ trong bộ nhớ heap.**
* Struct là một kiểu dữ liệu do người dùng định nghĩa, chứa các biến thành viên và các hàm thành viên.
* Struct hỗ trợ khái niệm kế thừa.
* Kiểu của một Struct là một kiểu tham chiếu.
30. Hàm setprecision(int n) nghĩa là gì?
* Lấy n số sau phần thập phân
* **Chỉ lấy và làm tròn đến n-1 số ở phần thập phân**
* Làm tròn số để mất phần thập phân
* Giữ nguyên phần thập phân của số