Hàm setcolor(int color) làm nhiệm vụ gì:
Trả lời:
Đáp án đúng: B
Hàm `setcolor(int color)` trong ngôn ngữ lập trình đồ họa (ví dụ: Turbo Pascal) được sử dụng để thiết lập màu vẽ hiện tại. Khi bạn vẽ một hình hoặc một đường thẳng sau khi gọi hàm này, đối tượng đó sẽ được vẽ bằng màu mà bạn đã chỉ định.
* **Phương án A:** Thiết lập màu nền là sai. Hàm thiết lập màu nền thường là `setbkcolor(int color)`.
* **Phương án B:** Đặt màu vẽ hiện tại là đáp án chính xác.
* **Phương án C:** Vì A sai nên C sai.
* **Phương án D:** Vì B đúng nên D sai.
Câu hỏi liên quan
Lời giải:
Đáp án đúng: A
Đoạn chương trình C này liên quan đến các toán tử `sizeof` và cách ép kiểu, tính toán trong C.
* `sizeof(!num)`: Toán tử `!` là toán tử NOT logic. Trong C, bất kỳ giá trị số thực khác 0 nào (như `num = 5.2`) khi phủ định logic sẽ trở thành 0. Giá trị này sau đó được chuyển đổi thành kiểu `int` (0 hoặc 1). Vì vậy, `sizeof(!num)` trả về kích thước của một `int`, thường là 4 byte trên nhiều hệ thống (nhưng theo chuẩn C, chỉ cần đảm bảo đủ lớn để chứa các giá trị). Tuy nhiên, theo chuẩn C, biểu thức `!num` sẽ có kiểu `int`. Giá trị của `!num` là 0 hoặc 1 (trong trường hợp này là 0). `sizeof(!num)` sẽ cho kích thước của `int`, thường là 4 bytes. Tuy nhiên, nhiều trình biên dịch trả về 1 byte cho kiểu bool do đó kết quả là 1.
* `sizeof(var = 15 / 2)`: Ở đây, `15 / 2` là phép chia số nguyên, kết quả là `7`. Giá trị này được gán cho `var`. Tuy nhiên, `sizeof` không thực sự thực hiện phép gán. Nó chỉ xác định kích thước của biểu thức `var = 15 / 2`, mà trong trường hợp này là kích thước của `var`, tức là một `int`. Do đó, `sizeof(var = 15 / 2)` trả về kích thước của một `int`, thường là 4 byte.
* `printf("%d", var)`: Cuối cùng, dòng này in giá trị của `var`. Vì `var = 15 / 2` được thực hiện (mặc dù trong ngữ cảnh của `sizeof`, phép gán vẫn xảy ra), `var` sẽ có giá trị là `7`.
Vì vậy, đầu ra sẽ là `1 4 7`.
* `sizeof(!num)`: Toán tử `!` là toán tử NOT logic. Trong C, bất kỳ giá trị số thực khác 0 nào (như `num = 5.2`) khi phủ định logic sẽ trở thành 0. Giá trị này sau đó được chuyển đổi thành kiểu `int` (0 hoặc 1). Vì vậy, `sizeof(!num)` trả về kích thước của một `int`, thường là 4 byte trên nhiều hệ thống (nhưng theo chuẩn C, chỉ cần đảm bảo đủ lớn để chứa các giá trị). Tuy nhiên, theo chuẩn C, biểu thức `!num` sẽ có kiểu `int`. Giá trị của `!num` là 0 hoặc 1 (trong trường hợp này là 0). `sizeof(!num)` sẽ cho kích thước của `int`, thường là 4 bytes. Tuy nhiên, nhiều trình biên dịch trả về 1 byte cho kiểu bool do đó kết quả là 1.
* `sizeof(var = 15 / 2)`: Ở đây, `15 / 2` là phép chia số nguyên, kết quả là `7`. Giá trị này được gán cho `var`. Tuy nhiên, `sizeof` không thực sự thực hiện phép gán. Nó chỉ xác định kích thước của biểu thức `var = 15 / 2`, mà trong trường hợp này là kích thước của `var`, tức là một `int`. Do đó, `sizeof(var = 15 / 2)` trả về kích thước của một `int`, thường là 4 byte.
* `printf("%d", var)`: Cuối cùng, dòng này in giá trị của `var`. Vì `var = 15 / 2` được thực hiện (mặc dù trong ngữ cảnh của `sizeof`, phép gán vẫn xảy ra), `var` sẽ có giá trị là `7`.
Vì vậy, đầu ra sẽ là `1 4 7`.
Lời giải:
Đáp án đúng: D
Trong ngôn ngữ lập trình C, các toán tử gán kết hợp như `+=`, `*=`, `=` đều hợp lệ. Tuy nhiên, toán tử `&=` là toán tử AND bitwise kết hợp gán. Toán tử này chỉ được sử dụng cho các biến kiểu số nguyên (ví dụ: `int`, `char`, `long`) chứ không được sử dụng trực tiếp cho các số thực (ví dụ: `float`, `double`). Do đó, nếu `a` và `b` là các biến kiểu số thực, biểu thức `(a&=b)` sẽ không đúng cú pháp.
Lời giải:
Đáp án đúng: C
Lệnh `continue` được sử dụng trong các vòng lặp (như `for`, `while`, `do...while`) để bỏ qua phần còn lại của vòng lặp hiện tại và chuyển sang lần lặp tiếp theo.
- `break`: Lệnh này dùng để thoát khỏi vòng lặp hoàn toàn.
- `goto`: Lệnh này dùng để chuyển đến một nhãn (label) cụ thể trong chương trình, nhưng việc sử dụng `goto` thường không được khuyến khích vì có thể làm cho code khó đọc và khó bảo trì.
- `return`: Lệnh này dùng để thoát khỏi một hàm.
Do đó, đáp án đúng là `continue` vì nó cho phép bỏ qua phần còn lại của vòng lặp hiện tại và tiếp tục với vòng lặp tiếp theo.
- `break`: Lệnh này dùng để thoát khỏi vòng lặp hoàn toàn.
- `goto`: Lệnh này dùng để chuyển đến một nhãn (label) cụ thể trong chương trình, nhưng việc sử dụng `goto` thường không được khuyến khích vì có thể làm cho code khó đọc và khó bảo trì.
- `return`: Lệnh này dùng để thoát khỏi một hàm.
Do đó, đáp án đúng là `continue` vì nó cho phép bỏ qua phần còn lại của vòng lặp hiện tại và tiếp tục với vòng lặp tiếp theo.
Lời giải:
Đáp án đúng: B
Chương trình C này minh họa việc truyền tham trị (pass by value) trong hàm `hoanvi`. Khi gọi `hoanvi(a, b)`, các bản sao của `a` và `b` được tạo ra và truyền vào hàm. Bên trong hàm `hoanvi`, các giá trị của các bản sao này được hoán đổi, nhưng các giá trị gốc của `a` và `b` trong hàm `main` không bị ảnh hưởng.
Do đó, sau khi gọi `hoanvi`, `a` vẫn là 15 và `b` vẫn là 21. Lệnh `printf` sẽ in ra "15 21".
Lỗi biên dịch:
Trong đoạn mã nguồn, biến `B` được sử dụng trong hàm `main` và trong lệnh gọi hàm `printf`, nhưng biến `B` không được khai báo, mà biến `b` mới được khai báo. Do đó, trình biên dịch sẽ báo lỗi. Tuy nhiên, câu hỏi này kiểm tra kết quả thực thi chương trình, nên chúng ta cần giả sử rằng đây chỉ là một lỗi gõ máy và biến `b` được sử dụng đúng.
Vì vậy, đáp án đúng là "15 21".
Do đó, sau khi gọi `hoanvi`, `a` vẫn là 15 và `b` vẫn là 21. Lệnh `printf` sẽ in ra "15 21".
Lỗi biên dịch:
Trong đoạn mã nguồn, biến `B` được sử dụng trong hàm `main` và trong lệnh gọi hàm `printf`, nhưng biến `B` không được khai báo, mà biến `b` mới được khai báo. Do đó, trình biên dịch sẽ báo lỗi. Tuy nhiên, câu hỏi này kiểm tra kết quả thực thi chương trình, nên chúng ta cần giả sử rằng đây chỉ là một lỗi gõ máy và biến `b` được sử dụng đúng.
Vì vậy, đáp án đúng là "15 21".
Lời giải:
Đáp án đúng: D
Hàm (function) trong lập trình mang lại rất nhiều lợi ích quan trọng, bao gồm:
* Tránh dư thừa, lặp lại code: Khi một đoạn code cần được sử dụng nhiều lần trong chương trình, việc viết nó thành một hàm cho phép gọi lại hàm đó ở nhiều vị trí khác nhau thay vì phải viết lại đoạn code đó nhiều lần. Điều này giúp giảm thiểu đáng kể sự dư thừa code, làm cho chương trình ngắn gọn và dễ đọc hơn.
* Dễ bảo trì: Khi cần sửa đổi hoặc cải tiến một đoạn code được sử dụng ở nhiều nơi, chỉ cần sửa đổi trong hàm đó, thay vì phải tìm và sửa đổi ở tất cả các vị trí mà đoạn code đó xuất hiện. Điều này giúp tiết kiệm thời gian và công sức, đồng thời giảm thiểu nguy cơ gây ra lỗi.
* Khả năng sử dụng lại: Các hàm có thể được sử dụng lại trong các chương trình khác nhau, giúp tiết kiệm thời gian và công sức phát triển phần mềm. Các thư viện hàm (library) là một ví dụ điển hình về khả năng sử dụng lại các đoạn code.
Như vậy, các phương án A, B, C đều đúng. Phương án D khẳng định "Tất cả đều sai" là một phát biểu sai. Do đó, đáp án đúng là D.
* Tránh dư thừa, lặp lại code: Khi một đoạn code cần được sử dụng nhiều lần trong chương trình, việc viết nó thành một hàm cho phép gọi lại hàm đó ở nhiều vị trí khác nhau thay vì phải viết lại đoạn code đó nhiều lần. Điều này giúp giảm thiểu đáng kể sự dư thừa code, làm cho chương trình ngắn gọn và dễ đọc hơn.
* Dễ bảo trì: Khi cần sửa đổi hoặc cải tiến một đoạn code được sử dụng ở nhiều nơi, chỉ cần sửa đổi trong hàm đó, thay vì phải tìm và sửa đổi ở tất cả các vị trí mà đoạn code đó xuất hiện. Điều này giúp tiết kiệm thời gian và công sức, đồng thời giảm thiểu nguy cơ gây ra lỗi.
* Khả năng sử dụng lại: Các hàm có thể được sử dụng lại trong các chương trình khác nhau, giúp tiết kiệm thời gian và công sức phát triển phần mềm. Các thư viện hàm (library) là một ví dụ điển hình về khả năng sử dụng lại các đoạn code.
Như vậy, các phương án A, B, C đều đúng. Phương án D khẳng định "Tất cả đều sai" là một phát biểu sai. Do đó, đáp án đúng là D.
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