JavaScript is required

Thứ tự nào sau đây là thứ tự đánh giá đúng cho biểu thức bên dưới? z = x + y * z / 4 % 2 – 1;

A.

* / % + – =

B.

= * / % + –

C.

/ * % – + =

D.

*% / – + =

Trả lời:

Đáp án đúng: A


Trong biểu thức `z = x + y * z / 4 % 2 – 1;`, thứ tự ưu tiên của các toán tử trong C (và nhiều ngôn ngữ lập trình khác) là: 1. `*`, `/`, `%`: Nhân, chia, và chia lấy dư. Các toán tử này có cùng độ ưu tiên và được thực hiện từ trái sang phải. 2. `+`, `–`: Cộng và trừ. Các toán tử này cũng có cùng độ ưu tiên và được thực hiện từ trái sang phải. 3. `=`: Gán. Toán tử gán có độ ưu tiên thấp nhất và được thực hiện cuối cùng. Dựa trên thứ tự này, biểu thức được đánh giá như sau: 1. `y * z` 2. `(y * z) / 4` 3. `((y * z) / 4) % 2` 4. `x + ((y * z) / 4) % 2` 5. `(x + ((y * z) / 4) % 2) – 1` 6. `z = (x + ((y * z) / 4) % 2) – 1` Vậy thứ tự đúng của các toán tử là `* / % + – =`.

Câu hỏi liên quan