## 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ố