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

50 câu hỏi 60 phút

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

There can be a null reference

A.

TRUE

B.

FALSE

Đáp án
Đáp án đúng: B
Tham chiếu null (null reference) là một tham chiếu không trỏ đến bất kỳ đối tượng nào trong bộ nhớ. Trong nhiều ngôn ngữ lập trình, việc cố gắng truy cập một thành viên của một tham chiếu null sẽ gây ra lỗi. Do đó, một tham chiếu có thể là null là một sự thật.

Danh sách câu hỏi:

Lời giải:
Đáp án đúng: B
Tham chiếu null (null reference) là một tham chiếu không trỏ đến bất kỳ đối tượng nào trong bộ nhớ. Trong nhiều ngôn ngữ lập trình, việc cố gắng truy cập một thành viên của một tham chiếu null sẽ gây ra lỗi. Do đó, một tham chiếu có thể là null là một sự thật.
Lời giải:
Đáp án đúng: A

Câu trả lời đúng là B. FALSE. Bạn hoàn toàn có thể sử dụng enumeration (enum) bên trong một class trong nhiều ngôn ngữ lập trình như C++, Java, và C#. Enum giúp định nghĩa một tập hợp các hằng số có tên, làm cho code dễ đọc và dễ bảo trì hơn. Việc sử dụng enum trong class giúp nhóm các hằng số liên quan đến class đó lại với nhau, tăng tính tổ chức và rõ ràng của code.

Câu 3:

What is a base class?

Lời giải:
Đáp án đúng: D
Đáp án đúng là A. An abstract class that is at the top of the inheritance hierarchy.

Giải thích:

* Base class (Lớp cơ sở): Là một lớp mà các lớp khác kế thừa (inherit) từ nó. Nó cung cấp các thuộc tính và phương thức chung mà các lớp con (derived classes) có thể sử dụng hoặc ghi đè (override).
* Top of the inheritance hierarchy (Đầu hệ thống phân cấp kế thừa): Trong một hệ thống phân cấp kế thừa, lớp cơ sở thường nằm ở trên cùng, là lớp gốc mà từ đó các lớp khác phát triển.
* Abstract class (Lớp trừu tượng): Là một lớp không thể tạo đối tượng trực tiếp từ nó. Lớp trừu tượng thường chứa ít nhất một phương thức trừu tượng (pure virtual function), phương thức này phải được định nghĩa lại trong các lớp con.

Trong ngữ cảnh này, một "base class" thường là một lớp trừu tượng nằm ở đỉnh của hệ thống phân cấp kế thừa, định nghĩa các hành vi và thuộc tính chung mà tất cả các lớp con phải tuân theo. Mặc dù một base class có thể không nhất thiết phải là abstract, lựa chọn A là mô tả chính xác nhất về vai trò điển hình của một base class trong thiết kế hướng đối tượng.

Các lựa chọn khác không đúng vì:

* B. A class with a pure virtual function in it.: Một lớp có pure virtual function là một lớp trừu tượng (abstract class), nhưng không phải tất cả các base class đều là abstract.
* C. A class that inherits from another class: Đây là định nghĩa của một lớp con (derived class), không phải base class.
* D. A class that is inherited by another class, and thus is included in that class.: Mặc dù đúng là một base class được kế thừa bởi các lớp khác, nhưng mô tả này không đầy đủ vì nó không đề cập đến vai trò của base class trong việc cung cấp các thuộc tính và phương thức chung.

Câu 4:

Where is an exception generated?

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

