ตัวดำเนินการ

ในบทนี้ คุณจะได้เรียนรู้เกี่ยวกับตัวดำเนินการ (Operator) ในภาษา C++ ตัวดำเนินการถูกใช้เพื่อดำเนินการกับตัวแปรและค่าคงที่สำหรับการสร้าง Expression เพื่อทำงานโปรแกรม ในภาษา C++ มีตัวดำเนินการประเภทต่างๆ สำหรับการทำงานที่แตกต่างกันออกไป นี่เป็นตัวดำเนินการที่สำคัญที่คุณจะต้องรู้จักและจะได้เรียนในบทนี้

  • Assignment operator
  • Arithmetic operators
  • Compound assignment operators
  • Increment and decrement
  • Comparison operators
  • Logical operators
  • Conditional ternary operator
  • Bitwise operators
  • Explicit type casting operator
  • Operator precedence

Assignment operator

ตัวดำเนินการกำหนดค่านั้นแสดงโดยใช้เครื่องหมาย = มันถูกใช้เพื่อกำหนดค่าข้อมูลให้กับตัวแปรหรือค่าคงที่ในภาษา C++ ในการใช้งานตัวดำเนินการนั้นจะเป็นการนำค่าทางด้านขวาของตัวดำเนินการ กำหนดให้กับตัวแปรทางด้านซ้าย นี่เป็นตัวอย่างการใช้งาน

x = 10;
y = x;
a = b = c = 1;

ในตัวอย่าง เรามีตัวแปรสองตัวคือ x และ y เราได้กำหนดค่า 10 ให้กับตัวแปร x และเรากำหนดค่าของ x ให้กับตัวแปร y ดังนั้นทั้งตัวแปร x และ y จะมีค่าเป็น 10 และในคำสั่งสุดท้ายเป็นการกำหนดค่าให้กับหลายตัวแปรแบบในบรรทัดเดียว ซึ่งทั้งตัวแปร a b และ c นั้นต่างก็มีค่าเท่ากับ 1

Arithmetic operators ( +, -, *, /, % )

ตัวดำเนินการคณิตศาสตร์ ถูกใช้เพื่อดำเนินการเกี่ยวกับทางคณิตระหว่างตัวแปรและค่าคงที่ เช่น การบวก การลบ การคูณ และการหาร และนอกจากนี้ตัวดำเนินการในการเขียนโปรแกรมคอมพิวเตอร์นั้น ยังมีตัวดำเนินการสำหรับการหารเอาเศษ (Modulo)

ต่อไปนี้เป็นตารางแสดงตัวดำเนินการทางคณิตศาสตร์ในภาษา C++

SymbolNameExample
+Additionc = a + b
-Subtractionc = a - b
*Multiplicationc = a * b
/Divisionc = a / b
%Moduloc = a % b

ในตารางข้างบน เป็นสัญลักษณ์ ชื่อ และตัวอย่างการใช้งานของตัวดำเนินการ ต่อไปมาดูตัวอย่างของการใช้ตัวดำเนินการทางคณิตศาสตร์

#include <iostream>

using namespace std;

int main () {
int a = 3;
int b = 2;
cout << "a + b = " << a + b << endl;
cout << "a - b = " << a - b << endl;
cout << "a * b = " << a * b << endl;
cout << "a / b = " << a / b << endl;
cout << "a % b = " << a % b << endl;
return 0;
}

ในตัวอย่าง เป็นการใช้งานตัวดำเนินการทางคณิตศาสตร์ประเภทต่างๆ เราได้ประกาศตัวแปร a และ b และกำหนดค่าให้กับตัวแปร ใน 4 คำสั่งแรกเป็นการกระทำทางคณิตศาสตร์พื้นฐานคือ การบวก การลบ การคูณ และการหาร ตามลำดับ แต่ในตัวดำเนินการสุดท้าย (%) คือการหารเอาเศษ ในตัวอย่าง 3 หาร 2 นั้นได้เศษ 1 ดังนั้นคำตอบจึงเป็น 1 และเมื่อโปรแกรมรัน มันจะให้ผลลัพธ์ดังต่อไปนี้

