30204-2004 การเขียนโปรแกรม

C++ Operators (ตัวดำเนินการ)

Operators (โอเปอร์เรเตอร์)

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

  • โอเปอร์เรเตอร์ หรือตัวดำเนินการ เป็นการกำหนดกิจกรรมเพื่อดำเนินการกับตัวแปรและข้อมูลของตัวแปร ให้เป็นไปตามวัตถุประสงค์ของโปรแกรมเมอร์

  • เช่น ต้องการหาผลบวกของตัวแปร A และ B ตัวดำเนินการคือเครื่องหมายบวก: สัญญลักษณ์ +

int a = 5;
int b = 10;
int x = a + b; // x = 5 + 10 = 15
cout << x; // print 15

Arithmetic

ตัวดำเนินการทางคณิตศาสตร์

โอเปอร์เรตอร์ ชื่อ คำอธิบาย ตัวอย่างใช้งาน
+ Addition บวก x + y
- Subtraction ลบ x - y
* Multiplication คูณ x * y
/ Division หาร x / y
% Modulus หาร เอาเฉพาะเศษ x % y
++ Increment เพิ่มทีละหนึ่ง ++x
-- Decrement ลดทีละหนึ่ง --x

Assignment

ตัวดำเนินการกับตัวแปร

โอเปอร์เรตอร์ ตัวอย่างใช้งาน หมายถึง
= x = 5 x = 5
+= x += 3 x = x + 3
-= x -= 3 x = x - 3
*= x *= 3 x = x * 3
/= x /= 3 x = x / 3
%= x %= 3 x = x % 3
&= x &= 3 x = x & 3
|= x |= 3 x = x | 3
^= x ^= 3 x = x ^ 3
>>= x >>= 3 x = x >> 3
<<= x <<= 3 x = x << 3

ตัวอย่าง

#include <iostream>
using namespace std;

int main() {
    int a, b;

    // 2 is assigned to a
    a = 2;

    // 7 is assigned to b
    b = 7;

    cout << "a = " << a << endl;
    cout << "b = " << b << endl;
    cout << "\nAfter a += b;" << endl;

    // assigning the sum of a and b to a
    a += b;  // a = a +b
    cout << "a = " << a << endl;

    return 0;
}

Comparison

ตัวดำเนินการเปรียบเทียบ

โอเปอร์เรเตอร์ ชื่อ ตัวอย่างใช้งาน คำอธิบาย
== Equal to x == y เท่ากับ
!= Not equal x != y ไม่เท่ากับ
> Greater than x > y มากกว่า
< Less than x < y น้อยกว่า
>= Greater than or equal to x >= y มากกว่าหรือเท่ากับ
<= Less than or equal to x <= y น้อยกว่าหรือเท่ากับ

ผลลัพธ์ (คำตอบ) ที่ได้จากการดำเนินการเปรียบเทียบมี 2 อย่างเท่านั้น ได้แก่ จริง หรือ เท็จ

Logical

ตัวดำเนินการทางตรรกศาสตร์

โอเปอร์เรเตอร์ ชื่อ คำอธิบาย ตัวอย่างใช้งาน
&& and
(และ)
เป็นจริงก็ต่อเมื่อด้านซ้ายและขวาเป็นจริงทั้งคู่ x < 5 && x < 10
|| or
(หรือ)
เป็นจริงก็ต่อเมื่อด้านซ้ายหรือขวาเป็นจริงอย่างน้อย 1 ด้าน x < 5 || x < 4
! not
(ไม่ / นิเสธ)
กลับค่าจริงเป็นเท็จ หรือ ค่าเท็จเป็นจริง !(x < 5 && x < 10)

ตัวอย่าง

#include <iostream>
using namespace std;

int main() {
  int x = 5;
  int y = 3;
  cout << (x > 3 && x < 10); // returns true (1) because 5 is greater than 3 AND 5 is less than 10
  return 0;
}
#include <iostream>
using namespace std;

int main() {
  int x = 5;
  int y = 3;
  cout << (!(x > 3 && x < 10)); // returns false (0) because ! (not) is used to reverse the result
  return 0;
}

Logical AND (และ)

Logical NOT (นิเสธ)

Problems

โจทย์ทดสอบ

  1. 2 > 5

  2. 9 < 11

  3. 7 >= 3

  4. 8 <= 8

  5. 10 != 12

  6. 6 == 3

  1. 4 > 2 && 7!=9

  2. 3 > 1 && 9==9 && 1 > 2

  3. 2 > 3 || 5 > 1

  4. 3 > 1 || 5 == 5

  5. 3 > 1 || 10 != 8 || 9 < 2

SET I

SET II

Aj. Krit Th.

https://www.kritth.com

C++ Operators

By Krit Th.

C++ Operators

  • 75