Trả lời:
Đáp án đúng: B
Trong hầu hết các ngôn ngữ lập trình, hàm (function) hoàn toàn có thể trả về một số thực (floating-point number). Việc hàm trả về kiểu dữ liệu nào phụ thuộc vào định nghĩa và mục đích của hàm đó. Vì vậy, khẳng định "Functions can not return a floating point number" là sai.
Câu hỏi liên quan
Lời giải:
Đáp án đúng: A
Đề bài yêu cầu xác định kết quả in ra màn hình của đoạn code C++.
Đoạn code khai báo một mảng `arr` kiểu `int` có kích thước 5 và khởi tạo các giá trị ban đầu là {1, 2, 3, 4, 5}.
Tiếp theo, một con trỏ `ptr` kiểu `int` được gán địa chỉ của phần tử đầu tiên trong mảng `arr` (tức là `arr[0]`).
Câu lệnh `*(ptr + 4) = *(ptr + 1) + 3;` thực hiện các bước sau:
1. `ptr + 4` trỏ tới phần tử thứ 5 của mảng `arr` (tức là `arr[4]`).
2. `ptr + 1` trỏ tới phần tử thứ 2 của mảng `arr` (tức là `arr[1]`, có giá trị là 2).
3. `*(ptr + 1) + 3` lấy giá trị của `arr[1]` (là 2) và cộng thêm 3, kết quả là 5.
4. `*(ptr + 4) = 5` gán giá trị 5 cho phần tử thứ 5 của mảng `arr` (tức là `arr[4]`).
Như vậy, sau câu lệnh này, `arr[4]` có giá trị là 5.
Cuối cùng, đoạn code in ra giá trị của `arr[1]` và `arr[4]`. `arr[1]` có giá trị ban đầu là 2. Vì không có sự thay đổi giá trị `arr[1]` nên giá trị của nó vẫn là 2. Tuy nhiên, sau khi thực hiện gán `*(ptr + 4) = *(ptr + 1) + 3;`, `arr[4]` có giá trị là 5.
Vì vậy, chương trình sẽ in ra `2 5`.
Tuy nhiên, do không có đáp án nào phù hợp, đáp án đúng là "None of above".
Đoạn code khai báo một mảng `arr` kiểu `int` có kích thước 5 và khởi tạo các giá trị ban đầu là {1, 2, 3, 4, 5}.
Tiếp theo, một con trỏ `ptr` kiểu `int` được gán địa chỉ của phần tử đầu tiên trong mảng `arr` (tức là `arr[0]`).
Câu lệnh `*(ptr + 4) = *(ptr + 1) + 3;` thực hiện các bước sau:
1. `ptr + 4` trỏ tới phần tử thứ 5 của mảng `arr` (tức là `arr[4]`).
2. `ptr + 1` trỏ tới phần tử thứ 2 của mảng `arr` (tức là `arr[1]`, có giá trị là 2).
3. `*(ptr + 1) + 3` lấy giá trị của `arr[1]` (là 2) và cộng thêm 3, kết quả là 5.
4. `*(ptr + 4) = 5` gán giá trị 5 cho phần tử thứ 5 của mảng `arr` (tức là `arr[4]`).
Như vậy, sau câu lệnh này, `arr[4]` có giá trị là 5.
Cuối cùng, đoạn code in ra giá trị của `arr[1]` và `arr[4]`. `arr[1]` có giá trị ban đầu là 2. Vì không có sự thay đổi giá trị `arr[1]` nên giá trị của nó vẫn là 2. Tuy nhiên, sau khi thực hiện gán `*(ptr + 4) = *(ptr + 1) + 3;`, `arr[4]` có giá trị là 5.
Vì vậy, chương trình sẽ in ra `2 5`.
Tuy nhiên, do không có đáp án nào phù hợp, đáp án đúng là "None of above".
Lời giải:
Đáp án đúng: A
Đoạn code C này thực hiện một số phép toán trên các biến `i`, `j`, và `k`. Ta sẽ theo dõi giá trị của các biến này qua từng bước:
1. Khởi tạo: `i = 1`, `j = 2`, `k = 3`
2. `i += j += k;`: Biểu thức này được thực hiện từ phải sang trái.
* `j += k` tương đương với `j = j + k = 2 + 3 = 5`. Vậy, `j` bây giờ là 5.
* `i += j` tương đương với `i = i + j = 1 + 5 = 6`. Vậy, `i` bây giờ là 6.
3. `k *= i + j;`: `k = k * (i + j) = 3 * (6 + 5) = 3 * 11 = 33`. Vậy, `k` bây giờ là 33.
4. `i %= j %= k;`: Biểu thức này được thực hiện từ phải sang trái.
* `j %= k` tương đương với `j = j % k = 5 % 33 = 5`. Vậy, `j` bây giờ là 5.
* `i %= j` tương đương với `i = i % j = 6 % 5 = 1`. Vậy, `i` bây giờ là 1.
5. `printf("%d %d %d\n", i, j, k);`: In ra giá trị của `i`, `j`, và `k`.
Vậy, đầu ra của chương trình là `1 5 33`.
Tuy nhiên, không có đáp án nào trùng với kết quả này. Có vẻ như các đáp án đều sai.
1. Khởi tạo: `i = 1`, `j = 2`, `k = 3`
2. `i += j += k;`: Biểu thức này được thực hiện từ phải sang trái.
* `j += k` tương đương với `j = j + k = 2 + 3 = 5`. Vậy, `j` bây giờ là 5.
* `i += j` tương đương với `i = i + j = 1 + 5 = 6`. Vậy, `i` bây giờ là 6.
3. `k *= i + j;`: `k = k * (i + j) = 3 * (6 + 5) = 3 * 11 = 33`. Vậy, `k` bây giờ là 33.
4. `i %= j %= k;`: Biểu thức này được thực hiện từ phải sang trái.
* `j %= k` tương đương với `j = j % k = 5 % 33 = 5`. Vậy, `j` bây giờ là 5.
* `i %= j` tương đương với `i = i % j = 6 % 5 = 1`. Vậy, `i` bây giờ là 1.
5. `printf("%d %d %d\n", i, j, k);`: In ra giá trị của `i`, `j`, và `k`.
Vậy, đầu ra của chương trình là `1 5 33`.
Tuy nhiên, không có đáp án nào trùng với kết quả này. Có vẻ như các đáp án đều sai.
Lời giải:
Đáp án đúng: A
Đề bài yêu cầu xác định kết quả in ra màn hình của đoạn code C++.
Đoạn code có một mảng `arr` được khởi tạo với các giá trị {5, 10, 15}. Sau đó, một con trỏ `ptr` được gán địa chỉ của phần tử cuối cùng trong mảng (arr + 2). Tiếp theo, một vòng lặp `for` được sử dụng để in ra các giá trị mà `ptr` trỏ tới, sau đó `ptr` được giảm đi để trỏ đến phần tử trước đó trong mảng.
Vòng lặp chạy 3 lần:
- Lần 1: `ptr` trỏ đến `arr[2]` (giá trị 15), in ra 15, `ptr` trở thành `arr[1]`
- Lần 2: `ptr` trỏ đến `arr[1]` (giá trị 10), in ra 10, `ptr` trở thành `arr[0]`
- Lần 3: `ptr` trỏ đến `arr[0]` (giá trị 5), in ra 5, `ptr` trở thành địa chỉ trước `arr[0]`
Vậy, output sẽ là: 15 10 5
Đoạn code có một mảng `arr` được khởi tạo với các giá trị {5, 10, 15}. Sau đó, một con trỏ `ptr` được gán địa chỉ của phần tử cuối cùng trong mảng (arr + 2). Tiếp theo, một vòng lặp `for` được sử dụng để in ra các giá trị mà `ptr` trỏ tới, sau đó `ptr` được giảm đi để trỏ đến phần tử trước đó trong mảng.
Vòng lặp chạy 3 lần:
- Lần 1: `ptr` trỏ đến `arr[2]` (giá trị 15), in ra 15, `ptr` trở thành `arr[1]`
- Lần 2: `ptr` trỏ đến `arr[1]` (giá trị 10), in ra 10, `ptr` trở thành `arr[0]`
- Lần 3: `ptr` trỏ đến `arr[0]` (giá trị 5), in ra 5, `ptr` trở thành địa chỉ trước `arr[0]`
Vậy, output sẽ là: 15 10 5
Lời giải:
Đáp án đúng: B
Chương trình C trên sử dụng thư viện `graphics.h` (thường dùng trong Turbo C) để vẽ hình tròn. Tuy nhiên, có một lỗi quan trọng:
* Thiếu khai báo hàm `display()`: Hàm `display()` được gọi trong `main()` nhưng không được định nghĩa (khai báo và triển khai). Trình biên dịch sẽ báo lỗi vì không biết hàm `display()` là gì và làm gì.
Do đó, đáp án chính xác là B.
* Thiếu khai báo hàm `display()`: Hàm `display()` được gọi trong `main()` nhưng không được định nghĩa (khai báo và triển khai). Trình biên dịch sẽ báo lỗi vì không biết hàm `display()` là gì và làm gì.
Do đó, đáp án chính xác là B.
Lời giải:
Đáp án đúng: A
Đề bài yêu cầu xác định kết quả in ra màn hình của đoạn code C++ cho sẵn.
Phân tích đoạn code:
1. Khai báo biến:
- `int arr[] = {4, 5, 6, 7};` Khai báo một mảng số nguyên `arr` và khởi tạo giá trị.
- `int *p = (arr + 1);` Khai báo con trỏ `p` kiểu số nguyên và gán địa chỉ của phần tử thứ hai trong mảng `arr` (tức là `arr[1]`, có giá trị là 5).
2. Thay đổi giá trị:
- `*(arr + 1) = 4;` Gán giá trị 4 cho phần tử thứ hai của mảng `arr`. Mảng `arr` bây giờ là `{4, 4, 6, 7}`.
- `*(p + 2) = 1;` Gán giá trị 1 cho phần tử có địa chỉ cách địa chỉ mà `p` đang trỏ tới 2 đơn vị. Vì `p` trỏ tới `arr[1]`, `p + 2` sẽ trỏ tới `arr[3]`. Mảng `arr` bây giờ là `{4, 4, 6, 1}`.
3. In ra màn hình:
- `cout << arr[0] << " " << arr[1] << " " << arr[3];` In ra các giá trị của `arr[0]`, `arr[1]` và `arr[3]`, tức là 4 4 1.
Vậy đáp án đúng là C. 4 4 1
Phân tích đoạn code:
1. Khai báo biến:
- `int arr[] = {4, 5, 6, 7};` Khai báo một mảng số nguyên `arr` và khởi tạo giá trị.
- `int *p = (arr + 1);` Khai báo con trỏ `p` kiểu số nguyên và gán địa chỉ của phần tử thứ hai trong mảng `arr` (tức là `arr[1]`, có giá trị là 5).
2. Thay đổi giá trị:
- `*(arr + 1) = 4;` Gán giá trị 4 cho phần tử thứ hai của mảng `arr`. Mảng `arr` bây giờ là `{4, 4, 6, 7}`.
- `*(p + 2) = 1;` Gán giá trị 1 cho phần tử có địa chỉ cách địa chỉ mà `p` đang trỏ tới 2 đơn vị. Vì `p` trỏ tới `arr[1]`, `p + 2` sẽ trỏ tới `arr[3]`. Mảng `arr` bây giờ là `{4, 4, 6, 1}`.
3. In ra màn hình:
- `cout << arr[0] << " " << arr[1] << " " << arr[3];` In ra các giá trị của `arr[0]`, `arr[1]` và `arr[3]`, tức là 4 4 1.
Vậy đáp án đúng là C. 4 4 1
Lời giải:
Bạn cần đăng ký gói VIP để làm bài, xem đáp án và lời giải chi tiết không giới hạn. Nâng cấp VIP
Lời giải:
Bạn cần đăng ký gói VIP để làm bài, xem đáp án và lời giải chi tiết không giới hạn. Nâng cấp VIP
Lời giải:
Bạn cần đăng ký gói VIP để làm bài, xem đáp án và lời giải chi tiết không giới hạn. Nâng cấp VIP
Lời giải:
Bạn cần đăng ký gói VIP để làm bài, xem đáp án và lời giải chi tiết không giới hạn. Nâng cấp VIP
Lời giải:
Bạn cần đăng ký gói VIP để làm bài, xem đáp án và lời giải chi tiết không giới hạn. Nâng cấp VIP

