การตัดสินใจในการเขียนโปรแกรม C คืออะไร?
ในการเขียนโปรแกรมภาษาซี การตัดสินใจ เป็นทักษะหลักที่โปรแกรมเมอร์จำเป็นต้องมีเพื่อสร้างโปรแกรมที่มีประสิทธิภาพ การตัดสินใจคือกระบวนการประเมินเงื่อนไขต่างๆ และเลือกแนวทางปฏิบัติที่ดีที่สุดโดยพิจารณาจากผลลัพธ์ที่ได้ ด้วยคำสั่ง if-else การตัดสินใจ ถูกนำมาใช้ใน C การตัดสินใจขึ้นอยู่กับเงื่อนไขและทำโดยใช้คำสั่ง if-else ถ้าเงื่อนไขเป็นจริง รหัสจะทำงาน; ในทางกลับกัน หากเป็นเท็จ รหัสที่อยู่ในคำสั่ง else จะถูกเรียกใช้
Branching ในการเขียนโปรแกรม C คืออะไร?
ในการเขียนโปรแกรมภาษาซี การแตกแขนง เป็นเทคนิคที่ช่วยให้การไหลของการดำเนินการเปลี่ยนแปลงตามผลลัพธ์ของเงื่อนไข การแตกแขนง เปิดใช้งานโปรแกรมเพื่อเรียกใช้บล็อกรหัสเฉพาะขึ้นอยู่กับผลลัพธ์ของสถานการณ์เฉพาะ
การแบ่งสาขาในการเขียนโปรแกรมภาษาซีมีหลายประเภท ได้แก่ ถ้าอย่างอื่น , สวิตช์ , และ ตัวดำเนินการตามเงื่อนไข . ใน เปลี่ยนคำสั่ง โปรแกรมจะประเมินค่าและเลือกตัวเลือกที่เกี่ยวข้องจากรายการกรณีที่มี ตัวดำเนินการเงื่อนไขเป็นชวเลข ถ้าอย่างอื่น คำสั่งที่อนุญาตให้คุณเขียนโค้ดที่สั้นลง
การตัดสินใจและการแตกแขนงในการเขียนโปรแกรมภาษาซี
เดอะ การตัดสินใจ กระบวนการในการเขียนโปรแกรม C เกี่ยวข้องกับการใช้คำสั่งเงื่อนไขเพื่อควบคุมการไหลของโปรแกรม การแตกแขนง อนุญาตให้โปรแกรมดำเนินการชุดรหัสที่แตกต่างกันตามผลลัพธ์ของเงื่อนไขบางประการ
ในการเขียนโปรแกรมภาษาซี การตัดสินใจ , และ การแตกแขนง ทำได้ผ่าน:
- ถ้างบ
- คำสั่ง if-else
- เปลี่ยนคำสั่ง
- ซ้อนถ้า
- อื่นถ้าบันได
- งบแตก
- ต่อคำชี้แจง
1: ถ้าคำสั่ง
วิธีการที่ง่ายที่สุดของ การตัดสินใจ นำเสนอโดยการเขียนโปรแกรมภาษาซีคือ ถ้างบ . เดอะ ถ้างบ ทดสอบเงื่อนไขที่กำหนดและรันโค้ดในเนื้อหาของคำสั่งหากเงื่อนไขเป็นจริง มิฉะนั้น โปรแกรมจะละเว้นบล็อกรหัสที่เกี่ยวข้องกับ ถ้างบ และดำเนินการต่อด้วยรหัสที่ตามมา
ไวยากรณ์สำหรับ ถ้าคำสั่ง เป็น:
ถ้า ( เงื่อนไข )
{
กลุ่มข้อความ;
}
ดูรหัสด้านล่าง:
#รวมint หลัก ( )
{
หมายเลข int = ยี่สิบ ;
ถ้า ( ในหนึ่ง > 5 )
{
พิมพ์ฉ ( 'จำนวนมากกว่า 5 \n ' ) ;
}
พิมพ์ฉ ( 'ค่าของตัวเลขคือ: %d \n ' ในหนึ่ง ) ;
กลับ 0 ;
}
โค้ดด้านบนกำหนดตัวแปร “ ในหนึ่ง ” โดยมีค่าเท่ากับ 20 และใช้คำสั่ง if เพื่อตรวจสอบว่ามีค่ามากกว่า 5 หรือไม่ ถ้าใช่ โปรแกรมจะพิมพ์ “ จำนวนมากกว่า 5 “. สุดท้ายก็พิมพ์ค่าของ “ ในหนึ่ง “.
เอาต์พุต
2: คำสั่ง if-else
คำสั่ง if-else เป็นการแก้ไขคำสั่ง if ที่อนุญาตให้ดำเนินการบล็อกรหัสต่างๆ โดยขึ้นอยู่กับว่าเงื่อนไขเป็นจริงหรือเท็จ
ถ้า ( เงื่อนไข ) {// รหัสเพื่อดำเนินการ ถ้า เงื่อนไขคือ จริง
} อื่น {
// รหัสเพื่อดำเนินการ ถ้า เงื่อนไขคือ เท็จ
}
ด้วยเหตุนี้ โค้ดบล็อกแรกจะถูกดำเนินการหากเงื่อนไขเป็นจริง และบล็อกโค้ดที่สองจะถูกดำเนินการหากเงื่อนไขเป็นเท็จ
พิจารณารหัสต่อไปนี้เป็นตัวอย่าง:
#รวมint หลัก ( )
{
หมายเลข int = 10 ;
ถ้า ( ในหนึ่ง > 5 )
{
พิมพ์ฉ ( 'จำนวนมากกว่า 5 \n ' ) ;
} อื่น {
พิมพ์ฉ ( 'จำนวนน้อยกว่า 10' ) ;
}
กลับ 0 ;
}
โปรแกรมด้านบนสร้างตัวแปร num และให้ค่าเป็น 10 จากนั้นใช้ an ถ้างบ จะเป็นตัวกำหนดว่า “ ในหนึ่ง ” มีค่ามากกว่า 5 ส่วน “ num มีค่ามากกว่า 5 ” ถูกพิมพ์ถ้า “ ในหนึ่ง ” เกิน 5 จะแสดง “ ตัวเลขน้อยกว่า 10 ” ถ้าตัวเลขไม่เกิน 5 โปรแกรมจะส่งกลับ 0 แสดงว่าทำงานสำเร็จแล้ว
เอาต์พุต
3: เปลี่ยนคำสั่ง
อีกหนึ่งเครื่องมือสำคัญสำหรับ การตัดสินใจ ในการเขียนโปรแกรม C คือ สวิตช์ คำแถลง. เดอะ สวิตช์ ตรวจสอบคำสั่งสำหรับเงื่อนไขเฉพาะเช่น คำสั่ง if-else ทำ แต่สามารถตรวจสอบความเป็นไปได้หลายประการสำหรับเงื่อนไขนั้น สิ่งนี้มีประโยชน์เมื่อเราจัดการกับผลลัพธ์ที่แตกต่างกันมากมาย
ไวยากรณ์สำหรับการใช้ เปลี่ยนคำสั่ง ในการเขียนโปรแกรม C คือ:
สวิตช์ ( การแสดงออก ) {กรณี ค่าคงที่ 1:
// รหัสเพื่อดำเนินการ ถ้า นิพจน์เท่ากับค่าคงที่1
หยุดพัก ;
กรณี ค่าคงที่ 2:
// รหัสเพื่อดำเนินการ ถ้า นิพจน์เท่ากับค่าคงที่2
หยุดพัก ;
...
ค่าเริ่มต้น:
// รหัสเพื่อดำเนินการ ถ้า ไม่มีกรณีใดที่ตรงกัน
หยุดพัก ;
}
การแสดงออก เป็นตัวแปรที่ถูกประเมินในกรณีนี้ และ คำชี้แจงกรณี รวมถึงค่าที่ถูกเปรียบเทียบด้วย
พิจารณารหัสต่อไปนี้เป็นตัวอย่าง:
#รวมint หลัก ( ) {
หมายเลข int = 2 ;
สวิตช์ ( ในหนึ่ง ) {
กรณี 1 :
พิมพ์ฉ ( 'เลขคือ 1' ) ;
หยุดพัก ;
กรณี 2 :
พิมพ์ฉ ( 'เลขคือ 2' ) ;
หยุดพัก ;
กรณี 3 :
พิมพ์ฉ ( 'เลขคือ 3' ) ;
หยุดพัก ;
ค่าเริ่มต้น:
พิมพ์ฉ ( 'หมายเลขอื่นที่ไม่ใช่ 1, 2 และ 3' ) ;
หยุดพัก ;
}
กลับ 0 ;
}
โปรแกรมข้างต้นแสดงวิธีการใช้คำสั่ง switch เพื่อตรวจสอบค่าของตัวแปร “ ในหนึ่ง ” และเรียกใช้บล็อกรหัสที่เกี่ยวข้อง ในกรณีนี้ เนื่องจาก “ ในหนึ่ง ” เริ่มต้นเป็น 2 เอาต์พุตจะเป็น “ จำนวนคือ 2 “.
เอาต์พุต
4: ซ้อนถ้า
คำสั่ง if ที่ซ้อนกัน เป็นคำสั่งแยกย่อยที่ฝังอยู่ในคำสั่ง if ที่ซ้อนกันอื่นๆ อนุญาตให้ใช้ตรรกะการแยกสาขาที่ซับซ้อนมากขึ้นโดยการตรวจสอบหลายเงื่อนไขภายในคำสั่งเงื่อนไขอื่น ๆ ภายใน ถ้างบ จะดำเนินการก็ต่อเมื่อคำสั่ง if ภายนอกประเมินเป็นจริงเท่านั้น
ไวยากรณ์พื้นฐานสำหรับ ซ้อนกันถ้าคำสั่ง ได้รับด้านล่าง:
ถ้า ( เงื่อนไข ) {ถ้า ( การแสดงออก ) {
กลุ่มข้อความ;
} อื่น {
กลุ่มข้อความ;
}
} อื่น {
กลุ่มข้อความ;
}
พิจารณารหัสต่อไปนี้เป็นตัวอย่าง:
#รวมint หลัก ( ) {
int num1 = 1 ;
int num2 = สิบห้า ;
int num3 = 7 ;
ถ้า ( หมายเลข 1 > หมายเลข 2 ) {
ถ้า ( หมายเลข 1 > หมายเลข 3 ) {
พิมพ์ฉ ( 'num1=1 คือจำนวนที่มากที่สุด \n ' ) ;
}
อื่น {
พิมพ์ฉ ( 'num3=7 คือจำนวนที่มากที่สุด \n ' ) ;
}
}
อื่น {
ถ้า ( หมายเลข 2 > หมายเลข 3 ) {
พิมพ์ฉ ( 'num2=15 คือจำนวนที่มากที่สุด \n ' ) ;
}
อื่น {
พิมพ์ฉ ( 'num3=7 คือจำนวนที่มากที่สุด \n ' ) ;
}
}
กลับ 0 ;
}
โปรแกรมข้างต้นเปรียบเทียบจำนวนเต็มสามจำนวน “ หมายเลข 1 “, “ หมายเลข 2 ', และ ' หมายเลข 3 “ และใช้คำสั่ง if ที่ซ้อนกันเพื่อระบุว่าจำนวนใดเป็นจำนวนที่มากที่สุด ก่อนอื่นจะเปรียบเทียบ “ หมายเลข 1 ' และ ' หมายเลข 2 “ จากนั้นเปรียบเทียบขนาดใหญ่กว่าของทั้งสองด้วย “ หมายเลข 3 “. เอาต์พุตจะระบุว่าตัวแปรใดมีค่ามากที่สุด
เอาต์พุต
5: อื่นถ้าบันได
เราอาจแก้ไขปัญหาที่ซับซ้อนได้อย่างง่ายดาย เมื่อมีเกณฑ์จำนวนมากเรียงตามลำดับโดยใช้ บันได-ถ้า หรือ นิพจน์อื่นถ้า .
ด้านล่างนี้เป็นไวยากรณ์สำหรับ อื่นถ้าบันได คำแถลง:
ถ้า ( เงื่อนไข1 ){
กลุ่มข้อความ;
}
อื่น ถ้า ( เงื่อนไข2 )
{
กลุ่มข้อความ;
}
อื่น ถ้า ( เงื่อนไข3 )
{
กลุ่มข้อความ;
}
อื่น
{
คำสั่งเริ่มต้น
}
พิจารณารหัสต่อไปนี้เป็นตัวอย่าง:
#รวมint หลัก ( ) {
เครื่องหมาย int = 80 ;
ถ้า ( เครื่องหมาย > = 90 && เครื่องหมาย = 80 && เครื่องหมาย = 70 && เครื่องหมาย = 60 && เครื่องหมาย = ห้าสิบ && เครื่องหมาย < 60 ) {
พิมพ์ฉ ( 'เกรด:D' ) ;
}
อื่น {
พิมพ์ฉ ( 'เกรด: ล้มเหลว' ) ;
}
กลับ 0 ;
}
โปรแกรมด้านบนใช้ ตรรกะ if-else เพื่อกำหนดเกรดตามค่าปัจจุบันของตัวแปร 'เครื่องหมาย' ขึ้นอยู่กับค่าของ 'เครื่องหมาย' โปรแกรมจะแสดงเกรดที่สอดคล้องกันตั้งแต่ A+ ถึง Fail
เอาต์พุต
6: ทำลายคำสั่ง
เดอะ คำสั่งทำลาย เป็นคำสั่งโฟลว์การควบคุมที่สำคัญในการเขียนโปรแกรม C ที่ช่วยให้โปรแกรมเมอร์สามารถควบคุมพฤติกรรมของลูปและคำสั่งสวิตช์ เดอะ คำสั่งทำลาย มีสองแอปพลิเคชันในการเขียนโปรแกรม C:
- เมื่อลูปมาถึง a หยุดพัก คำสั่งจะถูกยกเลิกทันที และการควบคุมโปรแกรมจะถูกส่งไปยังคำสั่งที่ต่อจากลูป
- สามารถใช้เพื่อยุติกรณีและปัญหาได้โดยใช้คำสั่ง switch
ไวยากรณ์สำหรับ หยุดพัก คำแถลง:
หยุดพัก ;ดูโค้ดตัวอย่าง:
#รวมint หลัก ( ) {
หมายเลข int = 12 ;
ในขณะที่ ( ในหนึ่ง สิบห้า ) {
หยุดพัก ;
}
}
กลับ 0 ;
}
โค้ด C ชิ้นนี้ประกาศลูป while ที่ดำเนินการตราบเท่าที่ตัวแปรจำนวนเต็ม “ ในหนึ่ง ” น้อยกว่า 22 และเริ่มต้นเป็น 12 ในลูป “ ในหนึ่ง ” จะเพิ่มขึ้น 1 และค่าจะถูกรายงานไปยังคอนโซลโดยใช้ พิมพ์ฉ . จากนั้นลูปจะจบลงด้วย a ทำลายคำสั่ง if “num” มีค่ามากกว่า 15 ตามที่กำหนดโดยคำสั่ง if รหัสนี้สิ้นสุดการวนซ้ำอย่างมีประสิทธิภาพหลังจากพิมพ์ค่า 'num' ระหว่าง 12 ถึง 15 (รวม) โปรแกรมจบลงด้วยการส่งคืน 0 ซึ่งแสดงว่าทำงานอย่างถูกต้อง
เอาต์พุต
7: ดำเนินการต่อคำชี้แจง
ในการเขียนโปรแกรมภาษาซีนั้น ดำเนินการต่อ คำสั่งจะคล้ายกับ หยุดพัก คำแถลง. แทนที่จะบังคับให้เลิกใช้งาน มันจะบังคับการวนซ้ำครั้งต่อไปและข้ามโค้ดใดๆ ที่อยู่ระหว่างนั้น การทดสอบตามเงื่อนไขของ for loop และส่วนเพิ่มจะดำเนินการโดย ดำเนินการต่อ การแสดงออก. การทดสอบตามเงื่อนไขของลูป while และ do- while นั้นผ่านการควบคุมโปรแกรมอันเป็นผลมาจาก ดำเนินการต่อ คำแถลง.
ไวยากรณ์ของ แถลงการณ์ต่อไป เป็น:
ดำเนินการต่อ ;ดูตัวอย่างนี้
#รวมint หลัก ( ) {
หมายเลข int = 12 ;
ในขณะที่ ( ในหนึ่ง สิบห้า ) {
ดำเนินการต่อ ;
}
}
กลับ 0 ;
}
โปรแกรมด้านบนใช้คำสั่ง while loop เพื่อพิมพ์ค่าของตัวแปร “ ในหนึ่ง ” ถ้าน้อยกว่า 22 ถ้า “ ในหนึ่ง ” เกิน 15 ในระหว่างลูป, the ดำเนินการต่อ คำสั่งถูกดำเนินการและการวนซ้ำปัจจุบันจะถูกข้ามไป ในกรณีนี้ การวนซ้ำจะดำเนินการห้าครั้ง โดยพิมพ์ค่า “num” แต่ละครั้งจนถึง “ ในหนึ่ง ” ถึง 16 และลูปข้ามการวนซ้ำโดยที่ “ ในหนึ่ง ” คือ 16 จากนั้นวนซ้ำที่เหลือต่อไปจนกว่าการวนซ้ำจะสิ้นสุดลง
เอาต์พุต
บทสรุป
การตัดสินใจ และ การแตกแขนง เป็นส่วนประกอบที่สำคัญของภาษา C ที่ช่วยให้สามารถสร้างแอปพลิเคชันเชิงโต้ตอบที่ซับซ้อนซึ่งจัดการกับสภาวะต่างๆ ในโลกแห่งความเป็นจริงได้ คำสั่งเงื่อนไข if-else และ switch เป็นกรณีหลักที่ใช้ในการสร้าง ขึ้นอยู่กับการตัดสินใจ อัลกอริทึม แม้ว่า การแตกแขนง อาจก่อให้เกิดความท้าทายในการจัดระเบียบรหัส ด้วยการวางแผนและการดำเนินการที่เหมาะสม โปรแกรมเมอร์สามารถสร้างโปรแกรมที่มีประสิทธิภาพและปราศจากข้อผิดพลาดที่ตรงตามข้อกำหนดเฉพาะ