a + b = 5
a - b = 1
a * b = 6
a / b = 1
a % b = 1

Compound assignment (+=, -=, *=, /=, %=, >>=, <<=, &=, ^=, |=)

Compound assignment operators ถูกใช้เพื่อแก้ไขค่าปัจจุบันของตัวแปรโดยการใช้ตัวดำเนินการทางคณิตศาตร์และตัวดำเนินการกำหนดค่าในเวลาเดียวกัน การทำงานของตัวดำเนินนั้นจะทำงานโดยอ้างอิงกับค่าเดิมของตัวแปร เช่น การเพิ่มหรือลดค่าจากตัวแปรเดิม นอกจากนี้มันยังใช้สำหรับการเขียนแบบสั้นของตัวดำเนินการทางคณิตศาสตร์และตัวดำเนินการระดับบิต

ต่อไปนี้เป็นตารางของตัวดำเนินการกำหนดเพิ่มค่าในภาษา C++

OperatorExampleEquivalent to
+=a += 2;a = a + 2
-=a -= 2;a = a - 2
*=a *= 2;a = a * 2
/=a /= 2;a= a / 2
%=a %= 2;a = a % 2
>>=a >>= 2;a = a >> 2
<<=a <<= 2a = a << 2
&=a & = 2;a = a & 2
^=a ^= 2;a= a ^ 2
|=a |= 2;a = a | 2

คุณจะเห็นว่าตัวดำเนินการ Compound assignment นั้นจะเป็นการรวมกันระหว่างตัวดำเนินการกำหนดค่าและตัวดำเนินการทางคณิตศาสตร์หรือตัวดำเนินการระดับบิต และมันสามารถใช้แทนตัวดำเนินการเหล่านั้นได้ในบางกรณีเพื่อทำให้การเขียนของคุณสั้นลง มาดูตัวอย่างการใช้งานในภาษา C++

#include <iostream>

using namespace std;

int main () {

// Using compound assessment
// Building construction
int floor = 0;
cout << "Building construction" << endl;

floor += 4;
cout << "First day build 4 floors" << endl;
cout << floor << " floors has been constructed" << endl;

floor += 3;
cout << "Second day build 3 floors" << endl;
cout << floor << " floors has been constructed" << endl;

floor += 3;
cout << "Third day build 3 floors" << endl;
cout << floor << " floors has been constructed" << endl;

// No using compound assessment
// Fuel using of vehicle
float current_fuel = 100;
cout << "\nVehicle has 100% of fuel" << endl;

current_fuel = current_fuel - 17.2; // current_fuel -= 17.2;
cout << "Fuel left " << current_fuel << "%" << endl;

current_fuel = current_fuel - 20; // current_fuel -= 20;
cout << "Fuel left " << current_fuel << "%" << endl;

current_fuel = current_fuel + 35; // current_fuel += 35;
cout << "Fuel left " << current_fuel << "%" << endl;

current_fuel = current_fuel - 46.1; // current_fuel -= 46.1;
cout << "Fuel left " << current_fuel << "%" << endl;

return 0;
}

ในตัวอย่าง เป็นการใช้งานตัวดำเนินการ Compound assignment ในการเขียนโปรแกรมแสดงความคืบหน้าของการสร้างตึกและการใช้งานเชื้อเพลิงในถังของยานพาหนะ ในการสร้างตึกนั้นเรามีตัวแปร floor สำหรับเก็บค่าว่าสร้างตึกไปได้กี่ชั้นแล้ว ในแต่ละวันที่สร้างเสร็จ เราจะทำการบวกจำนวนชั้นที่สร้างเสร็จเพิ่มขึ้นจากค่าเดิมด้วยตัวดำเนินการ +=

และในตัวอย่างของการเชื้อเพลงนั้น เป็นการแสดงให้เห็นว่าเราสามารถที่จะใช้ตัวดำเนินการ Compound assignment เพื่อทำให้คำสั่งสั้นลงได้ ซึ่งไม่มีผลต่างกันในการทำงาน

