Operaxoắn trong C++Các kiểu dữ liệu kèm ví dụ.
⚡ Tóm tắt thông minh
Operaxoắn trong C++ Toán tử là các ký hiệu thực hiện các phép toán trên toán hạng, từ các phép toán số học và so sánh đến các phép toán logic, bitwise và gán. Tài liệu này giải thích từng loại toán tử với các chương trình ví dụ có thể chạy được, kết quả đầu ra và các quy tắc ưu tiên quyết định thứ tự đánh giá.

Những gì đang có Operaxoắn?
Một nhà điều hành Toán tử là một ký hiệu được sử dụng để thực hiện các phép toán trên toán hạng. Toán tử tác động lên toán hạng, và các phép toán có thể là toán học hoặc logic. Có nhiều loại toán tử khác nhau trong toán học. C++ để thực hiện các hoạt động khác nhau.
Hãy xem xét phép toán sau:
a = x + y;
Trong câu lệnh trên, x và y là các toán hạng trong khi + là toán tử cộng. Khi C++ trình biên dịch gặp câu lệnh trên thì nó sẽ cộng x và y rồi lưu kết quả vào biến a.
Các loại Operaxoắn trong C++
Chủ yếu có 6 loại toán tử khác nhau trong C++:
- toán học Operaxoắn
- Quan hệ Operaxoắn
- logic Operaxoắn
- Bitwise Operaxoắn
- Chuyển nhượng Operaxoắn
- Khác Operaxoắn
Chúng ta hãy bắt đầu với các toán tử số học, loại toán tử được sử dụng phổ biến nhất.
toán học Operaxoắn
Chúng là các loại toán tử được sử dụng để thực hiện các phép toán/số học. Chúng bao gồm:
| Operator | Mô tả Chi tiết |
|---|---|
| + toán tử cộng | Cộng hai toán hạng. |
| - Theotractoán tử tion | Subtracphiên bản 2nd toán hạng từ 1st toán hạng. |
| * toán tử nhân | Nhân 2 toán hạng. |
| / nhân viên vận hành bộ phận | Chia tử số cho mẫu số. |
| toán tử mô đun % | Trả về số dư sau khi chia. |
| toán tử tăng ++ | Tăng giá trị số nguyên lên 1. |
| — toán tử giảm | Giảm giá trị số nguyên đi 1. |
Ví dụ:
#include <iostream> using namespace std; int main() { int a = 11; int b = 5; int c; cout << "a + b is :" << a+b << endl; //11+5 cout << "a - b is :" << a-b << endl; //11-5 cout << "a * b is :" << a*b << endl; //11*5 cout << "a / b is :" << a/b << endl; //11/5 cout << "a % b is :" << a%b << endl; //11%5 cout << "a++ is :" << a++ << endl; //11++ cout << "a-- is :" << a-- << endl; //12-- return 0; }
Đầu ra:
Đây là ảnh chụp màn hình của mã:
Code Giải thích:
- Bao gồm tệp tiêu đề iostream trong mã của chúng tôi. Nó sẽ cho phép chúng ta đọc và ghi vào bảng điều khiển.
- Bao gồm không gian tên std để sử dụng các lớp và hàm của nó mà không cần gọi nó.
- Gọi hàm main(), bên trong đó cần thêm logic của chương trình. Dấu { đánh dấu sự bắt đầu của phần thân hàm main().
- Khai báo một biến số nguyên a và khởi tạo nó thành 11.
- Khai báo một biến số nguyên b và khởi tạo nó thành 5.
- Khai báo một biến số nguyên c.
- In kết quả phép toán a+b cùng với các văn bản khác lên màn hình console.
- In giá trị của phép toán ab cùng với các văn bản khác lên bảng điều khiển.
- In kết quả phép toán a*b cùng với các văn bản khác lên màn hình console.
- In giá trị của phép toán a/b cùng với các văn bản khác lên bảng điều khiển.
- In giá trị của phép toán a%b cùng với các văn bản khác lên bảng điều khiển.
- In giá trị của phép toán a++ cùng với các văn bản khác lên bảng điều khiển.
- In giá trị của phép toán a– cùng với các văn bản khác lên bảng điều khiển.
- Hàm main() sẽ trả về một giá trị nếu chương trình chạy tốt.
- Phần cuối của hàm main().
Quan hệ Operaxoắn
Những loại toán tử này thực hiện so sánh trên các toán hạng. Ví dụ: bạn có thể cần biết toán hạng nào lớn hơn hoặc nhỏ hơn toán hạng kia. Chúng bao gồm:
| Operator | Mô tả Chi tiết |
|---|---|
| == toán tử bằng | Kiểm tra sự bằng nhau của hai giá trị toán hạng. |
| != không bằng toán tử | Kiểm tra sự không bằng nhau của hai giá trị toán hạng. |
| > toán tử lớn hơn | Kiểm tra xem giá trị của toán hạng bên trái có lớn hơn giá trị của toán hạng bên phải hay không. |
| < toán tử nhỏ hơn | Kiểm tra xem giá trị của toán hạng bên trái có nhỏ hơn giá trị của toán hạng bên phải hay không. |
| >= lớn hơn hoặc bằng toán tử | Kiểm tra xem giá trị của toán hạng bên trái có lớn hơn hoặc bằng giá trị của toán hạng bên phải hay không. |
| Toán tử <= nhỏ hơn hoặc bằng | Kiểm tra xem giá trị của toán hạng bên trái có nhỏ hơn hoặc bằng giá trị của toán hạng bên phải hay không. |
Ví dụ:
#include <iostream> using namespace std; int main() { int a = 11; int b = 5; cout << "a=11, b=5" << endl; if (a == b) { cout << "a == b is true" << endl; } else { cout << " a == b is false" << endl; } if (a < b) { cout << "a < b is true" << endl; } else { cout << "a < b is false" << endl; } if (a > b) { cout << "a > b is true" << endl; } else { cout << "a > b is false" << endl; } return 0; }
Đầu ra:
Đây là ảnh chụp màn hình của mã:
Code Giải thích:
- Bao gồm tệp tiêu đề iostream trong mã của chúng tôi. Nó sẽ cho phép chúng ta đọc và ghi vào bảng điều khiển.
- Bao gồm không gian tên std để sử dụng các lớp và hàm của nó mà không cần gọi nó.
- Gọi hàm main() để thêm logic của chương trình vào bên trong.
- Khai báo một biến số nguyên a và khởi tạo nó thành 11.
- Khai báo một biến số nguyên b và khởi tạo nó thành 5.
- In một số văn bản trên bảng điều khiển cho biết giá trị của biến a và b.
- Kiểm tra xem a có bằng b hay không bằng cách sử dụng câu lệnh điều kiện if.
- Văn bản sẽ được in ra trên màn hình console nếu phép toán a==b đúng.
- Phần else của câu lệnh if ở trên, quy định phải làm gì nếu a==b là sai.
- Văn bản sẽ được in ra trên màn hình console nếu phép toán a==b là sai.
- Kiểm tra xem a có nhỏ hơn b hay không bằng cách sử dụng câu lệnh if.
- Văn bản cần in trên bảng điều khiển nếu thao tác a
- Phần else dành cho trường hợp khi
- Văn bản cần in trên bảng điều khiển nếu thao tác a
- Kiểm tra xem a có lớn hơn b hay không bằng cách sử dụng câu lệnh if.
- Văn bản sẽ được in ra trên màn hình console nếu phép toán a>b đúng.
- Phần else dành cho trường hợp a>b là sai.
- Văn bản sẽ được in ra trên màn hình console nếu phép toán a>b là sai.
- Hàm main() sẽ trả về một giá trị nếu chương trình chạy tốt.
- Phần cuối của hàm main().
logic Operaxoắn
toán tử logic Kết hợp hai hoặc nhiều ràng buộc/điều kiện. Các toán tử logic cũng bổ sung cho việc đánh giá điều kiện ban đầu đang được xem xét. Chúng bao gồm:
| Operator | Mô tả Chi tiết |
|---|---|
| && toán tử AND logic | Điều kiện này đúng nếu cả hai toán hạng đều khác không. |
| || Toán tử OR logic | Điều kiện là đúng nếu một trong các toán hạng khác 0. |
| ! toán tử phủ định logic | Nó đảo ngược trạng thái logic của toán hạng. Nếu toán hạng là đúng, toán tử ! sẽ làm cho nó trở thành sai. |
Ví dụ:
#include <iostream> using namespace std; int main() { int a = 5, b = 2, c = 6, d = 4; if (a == b && c > d) cout << "a equals to b AND c is greater than d\n"; else cout << "AND operation returned false\n"; if (a == b || c > d) cout << "a equals to b OR c is greater than d\n"; else cout << "Neither a is equal to b nor c is greater than d\n"; if (!b) cout << "b is zero\n"; else cout << "b is not zero"; return 0; }
Đầu ra:
Đây là ảnh chụp màn hình của mã:
Code Giải thích:
- Bao gồm tệp tiêu đề iostream trong mã của chúng tôi. Nó sẽ cho phép chúng ta đọc và ghi vào bảng điều khiển.
- Bao gồm không gian tên std để sử dụng các lớp và hàm của nó mà không cần gọi nó.
- Gọi hàm main() để thêm logic của chương trình vào bên trong.
- { Đánh dấu sự bắt đầu phần thân của hàm main().
- Khai báo 4 biến kiểu số nguyên a, b, c và d và gán cho chúng các giá trị khác nhau.
- Sử dụng toán tử && (AND) bên trong câu lệnh if. Nó kết hợp hai điều kiện. Điều kiện đầu tiên là sai và điều kiện thứ hai là đúng, vì vậy false&&true là false; kết quả của if là false.
- Văn bản sẽ được in ra trên màn hình console nếu câu lệnh if ở trên đúng. Đoạn mã này sẽ không được thực thi.
- Đoạn mã sẽ được thực thi nếu câu lệnh if ở trên sai.
- Văn bản sẽ in trên bảng điều khiển nếu câu lệnh if sai. Điều này sẽ được thực hiện.
- Sử dụng toán tử || (hoặc) trong câu lệnh if. Điều kiện đầu tiên là sai và điều kiện thứ hai là đúng, vì vậy false||true là đúng; kết quả của if là đúng.
- Văn bản sẽ được in ra trên màn hình console nếu câu lệnh if ở trên đúng. Văn bản này sẽ được thực thi.
- Đoạn mã sẽ được thực thi nếu câu lệnh if ở trên sai.
- Văn bản sẽ in trên bảng điều khiển nếu câu lệnh if sai. Điều này sẽ không được thực thi.
- Kiểm tra xem giá trị của biến b có bằng 0 hay không.
- Văn bản sẽ được in ra trên màn hình console nếu câu lệnh if ở trên đúng. Đoạn mã này sẽ không được thực thi.
- Đoạn mã sẽ được thực thi nếu câu lệnh if ở trên sai.
- Văn bản sẽ in trên bảng điều khiển nếu câu lệnh if sai. Điều này sẽ được thực hiện.
- Hàm main() sẽ trả về một giá trị nếu chương trình chạy tốt.
- Phần cuối của hàm main().
Bitwise Operaxoắn
Toán tử bitwise Thực hiện các phép toán ở cấp độ bit trên các toán hạng. Đầu tiên, các toán hạng được chuyển đổi sang cấp độ bit, sau đó các phép toán được thực hiện. Khi các phép toán số học như cộng và trừ được thực hiện.tracVì các phép tính được thực hiện ở cấp độ bit, nên kết quả có thể đạt được nhanh hơn. Chúng bao gồm:
| Operator | Mô tả Chi tiết |
|---|---|
| & (phép AND bitwise) | Hàm này nhận vào 2 số (toán hạng) rồi thực hiện phép toán AND trên từng bit của hai số đó. Nếu cả hai bit đều bằng 1, phép AND trả về 1, ngược lại trả về 0. |
| | (Hoặc bit) | Hàm này nhận vào 2 số (toán hạng) rồi thực hiện phép toán OR trên từng bit của hai số đó. Nó trả về 1 nếu một trong hai bit là 1. |
| ^ (phép XOR bitwise) | Hàm này nhận vào 2 số (toán hạng) rồi thực hiện phép XOR trên từng bit của 2 số đó. Nó trả về 1 nếu cả hai bit đều khác nhau. |
| << (dịch chuyển trái) | Hàm này nhận hai số rồi dịch trái các bit của toán hạng đầu tiên. Toán hạng thứ hai xác định tổng số vị trí cần dịch. |
| >> (chuyển sang phải) | Hàm này nhận hai số rồi dịch phải các bit của toán hạng đầu tiên. Toán hạng thứ hai xác định số vị trí cần dịch chuyển. |
| ~ (phép phủ định bitwise) | Nhận một số rồi đảo ngược tất cả các bit của nó. |
#include <iostream> using namespace std; int main() { unsigned int p = 60; // 60 = 0011 1100 unsigned int q = 13; // 13 = 0000 1101 int z = 0; z = p & q; cout << "p&q is : " << z << endl; // 12 = 0000 1100 z = p | q; cout << "p|q is : " << z << endl; // 61 = 0011 1101 z = p ^ q; cout << "p^q is : " << z << endl; // 49 = 0011 0001 z = ~p; cout << "~p is : " << z << endl; // -61 = 1100 0011 z = p << 2; cout << "p<<2 is: " << z << endl; // 240 = 1111 0000 z = p >> 2; cout << "p>>2 is : " << z << endl; // 15 = 0000 1111 return 0; }
Đầu ra:
Đây là ảnh chụp màn hình của mã:
Code Giải thích:
- Bao gồm tệp tiêu đề iostream trong mã của chúng tôi. Nó sẽ cho phép chúng ta đọc và ghi vào bảng điều khiển.
- Bao gồm không gian tên std để sử dụng các lớp và hàm của nó mà không cần gọi nó.
- Gọi hàm main() để thêm logic của chương trình vào bên trong.
- Khai báo một biến số nguyên không dấu p và gán cho nó giá trị là 60, tương ứng với 0011 1100 trong hệ nhị phân.
- Khai báo một biến số nguyên không dấu q và gán cho nó giá trị là 13, tương ứng với 0000 1101 trong hệ nhị phân.
- Khai báo một biến số nguyên z và khởi tạo nó bằng 0.
- Thực hiện phép toán bitwise & (AND) trên các biến p và q và lưu trữ kết quả trong biến z.
- In kết quả của thao tác trên trên bảng điều khiển cùng với văn bản khác.
- Thực hiện phép toán bitwise | (OR) trên các biến p và q và lưu trữ kết quả trong biến z.
- In kết quả của thao tác trên trên bảng điều khiển cùng với văn bản khác.
- Thực hiện phép toán bitwise ^ (XOR) trên các biến p và q và lưu trữ kết quả trong biến z.
- In kết quả của thao tác trên trên bảng điều khiển cùng với văn bản khác.
- Thực hiện phép toán bitwise ~ (NOT) trên biến p và lưu kết quả vào biến z.
- In kết quả của thao tác trên trên bảng điều khiển cùng với văn bản khác.
- Thực hiện phép dịch trái trên biến p và lưu kết quả vào biến z.
- In kết quả của thao tác trên trên bảng điều khiển cùng với văn bản khác.
- Thực hiện phép dịch phải trên biến p và lưu kết quả vào biến z.
- In kết quả của thao tác trên trên bảng điều khiển cùng với văn bản khác.
- Hàm main() sẽ trả về một giá trị nếu chương trình chạy tốt.
- Phần cuối của hàm main().
Chuyển nhượng Operaxoắn
Toán tử chuyển nhượng Gán giá trị cho các biến. Toán tử/biến được thêm vào phía bên trái của toán tử, trong khi giá trị được thêm vào phía bên phải. Biến và giá trị phải thuộc cùng một kiểu dữ liệu, nếu không thì... C++ Trình biên dịch sẽ báo lỗi.
Ví dụ:
x = 5;
Trong ví dụ trên, x là biến/toán hạng, = là toán tử gán, còn 5 là giá trị. Dưới đây là một số toán tử gán phổ biến trong... C++:
| Operator | Mô tả Chi tiết |
|---|---|
| = (toán tử gán đơn giản) | Gán giá trị bên phải cho biến bên trái. |
| += (Toán tử gán AND) | Cộng giá trị của toán hạng bên phải vào toán hạng bên trái, sau đó gán kết quả cho biến bên trái. |
| -= (Phụtrac(toán tử gán AND) | SubtracHàm này lấy giá trị của toán hạng bên phải từ toán hạng bên trái, sau đó gán kết quả cho biến bên trái. |
| *= (Toán tử nhân AND) | Nhân giá trị của toán hạng bên trái với toán hạng bên phải, sau đó gán kết quả cho biến bên trái. |
| /= (Toán tử chia VÀ gán) | Chia giá trị của toán hạng bên trái cho toán hạng bên phải, sau đó gán kết quả cho biến bên trái. |
Ví dụ:
#include <iostream> using namespace std; int main() { int x = 5; cout << "Initial value of x is " << x << "\n"; x += 5; cout << "x += 5 gives :" << x << "\n"; x -= 5; cout << "x -= 5 gives : " << x << "\n"; x *= 5; cout << "x *= 5 gives :" << x << "\n"; x /= 5; cout << "x /= 5 gives : " << x << "\n"; return 0; }
Đầu ra:
Đây là ảnh chụp màn hình của mã:
Code Giải thích:
- Bao gồm tệp tiêu đề iostream trong mã của chúng tôi. Nó sẽ cho phép chúng ta đọc và ghi vào bảng điều khiển.
- Bao gồm không gian tên std để sử dụng các lớp và hàm của nó mà không cần gọi nó.
- Gọi hàm main() để thêm logic của chương trình vào bên trong.
- { Đánh dấu sự bắt đầu phần thân của hàm main().
- Khai báo một biến số nguyên x và gán cho nó giá trị 5.
- In giá trị của biến x cùng với các văn bản khác ra màn hình console. Ký tự \n là ký tự xuống dòng.
- Cộng 5 vào giá trị của biến x và gán kết quả cho biến x.
- In giá trị của biến x ra màn hình console cùng với các văn bản khác.
- Subtractrừ đi 5 từ giá trị của x và gán kết quả cho biến x.
- In giá trị của biến x ra màn hình console cùng với các văn bản khác.
- Nhân giá trị của biến x với 5 rồi gán kết quả cho biến x.
- In giá trị của biến x ra màn hình console cùng với các văn bản khác.
- Chia giá trị của biến x cho 5 và gán kết quả cho biến x.
- In giá trị của biến x ra màn hình console cùng với các văn bản khác.
- Hàm main() sẽ trả về một giá trị nếu chương trình chạy tốt.
- Phần cuối của hàm main().
Khác Operaxoắn
Khác Operaxoắn bao gồm toán tử sizeof, dấu phẩy Operator, có điều kiện Operator, và OperaThứ tự ưu tiên của toán tử. Chúng ta hãy thảo luận về các toán tử khác được hỗ trợ bởi... C++:
toán tử sizeof
Toán tử này xác định kích thước của một biến. Sử dụng toán tử sizeof để xác định kích thước của một kiểu dữ liệu.
Ví dụ:
#include <iostream> using namespace std; int main() { cout<<"Size of int : "<< sizeof(int) << "\n"; cout<<"Size of char : " << sizeof(char) << "\n"; cout<<"Size of float : " << sizeof(float) << "\n"; cout<<"Size of double : " << sizeof(double) << "\n"; return 0; }
Đầu ra:
Đây là ảnh chụp màn hình của mã:
Code Giải thích:
- Bao gồm tệp tiêu đề iostream trong mã của chúng tôi. Nó sẽ cho phép chúng ta đọc và ghi vào bảng điều khiển.
- Bao gồm không gian tên std để sử dụng các lớp và hàm của nó mà không cần gọi nó.
- Gọi hàm main() để thêm logic của chương trình vào bên trong.
- Xác định kích thước của kiểu dữ liệu số nguyên bằng toán tử sizeof và in kết quả cùng với các văn bản khác ra màn hình console.
- Xác định kích thước của kiểu dữ liệu ký tự bằng toán tử sizeof và in kích thước đó cùng với các văn bản khác trên bảng điều khiển.
- Xác định kích thước của kiểu dữ liệu float bằng toán tử sizeof và in kết quả cùng với các văn bản khác lên bảng điều khiển.
- Xác định kích thước của kiểu dữ liệu double bằng toán tử sizeof và in kết quả cùng với các văn bản khác ra màn hình console.
- Hàm main() sẽ trả về một giá trị nếu chương trình chạy tốt.
- Phần cuối của hàm main().
Dấu phẩy Operator
toán tử dấu phẩy Dấu phẩy (,) kích hoạt việc thực hiện một chuỗi các phép toán. Nó biểu diễn toán hạng đầu tiên và loại bỏ kết quả. Tiếp theo, nó đánh giá toán hạng thứ hai và trả về giá trị và kiểu dữ liệu.
#include <iostream> using namespace std; int main() { int x, y; y = 100; x = (y++, y + 10, 99 + y); cout << x; return 0; }
Đầu ra:
Đây là ảnh chụp màn hình của mã:
Code Giải thích:
- Bao gồm tệp tiêu đề iostream trong mã của chúng tôi. Nó sẽ cho phép chúng ta đọc và ghi vào bảng điều khiển.
- Bao gồm không gian tên std để sử dụng các lớp và hàm của nó mà không cần gọi nó.
- Gọi hàm main() để thêm logic của chương trình vào bên trong.
- Khai báo hai biến số nguyên x và y.
- Gán giá trị biến ya là 100.
- Sử dụng toán tử dấu phẩy. Bắt đầu với y bằng 100, sau đó tăng lên 101 (y++). Tiếp theo, cộng y với 10. Cuối cùng, vẫn ở giá trị 101, cộng y với 99, cho kết quả là 200. x lúc này bằng 200.
- In giá trị của biến x ra màn hình console.
- Hàm main() sẽ trả về một giá trị nếu chương trình chạy tốt.
- Phần cuối của hàm main().
có điều kiện Operator
Toán tử này đánh giá một điều kiện và hành động dựa trên kết quả của việc đánh giá.
Cú pháp:
Condition ? Expression2 : Expression3;
Tham số:
- Điều kiện là điều kiện cần được đánh giá.
- Biểu thức 2 là biểu thức sẽ được thực thi nếu điều kiện đúng.
- Biểu thức 3 là biểu thức sẽ được thực thi nếu điều kiện sai.
Ví dụ:
#include <iostream> using namespace std; int main() { int a = 1, b; b = (a < 10) ? 2 : 5; cout << "value of b: " << b << endl; return 0; }
Đầu ra:
Đây là ảnh chụp màn hình của mã:
Code Giải thích:
- Bao gồm tệp tiêu đề iostream trong mã của chúng tôi. Nó sẽ cho phép chúng ta đọc và ghi vào bảng điều khiển.
- Bao gồm không gian tên std để sử dụng các lớp và hàm của nó mà không cần gọi nó.
- Gọi hàm main() để thêm logic của chương trình vào bên trong.
- Khai báo hai biến số nguyên A và B. Biến a đã được gán giá trị là 1.
- Gán giá trị cho biến b. Nếu biến a nhỏ hơn 10, b sẽ được gán giá trị là 2, ngược lại b sẽ được gán giá trị là 5.
- In giá trị của biến b ra màn hình console cùng với các văn bản khác.
- Hàm main() sẽ trả về một giá trị nếu chương trình chạy tốt.
- Phần cuối của hàm main().
Operaquyền ưu tiên của tors
Một thao tác có thể có nhiều toán tử. Trong trường hợp đó, độ ưu tiên của toán tử sẽ xác định giá trị được đánh giá đầu tiên.
Danh sách sau đây hiển thị thứ tự ưu tiên của các toán tử trong C++, với độ ưu tiên giảm dần từ trái sang phải:
(), [], *, /, %, +/-, <<, >>, ==, !=, ^, |, &&, ||, ?:, =, +=, -=, *=, /=