FORM.08: Bộ 130+ Biểu Mẫu Thống Kê Trong Doanh Nghiệp
136 tài liệu563 lượt tải

FORM.07: Bộ 125+ Biểu Mẫu Báo Cáo Trong Doanh Nghiệp
125 tài liệu585 lượt tải

FORM.06: Bộ 320+ Biểu Mẫu Hành Chính Thông Dụng
325 tài liệu608 lượt tải

FORM.05: Bộ 330+ Biểu Mẫu Thuế - Kê Khai Thuế Mới Nhất
331 tài liệu1010 lượt tải

FORM.04: Bộ 240+ Biểu Mẫu Chứng Từ Kế Toán Thông Dụng
246 tài liệu802 lượt tải

CEO.22: Bộ Tài Liệu Quy Trình Kiểm Toán, Kiểm Soát Nội Bộ Doanh Nghiệp
138 tài liệu417 lượt tải
ĐĂNG KÝ GÓI THI VIP
- Truy cập hơn 100K đề thi thử và chính thức các năm
- 2M câu hỏi theo các mức độ: Nhận biết – Thông hiểu – Vận dụng
- Học nhanh với 10K Flashcard Tiếng Anh theo bộ sách và chủ đề
- Đầy đủ: Mầm non – Phổ thông (K12) – Đại học – Người đi làm
- Tải toàn bộ tài liệu trên TaiLieu.VN
- Loại bỏ quảng cáo để tăng khả năng tập trung ôn luyện
- Tặng 15 ngày khi đăng ký gói 3 tháng, 30 ngày với gói 6 tháng và 60 ngày với gói 12 tháng.
77.000 đ/ tháng