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 - Đề 11

50 câu hỏi 60 phút

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

Destructors can be overloaded

A.

TRUE

B.

FALSE

Đáp án
Đáp án đúng: B
Trong C++, destructor (hàm hủy) là một phương thức đặc biệt được tự động gọi khi một đối tượng bị hủy bỏ (ví dụ, khi nó ra khỏi phạm vi hoặc bị xóa bằng `delete`). Destructor có một số đặc điểm quan trọng:

1. Tên: Tên của destructor là tên của lớp, đứng trước là dấu ngã (~).
2. Tham số: Destructor không có tham số.
3. Giá trị trả về: Destructor không có giá trị trả về (ngay cả `void` cũng không).
4. Overloading: Destructor không thể overloading. Mỗi lớp chỉ có duy nhất một destructor.

Vì destructor không thể overloading, đáp án A là sai và đáp án B là đúng.

Danh sách câu hỏi:

Lời giải:
Đáp án đúng: B
Trong C++, destructor (hàm hủy) là một phương thức đặc biệt được tự động gọi khi một đối tượng bị hủy bỏ (ví dụ, khi nó ra khỏi phạm vi hoặc bị xóa bằng `delete`). Destructor có một số đặc điểm quan trọng:

1. Tên: Tên của destructor là tên của lớp, đứng trước là dấu ngã (~).
2. Tham số: Destructor không có tham số.
3. Giá trị trả về: Destructor không có giá trị trả về (ngay cả `void` cũng không).
4. Overloading: Destructor không thể overloading. Mỗi lớp chỉ có duy nhất một destructor.

Vì destructor không thể overloading, đáp án A là sai và đáp án B là đúng.
Lời giải:
Đáp án đúng: A
Trong C++, bạn có thể sử dụng nhiều khối `catch` để xử lý các loại ngoại lệ khác nhau. Mỗi khối `catch` có thể bắt một loại ngoại lệ cụ thể hoặc một lớp ngoại lệ cha. Điều này cho phép bạn xử lý các tình huống lỗi khác nhau một cách riêng biệt và phù hợp. Do đó, khẳng định rằng chỉ một khối `catch` có thể xử lý tất cả các ngoại lệ là sai.
Lời giải:
Đáp án đúng: B
Câu hỏi này liên quan đến việc sử dụng các tham số kiểu (type parameters) trong định nghĩa template hàm (function template) trong C++. Trong C++, khi định nghĩa template hàm, không bắt buộc phải sử dụng tất cả các tham số kiểu đã khai báo trong template prefix.

Câu 4:

Static member functions ___

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

Phân tích câu hỏi:

Câu hỏi này kiểm tra kiến thức về các hàm thành viên tĩnh (static member functions) trong lập trình hướng đối tượng, đặc biệt là trong C++.

Đánh giá các phương án:

  • A. can be used without an instantiation of an object (có thể được sử dụng mà không cần khởi tạo một đối tượng): Đây là một đặc điểm quan trọng của hàm thành viên tĩnh. Vì chúng thuộc về lớp chứ không phải một đối tượng cụ thể nào của lớp, ta có thể gọi chúng trực tiếp thông qua tên lớp.
  • B. can only access static data (chỉ có thể truy cập dữ liệu tĩnh): Hàm thành viên tĩnh chỉ có thể truy cập các thành viên dữ liệu tĩnh của lớp. Điều này là do chúng không có con trỏ this, vốn trỏ đến một đối tượng cụ thể.
  • C. Both 1 and 2 are correct (Cả 1 và 2 đều đúng): Vì cả hai phát biểu A và B đều đúng, nên đây là đáp án chính xác.
  • D. Neither 1 nor 2 are correct (Cả 1 và 2 đều không đúng): Đây là đáp án sai vì cả hai phát biểu A và B đều đúng.

Kết luận:

Đáp án chính xác là C, vì hàm thành viên tĩnh có thể được gọi mà không cần một đối tượng và chúng chỉ có thể truy cập dữ liệu tĩnh.

Lời giải:
Đáp án đúng: B
Đoạn code C++ này liên quan đến thứ tự khởi tạo các lớp trong đa kế thừa và kế thừa ảo. Khi một đối tượng `myprofessor` được tạo, trình biên dịch sẽ khởi tạo các lớp cơ sở theo thứ tự chúng được liệt kê trong định nghĩa lớp `myprofessor`. Tuy nhiên, vì `researcher` được kế thừa ảo, nó sẽ chỉ được khởi tạo một lần bởi lớp cơ sở 'ngoài cùng' (most derived class) trong cây kế thừa. Cụ thể:

1. teacher: Lớp `teacher` kế thừa từ `professor`, do đó `professor` được khởi tạo trước, sau đó đến `teacher`.
2. researcher: Vì `researcher` được kế thừa ảo, nó sẽ chỉ được khởi tạo một lần, và trong trường hợp này, `myprofessor` là lớp 'ngoài cùng' (most derived).
3. myprofessor: Cuối cùng, constructor của `myprofessor` được gọi.

Vì vậy, thứ tự in ra sẽ là: professor teacher researcher myprofessor.

Tuy nhiên, phương án A đưa ra thứ tự: professor researcher teacher myprofessor. Vì researcher phải được khởi tạo sau teacher, phương án A sai.
Phương án B đưa ra thứ tự: researcher professor teacher myprofessor. Điều này cũng sai, vì professor là lớp cơ sở của teacher, nên phải được khởi tạo trước teacher.
Phương án C và D đảo ngược thứ tự khởi tạo của các lớp dẫn xuất và lớp cơ sở, do đó cả hai đều sai.

Do không có đáp án nào đúng, các đáp án còn lại đều 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
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 13:

Đầu ra là gì? void main() { int i = 0; for (i = 0; i < 5; i++) if (i < 4) { printf("Hello"); break; } 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 16:

Đầu ra là gì? #include #include void main() { int i, j; for(i = 0, j = 0; i < 5, j < 6; i++, j++) { printf("i = %d \t j = %d\n", i, j); } 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
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 20:

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

#include

#include

Void main ()

{

Clrscr () ;

Int i;

For (i=1; i<=24; i++) ;

Printf ( "\n%d", i) ;

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

Lệnh cout trong C++ có tác dụng gì?

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

Which of the following is a correct comment?

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:

When does the code block following while(x<100) execute?

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 a properly defined struct?

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

Which of the following is a two-dimensional array?

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:

Trong giai đoạn nào mã sau đây được thay thế bằng nội dung của tệp stdio.h #include

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

Phát biểu đúng nhất về mẫu lệnh( f là con trỏ tệp): while ((ch = fgetc(f)) != EOF)…

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

Khi thực hiện việc thêm một node x vào cây nhị phân tìm kiếm ta chỉ cầ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

Câu 46:

 Nếu hàm được gọi trước khi nó định nghĩa thì điều kiện là gì:

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

 Trong ngôn ngữ C, khai báo "int array[3] [5]" có 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
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