Kết quả hiển thị ra màn hình của chương trình sau là gì:
#include
Void main ()
{
Int a, b ;
A=100 ;
B=56 ;
Printf (" %d", (a
}
Trả lời:
Đáp án đúng: A
The C program has a case-sensitive variable naming error. `a` and `b` are declared, but `A` and `B` are used for assignment. This will cause a compilation error as `A` and `B` are undeclared. Therefore, the program will fail to build.
Câu hỏi liên quan
Lời giải:
Đáp án đúng: B
Trong C/C++, khi khai báo một mảng ký tự `ch[] = "A";`, chuỗi "A" thực chất là một chuỗi kết thúc bằng ký tự null '\0'. Do đó, mảng `ch` sẽ chứa hai ký tự: 'A' và '\0'.
Mỗi ký tự trong C/C++ thường chiếm 1 byte. Vì vậy, mảng `ch` sẽ chiếm 2 bytes (1 byte cho 'A' và 1 byte cho '\0').
Mỗi ký tự trong C/C++ thường chiếm 1 byte. Vì vậy, mảng `ch` sẽ chiếm 2 bytes (1 byte cho 'A' và 1 byte cho '\0').
Lời giải:
Đáp án đúng: B
Lệnh fflush(stdin)
được sử dụng để xóa sạch bộ nhớ đệm (buffer) của luồng đầu vào chuẩn (standard input), thường là bàn phím. Điều này hữu ích khi chương trình cần đảm bảo rằng không có dữ liệu thừa còn sót lại trong bộ đệm từ các lần nhập trước, có thể gây ra các hành vi không mong muốn. Vì vậy, đáp án C là chính xác nhất, đáp án B chính xác nhưng chưa rõ ràng bằng.
Lời giải:
Đáp án đúng: D
Trong biểu thức logic, các toán tử được ưu tiên theo thứ tự sau: NOT (phủ định) có độ ưu tiên cao nhất, sau đó đến AND (và), và cuối cùng là OR (hoặc) có độ ưu tiên thấp nhất. Điều này có nghĩa là các phép toán NOT sẽ được thực hiện trước, sau đó đến AND, và cuối cùng là OR. Ví dụ, trong biểu thức `A AND NOT B OR C`, `NOT B` sẽ được tính trước, sau đó đến `A AND (NOT B)`, và cuối cùng là `(A AND (NOT B)) OR C`.
Như vậy, đáp án đúng là D. NOT, AND, OR.
Như vậy, đáp án đúng là D. NOT, AND, OR.
Lời giải:
Đáp án đúng: B
Trong C/C++, kiểu `void *` là một kiểu con trỏ đặc biệt, nó có thể trỏ đến bất kỳ kiểu dữ liệu nào. Do đó, ta có thể gán một con trỏ kiểu khác cho `void *` một cách an toàn mà không cần ép kiểu. Tuy nhiên, khi gán ngược lại (từ `void *` sang một kiểu con trỏ cụ thể), ta cần ép kiểu tường minh để trình biên dịch biết kiểu dữ liệu mà con trỏ `void *` đang trỏ tới.
Xét các phương án:
A. `tongquat = nguyen;` Hợp lệ vì gán con trỏ `int *` cho `void *`.
B. `*nguyen = *tongquat;` Không hợp lệ vì `tongquat` là `void *`, cần ép kiểu về `int *` trước khi giải tham chiếu. Ví dụ: `*nguyen = *(int*)tongquat;` mới đúng.
C. `kitu = (char) tongquat;` Không hợp lệ. Phép ép kiểu `(char)` sẽ chuyển giá trị của con trỏ `tongquat` thành kiểu `char`, sau đó gán giá trị `char` này cho `kitu`. `kitu` là một con trỏ `char *`, phải nhận một địa chỉ, không phải một giá trị `char`. Phải ép kiểu con trỏ `tongquat` về `char*` trước khi gán: `kitu = (char*)tongquat;`
D. `tongquat = kitu;` Hợp lệ vì gán con trỏ `char *` cho `void *`.
Vậy, phương án B và C đều không hợp lệ, nhưng câu hỏi chỉ yêu cầu chọn một đáp án, và đáp án B thể hiện rõ hơn về lỗi gán giá trị không tương thích giữa các kiểu dữ liệu khi giải tham chiếu con trỏ `void *` mà không ép kiểu. Tuy nhiên, vì phương án C cũng sai nên ta chọn B là đáp án sai rõ ràng hơn.
Xét các phương án:
A. `tongquat = nguyen;` Hợp lệ vì gán con trỏ `int *` cho `void *`.
B. `*nguyen = *tongquat;` Không hợp lệ vì `tongquat` là `void *`, cần ép kiểu về `int *` trước khi giải tham chiếu. Ví dụ: `*nguyen = *(int*)tongquat;` mới đúng.
C. `kitu = (char) tongquat;` Không hợp lệ. Phép ép kiểu `(char)` sẽ chuyển giá trị của con trỏ `tongquat` thành kiểu `char`, sau đó gán giá trị `char` này cho `kitu`. `kitu` là một con trỏ `char *`, phải nhận một địa chỉ, không phải một giá trị `char`. Phải ép kiểu con trỏ `tongquat` về `char*` trước khi gán: `kitu = (char*)tongquat;`
D. `tongquat = kitu;` Hợp lệ vì gán con trỏ `char *` cho `void *`.
Vậy, phương án B và C đều không hợp lệ, nhưng câu hỏi chỉ yêu cầu chọn một đáp án, và đáp án B thể hiện rõ hơn về lỗi gán giá trị không tương thích giữa các kiểu dữ liệu khi giải tham chiếu con trỏ `void *` mà không ép kiểu. Tuy nhiên, vì phương án C cũng sai nên ta chọn B là đáp án sai rõ ràng hơn.
Lời giải:
Đáp án đúng: D
Câu hỏi này kiểm tra kiến thức về các khái niệm cơ bản trong lập trình hướng đối tượng (OOP), đặc biệt là liên quan đến việc ẩn thông tin và quản lý dữ liệu.
* Encapsulation (Đóng gói): Là việc gói dữ liệu (thuộc tính) và phương thức (hành vi) hoạt động trên dữ liệu đó vào trong một đơn vị duy nhất, thường là một lớp. Mục đích là để bảo vệ dữ liệu khỏi sự truy cập trực tiếp từ bên ngoài và kiểm soát cách dữ liệu được sử dụng.
* Information Hiding (Ẩn thông tin): Là nguyên tắc che giấu các chi tiết triển khai bên trong của một lớp và chỉ cung cấp giao diện cần thiết cho người dùng. Điều này giúp giảm sự phụ thuộc giữa các phần của chương trình và làm cho mã dễ bảo trì và thay đổi hơn. Ẩn thông tin thường được thực hiện thông qua việc sử dụng các từ khóa như `private`, `protected` để giới hạn phạm vi truy cập.
* Data Abstraction (Trừu tượng hóa dữ liệu): Là quá trình đơn giản hóa các đối tượng phức tạp bằng cách chỉ hiển thị các đặc điểm và hành vi cần thiết cho người dùng, đồng thời ẩn đi các chi tiết không cần thiết. Abstraction tập trung vào "cái gì" chứ không phải "như thế nào".
Trong ngữ cảnh của câu hỏi, việc thiết kế các lớp theo cách ẩn các chi tiết triển khai khỏi người dùng liên quan đến cả đóng gói (encapsulation), ẩn thông tin (information hiding) và trừu tượng hóa dữ liệu (data abstraction). Do đó, đáp án chính xác nhất là "All of the above".
* Encapsulation (Đóng gói): Là việc gói dữ liệu (thuộc tính) và phương thức (hành vi) hoạt động trên dữ liệu đó vào trong một đơn vị duy nhất, thường là một lớp. Mục đích là để bảo vệ dữ liệu khỏi sự truy cập trực tiếp từ bên ngoài và kiểm soát cách dữ liệu được sử dụng.
* Information Hiding (Ẩn thông tin): Là nguyên tắc che giấu các chi tiết triển khai bên trong của một lớp và chỉ cung cấp giao diện cần thiết cho người dùng. Điều này giúp giảm sự phụ thuộc giữa các phần của chương trình và làm cho mã dễ bảo trì và thay đổi hơn. Ẩn thông tin thường được thực hiện thông qua việc sử dụng các từ khóa như `private`, `protected` để giới hạn phạm vi truy cập.
* Data Abstraction (Trừu tượng hóa dữ liệu): Là quá trình đơn giản hóa các đối tượng phức tạp bằng cách chỉ hiển thị các đặc điểm và hành vi cần thiết cho người dùng, đồng thời ẩn đi các chi tiết không cần thiết. Abstraction tập trung vào "cái gì" chứ không phải "như thế nào".
Trong ngữ cảnh của câu hỏi, việc thiết kế các lớp theo cách ẩn các chi tiết triển khai khỏi người dùng liên quan đến cả đóng gói (encapsulation), ẩn thông tin (information hiding) và trừu tượng hóa dữ liệu (data abstraction). Do đó, đáp án chính xác nhất là "All of the above".
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