C có hai toán tử một ngôi đặc biệt được gọi là toán tử tăng [
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 227] và giảm [
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 220]. Các toán tử này tăng và giảm giá trị của một biến theo
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 221
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 222 giống với
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 223 hoặc
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 224
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 225 giống với
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 226 hoặc
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 227
Các toán tử tăng và giảm chỉ có thể được sử dụng với các biến. Chúng không thể được sử dụng với các hằng số hoặc biểu thức
________số 8
Toán tử tăng/giảm có hai loại
- Toán tử tăng/giảm tiền tố
- Toán tử tăng/giảm tiền tố
Hãy bắt đầu với cái đầu tiên
Toán tử tăng/giảm tiền tố
Toán tử tăng/giảm tiền tố ngay lập tức tăng hoặc giảm giá trị hiện tại của biến. Giá trị này sau đó được sử dụng trong biểu thức. Hãy lấy một ví dụ
Đầu tiên, ở đây, giá trị hiện tại của
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 228 được tăng thêm bởi
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 221. Giá trị mới của
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 228 sau đó được gán cho
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 2221. Tương tự như vậy, trong tuyên bố
giá trị hiện tại của
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 228 được giảm đi bởi
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 221. Giá trị mới của
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 228 sau đó được gán cho
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 2221
Chương trình sau minh họa toán tử tăng/giảm tiền tố đang hoạt động
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 222
Sản lượng dự kiến
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 229
Toán tử tăng/giảm hậu tố
Toán tử tăng/giảm hậu tố làm cho giá trị hiện tại của biến được sử dụng trong biểu thức, sau đó giá trị này được tăng hoặc giảm. Ví dụ
Đầu tiên, ở đây, giá trị hiện tại của
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 228 được gán cho
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 2221 sau đó
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 228 được tăng lên
Tương tự như vậy, trong tuyên bố
giá trị hiện tại của
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 228 được gán cho
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 2221 sau đó
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 228 bị giảm đi
Chương trình sau minh họa hoạt động của toán tử tăng/giảm hậu tố
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 227
Sản lượng dự kiến
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 228
Quyền ưu tiên
Các toán tử tăng và giảm có độ ưu tiên cao hơn các toán tử mà chúng ta đã thảo luận cho đến nay [với ngoại lệ duy nhất là dấu ngoặc đơn]. Hơn nữa, các toán tử tăng/giảm tiền tố có độ ưu tiên cao hơn các toán tử tăng/giảm tiền tố
Bảng sau đây liệt kê mức độ ưu tiên và tính kết hợp của các toán tử mà chúng ta đã thảo luận cho đến nay
Toán tử Mô tả Mối quan hệ kết hợp
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 2292dấu ngoặc đơntrái sang phải
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 227,
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 220toán tử tăng tiền tố, toán tử giảm hậu tốtrái sang phải
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 227,
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 220,
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 2297,
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 2298toán tử tăng tiền tố, toán tử giảm tiền tố, cộng một đơn vị, trừ đơn vị phải sang trái
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 2299,
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 220,
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 221Phép nhân, chia và mô đun từ trái sang phải
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 2297,
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 2298Cộng và trừ một ngôi phải sang trái________ 4, sang phải________
Hãy lấy một số biểu thức và giải chúng trên cơ sở thứ tự ưu tiên của toán tử
ví dụ 1
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 225
Giải pháp
Bước 1. Đánh giá
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 2270. Vì
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 227 là hậu tố nên giá trị hiện tại của
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 2221 sẽ được sử dụng trong biểu thức và sau đó giá trị này sẽ được tăng lên
Bước 2. Đánh giá
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 222. Vì
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 227 là tiền tố nên giá trị của
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 228 sẽ được tăng lên ngay lập tức
Bước 3. Đánh giá
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 2276
ví dụ 2
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 221
Giải pháp
Bước 1. Đánh giá
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 2277. Vì
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 227 là hậu tố nên giá trị hiện tại của
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 2279 sẽ được sử dụng trong biểu thức, sau đó giá trị này sẽ được tăng lên. Biểu thức bây giờ trở thành
Bước 2. Đánh giá
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 2280. Vì
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 220 là tiền tố nên giá trị của
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 2282 sẽ bị giảm ngay. Biểu thức bây giờ trở thành