Kết quả đoạn lệnh sau là bao nhiêu? For (int i = 0; i < 3; i++) cout << i*i << “,”;
Trả lời:
Đáp án đúng: D
Đoạn mã C++ này sử dụng một vòng lặp `for` để tính và in ra bình phương của các số từ 0 đến 2.
- Vòng lặp `for` khởi tạo biến `i` bằng 0.
- Điều kiện lặp là `i < 3`, nghĩa là vòng lặp sẽ tiếp tục cho đến khi `i` bằng 3.
- Trong mỗi lần lặp, chương trình in ra `i*i` (bình phương của `i`) theo sau bởi dấu phẩy.
Các giá trị của `i` trong mỗi lần lặp và kết quả in ra tương ứng:
- i = 0: in ra 0*0 = 0,
- i = 1: in ra 1*1 = 1,
- i = 2: in ra 2*2 = 4,
Vì vậy, kết quả cuối cùng sẽ là "0,1,4,".
Câu hỏi liên quan
Lời giải:
Đáp án đúng: D
Đoạn lệnh `for (;;) cout << i*i << “,”;` là một vòng lặp vô hạn (lặp vĩnh viễn).
Giải thích:
* Cú pháp `for (;;)` tương đương với `while (true)`, tức là vòng lặp sẽ tiếp tục chạy mãi mãi vì không có điều kiện dừng nào được chỉ định.
* Trong mỗi lần lặp, đoạn lệnh `cout << i*i << “,”;` sẽ in ra bình phương của biến `i` (trong trường hợp này `i` không được khởi tạo nên sẽ gây ra lỗi hoặc kết quả không xác định, tùy thuộc vào trình biên dịch và môi trường), sau đó in ra dấu phẩy.
* Vì vòng lặp không có điểm dừng, nó sẽ tiếp tục in ra các giá trị và dấu phẩy cho đến khi chương trình bị dừng lại bằng tay hoặc gặp lỗi.
Do đó, đáp án chính xác là "Lặp vĩnh viễn".
Giải thích:
* Cú pháp `for (;;)` tương đương với `while (true)`, tức là vòng lặp sẽ tiếp tục chạy mãi mãi vì không có điều kiện dừng nào được chỉ định.
* Trong mỗi lần lặp, đoạn lệnh `cout << i*i << “,”;` sẽ in ra bình phương của biến `i` (trong trường hợp này `i` không được khởi tạo nên sẽ gây ra lỗi hoặc kết quả không xác định, tùy thuộc vào trình biên dịch và môi trường), sau đó in ra dấu phẩy.
* Vì vòng lặp không có điểm dừng, nó sẽ tiếp tục in ra các giá trị và dấu phẩy cho đến khi chương trình bị dừng lại bằng tay hoặc gặp lỗi.
Do đó, đáp án chính xác là "Lặp vĩnh viễn".
Lời giải:
Đáp án đúng: D
Kiểu dữ liệu cơ bản trong C bao gồm các kiểu số nguyên (int, char, short, long), kiểu số thực (float, double) và kiểu không giá trị (void). Kiểu `double` là một trong các kiểu số thực cơ bản.
- A. Kiểu double: Là kiểu dữ liệu số thực dấu phẩy động, có độ chính xác kép (double-precision floating-point number). Đây là một kiểu dữ liệu cơ bản trong C.
- B. Kiểu con trỏ: Con trỏ là một biến chứa địa chỉ của một biến khác. Nó không phải là một kiểu dữ liệu cơ bản, mà là một kiểu dẫn xuất.
- C. Kiểu hợp (union): Kiểu hợp là một kiểu dữ liệu có thể chứa các kiểu dữ liệu khác nhau tại cùng một vị trí bộ nhớ. Nó không phải là một kiểu dữ liệu cơ bản.
- D. Kiểu mảng: Mảng là một tập hợp các phần tử có cùng kiểu dữ liệu, được lưu trữ liên tiếp trong bộ nhớ. Nó không phải là một kiểu dữ liệu cơ bản.
Do đó, đáp án đúng là A.
- A. Kiểu double: Là kiểu dữ liệu số thực dấu phẩy động, có độ chính xác kép (double-precision floating-point number). Đây là một kiểu dữ liệu cơ bản trong C.
- B. Kiểu con trỏ: Con trỏ là một biến chứa địa chỉ của một biến khác. Nó không phải là một kiểu dữ liệu cơ bản, mà là một kiểu dẫn xuất.
- C. Kiểu hợp (union): Kiểu hợp là một kiểu dữ liệu có thể chứa các kiểu dữ liệu khác nhau tại cùng một vị trí bộ nhớ. Nó không phải là một kiểu dữ liệu cơ bản.
- D. Kiểu mảng: Mảng là một tập hợp các phần tử có cùng kiểu dữ liệu, được lưu trữ liên tiếp trong bộ nhớ. Nó không phải là một kiểu dữ liệu cơ bản.
Do đó, đáp án đúng là A.
Lời giải:
Đáp án đúng: A
Phân tích câu hỏi:
Câu hỏi yêu cầu xác định hàm nào trong các lựa chọn là hàm không định dạng dùng để in một chuỗi kí tự ra màn hình trong ngôn ngữ lập trình C (hoặc C++). Hàm "không định dạng" có nghĩa là hàm đó không sử dụng các mã định dạng (ví dụ: %d, %s, %f) để chèn giá trị vào chuỗi.
Đánh giá các phương án:
- A. puts(): Hàm
puts()
(put string) được sử dụng để in một chuỗi ra màn hình, tự động thêm một dòng mới ('\n') vào cuối chuỗi. Nó là một hàm không định dạng, chỉ đơn giản in chuỗi mà không cần chỉ định định dạng. - B. printf(): Hàm
printf()
(print formatted) là một hàm in có định dạng, cho phép chèn các giá trị khác nhau vào chuỗi thông qua các mã định dạng. - C. scanf(): Hàm
scanf()
(scan formatted) là một hàm dùng để đọc dữ liệu từ đầu vào (ví dụ: bàn phím) theo một định dạng nhất định, không phải là hàm in. - D. gets(): Hàm
gets()
là hàm dùng để đọc một chuỗi từ đầu vào. Tuy nhiên, hàm này rất nguy hiểm vì nó không kiểm tra kích thước bộ đệm, có thể dẫn đến tràn bộ đệm. Vì lý do bảo mật, hàm này đã bị loại bỏ khỏi C11 và không nên sử dụng. Mặc dù nó đọc một chuỗi, nhưng bản thân nó không in ra màn hình.
Kết luận:
Hàm puts()
là hàm không định dạng dùng để in một chuỗi ra màn hình. Các hàm khác (printf()
, scanf()
, gets()
) hoặc là hàm định dạng hoặc là hàm nhập dữ liệu.
Lời giải:
Đáp án đúng: C
Đoạn mã C++ này minh họa việc sử dụng con trỏ `const int*`.
- `int x = 5, y = 8;`: Khai báo hai biến `x` và `y` kiểu `int` và khởi tạo giá trị lần lượt là 5 và 8.
- `const int* p;`: Khai báo một con trỏ `p` trỏ tới một biến kiểu `int` hằng số. Điều này có nghĩa là giá trị mà con trỏ `p` trỏ tới không thể thay đổi thông qua con trỏ `p`, nhưng giá trị của biến mà `p` trỏ tới có thể thay đổi trực tiếp thông qua tên biến của nó (ví dụ: `x++`).
- `p = &x;`: Gán địa chỉ của biến `x` cho con trỏ `p`. Bây giờ `p` trỏ tới `x`.
- `p = &y;`: Gán địa chỉ của biến `y` cho con trỏ `p`. Bây giờ `p` trỏ tới `y`. Việc gán này hoàn toàn hợp lệ vì `p` là con trỏ có thể trỏ tới các địa chỉ khác nhau, miễn là nó trỏ tới một `int` hằng số.
- `x++;`: Tăng giá trị của biến `x` lên 1. Giá trị của `x` bây giờ là 6. Tuy nhiên, điều này không ảnh hưởng đến giá trị của `y` hoặc giá trị mà `p` đang trỏ tới (vì `p` đang trỏ tới `y`).
- `printf("%d", *p);`: In giá trị mà con trỏ `p` đang trỏ tới. Vì `p` đang trỏ tới `y`, và giá trị của `y` là 8, nên chương trình sẽ in ra 8.
- `getch();`: Hàm này được sử dụng để chờ một ký tự được nhập từ bàn phím trước khi chương trình kết thúc. (hàm này có thể không hoạt động nếu không có thư viện tương ứng)
Vậy đáp án đúng là C. 8
- `int x = 5, y = 8;`: Khai báo hai biến `x` và `y` kiểu `int` và khởi tạo giá trị lần lượt là 5 và 8.
- `const int* p;`: Khai báo một con trỏ `p` trỏ tới một biến kiểu `int` hằng số. Điều này có nghĩa là giá trị mà con trỏ `p` trỏ tới không thể thay đổi thông qua con trỏ `p`, nhưng giá trị của biến mà `p` trỏ tới có thể thay đổi trực tiếp thông qua tên biến của nó (ví dụ: `x++`).
- `p = &x;`: Gán địa chỉ của biến `x` cho con trỏ `p`. Bây giờ `p` trỏ tới `x`.
- `p = &y;`: Gán địa chỉ của biến `y` cho con trỏ `p`. Bây giờ `p` trỏ tới `y`. Việc gán này hoàn toàn hợp lệ vì `p` là con trỏ có thể trỏ tới các địa chỉ khác nhau, miễn là nó trỏ tới một `int` hằng số.
- `x++;`: Tăng giá trị của biến `x` lên 1. Giá trị của `x` bây giờ là 6. Tuy nhiên, điều này không ảnh hưởng đến giá trị của `y` hoặc giá trị mà `p` đang trỏ tới (vì `p` đang trỏ tới `y`).
- `printf("%d", *p);`: In giá trị mà con trỏ `p` đang trỏ tới. Vì `p` đang trỏ tới `y`, và giá trị của `y` là 8, nên chương trình sẽ in ra 8.
- `getch();`: Hàm này được sử dụng để chờ một ký tự được nhập từ bàn phím trước khi chương trình kết thúc. (hàm này có thể không hoạt động nếu không có thư viện tương ứng)
Vậy đáp án đúng là C. 8
Lời giải:
Đáp án đúng: D
Đề bài cho một mảng ký tự `arr` chứa chuỗi 'VIETNAM'. Sau đó, một con trỏ `p` kiểu `char` được gán bằng `(char *)(arr+2)[2]`. Biểu thức `arr + 2` sẽ trỏ đến phần tử thứ 3 của mảng `arr` (chỉ số bắt đầu từ 0), tức là `arr[2]` có giá trị là 'E'. Tiếp theo, `(arr+2)[2]` tương đương với `arr[2+2]` hay `arr[4]`, có giá trị là 'N'. Cuối cùng, con trỏ `p` sẽ trỏ đến địa chỉ của `arr[4]`. Khi in giá trị mà `p` đang trỏ tới bằng `printf("%c", p)`, chương trình sẽ in ra ký tự 'N'.
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