Sự hiệu chỉnh các kiểu dữ liệu số học khi tính toán là:
Trả lời:
Đáp án đúng: A
Trong quá trình tính toán với các kiểu dữ liệu số học khác nhau, trình biên dịch thường thực hiện các chuyển đổi ngầm định để đảm bảo tính chính xác và tránh mất mát dữ liệu. Thứ tự ưu tiên chuyển đổi từ kiểu dữ liệu nhỏ hơn sang kiểu dữ liệu lớn hơn như sau: int -> long -> float -> double -> long double. Điều này đảm bảo rằng thông tin không bị mất khi thực hiện các phép toán.
Câu hỏi liên quan
Lời giải:
Đáp án đúng: C
Đề bài cho đoạn chương trình C và yêu cầu xác định kết quả in ra khi nhập một chuỗi cụ thể.
Phân tích đoạn chương trình:
- `scanf(" %d %c", &n, &c);` : Đoạn code này đọc dữ liệu từ đầu vào chuẩn (bàn phím). "%d" đọc một số nguyên và gán cho biến `n`. " %c" (chú ý khoảng trắng trước %c) đọc một ký tự và gán cho biến `c`. Khoảng trắng trước `%c` có vai trò quan trọng: nó bỏ qua mọi ký tự khoảng trắng (space, tab, newline) ở đầu vào cho đến khi gặp một ký tự khác không phải khoảng trắng.
- `printf(" %3d %c", n, c);`: Đoạn code này in ra giá trị của `n` và `c`. "%3d" in số nguyên `n` với độ rộng tối thiểu là 3. Nếu `n` có ít hơn 3 chữ số, nó sẽ được căn phải và thêm khoảng trắng vào bên trái. "%c" in ký tự `c`.
Phân tích đầu vào "29h b":
1. `scanf(" %d %c", &n, &c)`: `%d` đọc "29" và gán cho `n`, vậy `n = 29`. Sau đó, `%c` đọc ký tự 'h' và gán cho `c`, vậy `c = 'h'`. Ký tự ' ' và 'b' sẽ còn lại trong bộ đệm đầu vào, nhưng không được sử dụng.
2. `printf(" %3d %c", n, c)`: In `n` (29) với định dạng `%3d`, kết quả là " 29" (có một khoảng trắng ở đầu). Sau đó in `c` ('h').
Kết quả in ra sẽ là " 29h".
Phân tích đoạn chương trình:
- `scanf(" %d %c", &n, &c);` : Đoạn code này đọc dữ liệu từ đầu vào chuẩn (bàn phím). "%d" đọc một số nguyên và gán cho biến `n`. " %c" (chú ý khoảng trắng trước %c) đọc một ký tự và gán cho biến `c`. Khoảng trắng trước `%c` có vai trò quan trọng: nó bỏ qua mọi ký tự khoảng trắng (space, tab, newline) ở đầu vào cho đến khi gặp một ký tự khác không phải khoảng trắng.
- `printf(" %3d %c", n, c);`: Đoạn code này in ra giá trị của `n` và `c`. "%3d" in số nguyên `n` với độ rộng tối thiểu là 3. Nếu `n` có ít hơn 3 chữ số, nó sẽ được căn phải và thêm khoảng trắng vào bên trái. "%c" in ký tự `c`.
Phân tích đầu vào "29h b":
1. `scanf(" %d %c", &n, &c)`: `%d` đọc "29" và gán cho `n`, vậy `n = 29`. Sau đó, `%c` đọc ký tự 'h' và gán cho `c`, vậy `c = 'h'`. Ký tự ' ' và 'b' sẽ còn lại trong bộ đệm đầu vào, nhưng không được sử dụng.
2. `printf(" %3d %c", n, c)`: In `n` (29) với định dạng `%3d`, kết quả là " 29" (có một khoảng trắng ở đầu). Sau đó in `c` ('h').
Kết quả in ra sẽ là " 29h".
Lời giải:
Đáp án đúng: B
Chương trình C này thực hiện các bước sau:
1. Khai báo biến: `int x, *p;` Khai báo một biến số nguyên `x` và một con trỏ `p` trỏ đến một biến số nguyên.
2. Gán giá trị: `x = 6;` Gán giá trị 6 cho biến `x`.
3. Gán địa chỉ: `p = &x;` Gán địa chỉ của biến `x` cho con trỏ `p`. Bây giờ `p` trỏ đến `x`.
4. In giá trị của x: `printf("%d", x);` In giá trị của `x`, là 6.
5. In giá trị mà p trỏ tới: `printf("%d", *p);` `*p` là toán tử giải tham chiếu (dereference operator). Nó truy cập giá trị mà con trỏ `p` đang trỏ tới. Vì `p` trỏ đến `x`, nên `*p` tương đương với `x`, và giá trị được in ra là 6.
Vậy, chương trình sẽ in ra "66".
1. Khai báo biến: `int x, *p;` Khai báo một biến số nguyên `x` và một con trỏ `p` trỏ đến một biến số nguyên.
2. Gán giá trị: `x = 6;` Gán giá trị 6 cho biến `x`.
3. Gán địa chỉ: `p = &x;` Gán địa chỉ của biến `x` cho con trỏ `p`. Bây giờ `p` trỏ đến `x`.
4. In giá trị của x: `printf("%d", x);` In giá trị của `x`, là 6.
5. In giá trị mà p trỏ tới: `printf("%d", *p);` `*p` là toán tử giải tham chiếu (dereference operator). Nó truy cập giá trị mà con trỏ `p` đang trỏ tới. Vì `p` trỏ đến `x`, nên `*p` tương đương với `x`, và giá trị được in ra là 6.
Vậy, chương trình sẽ in ra "66".
Lời giải:
Đáp án đúng: D
Để đọc một text file vào một mảng các số nguyên, hàm cần:
- Tên file (
char* fName
): Để biết file nào cần đọc. - Địa chỉ của mảng (
int *a
hoặcint a[]
): Để lưu trữ các số nguyên đọc được từ file. Cần truyền địa chỉ của mảng vì hàm cần thay đổi nội dung của mảng. - Số lượng phần tử của mảng (nếu cần).
Phân tích các đáp án:
- A.
void Read( char* fName, int a[]);
: Cách khai báo này đúng vìint a[]
tương đương vớiint* a
, tức là một con trỏ tới phần tử đầu tiên của mảng. Đây là một cách khai báo hợp lệ để truyền một mảng vào hàm. - B.
void Read(char* fName, int a);
: Sai.int a
chỉ là một số nguyên, không phải là mảng. Hàm không thể lưu trữ nhiều số nguyên vào một biến đơn lẻ. - C.
void Read(char* fName, int *a);
: Đúng.int *a
là một con trỏ tới một vùng nhớ chứa các số nguyên, tức là mảng. Tuy nhiên, phương án A đầy đủ hơn khi chỉ rõ là một mảng. Trong C/C++, hai cách khai báo này tương đương nhau khi sử dụng trong tham số hàm. - D.
void Read(char* fName, int *&a, int &n);
: Đúng.int *&a
là một tham chiếu đến một con trỏ kiểu int. Cách này cho phép hàm thay đổi con trỏ a (ví dụ, cấp phát bộ nhớ mới cho mảng).int &n
là một tham chiếu đến số lượng phần tử của mảng, cho phép hàm thay đổi kích thước mảng nếu cần. Mặc dù đúng, nhưng phức tạp hơn so với phương án A và C, và không thực sự cần thiết nếu mảng đã được cấp phát trước khi gọi hàm.
Kết luận:
Đáp án A và C đều đúng. Tuy nhiên đáp án A tường minh hơn khi thể hiện rõ việc truyền vào một mảng.
Lời giải:
Đáp án đúng: C
Hàm `fwrite()` trong ngôn ngữ C được sử dụng để ghi một khối dữ liệu vào file. Cú pháp của nó như sau: `size_t fwrite(const void *ptr, size_t size, size_t count, FILE *stream);`
Trong đó:
- `ptr`: Con trỏ tới vùng nhớ chứa dữ liệu cần ghi.
- `size`: Kích thước của mỗi phần tử dữ liệu (tính bằng byte).
- `count`: Số lượng phần tử cần ghi.
- `stream`: Con trỏ tới đối tượng `FILE` đại diện cho file.
Các lựa chọn khác:
- `fgets()`: Đọc một dòng từ file.
- `fputs()`: Ghi một chuỗi vào file.
- `fread()`: Đọc một khối dữ liệu từ file.
Trong đó:
- `ptr`: Con trỏ tới vùng nhớ chứa dữ liệu cần ghi.
- `size`: Kích thước của mỗi phần tử dữ liệu (tính bằng byte).
- `count`: Số lượng phần tử cần ghi.
- `stream`: Con trỏ tới đối tượng `FILE` đại diện cho file.
Các lựa chọn khác:
- `fgets()`: Đọc một dòng từ file.
- `fputs()`: Ghi một chuỗi vào file.
- `fread()`: Đọc một khối dữ liệu từ file.
Lời giải:
Đáp án đúng: A
Hàm `fputs()` được sử dụng để ghi một chuỗi vào một luồng tệp. Cú pháp chính xác của nó là `int fputs(const char *s, FILE *f);`, trong đó `s` là con trỏ tới chuỗi cần ghi và `f` là con trỏ tới luồng tệp. Hàm trả về một giá trị khác âm nếu thành công, và `EOF` nếu có lỗi.
Phương án A chính xác vì nó tuân theo cú pháp chuẩn của hàm `fputs()`. Các phương án còn lại sử dụng tên hàm là `puts()` không chính xác so với yêu cầu của câu hỏi về hàm `fputs()`
Phương án A chính xác vì nó tuân theo cú pháp chuẩn của hàm `fputs()`. Các phương án còn lại sử dụng tên hàm là `puts()` không chính xác so với yêu cầu của câu hỏi về hàm `fputs()`
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

Bộ Đồ Án Tốt Nghiệp Ngành Trí Tuệ Nhân Tạo Và Học Máy
89 tài liệu310 lượt tải

Bộ 120+ Đồ Án Tốt Nghiệp Ngành Hệ Thống Thông Tin
125 tài liệu441 lượt tải

Bộ Đồ Án Tốt Nghiệp Ngành Mạng Máy Tính Và Truyền Thông
104 tài liệu687 lượt tải

Bộ Luận Văn Tốt Nghiệp Ngành Kiểm Toán
103 tài liệu589 lượt tải

Bộ 370+ Luận Văn Tốt Nghiệp Ngành Kế Toán Doanh Nghiệp
377 tài liệu1030 lượt tải

Bộ Luận Văn Tốt Nghiệp Ngành Quản Trị Thương Hiệu
99 tài liệu1062 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