Toán tử (C++)

Toán tử chỉ đơn giản là một ký hiệu được sử dụng để thực hiện các thao tác. Có thể có nhiều loại hoạt động như số học, logic, bitwise, v.v.

Có các loại toán tử sau để thực hiện các loại hoạt động khác nhau trong ngôn ngữ C

  • toán tử số học
  • Toán tử quan hệ
  • Người vận hành ca
  • Toán tử logic
  • toán tử Bitwise
  • Toán tử ternary hoặc có điều kiện
  • Toán tử chuyển nhượng
  • Nhà điều hành linh tinh

Độ ưu tiên của toán tử trong C

Mức độ ưu tiên của các loài toán tử mà toán tử nào sẽ được đánh giá trước và tiếp theo. Tính kết hợp chỉ định hướng vận hành được đánh giá;

Hãy hiểu quyền ưu tiên bằng ví dụ được đưa ra dưới đây

Biến giá trị sẽ chứa 210 vì * (toán tử nhân) được đánh giá trước + (toán tử cộng)

Toán tử là nền tảng của bất kỳ ngôn ngữ lập trình nào. Chúng ta có thể định nghĩa các toán tử là các ký hiệu giúp chúng ta thực hiện các phép tính logic và toán học cụ thể trên các toán hạng. Nói cách khác, chúng ta có thể nói rằng một toán tử vận ​​hành các toán hạng. Ví dụ: '+' là toán tử được sử dụng để cộng, như hình bên dưới.  

c = a + b;

Ở đây, '+' là toán tử được gọi là toán tử cộng và 'a' và 'b' là toán hạng. Toán tử cộng yêu cầu trình biên dịch thêm cả hai toán hạng 'a' và 'b'.  

Chức năng của ngôn ngữ lập trình C không đầy đủ nếu không sử dụng toán tử

C có nhiều toán tử tích hợp và có thể được phân thành 6 loại

  1. toán tử số học
  2. Toán tử quan hệ
  3. Toán tử logic
  4. toán tử Bitwise
  5. Toán tử gán
  6. Toán tử khác

Toán tử (C++)

 

Các toán tử trên đã được thảo luận chi tiết.  

1. toán tử số học.  

Các toán tử này được sử dụng để thực hiện các phép toán số học/toán học trên toán hạng. ví dụ. (+, -, *, /, %,++,–). Toán tử số học có hai loại.  

a) Toán tử đơn hạng.  

Toán tử hoạt động hoặc làm việc với một toán hạng duy nhất là toán tử đơn nguyên. Ví dụ. Toán tử tăng (++) và giảm (–)

int val = 5;
++val;  // 6

b) Toán tử nhị phân

Toán tử hoạt động hoặc làm việc với hai toán hạng là toán tử nhị phân. Ví dụ. Toán tử cộng(+), phép trừ(-), phép nhân(*), phép chia(/)

int a = 7;
int b = 2;
cout<

2. Toán tử quan hệ

Chúng được sử dụng để so sánh các giá trị của hai toán hạng. Ví dụ: kiểm tra xem toán hạng này có bằng toán hạng kia hay không, toán hạng này có lớn hơn toán hạng kia hay không, v.v. Một số toán tử quan hệ là (==, >= , <= )(Xem bài viết này để tham khảo thêm)

int a = 3;
int b = 5;
a < b;
// operator to check if a is smaller than b

3. Toán tử logic

Toán tử logic được sử dụng để kết hợp hai hoặc nhiều điều kiện/ràng buộc hoặc để bổ sung cho việc đánh giá điều kiện ban đầu đang được xem xét. Kết quả hoạt động của toán tử logic là một giá trị Boolean đúng hoặc sai.  

Ví dụ: logic AND được biểu diễn dưới dạng toán tử ‘&&’ trong C trả về giá trị true khi thỏa mãn cả hai điều kiện đang xem xét. Nếu không, nó trả về false. Do đó, a && b trả về true khi cả a và b đều đúng (i. e. khác không)(Xem bài viết này để tham khảo thêm)

(4 != 5) && (4 < 5);     // true

4. toán tử Bitwise.  

