JavaScript is required
Danh sách đề

700+ câu hỏi trắc nghiệm Ngôn ngữ lập trình C có lời giải chi tiết - Đề 6

50 câu hỏi 60 phút

Thẻ ghi nhớ
Luyện tập
Thi thử
Nhấn để lật thẻ
1 / 50

One cannot create an object of a virtual class

A.

TRUE

B.

FALSE

Đáp án
Đáp án đúng: B
Câu hỏi này kiểm tra kiến thức về lớp ảo (virtual class) trong lập trình hướng đối tượng. Một lớp ảo là một lớp có ít nhất một phương thức ảo thuần túy (pure virtual function). Phương thức ảo thuần túy là phương thức được khai báo nhưng không được định nghĩa trong lớp cơ sở, mà phải được định nghĩa trong các lớp con kế thừa từ lớp cơ sở đó.

Vì lớp ảo chứa ít nhất một phương thức ảo thuần túy, nên nó là một lớp không hoàn chỉnh. Do đó, ta không thể tạo một đối tượng trực tiếp từ một lớp ảo. Việc cố gắng tạo một đối tượng từ lớp ảo sẽ gây ra lỗi.

Như vậy, phát biểu "Không thể tạo một đối tượng của một lớp ảo" là ĐÚNG.

Danh sách câu hỏi:

Lời giải:
Đáp án đúng: B
Câu hỏi này kiểm tra kiến thức về lớp ảo (virtual class) trong lập trình hướng đối tượng. Một lớp ảo là một lớp có ít nhất một phương thức ảo thuần túy (pure virtual function). Phương thức ảo thuần túy là phương thức được khai báo nhưng không được định nghĩa trong lớp cơ sở, mà phải được định nghĩa trong các lớp con kế thừa từ lớp cơ sở đó.

Vì lớp ảo chứa ít nhất một phương thức ảo thuần túy, nên nó là một lớp không hoàn chỉnh. Do đó, ta không thể tạo một đối tượng trực tiếp từ một lớp ảo. Việc cố gắng tạo một đối tượng từ lớp ảo sẽ gây ra lỗi.

Như vậy, phát biểu "Không thể tạo một đối tượng của một lớp ảo" là ĐÚNG.
Lời giải:
Đáp án đúng: A

Trong C++, một class quản lý một linked list thường nên giải phóng bộ nhớ đã cấp phát cho các node của linked list trong destructor của class đó. Điều này là để tránh memory leak (rò rỉ bộ nhớ). Khi một đối tượng của class linked list bị hủy (ví dụ, khi nó ra khỏi scope hoặc bị xóa bằng delete), destructor sẽ được gọi, và trong destructor này, bạn nên duyệt qua linked list và giải phóng từng node. Nếu không làm như vậy, bộ nhớ mà các node chiếm giữ sẽ không được giải phóng, dẫn đến rò rỉ bộ nhớ.

Lời giải:
Đáp án đúng: B

Trong C++, ios là lớp cơ sở (base class) của iostream, không phải ngược lại. iostream kế thừa từ ios (và istream, ostream). Vì vậy, phát biểu 'ios' stream is derived from iostream là sai.

Câu 4:

A class declaring another class as a friend will:

Lời giải:
Đáp án đúng: C
Trong C++, khi một lớp khai báo một lớp khác là "friend", nó cho phép lớp được khai báo là friend truy cập vào các thành viên private và protected của lớp khai báo. Điều này có nghĩa là lớp friend có thể đọc và sửa đổi các biến và phương thức private và protected của lớp gốc.

