Sử dụng các toán tử tăng và giảm, chúng ta có thể tăng giá trị của một biến lên 1 hoặc giảm đi 1
Thí dụ
int a = 5; ++a; //After the above statement execution, the value of a will be 6. int b = 10; --b; //After the above statement execution, the value of b will be 9.
A++ so với a+1
Bạn có thể nghĩ tại sao chúng ta cần toán tử ++ để tăng giá trị biến lên 1. chúng ta có thể đạt được điều này bằng cách sử dụng a=a+1
Bạn đúng rồi. Cấp độ chương trình nó sẽ không tạo ra bất kỳ sự khác biệt nào. Cả hai sẽ cho cùng một kết quả. Nhưng ở cấp độ lắp ráp, có một số tối ưu hóa
a = a + 1;
Nếu bạn cho a = a + 1;
Nó sẽ tải giá trị a vào bộ nhớ
Và thêm 1 vào một
Và sau đó lưu trữ nó một lần nữa vào một
Nó sẽ mất ba chu kỳ CPU
a++;
Nhưng nếu bạn cho ++,
Nó đi thẳng về phía trước ở cấp độ lắp ráp. Nó chỉ tăng giá trị lên 1. Chúng tôi có thể tiết kiệm một số chu kỳ CPU
1] Toán tử tăng. Toán tử gia tăng được sử dụng để tăng giá trị của một biến trong một biểu thức. Trong Pre-Increment, giá trị đầu tiên được tăng lên và sau đó được sử dụng bên trong biểu thức. Trong khi ở Post-Increment, giá trị đầu tiên được sử dụng bên trong biểu thức và sau đó tăng dần.
cú pháp
// PREFIX ++m // POSTFIX m++ where m is a variable
Thí dụ.
C
#include
int
increment[
int
a,
int
5 61
5 62
5 63_______2_______4
5 63_______2_______7
5 63_______2_______9
5 63_______11_______1
// PREFIX --m // POSTFIX m-- where m is a variable2
// PREFIX --m // POSTFIX m-- where m is a variable3_______11_______4
5 63_______11_______7
5 63_______129_______
5 40
5 63_______11_______1
// PREFIX --m // POSTFIX m-- where m is a variable2
5 44
5 45
5 46
5 48
int
#include
0
5 62
5 63_______129_______
#include
45 63_______127_______6
5 63_______127_______9
05 46
đầu ra
5 6
2] Toán tử giảm dần. Toán tử giảm được sử dụng để giảm giá trị của một biến trong một biểu thức. Trong Pre-Decrement, giá trị được giảm trước tiên và sau đó được sử dụng bên trong biểu thức. Trong khi ở Post-Decrement, giá trị đầu tiên được sử dụng bên trong biểu thức và sau đó giảm dần.
Trong C/C++, Toán tử tăng được sử dụng để tăng giá trị của biến lên 1. Toán tử này được biểu thị bằng ký hiệu ++. Toán tử tăng có thể tăng giá trị của biến lên 1 trước khi gán nó cho biến hoặc có thể tăng giá trị của biến lên 1 sau khi gán biến. Như vậy có thể phân thành hai loại
- Toán tử tăng trước
- Toán tử tăng sau
1] Toán tử tăng trước. Toán tử tăng trước được sử dụng để tăng giá trị của một biến trước khi sử dụng nó trong một biểu thức. Trong Pre-Increment, giá trị đầu tiên được tăng lên và sau đó được sử dụng bên trong biểu thức
cú pháp.
a = ++x;
Ở đây, nếu giá trị của 'x' là 10 thì giá trị của 'a' sẽ là 11 vì giá trị của 'x' đã được sửa đổi trước khi sử dụng nó trong biểu thức
CPP
// CPP program to demonstrate pre increment
// operator
#include
using
Pre Increment Operation a = 11 x = 110
Pre Increment Operation a = 11 x = 111
Pre Increment Operation a = 11 x = 112
Pre Increment Operation a = 11 x = 113
Pre Increment Operation a = 11 x = 114
Pre Increment Operation a = 11 x = 115
Pre Increment Operation a = 11 x = 116_______33_______3
Pre Increment Operation a = 11 x = 118
Pre Increment Operation a = 11 x = 116_______43_______0
Pre Increment Operation a = 11 x = 116_______43_______2
a = x++;3
a = x++;4
Pre Increment Operation a = 11 x = 116_______43_______6
Pre Increment Operation a = 11 x = 116_______43_______2
a = x++;9
Post Increment Operation a = 10 x = 110
Pre Increment Operation a = 11 x = 116_______53_______2
Pre Increment Operation a = 11 x = 116_______43_______2
Post Increment Operation a = 10 x = 115
Post Increment Operation a = 10 x = 116
Pre Increment Operation a = 11 x = 116_______53_______8
Post Increment Operation a = 10 x = 119
a = a++;0
Đầu ra
Pre Increment Operation a = 11 x = 11
2] Toán tử tăng sau. Toán tử tăng sau được sử dụng để tăng giá trị của biến sau khi thực hiện hoàn toàn biểu thức trong đó sử dụng tăng sau. Trong Post-Increment, giá trị đầu tiên được sử dụng trong một biểu thức và sau đó tăng dần.
cú pháp.
a = x++;
Ở đây, giả sử giá trị của ‘x’ là 10 thì giá trị của biến ‘a’ sẽ là 10 vì giá trị cũ của ‘x’ đã được sử dụng
CPP
a = a++;1
// operator
#include
using
Pre Increment Operation a = 11 x = 110
Pre Increment Operation a = 11 x = 111
Pre Increment Operation a = 11 x = 112
Pre Increment Operation a = 11 x = 113
Pre Increment Operation a = 11 x = 114
Pre Increment Operation a = 11 x = 115
Pre Increment Operation a = 11 x = 116_______33_______3
Pre Increment Operation a = 11 x = 118
Pre Increment Operation a = 11 x = 116______77_______5
Pre Increment Operation a = 11 x = 116_______43_______2
Value of x before post-incrementing x = 10 Value of x after post-incrementing x = 108
a = x++;4
Pre Increment Operation a = 11 x = 116_______146_______1
Pre Increment Operation a = 11 x = 116_______43_______2
a = x++;9
Post Increment Operation a = 10 x = 110
Pre Increment Operation a = 11 x = 116_______146_______7
Pre Increment Operation a = 11 x = 116_______43_______2
Post Increment Operation a = 10 x = 115
Post Increment Operation a = 10 x = 116
Pre Increment Operation a = 11 x = 116_______53_______8
Post Increment Operation a = 10 x = 119
a = a++;0
Đầu ra
Post Increment Operation a = 10 x = 11
Trường hợp đặc biệt cho toán tử tăng sau. Nếu chúng ta gán giá trị tăng sau cho cùng một biến thì giá trị của biến đó sẽ không tăng i. e. nó sẽ vẫn giống như trước đây
cú pháp
a = a++;
Ở đây, nếu giá trị của 'x' là 10 thì giá trị của 'a' sẽ là 10 vì giá trị của 'x' được gán cho giá trị tăng sau của 'x'
C++
// operator
6
// operator
7
#include
using
Pre Increment Operation a = 11 x = 110
Pre Increment Operation a = 11 x = 111
Pre Increment Operation a = 11 x = 113
Pre Increment Operation a = 11 x = 114
Pre Increment Operation a = 11 x = 115
Pre Increment Operation a = 11 x = 116_______33_______3
#include
7
Pre Increment Operation a = 11 x = 116_______43_______2
using
0a = x++;4
Pre Increment Operation a = 11 x = 116_______43_______2
Post Increment Operation a = 10 x = 115
Post Increment Operation a = 10 x = 116
Pre Increment Operation a = 11 x = 116_______149_______7
Pre Increment Operation a = 11 x = 116_______43_______2
Pre Increment Operation a = 11 x = 1100
a = x++;4
Pre Increment Operation a = 11 x = 116_______146_______1
Pre Increment Operation a = 11 x = 116_______43_______2
Post Increment Operation a = 10 x = 115
Post Increment Operation a = 10 x = 116
Pre Increment Operation a = 11 x = 116_______53_______8
Post Increment Operation a = 10 x = 119
a = a++;0
đầu ra
Value of x before post-incrementing x = 10 Value of x after post-incrementing x = 10
Ghi chú. Trường hợp đặc biệt này chỉ xảy ra với toán tử tăng sau và giảm sau, còn toán tử tăng trước và giảm trước hoạt động bình thường trong trường hợp này
Đánh giá Post và Pre-Increment cùng nhau
Mức độ ưu tiên của hậu tố ++ nhiều hơn tiền tố ++ và khả năng kết hợp của chúng cũng khác nhau. Tính liên kết của tiền tố ++ từ phải sang trái và tính liên kết của hậu tố ++ từ trái sang phải.
- Tính liên kết của hậu tố ++ từ trái sang phải
- Tính kết hợp của tiền tố ++ từ phải sang trái
Bài viết này được đóng góp bởi Souvik Nandi. Nếu bạn thích GeeksforGeeks và muốn đóng góp, bạn cũng có thể viết một bài báo bằng cách sử dụng write. chuyên viên máy tính. org hoặc gửi bài viết của bạn tới review-team@geeksforgeeks. tổ chức. Xem bài viết của bạn xuất hiện trên trang chính của GeeksforGeeks và trợ giúp các Geeks khác. Vui lòng viết bình luận nếu bạn thấy bất cứ điều gì không chính xác hoặc bạn muốn chia sẻ thêm thông tin về chủ đề thảo luận ở trên.