Building construction
First day build 4 floors
4 floors has been constructed
Second day build 3 floors
7 floors has been constructed
Third day build 3 floors
10 floors has been constructed

Vehicle has 100% of fuel
Fuel left 82.8%
Fuel left 62.8%
Fuel left 97.8%
Fuel left 51.7%

นี่เป็นผลลัพธ์การทำงานเมื่อรันโปรแกรม

Increment และ decrement (++, --)

ตัวดำเนินการ Increment และ decrement operators ถูกใช้เพื่อเพิ่มหรือลดค่าของตัวแปรทีละ 1 ตัวดำเนินการดำเนินการกับตัวแปรโดยการเพิ่ม ++ หรือ -- หลังจากตัวแปร นี่เป็นตัวอย่าง

#include <iostream>

using namespace std;

int main () {
int x = 1;
int y = 5;
x++;
++x;
y--;
cout << "x = " << x << endl;
cout << "y = " << y << endl;
return 0;
}

โปรแกรมจะมีผลลัพธ์ตามนี้

x = 3
y = 4

ตัวดำเนินการนี้เป็นรูปย่อของ x = x + 1 เหมือนที่คุณได้เห็นในโปรแกรม อย่างไรก็ตามมันมีข้อแตกต่างระหว่าง prefix และ postfix increments โดย x++ จะต้องเสร็จสิ้นคำสั่งปัจจุบันก่อนที่จะเพิ่มค่า 1 ไปยังตัวแปร x แต่ ++x จะเพิ่มค่า 1 ไปยังตัวแปร x ก่อนที่คำสั่งจะทำงาน

นอกจากนี้ การใช้งานตัวดำเนินการลบและเพิ่มที่ค่าเราใช้บ่อยๆ ในการเขียนโปรแกรมคือการใช้กับคำสั่งวนซ้ำ เพื่อเป็นตัวควบคุมการทำงานของลูป ต่อไปเป็นตัวอย่างของโปรแกรมแสดงตัวเลขด้วยคำสั่ง While loop

#include <iostream>

using namespace std;

int main () {

int i = 1;
int j = 1;

while (i <= 10) {
cout << "i = " << i++ << ", j = " << ++j << endl;
}

return 0;
}

ในตัวอย่าง เป็นการใช้คำสั่ง while loop วนเป็นจำนวน 10 รอบสำหรับการแสดงตัวเลข เรามีตัวแปร i และ j ซึ่งถูกกำหนดค่าเป็น 1 ในตอนเริ่มต้น ในคำสังการแสดงผล cout คุณจะเห็นว่าในตัวแปร i เราแสดงผลโดยรูปแบบ postfix i++ และในตัวแปร j เราแสดงผลโดยรูปแบบ prefix ++j ทำให้ค่าของ j นั้นถูกเพิ่มขึ้นก่อนที่จะแสดงผล

i = 1, j = 2
i = 2, j = 3
i = 3, j = 4
i = 4, j = 5
i = 5, j = 6
i = 6, j = 7
i = 7, j = 8
i = 8, j = 9
i = 9, j = 10
i = 10, j = 11

นี่เป็นผลลัพธ์การทำงานของโปรแกรม ซึ่งคุณได้เห็นความแตกต่างอย่างชัดเจนระหว่างการใช้งานตัวเพิ่มลดค่าแบบ prefix และ posfix

Relational และ comparison operators ( ==, !=, >, <, >=, <= )

ตัวดำเนินการเปรียบเทียบถูกใช้ในการดำเนินการเปรียบเทียบระหว่างตัวแปร ผลลัพธ์ของตัวดำเนินการเหล่านี้จะมีแค่ true และ false อีกนัยหนึ่ง มันเป็นการเขียนโปรแกรมแบบมีเงื่อนไข ที่ใช้ในคำสั่งที่มีการเปรียบเทียบ เช่น if, for, while, do while เป็นต้น

Relational and comparison operators table

OperaterExampleResult
==a == btrue if a equal to b, otherwise false
!=a != btrue if a not equal to b, otherwise false
<a < btrue if a less than b, otherwise false
>a > btrue if a greater than b, otherwise false
<=a <= btrue if a less than or equal to b, otherwise false
>=a >= btrue if a greater than or equal to b, otherwise false

