Kiểu dữ liệu nào sau đây không phải do người dùng định nghĩa? 1. struct book { char name[10] float price; int page; }; 2. long int l = 2.3; 3. enum day{Monday, Tuesday, Wednesday};
Trả lời:
Đáp án đúng: B
Kiểu dữ liệu do người dùng định nghĩa là kiểu dữ liệu được tạo ra bởi lập trình viên, không phải là kiểu dữ liệu có sẵn trong ngôn ngữ lập trình.
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.





