[Wiki] Toán tử trong C++

Toán tử - Operators /'ɔpəreitə/
Once introduced to variables and constants, we can begin to operate with them by using operators. //đoạn này a @ltd dịch hộ e phát :trollface:

  • Toán tử gán (=)
    Định nghĩa: - toán tử này cho phép gán một giá trị cho biến
x=69;   // gán giá trị 69 cho biến x.
y=5;
x=y; // lúc này giá trị của x được thay thế bởi giả trị của y ( =5).
x=y=z=10; // gán giá trị 10 cho cả ba biến x,y,z.
  • phép gán luôn được viết theo chiều từ phải sang trái, không được viết ngược lại.
69=x;   // cách viết như này là sai.

Ví dụ:

x = 5;
y = 2 + x;
// cách viết trên tương đương với cách viết như sau:
y = 2 + (x = 5);
  • *Toán tử toán học (+, -, , /, %)
    +: phép cộng - addition /ə’diʃn/
    -: phép trừ - subtraction /səb’trækʃn/
    *: phép nhân - multiplication /,mʌltipli’keiʃn/
    /: phép chia - division /di’viʤn/
    %: chia lấy phần dư - modulo /ˈmɒdʒ əˌloʊ/
    Ví dụ:
a=5+2; // kq = 7.
b=5-3; // kq = 2.
c=2*2; // kq = 4.
d=6/2; // kq = 3.
e=6%5; // kq = 1.
  • *Toán tử gán kết hợp (+=, -=, =, /=, %=, >>=, <<=, &=, ^=, |=)
x+=5; // tương đương với x=x+5;
y%=3; // tương đương với y=y%3;
gia *= dv + 1; // tương đương với gia=gia*(dv+1);
  • Toán tử tự tăng, tự giảm (++, --)
  • toán tử ++ : tăng thêm một đơn vị.
  • toán tử --: giảm đi một đơn vị.
  • hai toán tử trên có thể sử dụng như một tiền tố hoặc hậu tố.
    Ví dụ:
//VD1:
x = 3;
y = ++x; //tiền tố
// kết quả x = 4, y =4

//VD2:
x = 3;
y = x++; //hậu tố
// kết quả x = 4, y =3

Ở VD1, giá trị được gán cho y là giá trị của x sau khi được tăng. Trong khi đó ở VD2 lại là giá trị của x trước khi được tăng.

  • Toán tử so sánh ( ==, !=, >, <, >=, <= )
== - so sánh bằng.
!= - so sánh khác.
> - so sánh lớn hơn.
< - so sánh nhỏ hơn.
>= - so sánh lớn hơn hoặc bằng.
<= - so sánh nhỏ hơn hoặc bằng.

Ví dụ:

(7 == 5)     // false
(5 > 4)      // true
(3 != 2)     // true
(6 >= 6)     // true
(5 < 5)      // false
  • Toán tử logic ( !, &&, || )
    ! - phép phủ định.
    && - phép và.
    || - phép hoặc.
!(6==9) 
// 6==9 là false, nhưng phủ định nên kết quả biểu thức là true.

(<biểu thức 1> && <biểu thức 2>) 
// cả hai biểu thức cùng true thì kết quả là true. trường hợp một trong hai biểu thức là false thì kết quả là false.

(<biểu thức 1> || <biểu thức 2>) 
// một trong hai biểu thức là true thì kết quả là true. trường hợp cả hai biểu thức cùng false thì kết quả là false.


P/s: còn nhiều quá, ai rảnh vào http://www.cplusplus.com/doc/tutorial/operators/ làm tiếp nhé :wink:

4 Likes

Cái này là sao?

1 Like

có nghĩa là viết x=5; thì được còn viết 5=x; thì không được ý :3
Nguyên văn : This statement assigns the integer value 5 to the variable x. The assignment operation always takes place from right to left, and never the other way around:

1 Like

dịch như này đc ko nhỉ:

Như đã nói trong phần biến và hằng, chúng ta có thể làm việc với chúng bằng các toán tử.

@Nhim_Xu

2 Likes

Chuyên ngành của @Nhim_Xu không phải là lập trình đâu, đừng tag tội nhím :smile:

2 Likes

hị, hị… hị
e dịch thế có đúng ko a?

1 Like

Phép toán luôn được hiểu theo chiều từ phải sang trái,nhưng viết thì ngược lại.
Mình nghĩ là thế này ms đúng.

83% thành viên diễn đàn không hỏi bài tập, còn bạn thì sao?