มาดูตัวอย่างในหารใช้งานสำหรับการเปรียบเทียบค่า

int n = 5;
if (n == 5) {
cout << "n equal to 5";
}

นี่เรียกว่าคำสั่งเปรียบเทียบเงื่อนไข ในตัวอย่าง เราใช้ตัวดำเนินการ ==เพื่อตรวจสอบว่าตัวแปร n เท่ากับ 5 หรือไม่ ถ้ามันเท่ากับ 5 เราจะแสดงผล n equal to 5 ออกทางหน้าจอ

เพื่อให้คุณเข้าใจถึงวิธีการใช้งานมากขึ้น ต่อไปมาตัวอย่างเพิ่มเติมสำหรับการใช้งานตัวดำเนินการเปรียบ โดยเราจะเขียนโปรแกรมสำหรับบอกว่าสภาพอากาศเป็นอย่างไร โดยคำนวณจากอุณหภูมิที่รับเข้ามา

#include <iostream>

using namespace std;

int main () {

int degree_f, degree_c;
string feeling;

cout << "Enter temperature (F): ";
cin >> degree_f;

degree_c = (degree_f - 32) * (5 / 9.0f);
cout << degree_f << " 'F = " << degree_c << " 'C" << endl;

if (degree_f < 30) {
feeling = "freezing";
}
else if (degree_f < 50) {
feeling = "cold";
}
else if (degree_f < 70) {
feeling = "cool";
}
else if (degree_f < 90) {
feeling = "warm";
}
else {
feeling = "hot";
}

cout << "Today the weather is "<< feeling << ".";

return 0;
}

ในตัวอย่าง เป็นโปรแกรมบอกสภาพอากาศโดยคำนวณจากอุณหภูมิ โปรแกรมของเราถามให้ผู้ใช้กรอกอุณหภูมิในองศาฟาเรนไฮต์ และเราทำการคำนวณอุณภูมิสำหรับองศาเซลเซียสด้วย หลังจากนั้นเราใช้ตัวดำเนินการสำหรับเปรียบเทียบค่าของอุณหภูมิในช่วงต่างๆ ว่าอากาศนั้นเป็นแบบไหน

Enter temperature (F): 57
57 'F = 13 'C
Today the weather is cool.

นี่เป็นผลลัพธ์การทำงานของโปรแกรมเมื่อเรากรอกอุณหภูมิเป็น 57 และโปรแกรมแปลงเป็นองศาเซลเซียสเท่ากับ 13 และบอกว่าอากาศเย็นสบายดี

Logical operators ( !, &&, || )

ตัวดำเนินการตรรกะ ใช้เพื่อประเมิน expression ของตัวแปรซึ่ง expression สามารถประกอบไปด้วยตัวแปรเดียวหรือมากกว่า นี่เป็นตารางของตัวดำเนินการตรรกะ

SymbolNameExample
!Not! (n==1)
&&Anda == 1 && b == 1
||Ora == 1 || b == 1

ตัวดำเนินการตรรกะมักจะใช้เพื่อเปรียบเทียบและสร้างเงื่อนไข ผลลัพธ์สุดท้ายนั้นจะเป็น true หรือ false เท่านั้น มาดูตัวอย่าง

bool isRain = true;
if (!isRain) {
cout << "I will go to beach" ;
}

เรามีตัวแปร isRain ซึ่งเป็นตัวแปรที่ใช้บ่งบอกว่าฝนตกหรือไม่ ในคำสั่ง if (!isRain) มีความหมายคือ "if it not rain" เราจะแสดงผลข้อความ "I will go to beach" ออกทางจอภาพ

char c = 'a';
if (c == 'a' || c == 'e' || c == 'i' || c == 'o' || c == 'u') {
cout << "c is a vowel" ;
}