Các toán tử Bitwise được sử dụng để thực hiện các thao tác ở mức bit trên các toán hạng. Đầu tiên, các toán tử được chuyển đổi thành mức bit và sau đó phép tính được thực hiện trên các toán hạng. Các phép toán như cộng, trừ, nhân, v.v. có thể được thực hiện ở cấp độ bit để xử lý nhanh hơn. Ví dụ: toán tử AND theo bit được biểu thị là '&' trong C lấy hai số làm toán hạng và thực hiện AND trên mỗi bit của hai số. Kết quả của AND là 1 chỉ khi cả hai bit là 1(True).  

int a = 5, b = 9;   // a = 5(00000101), b = 9(00001001)
cout << (a ^ b);   //  00001100
cout <<(~a);       // 11111010

5. Toán tử gán.  

Toán tử gán dùng để gán giá trị cho biến. Toán hạng bên trái của toán tử gán là một biến và toán hạng bên phải của toán tử gán là một giá trị. Giá trị ở phía bên phải phải cùng kiểu dữ liệu với biến ở phía bên trái, nếu không trình biên dịch sẽ báo lỗi.  

Các loại toán tử gán khác nhau được hiển thị bên dưới.  

a) “=”

Đây là toán tử gán đơn giản nhất. Toán tử này dùng để gán giá trị bên phải cho biến bên trái.
Ví dụ.

a = 10;
b = 20;
ch = 'y';

b) “+=”

Toán tử này là sự kết hợp của các toán tử ‘+’ và ‘=’. Toán tử này trước tiên thêm giá trị hiện tại của biến bên trái vào giá trị bên phải và sau đó gán kết quả cho biến bên trái.
Ví dụ.

(a += b) can be written as (a = a + b)
If initially value stored in a is 5. Then (a += 6) = 11.

c) “-=”

Toán tử này là sự kết hợp của các toán tử ‘-‘ và ‘=’. Toán tử này trước tiên trừ giá trị bên phải khỏi giá trị hiện tại của biến bên trái và sau đó gán kết quả cho biến bên trái.
Ví dụ.

________số 8

đ) “*=”

Toán tử này là sự kết hợp của các toán tử ‘*’ và ‘=’. Toán tử này trước tiên nhân giá trị hiện tại của biến bên trái với giá trị bên phải và sau đó gán kết quả cho biến bên trái.
Ví dụ.

(a *= b) can be written as (a = a * b)
If initially, the value stored in a is 5. Then (a *= 6) = 30.

đ) “/=”

Toán tử này là sự kết hợp của các toán tử ‘/’ và ‘=’. Toán tử này trước tiên chia giá trị hiện tại của biến bên trái cho giá trị bên phải và sau đó gán kết quả cho biến bên trái.
Ví dụ.

int val = 5;
++val;  // 6
0

6. Toán tử khác.  

Ngoài các toán tử trên, trong C còn có một số toán tử khác dùng để thực hiện một số tác vụ cụ thể. Một số trong số họ được thảo luận ở đây.  

a. toán tử sizeof

  • sizeof được sử dụng nhiều trong ngôn ngữ lập trình C
  • Nó là một toán tử đơn hạng thời gian biên dịch có thể được sử dụng để tính toán kích thước toán hạng của nó
  • Kết quả của sizeof thuộc loại tích phân không dấu thường được ký hiệu là size_t
  • Về cơ bản, toán tử sizeof được sử dụng để tính toán kích thước của biến. (Xem bài viết này để tham khảo)

b. Toán tử dấu phẩy

  • Toán tử dấu phẩy (được biểu thị bằng mã thông báo) là toán tử nhị phân đánh giá toán hạng đầu tiên của nó và loại bỏ kết quả, sau đó đánh giá toán hạng thứ hai và trả về giá trị này (và loại)
  • Toán tử dấu phẩy có độ ưu tiên thấp nhất trong bất kỳ toán tử C nào
  • Dấu phẩy đóng vai trò vừa là toán tử vừa là dấu phân cách. (Xem bài viết này để tham khảo)

