Trả lời:
Đáp án đúng: A
Đoạn code được cung cấp thực hiện các phép gán giá trị cho biến `x`. Ban đầu, `x` được gán giá trị 1. Sau đó, `x` được gán lại bằng `x + 2`, tức là `1 + 2 = 3`. Tiếp theo, `x` lại được gán bằng `x - 3`, tức là `3 - 3 = 0`. Cuối cùng, `x` được gán bằng `x * 10`, tức là `0 * 10 = 0`. Vậy, giá trị cuối cùng của `x` là 0.
Câu hỏi liên quan
Lời giải:
Đáp án đúng: B
Câu hỏi yêu cầu xác định cách khai báo mảng hai chiều trong C/C++.
* Phương án A: `array arr[20][20]`: Sai. `array` không phải là một kiểu dữ liệu chuẩn trong C/C++. Kiểu dữ liệu cần được chỉ định (ví dụ: `int`, `char`, `float`).
* Phương án B: `int arr[20][20]`: Đúng. Đây là cú pháp chuẩn để khai báo một mảng hai chiều kiểu `int` có 20 hàng và 20 cột trong C/C++.
* Phương án C: `int arr[20, 20]`: Sai. Cú pháp này không đúng trong C/C++. Dấu phẩy không được sử dụng để chỉ kích thước các chiều của mảng.
* Phương án D: `char arr[20]`: Sai. Đây là cách khai báo một mảng một chiều (chuỗi) kiểu `char` có 20 phần tử.
Vậy, đáp án đúng là B.
* Phương án A: `array arr[20][20]`: Sai. `array` không phải là một kiểu dữ liệu chuẩn trong C/C++. Kiểu dữ liệu cần được chỉ định (ví dụ: `int`, `char`, `float`).
* Phương án B: `int arr[20][20]`: Đúng. Đây là cú pháp chuẩn để khai báo một mảng hai chiều kiểu `int` có 20 hàng và 20 cột trong C/C++.
* Phương án C: `int arr[20, 20]`: Sai. Cú pháp này không đúng trong C/C++. Dấu phẩy không được sử dụng để chỉ kích thước các chiều của mảng.
* Phương án D: `char arr[20]`: Sai. Đây là cách khai báo một mảng một chiều (chuỗi) kiểu `char` có 20 phần tử.
Vậy, đáp án đúng là B.
Lời giải:
Đáp án đúng: B
Đáp án đúng là B. arr;
* arr[0]: Truy cập vào phần tử đầu tiên của mảng `arr`, trả về *giá trị* của phần tử đó, chứ không phải địa chỉ.
* arr: Trong hầu hết các ngữ cảnh, khi sử dụng tên mảng mà không có chỉ số, nó sẽ tự động chuyển đổi thành con trỏ đến phần tử đầu tiên của mảng. Do đó, `arr` tương đương với địa chỉ của `arr[0]`.
* &arr: Toán tử `&` lấy địa chỉ của một biến. Trong trường hợp này, `&arr` trả về địa chỉ của *toàn bộ mảng* `arr`. Mặc dù địa chỉ này trùng với địa chỉ của phần tử đầu tiên, nhưng kiểu dữ liệu của nó khác (là con trỏ tới một mảng 100 phần tử), điều này có thể quan trọng trong một số ngữ cảnh nhất định (ví dụ, khi sử dụng con trỏ mảng trong các phép toán con trỏ hoặc khi truyền mảng cho hàm).
* arr[1]: Truy cập vào phần tử thứ hai của mảng (chỉ số 1), trả về *giá trị* của phần tử đó, chứ không phải địa chỉ phần tử đầu tiên.
* arr[0]: Truy cập vào phần tử đầu tiên của mảng `arr`, trả về *giá trị* của phần tử đó, chứ không phải địa chỉ.
* arr: Trong hầu hết các ngữ cảnh, khi sử dụng tên mảng mà không có chỉ số, nó sẽ tự động chuyển đổi thành con trỏ đến phần tử đầu tiên của mảng. Do đó, `arr` tương đương với địa chỉ của `arr[0]`.
* &arr: Toán tử `&` lấy địa chỉ của một biến. Trong trường hợp này, `&arr` trả về địa chỉ của *toàn bộ mảng* `arr`. Mặc dù địa chỉ này trùng với địa chỉ của phần tử đầu tiên, nhưng kiểu dữ liệu của nó khác (là con trỏ tới một mảng 100 phần tử), điều này có thể quan trọng trong một số ngữ cảnh nhất định (ví dụ, khi sử dụng con trỏ mảng trong các phép toán con trỏ hoặc khi truyền mảng cho hàm).
* arr[1]: Truy cập vào phần tử thứ hai của mảng (chỉ số 1), trả về *giá trị* của phần tử đó, chứ không phải địa chỉ phần tử đầu tiên.
Lời giải:
Đáp án đúng: C
Đáp án đúng là C. `strcat()`.
* strcat(): Đây là hàm chuẩn trong thư viện string.h của ngôn ngữ C (và được sử dụng rộng rãi trong C++) để nối (concatenation) một chuỗi vào cuối một chuỗi khác. Hàm này nhận hai tham số: chuỗi đích (chuỗi sẽ bị thay đổi) và chuỗi nguồn (chuỗi được thêm vào). Ví dụ: `strcat(str1, str2)` sẽ nối chuỗi `str2` vào cuối chuỗi `str1`.
* append(): `append()` là một phương thức thường được sử dụng trong các lớp chuỗi (string class) của các ngôn ngữ lập trình hướng đối tượng như C++ (std::string) hoặc Java (StringBuilder/StringBuffer). Tuy nhiên, trong ngữ cảnh của câu hỏi này (có thể đang ám chỉ ngôn ngữ C hoặc các tình huống lập trình tổng quát hơn), `strcat()` là lựa chọn phù hợp hơn nếu đang làm việc với chuỗi kiểu C (char arrays).
* stringadd() và stradd(): Đây không phải là các hàm hoặc phương thức chuẩn để nối chuỗi trong C/C++ hoặc các ngôn ngữ phổ biến khác.
* strcat(): Đây là hàm chuẩn trong thư viện string.h của ngôn ngữ C (và được sử dụng rộng rãi trong C++) để nối (concatenation) một chuỗi vào cuối một chuỗi khác. Hàm này nhận hai tham số: chuỗi đích (chuỗi sẽ bị thay đổi) và chuỗi nguồn (chuỗi được thêm vào). Ví dụ: `strcat(str1, str2)` sẽ nối chuỗi `str2` vào cuối chuỗi `str1`.
* append(): `append()` là một phương thức thường được sử dụng trong các lớp chuỗi (string class) của các ngôn ngữ lập trình hướng đối tượng như C++ (std::string) hoặc Java (StringBuilder/StringBuffer). Tuy nhiên, trong ngữ cảnh của câu hỏi này (có thể đang ám chỉ ngôn ngữ C hoặc các tình huống lập trình tổng quát hơn), `strcat()` là lựa chọn phù hợp hơn nếu đang làm việc với chuỗi kiểu C (char arrays).
* stringadd() và stradd(): Đây không phải là các hàm hoặc phương thức chuẩn để nối chuỗi trong C/C++ hoặc các ngôn ngữ phổ biến khác.
Lời giải:
Đáp án đúng: A
Biến `x` được khai báo bằng `extern int x;`. Từ khóa `extern` cho biết rằng biến `x` đã được định nghĩa ở một nơi khác trong chương trình. Ở đây, ta chỉ thông báo cho trình biên dịch về sự tồn tại của biến `x` với kiểu dữ liệu `int`, nhưng không cấp phát bộ nhớ cho nó. Do đó, đây là một khai báo (declaration), không phải là một định nghĩa (definition). Định nghĩa sẽ phải cấp phát bộ nhớ cho biến, ví dụ `int x = 10;`
Lời giải:
Đáp án đúng: B
Câu hỏi này kiểm tra kiến thức về kích thước của kiểu `short int` và `long int` trong C/C++ và sự khác biệt giữa các nền tảng (platform) khác nhau.
Trong C/C++, kích thước của các kiểu dữ liệu cơ bản như `int`, `short int`, `long int` có thể khác nhau tùy thuộc vào kiến trúc của hệ thống (ví dụ: 16-bit, 32-bit, 64-bit) và trình biên dịch được sử dụng. Tuy nhiên, có một số quy tắc chung:
* `sizeof(short int) <= sizeof(int) <= sizeof(long int)`
Điều này có nghĩa là kích thước của `short int` không lớn hơn `int`, và kích thước của `int` không lớn hơn `long int`. Tuy nhiên, kích thước *chính xác* của mỗi kiểu dữ liệu có thể thay đổi.
Ví dụ:
* Trên một hệ thống 16-bit, `int` thường là 2 byte, `short int` là 2 byte, và `long int` là 4 byte.
* Trên một hệ thống 32-bit, `int` thường là 4 byte, `short int` là 2 byte, và `long int` là 4 byte.
* Trên một hệ thống 64-bit, `int` thường là 4 byte, `short int` là 2 byte, và `long int` là 8 byte.
Như vậy, kích thước của `short int` và `long int` (và cả `int`) có thể thay đổi từ nền tảng này sang nền tảng khác. Do đó, câu trả lời A. True là đúng.
Trong C/C++, kích thước của các kiểu dữ liệu cơ bản như `int`, `short int`, `long int` có thể khác nhau tùy thuộc vào kiến trúc của hệ thống (ví dụ: 16-bit, 32-bit, 64-bit) và trình biên dịch được sử dụng. Tuy nhiên, có một số quy tắc chung:
* `sizeof(short int) <= sizeof(int) <= sizeof(long int)`
Điều này có nghĩa là kích thước của `short int` không lớn hơn `int`, và kích thước của `int` không lớn hơn `long int`. Tuy nhiên, kích thước *chính xác* của mỗi kiểu dữ liệu có thể thay đổi.
Ví dụ:
* Trên một hệ thống 16-bit, `int` thường là 2 byte, `short int` là 2 byte, và `long int` là 4 byte.
* Trên một hệ thống 32-bit, `int` thường là 4 byte, `short int` là 2 byte, và `long int` là 4 byte.
* Trên một hệ thống 64-bit, `int` thường là 4 byte, `short int` là 2 byte, và `long int` là 8 byte.
Như vậy, kích thước của `short int` và `long int` (và cả `int`) có thể thay đổi từ nền tảng này sang nền tảng khác. Do đó, câu trả lời A. True là đúng.
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