vector<int> v(22);
bool b = (v[6]);
printf("%d", !b);
Sai
0
1
Đoạn mã này có lỗi.
Câu hỏi 2. Trong số các lý do sau đây, việc sử dụng dòng này được coi là một thói quen xấu vì sao? (Lựa chọn thay thế: Tại sao việc sử dụng dòng này được coi là một thói quen xấu?)
usingnamespace std;
Mã được biên dịch luôn lớn hơn do tất cả các ký hiệu đã được nhập.
Nếu mã sử dụng một hàm được xác định trong hai thư viện khác nhau với cùng một nguyên mẫu nhưng có thể có các cài đặt khác nhau, sẽ có lỗi biên dịch do sự mơ hồ.
Nó tự động bao gồm tất cả các tệp tiêu đề trong thư viện tiêu chuẩn (cstdint, cstdlib, cstdio, iostream, vv).
Nó khiến trình biên dịch bắt buộc bao gồm độc quyền các tệp tiêu đề thuộc thư viện tiêu chuẩn, tạo ra một lỗi biên dịch khi bao gồm một tệp tiêu đề khác.
Câu hỏi 5. Câu nào sau đây là một câu tốt về sự khác biệt giữa con trỏ và trình duyệt?
Trong khi con trỏ là biến chứa địa chỉ bộ nhớ, trình duyệt là các hàm tổng quát được sử dụng để duyệt qua các container. Hàm này cho phép người lập trình triển khai mã đọc và ghi khi container được duyệt qua.
Tăng một trình duyệt luôn có nghĩa là truy cập vào phần tử tiếp theo trong container (nếu có), không phụ thuộc vào container. Tăng một con trỏ có nghĩa là trỏ đến phần tử tiếp theo trong bộ nhớ, không luôn là phần tử tiếp theo.
Con trỏ là biến chứa địa chỉ bộ nhớ trong khi trình duyệt là số nguyên không dấu tham chiếu đến offset trong mảng.
Tất cả trình duyệt được triển khai với con trỏ nên tất cả trình duyệt đều là con trỏ nhưng không phải tất cả con trỏ là trình duyệt.
Câu hỏi 10. Giả sử bạn cần giữ một cấu trúc dữ liệu với quyền truy cập vào một số nguồn tài nguyên dựa trên các ngày trong tuần, nhưng bạn không thể sử dụng một biến bool cho mỗi ngày. Bạn cần sử dụng một bit cho mỗi ngày trong tuần. Cài đặt nào sau đây là đúng cho ứng dụng này?
A
typedefstruct {int sunday:1;
int monday:1;
// more daysint friday:1;
int saturday:1;
} weekdays;
B
typedefchar[7]: weekdays;
C
typedefstruct { bit sunday:1;
bit monday:1;
// more days bit friday:1;
bit saturday:1;
} weekdays;
D
typedefstruct { bit sunday;
bit monday;
// more days bit friday;
bit saturday;
} weekdays;
Tham khảoLƯU Ý: Cú pháp đúng là mỗi biến có kích thước 1 bit. bit không phải là một kiểu trong C++.
Câu hỏi 11. Lvalue là gì?
Đó là một biểu thức hằng số, có nghĩa là một biểu thức được tạo thành từ các hằng số và các hoạt động.
Đó là một biểu thức biểu diễn một đối tượng có địa chỉ.
Đó là một biểu thức phù hợp cho toán hạng bên trái trong một phép toán nhị phân.
Đó là một giá trị vị trí, có nghĩa là một địa chỉ bộ nhớ phù hợp để gán cho một con trỏ hoặc tham chiếu.
Câu hỏi 12. Cụm từ kiểu auto làm gì trong dòng mã này (từ C++11)?
auto x = 4000.22;
Nó chỉ định rằng kiểu của x sẽ được suy luận từ bộ khởi tạo - trong trường hợp này là double.
Nó chỉ định rằng kiểu của x là tự động có nghĩa là nó có thể được gán các loại dữ liệu khác nhau trong toàn bộ chương trình.
Nó chỉ định rằng x là một biến với thời gian lưu trữ tự động.
Nó chỉ định rằng nhiều bộ nhớ hơn sẽ được cấp phát cho x trong trường hợp nó cần nhiều không gian hơn, tránh mất dữ liệu do tràn.
Câu hỏi 13. Một mẫu lớp là _?
lớp được viết với mô hình lập trình chung, chỉ định hành vi dưới dạng tham số kiểu chứ không phải là kiểu cụ thể.
superclass trống dành cho việc kế thừa và đa hình.
lớp chỉ gồm một biến thành viên, không có hàm tạo, hàm hủy hoặc các hàm thành viên.
mã nguồn mẫu cho một lớp nơi người lập trình phải điền vào các phần cụ thể để xác định các loại dữ liệu và thuật toán được sử dụng.
#include<iostream>intmain(){
int x=10, y=20;
std::cout << "x = " << x++ << " and y = " << --y << std::endl;
std::cout << "x = " << x-- << " and y = " << ++y << std::endl;
return(0);
}
x = 10 và y = 20 x = 11 và y = 19
x = 11 và y = 19 x = 10 và y = 20
x = 10 và y = 19 x = 11 và y = 20
x = 11 và y = 20 x = 10 và y = 19
Câu hỏi 16. Ý nghĩa của hai phần được chỉ định giữa dấu ngoặc đơn trong một vòng lặp dựa trên phạm vi, được phân tách bởi dấu hai chấm là gì?
Phần đầu tiên là một khai báo biến sẽ chứa một phần tử trong một chuỗi. Phần thứ hai là chuỗi để duyệt qua.
Phần đầu tiên là một bộ lặp, và phần thứ hai là giá trị tăng thêm vào bộ lặp.
Phần đầu tiên là biến lặp. Phần thứ hai là std::pair xác định phạm vi (bắt đầu và kết thúc) mà biến sẽ lặp qua.
Phần đầu tiên là một đối tượng container. Phần thứ hai là một std::pair xác định phạm vi (bắt đầu và kết thúc) mà các phần tử sẽ được truy cập trong vòng lặp.