More Related Content
Similar to งานทำ Blog บทที่ 6
Similar to งานทำ Blog บทที่ 6 (20)
More from รัสนา สิงหปรีชา
More from รัสนา สิงหปรีชา (20)
งานทำ Blog บทที่ 6
- 2. ควบคุมทิศทางการทางานของโปรแกรม
การควบคุมทิศทางการทางานของโปรแกรมในภาษา C
สามารถแบ่งออกได้เป็น 2 รูปแบบคือ
1 คาสั่งตัดสินใจ (Decision Control Statement
2 คาสั่งวนซ้า (Repetition Control Statement)
- 3. คาสั่งตัดสินใจ (Decision Control Statement
คาสั่งตัดสินใจ แบ่งออกได้ดังนี้
คาสั่งตัดสินใจแบบเลือกทาหรือไม่ทาด้วยคาสั่ง if
คาสั่งตัดสินใจแบบสองทางเลือกด้วย if...else
คาสั่งตัดสินใจแบบหลายทางเลือกด้วยคาสั่ง if...else if
คาสั่ง switch-case
- 4. คาสั่งตัดสินใจแบบเลือกทาหรือไม่ทาด้วยคาสัง if
่
คาสั่ง if เป็นคาสั่งที่กาหนดให้โปรแกรมตัดสินใจทาหรือไม่ทา
สิ่งใดสิ่งหนึ่ง โดยตรวจสอบเงื่อนไขที่กาหนดว่าเป็นจริงหรือเท็จ ถ้า
เงื่อนไขที่กาหนดให้เป็นจริง (true) โปรแกรมจะทางานที่ชุดคาสั่งที่
อยู่ภายใต้คาสั่ง if แต่ถ้าเงื่อนไขที่กาหนดให้เป็นเท็จ (false)
โปรแกรมจะข้ามไปทางานที่คาสั่งต่อไปทันที
มีรูปแบบคาสั่งดังนี้
if (condition)
{
statements;
}
- 5. คาสั่งตัดสินใจแบบเลือกทาหรือไม่ทาด้วยคาสัง if (ต่อ)
่
โดยที่ condition เป็นเงื่อนไขที่ใช้กาหนดการตดสินใจของโปรแกรม
statement เป็นชุดคาสั่งที่ต้องทางานเมื่อเงื่อนไขที่กาหนดเป็นจริง
จากรูปแบบคาสั่ง if เราจะเขียนแผนผังการทางาน (flowchart) ได้ดังนี้
จริง
ตรวจสอบเงื่อนไข
เท็จ ชุดคาสั่ง
- 6. คาสั่งตัดสินใจแบบสองทางเลือกด้วย if…else
คาสั่ง if...else เป็นคาสั่งที่เราใช้กาหนดให้โปรแกรม
ตัดสินใจเลือกทาคาสั่งใดอย่างหนึ่งจาก 2 ทางเลือก โดย
ตรวจสอบเงื่อนไขที่กาหนดว่าเป็นจริงหรือเท็จ ถ้าเงื่อนไข
ที่ ก าหนดให้ เ ป็ น จริ ง (true) โปรแกรมจะท างานที่
ชุดคาสั่งที่อยู่ภายใต้คาสั่ง if แต่ถ้าเงื่อนไขที่กาหนดให้
เป็ น เท็ จ (false) โปรแกรมจะท างานที่ ชุ ด ค าสั่ ง ที่ อ ยู่
ภายใต้คาส่ง else
- 8. •โดยที่ condition เป็นเงื่อนไขที่ใช้กาหนดการตัดสินใจของโปรแกรม
statement1 เป็นชุดคาสั่งที่ต้องทางานเมื่อเงื่อนไขที่กาหนดเป็นจริง
statement2 เป็นชุดคาสั่งที่ต้องทางานเมื่อเงื่อนไขที่กาหนดเป็นเท็จ
จากรูปแบบคาสั่ง if...else เราเขียนแผนผังการทางาน (flowchart) ได้ดังนี้
จริง เท็จ
ตรวจสอบเงื่อนไข
ชุดคาสั่ง (true) ชุดคาสั่ง (false)
- 9. คาสั่งตัดสินใจแบบหลายทางเลือกด้วยคาสั่ง if…else if
คาสั่ง if...else if เป็นคาสั่งที่เราใช้กาหนดให้โปรแกรม
ตัดสินใจเลือกทางใดทางหนึ่งจากทางเลือกที่มีมากกว่า 2 ทาง และ
แต่ละทางเลือกจะมีการกาหนดเงื่อนไขของแต่ละทางเลือกไว้ด้วย
โดยโปรแกรมจะตรวจสอบเงื่อนไขของแต่ละทางเลือก หากพบว่า
ทางเลื อ กไหนมี เ งื่ อ นไขเป็ น จริ ง (true) ก็ จ ะท างานที่ ชุ ด ค าสั่ ง
ภายในทางเลือกนั้น โดยไม่พิจารณาทางเลือกอื่นที่ยังไม่ได้ทาการ
ตรวจสอบอี ก ในกรณี ที่ เ งื่ อ นไขเป็ น เท็ จ (false) และในกรณี ที่
เงื่อนไขทั้งหมดเป็นเท็จ ให้โปรแกรมทางานที่ชุดคาสั่งภายใต้คาสั่ง
else
- 10. ซึ่งคาสั่ง if...else if ในภาษา C มีรูปแบบคาสั่งดังนี้
if(condition_1)
{
statements_1;
}
else if(condition_2)
{
statements_2;
}
else if(condition_n)
{
statements_n;
}
else
{
statements;
}
- 11. ตั้งใจ กัน
เรียน หน่อย
โดยที่ condition_n เป็นชุดเงื่อนไขที่ n ที่ใช้กาหนดการตัดสินใจของ
โปรแกรม
statements_n เป็นชุดคาสั่งที่ต้องทางานเมื่อเงื่อนไขที่กาหนดที่ n
เป็นจริง
statements เป็นชุดคาสั่งที่ต้องทางานเมื่อเงื่อนไขที่กาหนด
ทั้งหมดเป็นเท็จ
- 12. จากรูปแบบคาสั่ง if...else if เราสามารถเขียนผังงานการทางาน
(flowchart) ได้ดังนี้
เงื่อนไข 1 เท็จ เงื่อนไข 2 เท็จ
จริง จริง
ชุดคาสั่ง ชุดคาสั่ง ชุดคาสั่ง
- 13. คาสั่ง switch - case
คาสั่ง switch – case เป็นคาสั่งตัดสินใจที่มีการ
ทางานเหมือนกับคาสั่ง if...else if คือเลือกทางใดทาง
หนึ่งจากทางเลือกที่มีมากว่า 2 ทาง ในแต่ละทางเลือกจะ
มีการกาหนดเงื่อนไขของแต่ละทางเลือก โดยตรวจสอบ
เงื่อนไขแต่ละทางเลือก หากพบว่าทางเลือกไหนเป็นจริง
(true) ก็ จ ะท าชุ ด ค าสั่ ง ภายในทางเลื อ กนั้ น โดยไม่
พิจารณาทางเลือกอื่นที่ยังไม่ได้ทาการตรวจสอบ
- 14. Implicit Type Conversion
คาสั่ง switch case ในภาษา C มีรูปแบบการทางานดังนี้
switch(condition)
{
case constant_1 :
statements_1;
break;
case constant_2 :
statements_2;
break;
case constant_n :
statements_n;
break;
default :
statements;
}
- 15. โดยที่ condition เป็นตัวแปรหรือนิพจน์ที่เป็นเงื่อนไขของคาสั่ง
constant_n เป็นค่าคงที่ท่ใช้ตรวจสอบกับตัวแปรหรือนิพจน์เงื่อนไข
ี
statements_n เป็นชุดคาสั่งที่ต้องทางานเมื่อตัวแปรหรือนิพจน์ที่ n เป็นจริง
statements เป็นชุดคาสั่งที่ต้องทางานเมื่อตัวแปรหรือนิพจน์ทั้งหมดเป็นเท็จ
จากรูปแบบคาสั่ง switch – case เราสามารถเขียนแผนภูมิการทางาน
(flowchart) ได้ดังนี้
เงื่อนไข 1 เท็จ เงื่อนไข 2 เท็จ
จริง จริง
ชุดคาสั่ง ชุดคาสั่ง ชุดคาสั่ง
- 16. ในการทางานของคาสั่ง โปรแกรมจะตรวจสอบค่า
จากตัวแปรที่อยู่ภายในคาสั่ง switch ซึ่งอาจเป็น
สมการทางคณิตศาสตร์หรือการคานวณทางตรรกะ
ใด ๆ ก็ได้ ว่าตรงกับ case ใดของคาสั่ง switch
โปรแกรมก็จะเข้าทางานในชุดคาสั่งเฉพาะที่อยู่ใน
case นั้น ๆ เมื่อทางานเสร็จจะพบคาสั่ง break
เพื่อให้โปรแกรมข้ามไปทางานนอกคาสั่ง switch –
case ทันที แต่ในกรณีที่ไม่มีค่าใดใน case ตรงกับ
เงื่ อ นไข โปรแกรมก็ จ ะเข้ า มาท างานที่ ชุ ด ค าสั่ ง
ภายในคาสั่ง default ทันที
- 17. ควบคุมการทางานของโปรแกรมด้วยคาสั่งวนลูป
(Repetition Control Statement)
คาสั่งวนลูป เป็นคาสั่งที่ใช้ควบคุมการทางานของโปรแกรมแบวนซ้า ๆ
การทางานเดิม ๆ ตามเงื่อนไขที่กาหนด เช่น การวนซ้าการทางานเดิมเป็น
จานวน 10 รอบ ทางานซ้า ๆ จนกว่าเงื่อนไขเป็นเท็จ เป็นต้น
• วนลูปการทางานด้วยจานวนรอบที่แน่นอนด้วยคาสั่ง for
• วนลูปการทางานเมื่อเงื่อนไขเป็นจริงด้วยคาสั่ง while
• วนลูปการทางานอย่างน้อย 1 ครั้ง ด้วยคาสั่ง do...while
- 18. วนลูปการทางานด้วยจานวนรอบทีแน่นอนด้วยคาสั่ง FOR
่
คาสั่ง for เป็นคาสั่งวนซ้าการทางานเดิม ๆ ด้วย
จ านวนรอบที่ แ น่ น อน โดยที่ โ ปรแกรมจะตรวจสอบ
เงื่อนไขก่อนการทางานทุกรอบ ถ้าเงื่อนไขเป็นจริงให้
ทางานที่ชุดคาสั่งภายในลูปต่อไป เมื่อทางานเสร็จจะ
เพิ่ ม หรื อ ลดค่ า ตั ว แปรที่ ใ ช้ ก าหนดเงื่ อ นไข และ
ตรวจสอบเงื่ อ นไขใหม่ อี ก ครั้ ง ถ้ า เงื่ อ นไขเป็ น เท็ จ ให้
โปรแกรมออกจากลู ป การท างานไปท างานที่ ค าสั่ ง
ถัดไปทันที
- 19. วนลูปการทางานด้วยจานวนรอบที่แน่นอนด้วยคาสั่ง for
คาสั่ง for ในภาษา C มีรูปแบบคาสั่งดังนี้
for(initinal; condition; change)
{
statements;
}
โดยที่ initial เป็นส่วนกาหนดค่าเริ่มต้นของตัวแปรที่ใช้กาหนดเงื่อนไข
condition เป็นส่วนกาหนดเงื่อนไขการวนลูป
change เป็นส่วนการเปลี่ยนแปลงของตัวแปรในแต่ละรอบ
statements เป็นชุดคาสั่งที่ต้องทาเมื่อเงื่อนไขเป็นจริง
- 21. วนลูปการทางานเมื่อเงื่อนไขเป็นจริงด้วยคาสั่ง while
คาสั่ง while เป็นคาสั่งวนซ้าการทางานเดิม ๆ ของโปรแกรมโดย
โปรแกรมตรวจสอบเงื่อนไขก่อนการทางานทุกครั้ง ถ้าเงื่อนไขที่กาหนด
เป็นจริง โปรแกรมจะทางานที่ชุดคาสั่งภายในลูป เมื่อโปรแกรมทางาน
เสร็ จ จะตรวจสอบเงื่ อ นไขใหม่ อี ก ครั้ ง ถ้ า เงื่ อ นไขที่ ก าหนดเป็ น เท็ จ
โปรแกรมจะออกจากลูปการทางานไปทางานที่คาสั่งถัดไปทันที
ซึ่งคาสั่ง while ในภาษา C มีรูปแบบคาสั่งดังนี้
while(condition)
{
statements;
}
- 23. วนลูปการทางานอย่างน้อย 1 ครั้ง ด้วยคาสัง do…while
่
คาสั่ง d0...while เป็นคาสั่งวนซ้าการทางาน
เดิ ม ๆ โดยโปรแกรมจะท างานชุ ด ค าสั่ ง
ภายในลูปก่อน 1 รอบ จึงตรวจสอบเงื่อนไข
ที่ ก าหนด ถ้ า เงื่ อ นไขที่ ก าหนดเป็ น จริ ง ให้
กลั บ ไปท างานชุ ด ค าสั่ ง ภายในลู ป อี ก ครั้ ง
และตรวจสอบเงื่ อ นไขที่ ก าหนดอี ก ครั้ ง ถ้ า
เงื่อนไขที่กาหนดเป็นเท็จ โปรแกรมจะออก
จากลู ป การท างานไปท างานที่ ค าสั่ ง ถั ด ไป
ทันที
- 24. ซึ่งคาสั่ง do...while ในภาษา C มีรูปแบบคาสั่งดังนี้
do
{
statements;
}while (condition);
โดยที่ condition เป็นเงื่อนไขที่กาหนดให้ตรวจสอบหลังทางานภายในลูป
ทุกครั้ง
statements เป็นชุดคาสั่งที่ทางานก่อนตรวจสอบเงื่อนไข
- 25. จากรู ป แบบค าสั่ ง do...while สามารถเขี ย นแผนผั ง การท างาน
(Flowchart) ได้ดังนี้
ชุดคาสั่ง
จริง ตรวจสอบเงื่อนไข
เท็จ
- 26. ที่มา : คู่มืออบรมครูวิทยาศาสตร์ คณิตศาสตร์ คอมพิวเตอร์ โลก ดาราศาสตร์ และอวกาศ ระดับมัธยมศึกษาตอนปลาย
หนังสือเรียนรายวิชาเพิ่มเติม การเขียนโปรแกรมเบื้องต้นด้วยภาษา C บริษทซัคเซสมีเดีย
คู่มือเรียนเขียนโปรแกรมภาษา สานักพิมพ์ IDC PREMIER