JavaScript is required

Nếu biến chr có kiểu dữ liệu char (Character) thì câu lệnh if nào sau đây đúng cú pháp?

A.

if (chr = "a")

B.

if (chr = 'a')

C.

if (chr == "a")

D.

if (chr == 'a')

Trả lời:

Đáp án đúng: D


Câu hỏi kiểm tra kiến thức về cú pháp câu lệnh `if` trong ngôn ngữ lập trình C/C++ (hoặc các ngôn ngữ tương tự) khi so sánh biến kiểu `char`. * **Kiểu dữ liệu `char`:** Kiểu `char` dùng để lưu trữ một ký tự duy nhất. Ký tự được đặt trong cặp dấu nháy đơn (`'...'`). * **So sánh bằng:** Để so sánh hai giá trị bằng nhau, ta dùng toán tử `==`. * **Gán giá trị:** Toán tử `=` dùng để gán giá trị. * **Dấu nháy đơn và nháy kép:** Dấu nháy đơn (`'...'`) dùng cho ký tự, dấu nháy kép (`"..."`) dùng cho chuỗi. Phân tích các đáp án: * **A. `if (chr = "a")`:** Sai. Sử dụng toán tử gán `=` thay vì toán tử so sánh `==`. Ngoài ra, `"a"` là một chuỗi (string), không phải là một ký tự (character). Vì `chr` là kiểu `char`, nên so sánh với chuỗi là sai. * **B. `if (chr = 'a')`:** Sai. Sử dụng toán tử gán `=` thay vì toán tử so sánh `==`. Câu lệnh này sẽ gán giá trị 'a' cho `chr` và biểu thức điều kiện sẽ đánh giá thành giá trị của `chr` (khác 0 nên thường được coi là true), chứ không thực hiện so sánh. * **C. `if (chr == "a")`:** Sai. Sử dụng toán tử so sánh `==` là đúng, nhưng `"a"` là một chuỗi (string), không phải là một ký tự (character). Do đó không thể so sánh `chr` kiểu `char` với một chuỗi. * **D. `if (chr == 'a')`:** Đúng. Sử dụng toán tử so sánh `==` để so sánh `chr` (kiểu `char`) với ký tự `'a'` (kiểu `char`). Đây là cách so sánh đúng cú pháp và ngữ nghĩa. Vậy đáp án đúng là D.

Câu hỏi liên quan