ในตัวอย่าง เรามีตัวแปร c ซึ่งสามารถเก็บค่าของตัวอักษรภาษาอังกฤษทุกตัวได้ และเราใช้ "or operator" เพื่อเช็คว่าถ้า c เป็นสระใดๆ เราจะแสดงผลออกทางจอภาพว่า "c is vowel" อย่างไรก็ตามคุณสามารถลองใช้ "and operator" ได้ด้วยตัวเอง

เพื่อให้คุณเข้าใจในการใช้งานตัวดำเนินการตรรกศาสตร์มากขึ้น มาดูตัวอย่างการใช้งานเพิ่มเติม เราได้พัฒนาระบบรักษาความปลอดภัยในการเข้าสู่ระบบ โดยผู้ใช้ต้องกรอกชื่อและรหัสผ่านสี่ตัวสำหรับเข้าใช้งานในระบบ นี่เป็นโค้ดของโปรแกรม

#include <iostream>

using namespace std;

int main () {

string name;
int passcode;

cout << "Enter your name >> ";
cin >> name;
cout << "Four digit access code >> ";
cin >> passcode;

if ((name == "mateo" || name == "MATEO") && passcode == 3578) {
cout << "Accessing granted." << endl;
cout << "Hello Mateo!" << endl;
}
else {
cout << "Accessing denied." << endl;
}

return 0;
}

ในตัวอย่าง เป็นโปรแกรมสำหรับตรวจสอบการเข้าใช้งานระบบ ในการที่จะเข้าระบบผู้ใช้ต้องกรอกชื่อและรหัสผ่านให้ถูกต้อง และเราประกาศตัวแปร name สำหรับชื่อ passcode สำหรับรหัสผ่าน

