การใช้งานคำสั่ง if else ในภาษา C++

ในบทช่วยสอนนี้ เราจะเรียนรู้เกี่ยวกับคำสั่ง if…else เพื่อสร้างโปรแกรมการตัดสินใจโดยใช้ตัวอย่าง

ในการเขียนโปรแกรมคอมพิวเตอร์ เราใช้ if คำสั่งเพื่อเรียกใช้บล็อกโค้ดเมื่อตรงตามเงื่อนไขที่กำหนดเท่านั้น

ตัวอย่างเช่น การให้คะแนน (A, B, C) ตามคะแนนที่ได้รับจากนักเรียน

  • ถ้าเปอร์เซ็นต์สูงกว่า 90 ให้กำหนดเกรดเป็น A
  • ถ้าเปอร์เซ็นต์สูงกว่า 75 ให้กำหนดเกรดเป็น B
  • ถ้าเปอร์เซ็นต์สูงกว่า 65 ให้กำหนดเกรดเป็น C

มี 3 รูปแบบของ if…else คำสั่งใน C ++

  1. if คำสั่ง
  2. if…else คำสั่ง
  3. if…else if…else คำสั่ง

ไวยากรณ์ของคำสั่ง if คือ:

if (condition) {
   // โค้ดภายใน ถ้าเงื่อนไขเป็น “จริง”
}


คำสั่ง if จะประเมินเงื่อนไขภายในวงเล็บ ( )

  • ถ้าตรวจสอบ เงื่อนไข (condition) แล้วเป็น “จริง” โค้ดภายใน if จะถูกดำเนินการ
  • ถ้าตรวจสอบ เงื่อนไข (condition) แล้วเป็น “เท็จ” โค้ดภายใน if จะถูกข้ามไป

หมายเหตุ: โค้ดภายในเครื่องหมายปีกกา { } คือโค้ดภายใน ของคำสั่ง if


ตัวอย่างที่ 1: C++ if Statement


#include <iostream>
using namespace std;

int main() {
    int number;

    cout << "Enter an integer: ";
    cin >> number;

    if (number > 0) {
        cout << "You entered a positive integer: " << number << endl;
    }
    cout << "This statement is always executed.";
    return 0;
}


ถ้าป้อนเลขจำนวนมากกว่า 0 เช่น 5 -> Enter

เงื่อนไขเป็น “จริง” -> โค้ดภายใน if จะถูกดำเนินการ

ถ้า ป้อนเลข 0 -> Enter

เงื่อนไขเป็น “เท็จ” -> โค้ดภายใน if จะถูกข้ามไป ทำงานที่โค้ดหลัง if แทน


C++ if…else


คำสั่ง if สามารถมีตัวเลือก else ไวยากรณ์ของมันคือ:

if (condition) {
    // โค้ดภายใน ถ้าเงื่อนไขเป็น “จริง”
}
else {
    // โค้ดภายใน ถ้าเงื่อนไขเป็น “เท็จ”
}


คำสั่ง if..else จะประเมินเงื่อนไขภายในวงเล็บ


ถ้าเงื่อนไข (condition) เป็นจริง

  • โค้ดภายใน if { } ถูกดำเนินการ
  • โค้ดภายใน else { } ถูกข้ามจากการดำเนินการ


ถ้าเงื่อนไข (condition) เป็นเท็จ

  • โค้ดภายใน else { } ถูกดำเนินการ
  • โค้ดภายใน if { } ถูกข้ามจากการดำเนินการ


ตัวอย่างที่ 2: C++ if…else Statement


#include <iostream>
using namespace std;

int main() {
    int number;

    cout << "Enter an integer: ";
    cin >> number;
    if (number >= 0) {
        cout << "You entered a positive integer: " << number << endl;
    }
    else {
        cout << "You entered a negative integer: " << number << endl;
    }
    cout << "This line is always printed.";
    return 0;
}


ป้อน 4 จึงเข้าเงื่อนไข เป็นจริง (true) ดังนั้นโค้ดภายใน if { } จึงถูกดำเนินการ

ป้อน -4 จึงเข้าเงื่อนไข เป็นเท็จ (false) ดังนั้นโค้ดภายใน else { } จึงถูกดำเนินการ


C++ if…else…else if statement


if…else คำสั่งที่ใช้ในการดำเนินการบล็อกของโค้ดระหว่างสองทางเลือก อย่างไรก็ตาม หากเราต้องเลือกระหว่างทางเลือกมากกว่า 2 ทาง เราจะใช้คำสั่ง if…else if…else

ไวยากรณ์ของคำสั่ง if…else if…else คือ:

if (condition1) {
    // code block 1
}
else if (condition2){
    // code block 2
}
else {
    // code block 3
}

ที่นี่,

  • ถ้า condition1 เป็น true ที่ code block 1 จะดำเนินการ
  • ถ้า condition1 เป็น false แล้ว condition2 จะถูกประเมิน
  • ถ้า condition2 เป็น true ที่ code block 2 จะดำเนินการ
  • ถ้า condition2 เป็น false ที่ code block 3 จะดำเนินการ

หมายเหตุ:สามารถมีคำสั่ง else if ได้มากกว่าหนึ่งคำสั่ง แต่จะมีเพียงหนึ่งคำสั่ง if และ หนึ่งคำสั่ง else เท่านั้น