c. Điều hành có điều kiện

  • Toán tử điều kiện có dạng Biểu thức 1? . biểu thức3
  • Ở đây, Biểu thức 1 là điều kiện để được đánh giá. Nếu điều kiện (Biểu thức 1) là True thì ta sẽ thực hiện và trả về kết quả của Biểu thức 2 ngược lại nếu điều kiện (Biểu thức 1) sai thì ta sẽ thực hiện và trả về kết quả là Biểu thức 3
  • Chúng ta có thể thay thế việc sử dụng if. câu lệnh khác với toán tử có điều kiện. (Xem bài viết này để tham khảo)

d. dấu chấm (. ) và mũi tên (->) Toán tử

  • Các toán tử thành viên được sử dụng để tham chiếu các thành viên riêng lẻ của các lớp, cấu trúc và hiệp hội
  • Toán tử dấu chấm được áp dụng cho đối tượng thực tế. (Xem bài viết này để tham khảo)
  • Toán tử mũi tên được sử dụng với một con trỏ tới một đối tượng. (Xem bài viết này để tham khảo)

e. Toán tử diễn viên

  • Toán tử truyền chuyển đổi một kiểu dữ liệu sang kiểu dữ liệu khác. Ví dụ, int(2. 2000) sẽ trả về 2
  • Truyền là một toán tử đặc biệt buộc một loại dữ liệu phải được chuyển đổi thành một loại dữ liệu khác.  
  • Diễn viên chung nhất được hỗ trợ bởi hầu hết các trình biên dịch C như sau -   [ (type) expression ]. (Xem bài viết này để tham khảo)

