C++ มีตัวดำเนินการทางคณิตศาสตร์พื้นฐาน 5 ตัว พวกมันคือ −
- ส่วนเพิ่มเติม(+)
- การลบ(-)
- ดิวิชั่น(/)
- การคูณ(*)
- โมดูลัส(%)
ตัวอย่าง
ตัวดำเนินการเหล่านี้สามารถดำเนินการกับการดำเนินการทางคณิตศาสตร์ใดๆ ใน C++ มาดูตัวอย่างกัน −
#include <iostream>
using namespace std;
main() {
int a = 21;
int b = 10;
int c ;
c = a + b;
cout << "Line 1 - Value of c is :" << c << endl ;
c = a - b;
cout << "Line 2 - Value of c is :" << c << endl;
c = a * b;
cout << "Line 3 - Value of c is :" << c << endl;
c = a / b;
cout << "Line 4 - Value of c is :" << c << endl;
c = a % b;
cout << "Line 5 - Value of c is :" << c << endl;
return 0;
} ผลลัพธ์
สิ่งนี้จะให้ผลลัพธ์ -
Line 1 - Value of c is :31 Line 2 - Value of c is :11 Line 3 - Value of c is :210 Line 4 - Value of c is :2 Line 5 - Value of c is :1
มีตัวดำเนินการเลขคณิตแบบผสมบางตัวที่มีอยู่ใน c++ ตัวดำเนินการกำหนดเลขคณิตแบบผสมถูกระบุในรูปแบบ e1 op=e2 โดยที่ e1 เป็นค่า l ที่ปรับเปลี่ยนได้ ไม่ใช่ประเภท const และ e2 เป็นค่าใดค่าหนึ่งต่อไปนี้:
- ประเภทเลขคณิต
- ตัวชี้ ถ้า op คือ + หรือ –
รูปแบบ e1 op=e2 ทำงานเป็น e1 =e1 op e2 แต่ e1 จะได้รับการประเมินเพียงครั้งเดียว
ต่อไปนี้คือตัวดำเนินการกำหนดเลขคณิตแบบผสมใน C++ -
| ตัวดำเนินการ | คำอธิบาย |
|---|---|
| *= | คูณค่าของตัวถูกดำเนินการแรกด้วยค่าของตัวถูกดำเนินการที่สอง เก็บผลลัพธ์ในวัตถุที่ระบุโดยตัวถูกดำเนินการแรก |
| /= | คูณค่าของตัวถูกดำเนินการแรกด้วยค่าของตัวถูกดำเนินการที่สอง เก็บผลลัพธ์ในวัตถุที่ระบุโดยตัวถูกดำเนินการแรก |
| /= | หารค่าของตัวถูกดำเนินการแรกด้วยค่าของตัวถูกดำเนินการที่สอง เก็บผลลัพธ์ในวัตถุที่ระบุโดยตัวถูกดำเนินการแรก |
| %= | นำโมดูลัสของตัวถูกดำเนินการแรกที่ระบุโดยค่าของตัวถูกดำเนินการที่สอง เก็บผลลัพธ์ในวัตถุที่ระบุโดยตัวถูกดำเนินการแรก |
| += | เพิ่มค่าของตัวถูกดำเนินการที่สองให้กับค่าของตัวถูกดำเนินการตัวแรก เก็บผลลัพธ์ในวัตถุที่ระบุโดยตัวถูกดำเนินการแรก |
| –= | ลบค่าของตัวถูกดำเนินการที่สองออกจากค่าของตัวถูกดำเนินการแรก เก็บผลลัพธ์ในวัตถุที่ระบุโดยตัวถูกดำเนินการแรก |
มาดูตัวอย่างการใช้ตัวดำเนินการเหล่านี้กัน −
#include<iostream>
using namespace std;
int main() {
int a = 3, b = 2;
a += b;
cout << a << endl;
a -= b;
cout << a << endl;
a *= b;
cout << a << endl;
a /= b;
cout << a << endl;
return 0;
} สิ่งนี้จะให้ผลลัพธ์ -
5 3 6 3
โปรดทราบว่าการกำหนดแบบผสมให้กับประเภทที่แจกแจงจะสร้างข้อความแสดงข้อผิดพลาด หากตัวถูกดำเนินการทางซ้ายเป็นประเภทตัวชี้ ตัวถูกดำเนินการทางขวาจะต้องเป็นประเภทตัวชี้หรือต้องเป็นนิพจน์คงที่ที่ประเมินเป็น 0 หากตัวถูกดำเนินการทางซ้ายเป็นประเภทปริพันธ์ ตัวถูกดำเนินการทางขวาจะต้องไม่ใช่ตัวชี้ ชนิด