ตัวอย่างที่ 3: C++ if…else…else if


#include <iostream>
using namespace std;

int main() {
     int number;

    cout << "Enter an integer: ";
    cin >> number;
    if (number > 0) {
        cout << "You entered a positive integer: " << number << endl;
    } 
else if (number < 0) {
      cout << "You entered a negative integer: " << number << endl;
     } 
else {
        cout << "You entered 0." << endl;
    }
     cout << "This line is always printed.";
    return 0;
}


ตัวเลขมากกว่า 0 โค้ดภายในบล็อก if จะถูกดำเนินการ

ตัวเลขน้อยกว่า 0 โค้ดภายในบล็อก else if จะถูกดำเนินการ

ไม่เข้าเงื่อนไขใดๆ โค้ดภายในบล็อก else จะถูกดำเนินการ

ในโปรแกรมนี้เรานำตัวเลขมาจากผู้ใช้ จากนั้นเราใช้ if…else if…else เพื่อตรวจสอบว่าตัวเลขเป็นบวก ลบ หรือศูนย์

หากตัวเลขมากกว่า 0 โค้ดภายในบล็อก if จะถูกดำเนินการ หากตัวเลขน้อยกว่า 0 โค้ดภายในบล็อก else if จะถูกดำเนินการ มิฉะนั้น โค้ดภายในบล็อก else จะถูกดำเนินการ

C++ Nested if…else


บางครั้ง เราจำเป็นต้องใช้คำสั่ง if ภายใน if คำสั่งอื่น นี้เรียกว่าคำสั่ง if ซ้อน

คิดว่ามันเป็น if มีคำสั่งหลายชั้น มี if คำสั่งแรก เป็น คำสั่งภายนอก และ อีก if เป็น คำสั่งภายใน ไวยากรณ์ของมันคือ:

// คำสั่งภายนอก
if (condition1) {
    // statements

    // คำสั่งภายใน
    if (condition2) {
        // statements
    }
}

หมายเหตุ:

  • เราสามารถเพิ่ม else และ else if ใน if คำสั่งภายในได้ตามต้องการ
  • if คำสั่งภายในยังสามารถแทรกเข้าไปด้านใน else หรือ else if คำสั่งภายนอก(ถ้ามี)
  • เราสามารถซ้อน if คำสั่งหลายชั้นได้


ตัวอย่างที่ 4: C ++ if ซ้อน


#include <iostream>
using namespace std;

int main() {
    int num;
    
    cout << "Enter an integer: ";  
     cin >> num;    

    // outer if condition
    if (num != 0) {
        
        // inner if condition
        if ((num % 2) == 0) {
            cout << "The number is even." << endl;
        }
         // inner else condition
        else {
            cout << "The number is odd." << endl;
        }  
    }
    // outer else condition
    else {
        cout << "The number is 0 and it is neither even nor odd." << endl;
    }
    cout << "This line is always printed." << endl;
}

ในตัวอย่างข้างต้น

  • เราใช้จำนวนเต็มเป็นอินพุตจากผู้ใช้และเก็บไว้ในตัวแปร num
  • จากนั้นเราใช้คำสั่ง if…else เพื่อตรวจสอบว่า num ไม่เท่ากับ 0
    ถ้าเป็น true โค้ดภายใน if…else คำสั่งจะถูกดำเนินการ
    ถ้าเป็น false โค้ดภายในเงื่อนไขภายนอก else จะถูกดำเนินการ ซึ่งจะพิมพ์ว่า “The number is 0 and neither even nor odd.”
  • คำสั่ง if…else ภายในตรวจสอบว่าจำนวนอินพุตหารด้วย 2 ลงตัวหรือไม่
    ถ้าเป็น true เราจะพิมพ์ข้อความว่าจำนวนเป็นคู่
    ถ้าเป็น false เราจะพิมพ์ว่าตัวเลขเป็นเลขคี่

หมายเหตุ:อย่างที่คุณเห็น การซ้อนกัน if…else ทำให้ตรรกะของคุณซับซ้อน if…else ถ้าเป็นไปได้คุณควรพยายามหลีกเลี่ยงที่จะซ้อนกัน


โค้ดภายในของ if…else ด้วยประโยคเดียว


หากโค้ดภายในของ if…else มีคำสั่งเดียว คุณสามารถไม่ต้องเขียนเครื่องหมายปีกกา { } ในโปรแกรมได้ ตัวอย่างเช่น

int number = 5;

    if (number > 0) {
        cout << "The number is positive." << endl;
    }
    else {
        cout << "The number is negative." << endl;
    }


แทนด้วย

int number = 5;

    if (number > 0)
        cout << "The number is positive." << endl;
    else
        cout << "The number is negative." << endl;


ผลลัพธ์ของทั้งสองโปรแกรมจะเหมือนกัน

หมายเหตุ: แม้ว่าจะไม่จำเป็นต้องใช้เครื่องหมายปีกกา { } หากโค้ดภายใน if…else มีคำสั่งเดียว แต่การใช้เครื่องหมายปีกกา { } จะทำให้โค้ดของคุณอ่านง่ายขึ้น

Leave a Reply

Your email address will not be published. Required fields are marked *