Trong lập trình hướng đối tượng, một ngoại lệ (exception) được tạo ra (generated) khi có một sự kiện bất thường xảy ra trong quá trình thực thi chương trình, làm gián đoạn luồng thực thi bình thường. Điều này thường xảy ra khi một điều kiện lỗi hoặc không mong muốn phát sinh. Các phương án được đánh giá như sau:

  • A. Trong khối catch: Khối catch dùng để bắt và xử lý các ngoại lệ đã được ném ra, chứ không phải là nơi ngoại lệ được tạo ra.
  • B. Trong mệnh đề throw: Mệnh đề throw được sử dụng để chủ động ném ra một ngoại lệ. Đây chính là nơi ngoại lệ được tạo ra và "ném" đi để báo hiệu một vấn đề.
  • C. Trong constructor của một lớp: Constructor của một lớp có thể tạo ra ngoại lệ nếu có lỗi xảy ra trong quá trình khởi tạo đối tượng, ví dụ như không đủ bộ nhớ hoặc dữ liệu đầu vào không hợp lệ.
  • D. Chỉ khi cấp phát bộ nhớ thất bại: Việc cấp phát bộ nhớ thất bại chỉ là một trong nhiều nguyên nhân có thể dẫn đến ngoại lệ. Ngoại lệ có thể xảy ra do nhiều nguyên nhân khác như chia cho 0, truy cập vào một vị trí bộ nhớ không hợp lệ, hoặc do logic nghiệp vụ của chương trình.

Như vậy, đáp án chính xác nhất là B và C. Tuy nhiên, vì câu hỏi yêu cầu chọn MỘT đáp án, đáp án B mang tính tổng quát hơn vì `throw` là cách trực tiếp tạo ra exception, còn constructor chỉ là một trường hợp cụ thể. Trong một số ngôn ngữ, việc ném exception trong constructor được khuyến khích để báo hiệu việc khởi tạo không thành công.

Tuy nhiên, theo đề bài này, ta nên chọn B là đáp án đúng nhất.

Câu 5:

mmmmmmmmmm

Lời giải:
Đáp án đúng: C
Câu hỏi có vẻ như bị thiếu nội dung, không rõ đang hỏi về khái niệm gì (ví dụ: abstract class, interface, v.v.). Tuy nhiên, dựa vào các đáp án được đưa ra, có vẻ câu hỏi liên quan đến abstract class trong C++ hoặc Java.

* A. The class must not have method: Sai. Abstract class có thể có method, thậm chí cả method đã được implement.
* B. The class must have a constructor that takes no arguments: Sai. Abstract class có thể có constructor có tham số hoặc không tham số.
* C. The class must have a function definition equal to zero: Có vẻ như đang ám chỉ đến pure virtual function (ví dụ `virtual void foo() = 0;` trong C++). Nếu một class chứa ít nhất một pure virtual function, thì class đó là abstract. Đây có lẽ là đáp án đúng nhất trong các lựa chọn.
* D. The class may only exist during the planning phase: Sai. Abstract class là một khái niệm lập trình cụ thể, không chỉ tồn tại trong giai đoạn planning.

Do đó, đáp án C có vẻ phù hợp nhất, dù câu hỏi và các đáp án đều không rõ ràng.

Câu 6:

Mảng là gì? Chọn câu trả lời đúng nhất

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

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

Câu 8:

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

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

Trong chương trình sau, biến a được định nghĩa và khai báo ở đâu? #include void main() { extern int a; printf("\n a = %d", a); } int a = 20;

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

Hàm gotoxy(int x, int y) là hàm:

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:

Toán tử “n--“ được hiể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

Câu 33:

Nếu có khai báo, câu nào sẽ đúng: char * ptr; char msg[10] char v;

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:

f là con trỏ trỏ đến tệp nhị phân DATA chứa không quá 100 bản ghi( kiểu cấu trúc) liền nhau. Cho khai báo. Đoạn chương trình nào sau đây đọc toàn bộ các bảng ghi trong DATA vào x: struct T { …}; struct T x[100] int i = 0, n = 0;

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

Phát biểu nào sau là đúng khi nói về hàm fgets():

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

Đâu là định nghĩa đúng về cấu trúc tự trỏ:

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:

Cho một danh sách móc nối với các phần tử trong danh sách có kiểu S1 được định nghĩa như sau: struct S1{ int info; struct S1 * next;} *head; Biết con trỏ “head” lưu địa chỉ của phần tử đầu tiên trong danh sách. Cho biết mục đích của câu lệnh sau: { head->next->next->info=111;};

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

Trong chế độ đồ họa, hàm nào thường được dùng để hiện nội dung xâ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
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:

Cho a=3, b=2. Biến c= (a<<=B) sẽ có giá trị nào dưới đây:

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

 Hàm clrscr () là hàm 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