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

50 câu hỏi 60 phút

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

Which of the following keywords do you think can be used when declaring static members in a class? (i) Public (ii) Private (iii) Protected

A.

all of above

B.

(i)

C.

(i), (iii)

Đáp án
Đáp án đúng: A

Trong C++, các thành viên tĩnh (static members) của một lớp có thể được khai báo với bất kỳ một trong ba chỉ thị truy cập: public, private, hoặc protected. Sự khác biệt giữa chúng nằm ở phạm vi truy cập:



  • public: Các thành viên tĩnh public có thể được truy cập từ bất kỳ đâu.

  • private: Các thành viên tĩnh private chỉ có thể được truy cập từ bên trong lớp chứa chúng.

  • protected: Các thành viên tĩnh protected có thể được truy cập từ bên trong lớp chứa chúng và từ các lớp con (lớp kế thừa) của lớp đó.


Vì vậy, cả ba từ khóa public, private, và protected đều có thể được sử dụng khi khai báo các thành viên tĩnh trong một lớp.

Danh sách câu hỏi:

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

Trong C++, các thành viên tĩnh (static members) của một lớp có thể được khai báo với bất kỳ một trong ba chỉ thị truy cập: public, private, hoặc protected. Sự khác biệt giữa chúng nằm ở phạm vi truy cập:



  • public: Các thành viên tĩnh public có thể được truy cập từ bất kỳ đâu.

  • private: Các thành viên tĩnh private chỉ có thể được truy cập từ bên trong lớp chứa chúng.

  • protected: Các thành viên tĩnh protected có thể được truy cập từ bên trong lớp chứa chúng và từ các lớp con (lớp kế thừa) của lớp đó.


Vì vậy, cả ba từ khóa public, private, và protected đều có thể được sử dụng khi khai báo các thành viên tĩnh trong một lớp.

Lời giải:
Đáp án đúng: B
Đoạn code sử dụng vòng lặp `for` để in ra các giá trị của `i`.

* Khởi tạo: `i = 0`, `n = 5`
* Điều kiện lặp: `n != i` (lặp khi `n` khác `i`)
* Cập nhật: `i++`, `n--` (tăng `i` lên 1, giảm `n` xuống 1 sau mỗi vòng lặp)

Các bước thực hiện vòng lặp:

1. `i = 0`, `n = 5`: In ra `0,`
2. `i = 1`, `n = 4`: In ra `1,`
3. `i = 2`, `n = 3`: In ra `2,`
4. `i = 3`, `n = 2`: In ra `3,`
5. `i = 4`, `n = 1`: In ra `4,`
6. `i = 5`, `n = 0`: In ra `5,`
7. `i = 6`, `n = -1`: In ra `6,`
8. `i = 7`, `n = -2`: In ra `7,`
9. `i = 8`, `n = -3`: In ra `8,`
10. `i = 9`, `n = -4`: In ra `9,`
11. `i = 10`, `n = -5`: In ra `10,`
.... Do điều kiện lặp n != i luôn đúng nên vòng lặp không dừng lại.

Vậy đáp án đúng là: B. Lặp vĩnh viễn

Câu 3:

Cách khai báo hàm nào sau đây là đúng?

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

Trong các ngôn ngữ lập trình, cú pháp khai báo hàm thường bao gồm tên hàm, danh sách các tham số (nếu có) và khối lệnh thực thi. Phương án C có vẻ gần đúng nhất với cú pháp chung, tuy nhiên nó thiếu tên hàm. Vì vậy, không có đáp án nào hoàn toàn chính xác trong các lựa chọn đã cho. Tuy nhiên, nếu phải chọn một đáp án "gần đúng" nhất, ta chọn C vì nó bao gồm các thành phần cơ bản (tham số và khối lệnh), dù thiếu tên hàm.


Câu 4:

Thế nào là truyền tham biến? Chọn câu trả lời đúng nhất

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

Truyền tham biến (pass by reference) là cách truyền tham số vào hàm mà hàm nhận được trực tiếp địa chỉ của biến được truyền. Khi hàm thực hiện thay đổi giá trị của tham số, sự thay đổi này sẽ ảnh hưởng trực tiếp đến giá trị của biến ban đầu bên ngoài hàm.

Phân tích các đáp án:

  • Đáp án A: Sai. Truyền giá trị của tham số vào biến là cách nói chung chung, không đặc tả rõ cách thức truyền.
  • Đáp án B: Sai. Mô tả này là của truyền tham trị (pass by value), không phải tham biến.
  • Đáp án C: Đúng. Đây là định nghĩa chính xác của truyền tham biến. Hàm nhận địa chỉ của biến, do đó có thể thay đổi giá trị của biến gốc.
  • Đáp án D: Sai. Mô tả này không chính xác và không liên quan đến truyền tham biến.

Câu 5:

Ngôn ngữ lập trình C được Dennish phát triển dựa trên ngôn ngữ lập trình nào?

Lời giải:
Đáp án đúng: D
Ngôn ngữ lập trình C được Dennis Ritchie phát triển tại Bell Labs vào đầu những năm 1970. Nó được thiết kế dựa trên ngôn ngữ B, vốn là một phiên bản đơn giản hóa của ngôn ngữ BCPL (Basic Combined Programming Language). Vì vậy, đáp án D là chính xác nhất vì nó bao gồm cả hai ngôn ngữ nà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
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 18:

Chỉ ra lỗi trong chương trình

Câu lệnh return không thể sử dụng với các toán tử điều kiệ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

Câu 19:

Trong cấu trúc chương trình C++, lệnh #include dùng để là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
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 27:

Kiểu dữ liệu float có thể xử lí dữ liệu trong phạm vi nào

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

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

Câu 33:

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

Tìm kết quả của chương trình sau: main() { int n; for (n = 18; n > 0; n /= 2) printf(“ % 3 d”, 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

Câu 36:

Đâu là những toán tử toán học?

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 hiệu nào là đúng khi sử dụng hàm fread();

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:

Đâu là phát biểu sai khi nói về danh sách liên kế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 43:

Cho mảng A gồm các phần tử kiểu struct, phát biểu nào là đúng khi truy cập đến các trường của các phần 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
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:

 Hằng có thể được định nghĩa theo cách nào:

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

 Nếu có các khai báo sau:

Char msg[10] ;

Char *ptr;

Char value;

Câu nào sau đây là đú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 50:

 Cái gì quyết định kích thước của vùng nhớ được cấp phát cho các biế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