Các phép toán trong C ++

Toán tử là biểu tượng cho trình biên dịch thực hiện các thao tác toán học hoặc logic cụ thể. C++ rất giàu các toán tử dựng sẵn và cung cấp các loại toán tử sau:

  • Toán tử số học
  • Các nhà khai thác quan hệ
  • Toán tử hợp lý
  • Nhà khai thác bitwise
  • Toán tử chuyển nhượng
  • Nhà khai thác Misc

Chương này sẽ kiểm tra số học, quan hệ, logic, bitwise, phân công và các nhà khai thác khác từng người một.

Toán tử số học

Có các toán tử số học sau được hỗ trợ bởi ngôn ngữ C ++ –

Giả sử biến A giữ 10 và biến B giữ 20, sau đó –

Nhà điều hành Sự miêu tả Thí dụ
+ Thêm hai toán hạng A + B sẽ cho 30
– – Trừ toán hạng thứ hai từ toán hạng nhất A – B sẽ cho -10
* Nhân cả hai toán hạng A * B sẽ cho 200
/ Chia lấy phần nguyên B / A sẽ cho 2
% Chia lấy phần dư B% A sẽ cho 0
++ Tăng giá trị số nguyên lên một A ++ sẽ cho 11
– – Giảm giá trị số nguyên xuống một A– sẽ cho 9

Các nhà khai thác quan hệ

Có những toán tử quan hệ được hỗ trợ bởi ngôn ngữ C ++

Giả sử biến A giữ 10 và biến B giữ 20, sau đó –

Nhà điều hành Sự miêu tả Thí dụ
== Kiểm tra xem các giá trị của hai toán hạng có bằng nhau hay không, nếu có thì điều kiện trở thành true. (A == B) =>false
! = Kiểm tra xem các giá trị của hai toán hạng có bằng nhau hay không, nếu các giá trị không bằng nhau thì điều kiện trở thành true. (A! = B) =>true
> Kiểm tra nếu giá trị của toán hạng bên trái lớn hơn giá trị của toán hạng bên phải, nếu có thì điều kiện trở thành true. (A> B) l=>false
< Kiểm tra nếu giá trị của toán hạng bên trái nhỏ hơn giá trị của toán hạng bên phải, nếu có thì điều kiện trở thành true. (A <B) =>true
> = Kiểm tra nếu giá trị của toán hạng bên trái lớn hơn hoặc bằng giá trị của toán hạng bên phải, nếu có thì điều kiện trở thành true. (A> = B) =>false
<= Kiểm tra nếu giá trị của toán hạng bên trái nhỏ hơn hoặc bằng giá trị của toán hạng bên phải, nếu có thì điều kiện trở thành true. (A <= B) =>true

Toán tử Logical

Có những toán tử logic được hỗ trợ bởi ngôn ngữ C ++.

Giả sử biến A giữ 1 và biến B giữ 0, sau đó –

Nhà điều hành Sự miêu tả Thí dụ
&& Được gọi là toán tử logic và được gọi. Nếu cả hai toán hạng đều khác 0 thì điều kiện trở thành true. (A && B) là sai
|| Được gọi là logic hoặc toán tử. Nếu bất kỳ toán tử nào trong số hai toán hạng không khác, thì điều kiện trở thành true. (A || B) là đúng.
! Được gọi là Operical NOT Operator.Sử dụng để đảo ngược trạng thái logic của toán hạng của nó. Nếu điều kiện là đúng, thì toán tử logic NOT sẽ sai. ! (A && B) là sự thật.

Nhà khai thác bitwise

Toán tử bitwise hoạt động trên các bit và thực hiện thao tác bit-by-bit. Các bảng chân lý cho &, |, và ^ như sau:

p q p & q p | q p ^ q
0 0 0 0 0
0 1 0 1 1
1 1 1 1 0
1 0 0 1 1

Giả sử nếu A = 60; và B = 13; bây giờ ở định dạng nhị phân, chúng sẽ như sau:

A = 0011 1100

B = 0000 1101

—————–

A & B = 0000 1100

A | B = 0011 1101

A ^ B = 0011 0001

~ A = 1100 0011

Các toán tử Bitwise được hỗ trợ bởi ngôn ngữ C ++ được liệt kê trong bảng sau. Giả sử biến A giữ 60 và biến B giữ 13, sau đó –

Nhà điều hành Sự miêu tả Thí dụ
& Binary AND Operator sao chép một chút vào kết quả nếu nó tồn tại trong cả hai toán hạng. (A & B) sẽ tặng 12 cái là 0000 1100
| Binary OR Operator copy một chút nếu nó tồn tại trong toán hạng. (A | B) sẽ cho 61 là 0011 1101
^ Nhà điều hành XOR nhị phân sao chép bit nếu nó được đặt trong một toán hạng nhưng không phải cả hai. (A ^ B) sẽ cho 49 là 0011 0001
~ Binary Ones Complement Operator là unary và có tác dụng của ‘flipping’ bit. (~ A) sẽ cung cấp cho -61 là 1100 0011 trong dạng bổ sung của 2 do một số nhị phân có dấu.
<< Trình điều khiển Shift trái nhị phân.Giá trị toán hạng bên trái được di chuyển sang trái bởi số bit được chỉ định bởi toán hạng bên phải. Một << 2 sẽ cho 240 là 1111 0000
>> Trình điều khiển Shift phải nhị phân. Giá trị toán hạng bên trái được di chuyển ngay bởi số bit được chỉ định bởi toán hạng bên phải. A >> 2 sẽ cho 15 là 0000 1111

