การใช้คำสั่ง if และหลายเงื่อนไขในภาษา C อย่างละเอียดสำหรับผู้เริ่มต้น

目次

1. บทนำ

ภาษา C เป็นภาษาการเขียนโปรแกรมที่เรียบง่ายแต่ทรงพลังและถูกใช้อย่างแพร่หลาย หนึ่งในฟังก์ชันสำคัญคือ “การควบคุมทิศทางการทำงานของโปรแกรม” หรือที่เรียกว่าเงื่อนไข (Conditional Statements) โดยเฉพาะการใช้คำสั่ง if เพื่อจัดการหลายเงื่อนไข เป็นสิ่งจำเป็นในการสร้างตรรกะที่ซับซ้อน

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

2. โครงสร้างพื้นฐานของคำสั่ง if ในภาษา C

คำสั่ง if คืออะไร?

คำสั่ง if ใช้ตรวจสอบว่าเงื่อนไขที่กำหนดเป็น “จริง” หรือไม่ หากเป็นจริงจะทำการประมวลผลตามที่กำหนด ในภาษา C โครงสร้างของ if มีดังนี้

if (เงื่อนไข) {
    // โค้ดที่จะทำงานเมื่อเงื่อนไขเป็นจริง
}

ตัวอย่างพื้นฐาน

ตัวอย่างการตรวจสอบว่าตัวแปร x เป็นค่าบวกหรือไม่

#include <stdio.h>

int main() {
    int x = 10;

    if (x > 0) {
        printf("x เป็นค่าบวก\n");
    }

    return 0;
}

โค้ดนี้จะทำงานคำสั่ง printf ก็ต่อเมื่อ x มีค่ามากกว่า 0

จุดสำคัญของเงื่อนไขใน if

  • สามารถใช้ค่าตัวเลข ตัวแปร และตัวดำเนินการตรรกะ (&&, ||, !) ร่วมกันได้
  • ในภาษา C ถ้าเงื่อนไขมีค่าไม่เท่ากับ 0 จะถือว่า “จริง” และถ้าเป็น 0 จะถือว่า “เท็จ”

3. ประเภทและบทบาทของตัวดำเนินการตรรกะในภาษา C

ตัวดำเนินการตรรกะคืออะไร?

เมื่อจัดการหลายเงื่อนไข เราต้องใช้ตัวดำเนินการตรรกะเพื่อรวมเงื่อนไขเข้าด้วยกัน ในภาษา C มีตัวดำเนินการหลัก 3 ตัวดังนี้

AND (และ: &&)

  • เป็นจริงก็ต่อเมื่อทั้งสองเงื่อนไขเป็นจริง
  • ตัวอย่าง: ตรวจสอบว่าตัวแปร a อยู่ระหว่าง 10 ถึง 20
if (a >= 10 && a <= 20) {
    printf("a อยู่ระหว่าง 10 ถึง 20\n");
}

OR (หรือ: ||)

  • เป็นจริงหากมีเงื่อนไขใดเงื่อนไขหนึ่งเป็นจริง
  • ตัวอย่าง: ตรวจสอบว่าตัวแปร b เป็น 0 หรือ 100
if (b == 0 || b == 100) {
    printf("b เป็น 0 หรือ 100\n");
}

NOT (ไม่: !)

  • ใช้กลับค่าของเงื่อนไข “จริง” จะกลายเป็น “เท็จ” และ “เท็จ” จะกลายเป็น “จริง”
  • ตัวอย่าง: ตรวจสอบว่าตัวแปร c ไม่เท่ากับ 0
if (!(c == 0)) {
    printf("c ไม่เท่ากับ 0\n");
}

ข้อควรระวัง

  • เมื่อรวมตัวดำเนินการตรรกะ ควรใช้วงเล็บเพื่อเพิ่มความชัดเจนของการอ่านโค้ด
  • ตัวอย่าง: (a > 0 && b < 10) || c == 5

4. วิธีรวมหลายเงื่อนไขในภาษา C

การรวมหลายเงื่อนไขคืออะไร?

ในภาษา C สามารถใช้ if รวมหลายเงื่อนไขเข้าด้วยกัน เพื่อให้โค้ดสั้นและชัดเจนขึ้น โดยใช้ตัวดำเนินการตรรกะ (&&, ||) และวงเล็บ

ตัวอย่างการรวมหลายเงื่อนไข

ตัวอย่างนี้ตรวจสอบว่า x อยู่ระหว่าง 10 ถึง 20 และ y น้อยกว่า 30 หรือไม่

#include <stdio.h>

int main() {
    int x = 15;
    int y = 25;

    if ((x >= 10 && x <= 20) && y < 30) {
        printf("x อยู่ระหว่าง 10 ถึง 20 และ y น้อยกว่า 30\n");
    } else {
        printf("ไม่ตรงตามเงื่อนไข\n");
    }

    return 0;
}

 

เทคนิคเพิ่มความอ่านง่ายของเงื่อนไข

  1. ใช้วงเล็บ
  • เพื่อกำหนดลำดับความสำคัญของเงื่อนไขให้ชัดเจน
  1. แยกเงื่อนไข
  • แบ่งเงื่อนไขซับซ้อนออกเป็นตัวแปร เพื่อให้โค้ดสั้นลงและเข้าใจง่าย

5. การใช้ else if เพื่อการควบคุมหลายเงื่อนไข

else if คืออะไร?

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

ตัวอย่างการใช้ else if

#include <stdio.h>

int main() {
    int num;

    printf("กรุณาป้อนตัวเลข: ");
    scanf("%d", &num);

    if (num > 0) {
        printf("ตัวเลขเป็นค่าบวก\n");
    } else if (num < 0) {
        printf("ตัวเลขเป็นค่าลบ\n");
    } else {
        printf("ตัวเลขเป็นศูนย์\n");
    }

    return 0;
}

6. การซ้อน if เพื่อเงื่อนไขขั้นสูง

ตัวอย่างการซ้อน if

#include <stdio.h>

int main() {
    int x = 10;
    int y = 5;

    if (x > 0) {
        if (y > 0) {
            printf("x และ y เป็นค่าบวก\n");
        } else {
            printf("x เป็นค่าบวก แต่ y ไม่ใช่ค่าบวก\n");
        }
    } else {
        printf("x ไม่ใช่ค่าบวก\n");
    }

    return 0;
}

7. ตัวอย่างจริง: โปรแกรมตรวจสอบหลายเงื่อนไข

ตัวอย่าง 1: ตรวจสอบตัวเลขในช่วง

#include <stdio.h>

int main() {
    int number;

    printf("กรุณาป้อนตัวเลข: ");
    scanf("%d", &number);

    if (number >= 10 && number <= 20) {
        printf("ตัวเลขอยู่ระหว่าง 10 ถึง 20\n");
    } else {
        printf("ตัวเลขอยู่นอกช่วง\n");
    }

    return 0;
}

8. คำถามที่พบบ่อย (FAQ)

Q1: ทำไมหลายเงื่อนไขถึงไม่ทำงาน?

  • สาเหตุ: ไม่เข้าใจลำดับความสำคัญของเงื่อนไข
  • วิธีแก้: ใช้วงเล็บเพื่อทำให้ความหมายชัดเจน

9. สรุป

เรียนรู้การใช้ if และหลายเงื่อนไขในภาษา C เพื่อสร้างโปรแกรมที่ยืดหยุ่นและมีประสิทธิภาพมากขึ้น

年収訴求