if ((name == "mateo" || name == "MATEO") && passcode == 3578) {
...

ระบบของเรานั้นจะอนุญาติสำหรับผู้ใช้ที่มีชื่อว่า "mateo" อย่างไรก็ตาม ผู้ใช้สามารถพิมพ์ชื่อเป็นตัวพิมพ์เล็กทั้งหมดหรือตัวพิมพ์ใหญ่ทั้งหมดเท่านั้นโดยใช้ตัวดำเนินการ or (||) เชื่อมเงื่อนไข และรหัสผ่านต้องเป็น 3578 โดยใช้ตัวดำเนินการ and (&&) เพื่อเชื่อมเงื่อนไข

Enter your name >> mateo
Four digit access code >> 3578
Accessing granted.
Hello Mateo!

นี่เป็นผลลัพธ์การทำงานของโปรแกรม เมื่อเรากรอกชื่อและรหัสผ่านถูกต้อง ทำให้สามารถเข้าใช้งานระบบได้

Conditional ternary operator ( ? )

Conditional ternary operator ถูกใช้เพื่อประเมิน expression โดยการใช้ตัวดำเนินการที่คุณได้เรียนไปก่อนหน้านี้แล้ว มันจะให้ผลลัพธ์เป็น true ถ้าผลลัพธ์ของ expression เป็นจริงและจะใช้ค่า false ถ้าไม่ โดยมีรูปแบบการใช้งานดังนี้

condition ? value1: value2

Conditional ternary operator นั้นง่ายต่อการใช้ มันเป็นรูปแบบย่อของการใช้คำสั่ง if เช่น

if (n%2 == 0) {
cout << "n is even number.";
} else {
cout << "n is odd number.";
}

// now using conditional ternary operator
cout << "n is " << (n % 2 == 0 ? "even" : "odd") << " number.";

Bitwise operators ( &, |, ^, ~, <<, >> )

Bitwise operators นั้นถูกใช้ในการดำเนินการระดับบิตของตัวแปรหรือข้อมูล มันมีประโยชน์มากในการเขียนโปรแกรมระดับต่ำ ตัวดำเนินการ Bitwise นั้นใช้หลักการทำงานเหมือนกับตัวดำเนินการทางตรรกศาสตร์ โดยใช้ 1 สำหรับค่าจริงและ 0 สำหรับค่าเท็จ

นี่เป็นรายการของตัวดำเนินการ Bitwise ในภาษา C++

SymbolNameDescription
&Bitwise AND1 ถ้าบิตทั้งคู่เป็น 1, ไม่เช่นนั้นเป็น 0
|Bitwise inclusive OR1 ถ้าอย่างน้อยหนึงบิตเป็น 1, ไม่เช่นนั้นเป็น 0
^Bitwise exclusive OR1 ถ้าทั้งสองบิตแตกต่างกัน, ไม่เช่นนั้นเป็น 0
~bit inversionกลับบิตจาก 1 เป็น 0 และในทางตรงข้าม
<<Shift bits leftเลื่อนบิตไปทางซ้าย เติมบิต 0 ทางขวา
>>Shift bits rightเลื่อนบิตไปทางขวา เติมบิต 0 ทางซ้าย

จากตารางข้างบน เป็นตัวดำเนินการประเภทต่างๆ ในภาษา C++ ที่ใช้ดำเนินการกับข้อมูลในระดับบิต ยกตัวอย่าง เช่น เมื่อเรากำหนดค่าให้กับตัวแปรนั้น คอมพิวเตอร์จะเก็บข้อมูลในรูปแบบของเลขฐานสอง (binary) ตัวดำเนินการเหล่านี้ใช้สำหรับจัดการกับข้อมูลดังกล่าว มาดูตัวอย่างการใช้งานในภาษา C++

#include <iostream>

using namespace std;

int main () {
int a = 2; // 00000010
int b = 5; // 00000101
cout << "a & b =" << (a & b) << endl; // 00000000 = 0
cout << "a & b = " << (a | b) << endl; // 00000111 = 7
cout << "~a = " << ~a << endl; // 11111101 = -1
cout << "a >> 1 = " << (a >> 1) << endl; // 00000001 = 1
cout << "a << 1 = " << (a << 1) << endl; // 00000100 = 8
return 0;
}

ในตัวอย่าง เป็นโปรแกรมในการใช้งานตัวดำเนินการระดับบิตกับการจัดการข้อมูลประเภท Integer เราได้ประกาศตัวแปร a และ b และได้คอมเมนต์ค่าของ binary ที่ถูกเก็บไว้ในหน่วยความจำ การทำงานของตัวดำเนินการ & และ | นั้นทำงานกับคู่ของแต่ละบิตของตัวแปรทั้งสอง ส่วนอีกสามตัวดำเนินการที่เหลือนั้นกระทำกับตัวแปรเดียว ในตัวดำเนินการ ~ นั้นเป็นการกลับบิต และสำหรับตัวดำเนินการ bit shift นั้นเมื่อเลื่อนบิตไปทางซ้ายจะทำให้ค่าเพิ่มขึ้นสองเท่า และเมื่อเลื่อนบิตไปทางขวาก็จะทำให้ค่าลดลงสองเท่า

a & b = 0
a & b = 7
~a = -3
a >> 1 = 1
a << 1 = 4

นี่เป็นผลลัพธ์การทำงานของโปรแกรมของการใช้งานตัวดำเนินการระดับบิตในภาษา C++

Explicit type casting operator

ในภาษา C++ นั้นจะมีข้อมูลประเภทต่างๆ ข้อมูลบางประภทสามารถแปลงไปอีกประเภทได้โดยการใช้ explicit type casting ข้อมูลบางประเภทจำเป็นต้องใช้ฟังก์ชันจากไลบรารี่ของภาษา C++ หรือคุณสามารถสร้างฟังก์ชันของคุณเองเพื่อแปลงข้อมูลเหล่านั้น ในตัวอย่างนี้เราจะใช้การแปลงข้อมูลแบบ explicit type casting เพื่อแปลงค่าข้อมูลพื้นฐานเช่น integer และ float

float b = 10.25;
int a = (int) b;

ในตัวอย่างนี้ เราได้แปลง 10.25 ไปเป็น integer ดังนั้นตัวแปร a จะมีค่าเป็น 10

Operator precedence

ลำดับความสำคัญของตัวดำเนินการ (Operator precedence) ใช้เพื่อกำหนดว่าตัวดำเนินการใช้ที่จะถูกทำงานก่อน ยกตัวอย่างเช่น 5 +4 * 2 นั้นจะถูกคำนวณเป็น 5 +(4 * 2) ซึ่งท่ากับ 13 เพราะว่าตัวดำเนินการคุณ (*) นั้นมีความสำคัญมากกว่าตัวกำเนินการบวก (+) ดังนั้นหากเราต้องการให้โปรแกรมบวกกันก่อนเราสามารถใช้วงเล็บ (5 + 4) * 2 จะได้เท่ากับ 22 เพราะว่าวงเล็บนั้นมีความสำคัญมากกว่าตัวดำเนินการคูณ (*)

ข้างล่างนี้ เป็นตารางแสดงลำดับความสำคัญของตัวดำเนินการในภาษา C++

Operator Name Associativity Operators
Primary scope resolution left to right ::
Primary left to right ()[].-> dynamic_cast typeid
Unary ขวาไปซ้าย ++--+-!~&*(type_name)sizeof new delete
C++ Pointer to Member left to right .*->*
Multiplicative ซ้ายไปขวา */%
Additive ซ้ายไปขวา +-
Bitwise Shift ซ้ายไปขวา <<>>
Relational ซ้ายไปขวา <><=>=
Equality ซ้ายไปขวา ==!=
Bitwise AND ซ้ายไปขวา &
Bitwise Exclusive OR ซ้ายไปขวา ^
Bitwise Inclusive OR ซ้ายไปขวา |
Logical AND ซ้ายไปขวา &&
Logical OR ซ้ายไปขวา ||
Conditional ขวาไปซ้าย ?:
Assignment ขวาไปซ้าย =+=-=*= /=<<=>>= %= &=^=|=
Comma ซ้ายไปขวา ,

ในบทนี้ คุณได้เรียนรู้เกี่ยวกับตัวดำเนินการในภาษา C++ เราได้อธิบายความหมายและตัวอย่างการใช้งานตัวดำเนินการประเภทต่างๆ เพื่อนำไปเขียนโปรแกรมให้ตรงกับความของการ และเราได้พูดถึงลำดับความสำคัญของตัวดำเนินการ ที่เป็นสิ่งกำหนดว่าตัวดำเนินการไหนที่จะถูกทำงานก่อน


บทความเกี่ยวกับ ตัวดำเนินการ

ตัวดำเนินการ ในภาษา C

ตัวดำเนินการจะถูกใช้กับตัวแปรและค่าคงที่ในการดำเนินการบางอย่าง เช่น การดำเนินการทางคณิตศาสตร์ ในภาษา C มีตัวดำเนินการประเภทต่างๆ ที่ทำหน้าที่แตกต่างกันไป ในบทนี...

ตัวดำเนินการ ในภาษา C#

ตัวดำเนินการ คือเครื่องหมายที่ใช้เพื่อให้ทำงานกับตัวแปรและค่าคงที่เพื่อสร้าง expression ในการเขียนโปรแกรม ในภาษา C#มีตัวดำเนินการประเภทต่างๆ ที่คุณจะต้องรู้จักก...

ตัวดำเนินการ ในภาษา Java

ในบทนี้ คุณจะได้เรียนรู้เกี่ยวกับตัวดำเนินการในภาษา Java และการใช้งานตัวดำเนินการ ในภาษา Java มีตัวดำเนินการประเภทต่างๆ ดังนี้ String concatenating operator หรื...

ตัวดำเนินการ ในภาษา Visual Basic

ตัวดำเนินการ ใช้สำหรับจัดการกับตัวแปรและค่าคงที่ ยกตัวอย่างเช่น การกำหนดค่า การเปรียบเทียบข้อมูล ตัวดำเนินการในภาษา Visual Basic นั้นมีหลายรูปแบบ นี่เป็นตัวดำเน...

ตัวดำเนินการ ในภาษา Python

ตัวดำเนินการ (Operators) คือกลุ่มของเครื่องหมายหรือสัญลักษณ์ที่ใช้ทำงานเหมือนกับฟังก์ชัน แต่แตกต่างกันตรงไวยากรณ์หรือความหมายในการใช้งาน ในภาษา Python นั้นสนับส...