* Phương án A: Sai. Đây chỉ là một câu nói đùa.
* Phương án B: Sai. Việc khai báo một lớp là friend không liên quan đến việc lớp đó có thể khai báo một instance của lớp kia trong danh sách biến private của nó hay không. Việc này phụ thuộc vào phạm vi truy cập (access specifier) và mối quan hệ giữa hai lớp, không phải chỉ việc khai báo friend.
* Phương án C: Đúng. Đây là định nghĩa chính xác của việc khai báo một lớp là friend. Lớp friend được cấp quyền truy cập đặc biệt vào các thành viên private và protected của lớp khai báo.
* Phương án D: Sai. Việc khai báo một lớp là friend cho phép lớp được khai báo là friend truy cập vào các thành viên private của lớp khai báo, chứ không phải ngược lại.
Lời giải:
Đáp án đúng: D
Trong C++, một lớp (class) được khai báo là `friend` của một lớp khác, nó có quyền truy cập vào tất cả các thành viên của lớp kia, bất kể chúng được khai báo là `public`, `protected` hay `private`. Trong đoạn mã trên, `Friend` được khai báo là `friend` của `Derived`. Do đó, `Friend` có thể truy cập vào tất cả các thành viên của `Derived`, kể cả các thành viên kế thừa từ `Base`.

Các thành viên của `Base` bao gồm:
- `a` (public): Có thể truy cập từ bất cứ đâu.
- `b` (protected): Có thể truy cập từ các lớp con và các lớp `friend`.
- `c` (private): Chỉ có thể truy cập từ bên trong lớp `Base`.

Vì `Friend` là `friend` của `Derived`, và `Derived` kế thừa từ `Base`, `Friend` có thể truy cập `a` và `b` của `Base` thông qua một đối tượng `Derived`. Tuy nhiên, `Friend` không thể trực tiếp truy cập `c` vì `c` là `private` trong `Base`, và chỉ có các thành viên của `Base` mới có quyền truy cập.

Ngoài ra, `Friend` có thể truy cập `d`, là một thành viên của `Derived`.

Như vậy, `Friend` có thể truy cập `a` và `b` thông qua đối tượng `derived` của lớp `Derived`.

Vì vậy, đáp án đúng là A.

Câu 6:

Khai báo biến nào sau đây là SAI?

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

Câu 8:

Nếu x là một biến toàn cục và x không phải là một con trỏ thì

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
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
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

Câu 21:

Trong chương trình sau, vòng lặp for sẽ được thực thi trong bao lâu? #include #include void main() { int i = 5; for(;scanf("%d", &i); printf("%d", i)); getch(); }

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

Câu 24:

What is the only function all C programs must contain?

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

Câu 25:

Which of the following is true?

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

Câu 28:

Tìm lỗi sai trong chương trình sau (in ra kết quả là tổng của 453 và 343):

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

Câu 32:

Phép trừ 1 con trỏ với một số nguyên sẽ là:

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

Câu 33:

Trong các câu sau, câu nào đú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

Câu 34:

Kích thước của biến con trỏ là:

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

Câu 35:

Cho các khai báo sau. Hãy chọn Câu đúng nhất: struct ngay { int ng, th, n; } vaotruong, ratruong; typedef struct sinhvien { char hoten; ngay ngaysinh; };

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

Câu 37:

Chọn câu đú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

Câu 39:

Một biến được gọi là một biến địa phương nếu:

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

Câu 42:

 Sử dụng cách truyền nào trong hàm sẽ không làm thay đổi giá trị của biến trong chương trình chính:

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

Câu 46:

 Kết quả của chương trình sau là gì:

#include

#include

#include

#define EOL '\n'

Void main ()

{

Clrscr () ;

Char chu[80] ;

Int tong, dem

For (dem=0; dem

Tong=dem;

For (dem=0; dem

Putchar (toupper (chu[dem])) ;

Getch () ;

Return;

};

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

Câu 47:

 Sự hiệu chỉnh các kiểu dữ liệu số học khi tính toán là:

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

Câu 48:

 Khi khai báo mảng, ta khởi tạo luôn giá trị của mảng như sau:

Int x[3] ={4, 2, 6};

Nghĩa là:

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

Câu 49:

 Khi biến con trỏ không chứa bất kì một địa chỉ nào thì giá trị của nó sẽ là:

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