f. &,* Nhà điều hành

  • Toán tử con trỏ & trả về địa chỉ của một biến. Ví dụ: &a;
  • Toán tử con trỏ * là một con trỏ tới một biến. Ví dụ *var; . (Xem bài viết này để tham khảo

Dưới đây là việc thực hiện các toán tử nêu trên

C




int val = 5;
++val;  // 6
2

int val = 5;
++val;  // 6
3

int val = 5;
++val;  // 6
4

int val = 5;
++val;  // 6
5

int val = 5;
++val;  // 6
6
int val = 5;
++val;  // 6
7

int val = 5;
++val;  // 6
8

int val = 5;
++val;  // 6
5

int a = 7;
int b = 2;
cout<0
int val = 5;
++val;  // 6
6
int a = 7;
int b = 2;
cout<2

int a = 7;
int b = 2;
cout<0
int a = 7;
int b = 2;
cout<4

int a = 7;
int b = 2;
cout<0
int a = 7;
int b = 2;
cout<6____27
int a = 7;
int b = 2;
cout<8
int a = 7;
int b = 2;
cout<9

int a = 7;
int b = 2;
cout<0____26____27
int a = 3;
int b = 5;
a < b;
// operator to check if a is smaller than b
3
int a = 3;
int b = 5;
a < b;
// operator to check if a is smaller than b
4

int a = 7;
int b = 2;
cout<0____26____27
int a = 3;
int b = 5;
a < b;
// operator to check if a is smaller than b
8
int a = 3;
int b = 5;
a < b;
// operator to check if a is smaller than b
9

int val = 5;
++val;  // 6
5

int a = 7;
int b = 2;
cout<0____26____27
(4 != 5) && (4 < 5);     // true
4
(4 != 5) && (4 < 5);     // true
5

int a = 7;
int b = 2;
cout<0
int a = 7;
int b = 2;
cout<6____27
(4 != 5) && (4 < 5);     // true
9
int a = 5, b = 9;   // a = 5(00000101), b = 9(00001001)
cout << (a ^ b);   //  00001100
cout <<(~a);       // 11111010
0

int a = 7;
int b = 2;
cout<0
int a = 7;
int b = 2;
cout<6______27
int a = 5, b = 9;   // a = 5(00000101), b = 9(00001001)
cout << (a ^ b);   //  00001100
cout <<(~a);       // 11111010
4
int a = 5, b = 9;   // a = 5(00000101), b = 9(00001001)
cout << (a ^ b);   //  00001100
cout <<(~a);       // 11111010
5

int a = 7;
int b = 2;
cout<0
int a = 7;
int b = 2;
cout<6____27
int a = 5, b = 9;   // a = 5(00000101), b = 9(00001001)
cout << (a ^ b);   //  00001100
cout <<(~a);       // 11111010
9
a = 10;
b = 20;
ch = 'y';
0

________ 61 ________ 62 ________ 63

a = 10;
b = 20;
ch = 'y';
4
a = 10;
b = 20;
ch = 'y';
5

int a = 7;
int b = 2;
cout<0____26____27
a = 10;
b = 20;
ch = 'y';
9
a = 10;
b = 20;
ch = 'y';
0

________ 61 ________ 72 ________ 73

a = 10;
b = 20;
ch = 'y';
4
a = 10;
b = 20;
ch = 'y';
5

int val = 5;
++val;  // 6
5

int a = 7;
int b = 2;
cout<0____26____27
(a -= b) can be written as (a = a - b)
If initially value stored in a is 8. Then (a -= 6) = 2.
0
a = 10;
b = 20;
ch = 'y';
0

a = 10;
b = 20;
ch = 'y';
1
(a -= b) can be written as (a = a - b)
If initially value stored in a is 8. Then (a -= 6) = 2.
3
(a -= b) can be written as (a = a - b)
If initially value stored in a is 8. Then (a -= 6) = 2.
4

int a = 7;
int b = 2;
cout<0______26____27
(a -= b) can be written as (a = a - b)
If initially value stored in a is 8. Then (a -= 6) = 2.
8
a = 10;
b = 20;
ch = 'y';
0

________ 61 ________ 91 ________ 92

int val = 5;
++val;  // 6
5

int a = 7;
int b = 2;
cout<0
(a *= b) can be written as (a = a * b)
If initially, the value stored in a is 5. Then (a *= 6) = 30.
5

int a = 7;
int b = 2;
cout<0
(a *= b) can be written as (a = a * b)
If initially, the value stored in a is 5. Then (a *= 6) = 30.
7

int val = 5;
++val;  // 6
5

int a = 7;
int b = 2;
cout<0
int val = 5;
++val;  // 6
00

int a = 7;
int b = 2;
cout<0
int val = 5;
++val;  // 6
02

int a = 7;
int b = 2;
cout<0
int val = 5;
++val;  // 6
04

int a = 7;
int b = 2;
cout<0____26____27

________ 108 ________ 109 ________ 29

int a = 7;
int b = 2;
cout<0____26____27
int val = 5;
++val;  // 6
14
int val = 5;
++val;  // 6
15

int a = 7;
int b = 2;
cout<0____26____27
int val = 5;
++val;  // 6
19
int val = 5;
++val;  // 6
20

int a = 7;
int b = 2;
cout<0
int a = 7;
int b = 2;
cout<6____27
int val = 5;
++val;  // 6
24
int val = 5;
++val;  // 6
25

int a = 7;
int b = 2;
cout<0
int a = 7;
int b = 2;
cout<6____27
int val = 5;
++val;  // 6
29
int val = 5;
++val;  // 6
30

int a = 7;
int b = 2;
cout<0
int a = 7;
int b = 2;
cout<6____27
int val = 5;
++val;  // 6
34
int val = 5;
++val;  // 6
35

int a = 7;
int b = 2;
cout<0____26____27
int val = 5;
++val;  // 6
39
int val = 5;
++val;  // 6
40

int val = 5;
++val;  // 6
5

int a = 7;
int b = 2;
cout<0
int val = 5;
++val;  // 6
43

int a = 7;
int b = 2;
cout<0
int a = 7;
int b = 2;
cout<6______27
int val = 5;
++val;  // 6
47
int a = 7;
int b = 2;
cout<9

int a = 7;
int b = 2;
cout<0
int a = 7;
int b = 2;
cout<6____27
int val = 5;
++val;  // 6
52

________ 61 ________ 154 ________ 60

a = 10;
b = 20;
ch = 'y';
1
int val = 5;
++val;  // 6
57

int a = 7;
int b = 2;
cout<0____26____27
int val = 5;
++val;  // 6
61

_______61____163____60

a = 10;
b = 20;
ch = 'y';
1
int val = 5;
++val;  // 6
66

int a = 7;
int b = 2;
cout<0
int a = 7;
int b = 2;
cout<6____27
int val = 5;
++val;  // 6
70

________ 61 ________ 172 ________ 60

a = 10;
b = 20;
ch = 'y';
1
int val = 5;
++val;  // 6
75

int val = 5;
++val;  // 6
5

int a = 7;
int b = 2;
cout<0
int val = 5;
++val;  // 6
78
int val = 5;
++val;  // 6
79

int val = 5;
++val;  // 6
80

Đầu ra

int val = 5;
++val;  // 6
1

Biểu đồ ưu tiên toán tử

Bảng dưới đây mô tả thứ tự ưu tiên và tính kết hợp của các toán tử trong C. Độ ưu tiên của toán tử giảm dần từ trên xuống dưới.  

Quyền ưu tiên

Nhà điều hành

Sự miêu tả

tính liên kết

1

()

Dấu ngoặc đơn (gọi hàm)

trái sang phải

[]

Dấu ngoặc (chỉ số mảng)

trái sang phải

.

Lựa chọn thành viên thông qua tên đối tượng

trái sang phải

->

Lựa chọn thành viên thông qua một con trỏ

trái sang phải

a++/a–

Tăng/giảm hậu tố (a là một biến)

trái sang phải

2

++a/–a

Tăng/giảm tiền tố (a là một biến)

phải sang trái

+/-

cộng/trừ một ngôi

phải sang trái

~

Phủ định logic/bổ sung bitwise

phải sang trái

(loại)

Truyền (chuyển đổi giá trị thành giá trị tạm thời của loại)

phải sang trái

*

quy định

phải sang trái

&

Địa chỉ (của toán hạng)

phải sang trái

kích thước của

Xác định kích thước theo byte khi triển khai này

phải sang trái

3

*,/,%

phép nhân/chia/mô đun

trái sang phải

4

+/-

Cộng/trừ

trái sang phải

5

<< , >>

Dịch bit sang trái, dịch bit sang phải

trái sang phải

6

< , <=

Quan hệ nhỏ hơn/nhỏ hơn hoặc bằng

trái sang phải

> , >=

Quan hệ lớn hơn/lớn hơn hoặc bằng

trái sang phải

7

==,. =

Quan hệ bằng/không bằng

trái sang phải

8

&

Bitwise AND

trái sang phải

9

^

Bitwise độc ​​quyền HOẶC

trái sang phải

10

|

Bao gồm từng bit HOẶC

trái sang phải

11

&&

logic VÀ

trái sang phải

12

||

logic HOẶC

trái sang phải

13

?

điều kiện bậc ba

phải sang trái

14

=

Phân công

phải sang trái

+= , -=

Phép cộng/trừ

phải sang trái

*= , /=

phép nhân/chia

phải sang trái

%= , &=

Mô-đun/bitwise AND gán

phải sang trái

^= ,. =

Bitwise độc ​​quyền/bao gồm HOẶC chuyển nhượng

phải sang trái

<>=

Dịch chuyển bit sang trái/gán phải

phải sang trái

15

,

dấu tách biểu thức

trái sang phải

Vui lòng viết nhận xét nếu bạn thấy bất cứ điều gì không chính xác hoặc nếu bạn muốn chia sẻ thêm thông tin về chủ đề đã thảo luận ở trên

Toán tử loại C là gì?

Lập trình C về cơ bản có hai toán tử có thể tăng ++ và giảm -- giá trị của một biến. Nó có thể thay đổi giá trị của một toán hạng (hằng hoặc biến) bằng 1. Các toán tử tăng và giảm là các toán tử rất hữu ích thường được sử dụng để giảm thiểu phép tính.

8 toán tử trong C là gì?

Nói chung, có tám loại toán tử trong C và C++. .
Toán tử tăng và giảm
Toán tử bitwise
Toán tử gán
Toán tử logic
Toán tử quan hệ
toán tử đặc biệt
toán tử có điều kiện
toán tử số học

'%' nghĩa là gì trong C?

Toán tử modulo , ký hiệu là %, là một toán tử số học. Toán tử chia modulo tạo ra phần còn lại của phép chia số nguyên. cú pháp. Nếu x và y là các số nguyên thì biểu thức. x %y.

Toán tử C với ví dụ là gì?

Toán tử quan hệ C