Cho a=3, b=2 và c là 3 biến nguyên. Biểu thức nào sau viết sai cú pháp trong ngôn ngữ lập trình C
Trả lời:
Đáp án đúng: A
Trong ngôn ngữ lập trình C, các phép toán bitwise (AND, OR, XOR, NOT, dịch trái, dịch phải) được biểu diễn bằng các ký hiệu đơn (&, |, ^, ~, <<, >>). Các phép toán logic (AND logic, OR logic, NOT logic) được biểu diễn bằng các ký hiệu kép (&&, ||, !).
* **A. (c = a & b)**: Phép toán bitwise AND giữa `a` và `b`, kết quả được gán cho `c`.
* **B. (c = a && b)**: Phép toán logic AND giữa `a` và `b`, kết quả (1 hoặc 0) được gán cho `c`. Do `a` và `b` khác 0 nên biểu thức `a && b` sẽ cho kết quả là 1.
* **C. (c = a / b)**: Phép chia số nguyên `a` cho `b`, kết quả được gán cho `c`.
* **D. (c = a < b)**: So sánh `a` có nhỏ hơn `b` không. Kết quả là một giá trị boolean (1 nếu đúng, 0 nếu sai) được gán cho `c`. Ở đây, `a=3` không nhỏ hơn `b=2` nên kết quả là 0. Biểu thức này bị sai cú pháp vì có ký tự "<" không hợp lệ ở giữa.
Vậy, phương án D viết sai cú pháp.