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
Đáp án đúng: C
Câu hỏi liên quan
Phương án A sai vì `#include` không liên quan trực tiếp đến việc thông báo các biến sử dụng trong chương trình hoặc thông báo chương trình sử dụng các lệnh tính toán.
Phương án B sai vì `#include` không khai báo các câu lệnh được sử dụng. Nó chỉ đơn giản là chèn nội dung của một file khác vào file hiện tại.
Phương án C đúng vì nó mô tả chính xác chức năng của `#include`: thông báo cho bộ tiền biên dịch thêm các thư viện chuẩn (hoặc thư viện khác) vào chương trình. Các lệnh sử dụng trong chương trình cần có prototype (khai báo) trong các thư viện này để trình biên dịch có thể kiểm tra tính hợp lệ.
Phương án D sai vì đã có phương án đúng.
Trong các phương án được đưa ra:
- A. > là toán tử quan hệ (lớn hơn).
- B. > là toán tử quan hệ (lớn hơn), bị lặp lại.
- C. <= là toán tử quan hệ (nhỏ hơn hoặc bằng).
- D. Không có ở trên. Vì A, B và C đều là toán tử quan hệ nên 'Không có ở trên' không phải là đáp án đúng.
Tuy nhiên câu hỏi có vẻ đang có lỗi vì có 2 đáp án giống nhau. Giả sử đáp án B là một toán tử khác (ví dụ +) thì đáp án đúng là B.
Trong trường hợp này, nếu đáp án B là một toán tử KHÔNG phải là toán tử quan hệ thì B là đáp án đúng.
1. `struct book { char name[10]; float price; int page; };` - Đây là một định nghĩa kiểu cấu trúc (struct), do người dùng định nghĩa. Nó tạo ra một kiểu dữ liệu mới có tên là `book` bao gồm các thành viên `name`, `price`, và `page`.
2. `long int l = 2.3;` - `long int` là một kiểu dữ liệu nguyên thủy (primitive data type) có sẵn trong C/C++. Đây không phải là kiểu dữ liệu do người dùng định nghĩa. Việc gán giá trị `2.3` (kiểu `double`) cho biến `l` (kiểu `long int`) sẽ gây ra việc mất dữ liệu (phần thập phân sẽ bị bỏ qua) và có thể gây ra cảnh báo của trình biên dịch, nhưng bản thân `long int` không phải là kiểu dữ liệu do người dùng định nghĩa.
3. `enum day {Monday, Tuesday, Wednesday};` - Đây là một định nghĩa kiểu liệt kê (enum), do người dùng định nghĩa. Nó tạo ra một kiểu dữ liệu mới có tên là `day` với các giá trị có thể là `Monday`, `Tuesday`, hoặc `Wednesday`.
Vậy, `long int` không phải là kiểu dữ liệu do người dùng định nghĩa.
Trong C/C++, một khai báo extern báo cho trình biên dịch biết rằng một biến hoặc hàm đã được định nghĩa ở một nơi khác (có thể là trong một file khác). Nó không cấp phát bộ nhớ cho biến đó, mà chỉ thông báo rằng biến đó sẽ được định nghĩa ở một nơi khác trong chương trình.
- extern int x;: Đây là một khai báo extern cho biến x kiểu int. Nó báo cho trình biên dịch biết rằng biến x kiểu int đã được định nghĩa ở một nơi khác.
- float func(float x) { ... }: Đây là một định nghĩa hàm func, không phải là một khai báo extern. Nó cấp phát bộ nhớ và cung cấp phần thân của hàm.
- double pow(double, double);: Đây là một khai báo hàm (function declaration) và mặc định là extern. Khi bạn khai báo một hàm mà không có định nghĩa (body), trình biên dịch hiểu rằng định nghĩa của hàm đó nằm ở một nơi khác. Trong trường hợp này, hàm pow (hàm lũy thừa) thường được định nghĩa trong thư viện chuẩn của C/C++.
Vậy, các tuyên bố extern là dòng 1 và dòng 3.

Bộ Đồ Án Tốt Nghiệp Ngành Trí Tuệ Nhân Tạo Và Học Máy

Bộ 120+ Đồ Án Tốt Nghiệp Ngành Hệ Thống Thông Tin

Bộ Đồ Án Tốt Nghiệp Ngành Mạng Máy Tính Và Truyền Thông

Bộ Luận Văn Tốt Nghiệp Ngành Kiểm Toán

Bộ 370+ Luận Văn Tốt Nghiệp Ngành Kế Toán Doanh Nghiệp

Bộ Luận Văn Tốt Nghiệp Ngành Quản Trị Thương Hiệu
ĐĂ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.