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?
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ứcc = a & b
, giá trị củaa
vàb
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 choc
.&&
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ứcc = a && b
, kết quả của phép AND logic (0 hoặc 1) sẽ được gán choc
./
là toán tử chia. Trong biểu thứcc = a / b
, giá trị củaa
sẽ được chia chob
, và kết quả (phần nguyên nếua
vàb
là số nguyên) sẽ được gán choc
.<<
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ứcc = a << b
, giá trị củaa
sẽ được dịch tráib
bit, và kết quả gán choc
.
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.