JavaScript is required

Cho a=3, b=2 và c là 3 biến nguyên. Biểu thức nào sau đây viết sai cú pháp trong ngôn ngữ lập trình C?

A.

(c=a & b).

B.

(c=a && b).

C.

(c= a/b).

D.
(c= a<<b).
Trả lời:

Đáp án đúng: A


Trong ngôn ngữ lập trình C:

  • & là toán tử AND bitwise. Nó thực hiện phép AND trên từng bit của hai toán hạng. Trong biểu thức c = a & b, giá trị của ab sẽ được biểu diễn dưới dạng nhị phân, sau đó phép AND bitwise được thực hiện, và kết quả gán cho c.
  • && là toán tử AND logic. Nó trả về 1 (true) nếu cả hai toán hạng đều khác 0, và 0 (false) nếu một trong hai hoặc cả hai toán hạng bằng 0. Trong biểu thức c = a && b, kết quả của phép AND logic (0 hoặc 1) sẽ được gán cho c.
  • / là toán tử chia. Trong biểu thức c = a / b, giá trị của a sẽ được chia cho b, và kết quả (phần nguyên nếu ab là số nguyên) sẽ được gán cho c.
  • << là toán tử dịch trái bitwise. Nó dịch các bit của toán hạng bên trái sang trái một số lượng vị trí được chỉ định bởi toán hạng bên phải. Trong biểu thức c = a << b, giá trị của a sẽ được dịch trái b bit, và kết quả gán cho c.

Như vậy, cả 4 biểu thức đều hợp lệ về mặt cú pháp trong C.

Do đó, không có đáp án nào sai.

Câu hỏi liên quan