# ***Ô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***