Toán tử chuyển nhượng

Có các toán tử gán sau được hỗ trợ bởi ngôn ngữ C ++ –

Nhà điều hành Sự miêu tả Thí dụ
= Toán tử gán đơn giản, gán giá trị từ toán hạng bên phải sang toán hạng bên trái. C = A + B sẽ gán giá trị của A + B vào C
+ = Thêm toán tử gán AND, nó thêm toán hạng bên phải vào toán hạng bên trái và gán kết quả cho toán hạng bên trái. C + = A tương đương với C = C + A
– = Subtract AND assignment operator, Nó trừ toán hạng bên phải từ toán hạng bên trái và gán kết quả cho toán hạng bên trái. C – = A tương đương với C = C – A
* = Nhân và toán tử gán, Nó nhân toán hạng bên phải với toán hạng bên trái và gán kết quả cho toán hạng bên trái. C * = A tương đương với C = C * A
/ = Divide AND assignment operator, Nó chia toán hạng bên trái với toán hạng bên phải và gán kết quả cho toán hạng bên trái. C / = A tương đương với C = C / A
% = Toán tử mô-đun và gán, Nó lấy mô đun bằng cách sử dụng hai toán hạng và gán kết quả cho toán hạng bên trái. C% = A tương đương với C = C% A
<< = Toán tử trái và toán tử gán. C << = 2 cũng giống như C = C << 2
>> = Toán tử chuyển đổi và chuyển quyền. C >> = 2 giống như C = C >> 2
& = Toán tử bitwise AND assignment. C & = 2 giống C = C & 2
^ = Nhà điều hành HOẶC phân công độc quyền bitwise. C ^ = 2 giống như C = C ^ 2
| = OR OR và toán tử gán. C | = 2 giống như C = C | 2

Nhà khai thác Misc

Bảng sau liệt kê một số toán tử khác mà C ++ hỗ trợ.

Sr.No Toán tử & Mô tả
1 sizeof

 trả về kích thước của một biến. Ví dụ, sizeof (a), trong đó ‘a’ là số nguyên và sẽ trả về 4.

2 Điều kiện ? X: Y

Nếu Điều kiện là đúng thì nó trả về giá trị của X nếu không trả về giá trị của Y.

3 ,

gây ra một chuỗi các phép toán được thực hiện. Giá trị của toàn bộ biểu thức dấu phẩy là giá trị của biểu thức cuối cùng của danh sách được phân cách bằng dấu phẩy.

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

được sử dụng để tham chiếu các thành viên cá nhân của các lớp, các cấu trúc và các công đoàn.

5
Cast

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.

6 &

trả về địa chỉ của một biến. Ví dụ & a; sẽ cung cấp địa chỉ thực của biến.

7 *

con trỏ * là con trỏ đến một biến. Ví dụ * var; sẽ trỏ đến biến var.

Các toán tử ưu tiên trong C ++

Ưu tiên toán tử xác định nhóm các thuật ngữ trong một biểu thức. Điều này ảnh hưởng đến cách một biểu thức được đánh giá. Một số nhà khai thác có quyền ưu tiên cao hơn so với các nhà khai thác khác; ví dụ, toán tử nhân có ưu tiên cao hơn toán tử cộng –

Ví dụ x = 7 + 3 * 2; ở đây, x được gán 13, không phải 20 vì toán tử * có ưu tiên cao hơn +, vì vậy trước tiên nó được nhân với 3 * 2 và sau đó thêm vào 7.

Ở đây, các toán tử có mức ưu tiên cao nhất xuất hiện ở đầu bảng, các toán tử có giá trị thấp nhất xuất hiện ở dưới cùng. Trong một biểu thức, các toán tử ưu tiên cao hơn sẽ được đánh giá đầu tiên.

thể loại Nhà điều hành Khả năng tương tác
Postfix () [] ->. ++ – – Trái sang phải
Unary + -! ~ ++ – – (loại) * và kích thước Phải sang trái
Nhân * /% Trái sang phải
Phụ gia + – Trái sang phải
Shift << >> Trái sang phải
Quan hệ <<=>> = Trái sang phải
Bình đẳng ==! = Trái sang phải
Bitwise AND & Trái sang phải
Bitwise XOR ^ Trái sang phải
Bitwise HOẶC | Trái sang phải
Logic và && Trái sang phải
Hợp lý HOẶC || Trái sang phải
Điều kiện ?: Phải sang trái
Nhiệm vụ = + = – = * = / =% = >> = << = & = ^ = | = Phải sang trái
Dấu phẩy , Trái sang phải

Khuyên dùng

 

Speak Your Mind

*