ݺߣ

ݺߣShare a Scribd company logo
การเขียนคำาสั่ง
ควบคุมแบบวนซำ้า
สมาชิก
1. นางสาว ชลธิชา อวยพร เลขที่
19
2. นางสาว ณัฐชา เพียสังกะ เลขที่
20
3. นางสาวปรารถนา ขำาขุด เลขที่
21
4. นางสาววรรณิสา ยืนยง เลขที่
23
5. นางสาวสริดา บัวทอง เลขที่
24
6. นางสาวอนัญญา อิทธานุรักษ์ เลขที่
25
7. นางสาวอินทิรา สุขกรม เลขที่
26
การทำางานแบบวนซำ้า
การทำางานแบบวนซำ้า (Loop)เป็นการนำาคำาสั่งมาทำางานซำ้า
หลายๆ รอบ จะทำางานกี่รอบขึ้นอยู่กับเงื่อนไขที่ผู้เขียนโปรแกรม
กำาหนดไว้ ซึ่งอาจจะเป็นการกำาหนดจำานวนรอบที่แน่นอน เช่น
ตั้งใจว่าจะวิ่งรอบสนาม 3 รอบ คือรู้แน่นอนว่าจะทำางานกี่รอบ หรือ
แบบจำานวนรอบไม่แน่นอน เช่น ตั้งใจว่าจะวิ่งรอบสนามไปเรื่อยๆ
เหนื่อยเมื่อไหร่จึงจะหยุดวิ่ง คือไม่แน่ชัดว่าจะทำางานกี่รอบ
การทำางานซำ้าๆ ในชีวิตประจำาวันมีอยู่มากมาย ครูจะขอยก
ตัวอย่างง่ายๆ ที่นักเรียนทุกๆ คนคงเคยทำามาด้วยตนเองแล้ว เช่น
1.นักเรียนอาบนำ้าโดยใช้ขันนำ้าตักราดบนร่างกาย
หลายๆ ครั้ง (ทำาซำ้า) จนร่างกายสะอาดดีแล้วจึงหยุดอาบนำ้า (หยุด
ทำาซำ้า)
2.นักเรียนจัดสมุดหนังสือใส่กระเป๋าเพื่อนำาไปโรงเรียน
ทีละเล่ม (ทำาซำ้า) จนครบทุกวิชาลงในกระเป๋า จึงหยุดจัดสมุด
หนังสือลงประเป๋า (หยุดทำาซำ้า)
เทคนิคการเขียนนิพจน์
คณิตศาสตร์นิพจน์ (Expressions) ทางคณิตศาสตร์นั้นเป็นนิพจน์ที่
ใช้ในการคำานวณ ซึ่งนิพจน์ทางคณิตศาสตร์นั้นจะมีรูปแบบ
 เหมือนกับสมการคณิตศาสตร์ แต่จะประกอบไปด้วย ค่าคงที่หรือ
  ตัวแปร ซึ่งเรียกอีกอย่างว่า ตัวถูกดำาเนินการ (Operand) แล้ว
 เชื่อมกันด้วยเครื่องหมายทางคณิตศาสตร์ หรือเรียกอีกอย่างว่า
ตัวดำาเนินการ (Operator) นั่นเอง
 รูปแบบ
 [ตัวถูกดำาเนินการตัวแรก] [ตัวดำาเนินการ] [ตัวถูก
ดำาเนินการตัวที่สอง]
ตัวอย่าง
 A+B
 2+A
ตัวดำาเนินการทางคณิตศาสตร์
 ตัวดำาเนินการทางคณิตศาสตร์ของภาษา Cมีดังนี้
ตารางที่ 1แสดงตัวดำาเนินการทางคณิตศาสตร์
การสร้างนิพจน์ทางคณิตศาสตร์ ถ้าเป็นนิพจน์ที่มีตัวถูก
ดำาเนินการเพียง 2 ตัวจะไม่มีปัญหาอะไร แต่ถ้าเกิดมีตัวถูก
ดำาเนินการมากกว่า 2 ตัวขึ้นไป ผู้ใช้จะต้องคำานึงถึงลำาดับความ
สำาคัญของตัวดำาเนินการด้วย มิฉะนั้นอาจจะได้ผลลัพธ์ที่ไม่ตรง
ตามความต้องการได้
 ตัวอย่าง ผู้ใช้ต้องการให้เอา 2 บวกกับ 3แล้วนำา
ไปคูณด้วย 5  ซึ่งคำาตอบที่ผู้ใช้ต้องการ คือ 25แต่ถ้าผู้ใช้เขียน
นิพจน์เป็น 2+3*5
 ผลลัพธ์ที่ได้จะเท่ากับ 17เพราะภาษา Cจะคิดตาม
ลำาดับความสำาคัญของตัวดำาเนินการ (Precedence)  ดังนี้ เอา
3 คูณกับ 5 ได้ 15 แล้วนำาไปบวกกับ 2 ได้ 17ซึ่งเป็นคำา
ตอบที่ไม่ตรงตามความต้องการ เพราะฉะนั้นผู้ใช้จึงต้องระวังเรื่อง
นี้อย่างมาก วิธีการแก้ไขก็สามารถทำาได้โดยการใช้วงเล็บเข้ามา
 ช่วย ซึ่งวงเล็บจะมีลำาดับความสำาคัญสูงที่สุด และเมื่อลำาดับความ
 สำาคัญเท่ากัน ให้ดูในตารางโดยเรียงจากซ้ายไปขวา ซึ่งถ้ามี
หลายวงเล็บซ้อนกัน ภาษา C จะคิดจากวงเล็บในออกมา ดังนั้น
ถ้าตัวอย่างด้านบนจะเขียนนิพจน์ให้ได้ผลลัพธ์ตามต้องการ จะ
ต้องเขียนดังนี้ (2+3)*5
คำาสั่งควบคุมวนซำ้าแบบ for
 forเป็นคำาสั่งที่สั่งให้โปแกรมมีการทำางานซำ้า ๆ วนลูป
 จนกว่าเงื่อนไขที่กำาหนดไว้เป็นเท็จ จึงออกจากคำาสั่ง forไปทำา
 คำาสั่งถัดไป ควรใช้คำาสั่ง forในกรณีที่ทราบจำานวนรอบของการ
ทำางาน
¢ รูปแบบการใช้คำาสั่ง for
¢for(expression1;expression2;expression3)
statement;
หรือ
for(expression1;expression2;expression3)
{
statement(s);
}
• ลักษณะการทำางานของคำาสั่ง for
คำำสั่งควบคุมวนซำ้ำแบบ while
while เป็นคำำสั่งให้มีกำรทำำซำ้ำเป็นรอบ ๆ (loop) ลักษณะ
กำรทำำงำนทำำนองเดียวกับคำำสั่ง for แต่ต่ำงกันตรงที่ไม่ทรำบ
จำำนวนรอบที่แน่นอน แต่ต้องมีเงื่อนไขที่เป็นเท็จจึงจะออกจำกคำำสั่ง
while ได้มิฉะนั้นจะมีปัญหำที่โปรแกรมทำำงำนแบบวนซำ้ำแบบไม่มีที่
สิ้นสุด (endless loop)
• ลักษณะกำรทำำงำนของคำำสั่ง while
กำรเขียนคำำสั่งวนซำ้ำแบบ do while
do while เป็นคำำสั่งให้มีกำรทำำซำ้ำเป็นรอบ ๆ (loop)
ลักษณะกำรทำำงำนทำำนองเดียวกับคำำสั่ง while แต่ต่ำงกันตรงที่คำำ
สั่งนี้จะมีกำรทำำงำนตำมคำำสั่งไป 1 รอบ ก่อนที่จะทดสอบเงื่อนไข
ถ้ำเงื่อนไขที่เป็นจริงจะทำำงำนต่อไป ถ้ำเงื่อนไขเป็นเท็จจึงจะออก
จำกคำำสั่ง do while คำำสั่งนี้ก็เช่นเดียวกันจะต้องกำำหนดให้มี
โอกำสที่เงื่อนไขเป็นเท็จได้ มิฉะนั้นจะมีปัญหำที่โปรแกรมทำำงำน
แบบวนซำ้ำแบบไม่มีที่สิ้นสุด (endless loop) กรณีที่เงื่อนไขเป็นเท็จ
เพียงอย่ำงเดียวจะมีกำรทำำงำน 1 รอบ ก่อนออกจำกกำรทำำซำ้ำ
• ลักษณะกำรทำำงำนของคำำสั่ง do while
กรณีศึกษา การใช้คำาสั่งควบคุมวน
ซำ้า การใช้คำาสั่ง while เพื่อวนคำานวณค่าสะสมตัวเลข 1 ถึง 10
และหาค่าเฉลี่ย แล้วแสดงผลออกจอภาพการใช้คำาสั่ง while เพื่อ
วนคำานวณค่าสะสมตัวเลข 1 ถึง 10 และหาค่าเฉลี่ย แล้วแสดงผลอ
อกจอภาพ
ผลลัพธ์ที่ได้จากโปรแกรม
คำาอธิบายโปรแกรม
   สามารถอธิบายการทำางานของโปรแกรมที่สำาคัญ ๆ
ได้ดังนี้
   บรรทัดที่ 8 คำาสั่ง while (n < 11) เพื่อควบคุมการ
ทำางานของโปรแกรมให้ทำางานซำ้า ๆ กัน โดยการทำางานของคำาสั่ง
while จะตรวจสอบเงื่อนไข n < 11 เป็นจริงหรือเท็จ ถ้าเป็นจริงจะ
ทำางานตามคำาสั่งที่อยู่ภายใน loop while คือ บรรทัดที่ 10 และ 11
จากนั้นจะกลับมาตรวจสอบเงื่อนไขใหม่ ทำาอย่างนี้ซำ้า ๆ จนกว่า
ตรวจสอบเงื่อนไข n < 11 เป็นเท็จ จึงจะออกจาก loop while
แล้วไปทำาคำาสั่งบรรทัดที่ 13 ถึง คำาสั่งบรรทัดที่ 18
บรรทัดที่ 10 และ 11 เป็นคำาสั่งที่โปรแกรมจะทำางานภาย
หลังจากตรวจสอบเงื่อนไข while แล้วเป็นจริง นั่นคือ คำานวณค่า
สะสมของตัวแปร sum และ เพิ่มค่า n ทีละ 1 ตามลำาดับ
    บรรทัดที่ 13 ถึง 18 เป็นคำาสั่งที่โปรแกรมจะทำางาน
ภายหลังจากตรวจสอบเงื่อนไข while แล้วเป็นเท็จ คือ ลดค่าตัว
แปร n ลง 1 แล้วคำานวณค่าเฉลี่ยเก็บไว้ที่ตัวแปร avg และพิมพ์
ค่าตัวแปร n, sum และ avg แสดงที่จอภาพ พร้อมกับพิมพ์ข้อความ
ให้กดคีย์ใด ๆ เพื่อกลับสู่โปรแกรม สุดท้ายจะหยุดรอรับค่าใด ๆ
จากคีย์บอร์ด เช่น ถ้ากด enter ก็จะกลับสู่โปรแกรม
เอกสารอ้างอิง
• http://chwchw.wordpress.com/การ
เขียนคำาสั่งควบคุมแบ-2/กรณีศึกษา-การใช้คำา
สั่งค/
• http://computer.bps.in.th/suteerat/lo
op
• http://itd.htc.ac.th/st_it50/it5012/P_1
/C/B4.htm
• http://newsaroree.wordpress.com/
Ad

Recommended

PPT
การควบคุมคำสั่งแบบวนซ้ำ
Nomjeab Nook
PDF
เทอม 2 คาบ 10 หลักการแก้ปัญหาด้วยคอมพิวเตอร์
Mrpopovic Popovic
PDF
การควบคุมทิศทางการทำงาȨองโปรแกรม
korn27122540
PDF
ใบความรู้ เรื่อง รูปแบบของผังงาน
Aiice Pimsupuk
PPTX
การเขียนคำสั่งแบบวȨ้ำ
Gatesiree G'ate
PPTX
บทที่ 6-เงื่อนไข-การตัดสินใจ-การควบคุม (1)
View Nudchanad
PPTX
บทที่ 6-เงื่อนไข-การตัดสินใจ-การควบคุม
View Nudchanad
PPT
กลุ่มที่4 ม.6/3 คำสั่ง For,While,Do while
Aeew Autaporn
PPT
การเขียนคำสั่งแบบวȨ้ำ ppt
Aid Danuwasin
PPT
การเขียนคำสั่งแบบวȨ้ำ
พศวัต จิรวุฒิวรนาถ
PPTX
งาȨำเสนอ1
Janë Janejira
PDF
4 การเขียนคำสั่งแบบวȨ้ำ
พศวัต จิรวุฒิวรนาถ
PPT
กลุ่ม 4
Sarocha Makranit
PPTX
การเขียนคำสั่งควบคุมแบบวȨ้ำ
B'Benz Sunisa
PPTX
การเขียนแบบคำสั่งควบคุมแบบวนซ้ำ
Kornnicha Wonglai
PDF
งานPʰ
MMp'New Aukkaradet
PPT
4121103 การเขียนโปรแกรมและอัลกอริทึ่ม SLIDE 7/7
Know Mastikate
PDF
ฟังก์ชั่น do_while
เทวัญ ภูพานทอง
PDF
บทที่4
แอมม' ออยย.
PPTX
บทเรียน ออนไลน์
Pommachat Mirasing
PDF
ฟังก์ชั่น While
เทวัญ ภูพานทอง
PPTX
การเขียนคำสั่งควบคุมแบบวȨ้ำ
Toey Sunisa
PPTX
บทเรียน ออนไลน์
Pommachat Mirasing
PPT
05 loops
a-num Sara
PDF
Java-Chapter 04 Iteration Statements
Wongyos Keardsri
PPTX
เอสสสสสส (1)
Siriwan Wisetsing
DOCX
โครงงาȨณิตศาสตร์
Nomjeab Nook
DOCX
โครงงาȨณิตศาสตร์ (1)
Nomjeab Nook

More Related Content

Similar to การควบคุมคำสั่งแบบวนซ้ำ1 (20)

PPT
การเขียนคำสั่งแบบวȨ้ำ ppt
Aid Danuwasin
PPT
การเขียนคำสั่งแบบวȨ้ำ
พศวัต จิรวุฒิวรนาถ
PPTX
งาȨำเสนอ1
Janë Janejira
PDF
4 การเขียนคำสั่งแบบวȨ้ำ
พศวัต จิรวุฒิวรนาถ
PPT
กลุ่ม 4
Sarocha Makranit
PPTX
การเขียนคำสั่งควบคุมแบบวȨ้ำ
B'Benz Sunisa
PPTX
การเขียนแบบคำสั่งควบคุมแบบวนซ้ำ
Kornnicha Wonglai
PDF
งานPʰ
MMp'New Aukkaradet
PPT
4121103 การเขียนโปรแกรมและอัลกอริทึ่ม SLIDE 7/7
Know Mastikate
PDF
ฟังก์ชั่น do_while
เทวัญ ภูพานทอง
PDF
บทที่4
แอมม' ออยย.
PPTX
บทเรียน ออนไลน์
Pommachat Mirasing
PDF
ฟังก์ชั่น While
เทวัญ ภูพานทอง
PPTX
การเขียนคำสั่งควบคุมแบบวȨ้ำ
Toey Sunisa
PPTX
บทเรียน ออนไลน์
Pommachat Mirasing
PPT
05 loops
a-num Sara
PDF
Java-Chapter 04 Iteration Statements
Wongyos Keardsri
PPTX
เอสสสสสส (1)
Siriwan Wisetsing
การเขียนคำสั่งแบบวȨ้ำ ppt
Aid Danuwasin
การเขียนคำสั่งแบบวȨ้ำ
พศวัต จิรวุฒิวรนาถ
งาȨำเสนอ1
Janë Janejira
4 การเขียนคำสั่งแบบวȨ้ำ
พศวัต จิรวุฒิวรนาถ
กลุ่ม 4
Sarocha Makranit
การเขียนคำสั่งควบคุมแบบวȨ้ำ
B'Benz Sunisa
การเขียนแบบคำสั่งควบคุมแบบวนซ้ำ
Kornnicha Wonglai
งานPʰ
MMp'New Aukkaradet
4121103 การเขียนโปรแกรมและอัลกอริทึ่ม SLIDE 7/7
Know Mastikate
ฟังก์ชั่น do_while
เทวัญ ภูพานทอง
บทเรียน ออนไลน์
Pommachat Mirasing
ฟังก์ชั่น While
เทวัญ ภูพานทอง
การเขียนคำสั่งควบคุมแบบวȨ้ำ
Toey Sunisa
บทเรียน ออนไลน์
Pommachat Mirasing
05 loops
a-num Sara
Java-Chapter 04 Iteration Statements
Wongyos Keardsri
เอสสสสสส (1)
Siriwan Wisetsing

More from Nomjeab Nook (18)

DOCX
โครงงาȨณิตศาสตร์
Nomjeab Nook
DOCX
โครงงาȨณิตศาสตร์ (1)
Nomjeab Nook
DOCX
โครงงาȨณิตศาสตร์ (1)
Nomjeab Nook
DOCX
NETBEANSS
Nomjeab Nook
DOCX
NETBEANS
Nomjeab Nook
PPTX
การเขียนโปรแกรมโดยใช้ NetBeans
Nomjeab Nook
DOCX
สมาร์ทวอทช์สุดล้ำปล่อยแสงเลเซอร์
Nomjeab Nook
DOCX
Wiko สมาร์ทโฟนสัญขาติฝรั่งเศส บุกตลาดประเทศไทย เน้นประสิทธิภาพสูง ดีไซน์เท่ แ...
Nomjeab Nook
DOCX
๶ครื่องซักผ้าสุึϸ้ำ!!ใช้หุ่ȨȨ์ปลากิȨราบสกปรกบน๶สื้อ
Nomjeab Nook
DOCX
๶ครื่องซักผ้าสุึϸ้ำ!!ใช้หุ่ȨȨ์ปลากิȨราบสกปรกบน๶สื้อ
Nomjeab Nook
DOCX
สมาร์ทวอทช์สุดล้ำ ปล่อยแสงเลเซอร์เปลี่ยนข้อมือเป็นปุ่มแบบสัมผัส
Nomjeab Nook
DOCX
สตาร์บัคส์
Nomjeab Nook
PDF
คอมทรงศ กด _
Nomjeab Nook
DOCX
Ssssssssssssssss
Nomjeab Nook
DOCX
สร ปข อเสนอแนะ
Nomjeab Nook
DOCX
สร ปข อเสนอแนะ
Nomjeab Nook
DOC
Google earth เผยที่ตั้ง
Nomjeab Nook
โครงงาȨณิตศาสตร์
Nomjeab Nook
โครงงาȨณิตศาสตร์ (1)
Nomjeab Nook
โครงงาȨณิตศาสตร์ (1)
Nomjeab Nook
NETBEANSS
Nomjeab Nook
NETBEANS
Nomjeab Nook
การเขียนโปรแกรมโดยใช้ NetBeans
Nomjeab Nook
สมาร์ทวอทช์สุดล้ำปล่อยแสงเลเซอร์
Nomjeab Nook
Wiko สมาร์ทโฟนสัญขาติฝรั่งเศส บุกตลาดประเทศไทย เน้นประสิทธิภาพสูง ดีไซน์เท่ แ...
Nomjeab Nook
๶ครื่องซักผ้าสุึϸ้ำ!!ใช้หุ่ȨȨ์ปลากิȨราบสกปรกบน๶สื้อ
Nomjeab Nook
๶ครื่องซักผ้าสุึϸ้ำ!!ใช้หุ่ȨȨ์ปลากิȨราบสกปรกบน๶สื้อ
Nomjeab Nook
สมาร์ทวอทช์สุดล้ำ ปล่อยแสงเลเซอร์เปลี่ยนข้อมือเป็นปุ่มแบบสัมผัส
Nomjeab Nook
สตาร์บัคส์
Nomjeab Nook
คอมทรงศ กด _
Nomjeab Nook
Ssssssssssssssss
Nomjeab Nook
สร ปข อเสนอแนะ
Nomjeab Nook
สร ปข อเสนอแนะ
Nomjeab Nook
Google earth เผยที่ตั้ง
Nomjeab Nook
Ad

การควบคุมคำสั่งแบบวนซ้ำ1

  • 2. สมาชิก 1. นางสาว ชลธิชา อวยพร เลขที่ 19 2. นางสาว ณัฐชา เพียสังกะ เลขที่ 20 3. นางสาวปรารถนา ขำาขุด เลขที่ 21 4. นางสาววรรณิสา ยืนยง เลขที่ 23 5. นางสาวสริดา บัวทอง เลขที่ 24 6. นางสาวอนัญญา อิทธานุรักษ์ เลขที่ 25 7. นางสาวอินทิรา สุขกรม เลขที่ 26
  • 3. การทำางานแบบวนซำ้า การทำางานแบบวนซำ้า (Loop)เป็นการนำาคำาสั่งมาทำางานซำ้า หลายๆ รอบ จะทำางานกี่รอบขึ้นอยู่กับเงื่อนไขที่ผู้เขียนโปรแกรม กำาหนดไว้ ซึ่งอาจจะเป็นการกำาหนดจำานวนรอบที่แน่นอน เช่น ตั้งใจว่าจะวิ่งรอบสนาม 3 รอบ คือรู้แน่นอนว่าจะทำางานกี่รอบ หรือ แบบจำานวนรอบไม่แน่นอน เช่น ตั้งใจว่าจะวิ่งรอบสนามไปเรื่อยๆ เหนื่อยเมื่อไหร่จึงจะหยุดวิ่ง คือไม่แน่ชัดว่าจะทำางานกี่รอบ การทำางานซำ้าๆ ในชีวิตประจำาวันมีอยู่มากมาย ครูจะขอยก ตัวอย่างง่ายๆ ที่นักเรียนทุกๆ คนคงเคยทำามาด้วยตนเองแล้ว เช่น 1.นักเรียนอาบนำ้าโดยใช้ขันนำ้าตักราดบนร่างกาย หลายๆ ครั้ง (ทำาซำ้า) จนร่างกายสะอาดดีแล้วจึงหยุดอาบนำ้า (หยุด ทำาซำ้า) 2.นักเรียนจัดสมุดหนังสือใส่กระเป๋าเพื่อนำาไปโรงเรียน ทีละเล่ม (ทำาซำ้า) จนครบทุกวิชาลงในกระเป๋า จึงหยุดจัดสมุด หนังสือลงประเป๋า (หยุดทำาซำ้า)
  • 4. เทคนิคการเขียนนิพจน์ คณิตศาสตร์นิพจน์ (Expressions) ทางคณิตศาสตร์นั้นเป็นนิพจน์ที่ ใช้ในการคำานวณ ซึ่งนิพจน์ทางคณิตศาสตร์นั้นจะมีรูปแบบ เหมือนกับสมการคณิตศาสตร์ แต่จะประกอบไปด้วย ค่าคงที่หรือ ตัวแปร ซึ่งเรียกอีกอย่างว่า ตัวถูกดำาเนินการ (Operand) แล้ว เชื่อมกันด้วยเครื่องหมายทางคณิตศาสตร์ หรือเรียกอีกอย่างว่า ตัวดำาเนินการ (Operator) นั่นเอง รูปแบบ [ตัวถูกดำาเนินการตัวแรก] [ตัวดำาเนินการ] [ตัวถูก ดำาเนินการตัวที่สอง]
  • 5. ตัวอย่าง A+B 2+A ตัวดำาเนินการทางคณิตศาสตร์ ตัวดำาเนินการทางคณิตศาสตร์ของภาษา Cมีดังนี้ ตารางที่ 1แสดงตัวดำาเนินการทางคณิตศาสตร์
  • 6. การสร้างนิพจน์ทางคณิตศาสตร์ ถ้าเป็นนิพจน์ที่มีตัวถูก ดำาเนินการเพียง 2 ตัวจะไม่มีปัญหาอะไร แต่ถ้าเกิดมีตัวถูก ดำาเนินการมากกว่า 2 ตัวขึ้นไป ผู้ใช้จะต้องคำานึงถึงลำาดับความ สำาคัญของตัวดำาเนินการด้วย มิฉะนั้นอาจจะได้ผลลัพธ์ที่ไม่ตรง ตามความต้องการได้ ตัวอย่าง ผู้ใช้ต้องการให้เอา 2 บวกกับ 3แล้วนำา ไปคูณด้วย 5 ซึ่งคำาตอบที่ผู้ใช้ต้องการ คือ 25แต่ถ้าผู้ใช้เขียน นิพจน์เป็น 2+3*5 ผลลัพธ์ที่ได้จะเท่ากับ 17เพราะภาษา Cจะคิดตาม ลำาดับความสำาคัญของตัวดำาเนินการ (Precedence) ดังนี้ เอา 3 คูณกับ 5 ได้ 15 แล้วนำาไปบวกกับ 2 ได้ 17ซึ่งเป็นคำา ตอบที่ไม่ตรงตามความต้องการ เพราะฉะนั้นผู้ใช้จึงต้องระวังเรื่อง นี้อย่างมาก วิธีการแก้ไขก็สามารถทำาได้โดยการใช้วงเล็บเข้ามา ช่วย ซึ่งวงเล็บจะมีลำาดับความสำาคัญสูงที่สุด และเมื่อลำาดับความ สำาคัญเท่ากัน ให้ดูในตารางโดยเรียงจากซ้ายไปขวา ซึ่งถ้ามี หลายวงเล็บซ้อนกัน ภาษา C จะคิดจากวงเล็บในออกมา ดังนั้น ถ้าตัวอย่างด้านบนจะเขียนนิพจน์ให้ได้ผลลัพธ์ตามต้องการ จะ ต้องเขียนดังนี้ (2+3)*5
  • 7. คำาสั่งควบคุมวนซำ้าแบบ for forเป็นคำาสั่งที่สั่งให้โปแกรมมีการทำางานซำ้า ๆ วนลูป จนกว่าเงื่อนไขที่กำาหนดไว้เป็นเท็จ จึงออกจากคำาสั่ง forไปทำา คำาสั่งถัดไป ควรใช้คำาสั่ง forในกรณีที่ทราบจำานวนรอบของการ ทำางาน ¢ รูปแบบการใช้คำาสั่ง for ¢for(expression1;expression2;expression3) statement; หรือ for(expression1;expression2;expression3) { statement(s); }
  • 9. คำำสั่งควบคุมวนซำ้ำแบบ while while เป็นคำำสั่งให้มีกำรทำำซำ้ำเป็นรอบ ๆ (loop) ลักษณะ กำรทำำงำนทำำนองเดียวกับคำำสั่ง for แต่ต่ำงกันตรงที่ไม่ทรำบ จำำนวนรอบที่แน่นอน แต่ต้องมีเงื่อนไขที่เป็นเท็จจึงจะออกจำกคำำสั่ง while ได้มิฉะนั้นจะมีปัญหำที่โปรแกรมทำำงำนแบบวนซำ้ำแบบไม่มีที่ สิ้นสุด (endless loop)
  • 11. กำรเขียนคำำสั่งวนซำ้ำแบบ do while do while เป็นคำำสั่งให้มีกำรทำำซำ้ำเป็นรอบ ๆ (loop) ลักษณะกำรทำำงำนทำำนองเดียวกับคำำสั่ง while แต่ต่ำงกันตรงที่คำำ สั่งนี้จะมีกำรทำำงำนตำมคำำสั่งไป 1 รอบ ก่อนที่จะทดสอบเงื่อนไข ถ้ำเงื่อนไขที่เป็นจริงจะทำำงำนต่อไป ถ้ำเงื่อนไขเป็นเท็จจึงจะออก จำกคำำสั่ง do while คำำสั่งนี้ก็เช่นเดียวกันจะต้องกำำหนดให้มี โอกำสที่เงื่อนไขเป็นเท็จได้ มิฉะนั้นจะมีปัญหำที่โปรแกรมทำำงำน แบบวนซำ้ำแบบไม่มีที่สิ้นสุด (endless loop) กรณีที่เงื่อนไขเป็นเท็จ เพียงอย่ำงเดียวจะมีกำรทำำงำน 1 รอบ ก่อนออกจำกกำรทำำซำ้ำ
  • 13. กรณีศึกษา การใช้คำาสั่งควบคุมวน ซำ้า การใช้คำาสั่ง while เพื่อวนคำานวณค่าสะสมตัวเลข 1 ถึง 10 และหาค่าเฉลี่ย แล้วแสดงผลออกจอภาพการใช้คำาสั่ง while เพื่อ วนคำานวณค่าสะสมตัวเลข 1 ถึง 10 และหาค่าเฉลี่ย แล้วแสดงผลอ อกจอภาพ
  • 14. ผลลัพธ์ที่ได้จากโปรแกรม คำาอธิบายโปรแกรม สามารถอธิบายการทำางานของโปรแกรมที่สำาคัญ ๆ ได้ดังนี้ บรรทัดที่ 8 คำาสั่ง while (n < 11) เพื่อควบคุมการ ทำางานของโปรแกรมให้ทำางานซำ้า ๆ กัน โดยการทำางานของคำาสั่ง while จะตรวจสอบเงื่อนไข n < 11 เป็นจริงหรือเท็จ ถ้าเป็นจริงจะ ทำางานตามคำาสั่งที่อยู่ภายใน loop while คือ บรรทัดที่ 10 และ 11 จากนั้นจะกลับมาตรวจสอบเงื่อนไขใหม่ ทำาอย่างนี้ซำ้า ๆ จนกว่า ตรวจสอบเงื่อนไข n < 11 เป็นเท็จ จึงจะออกจาก loop while แล้วไปทำาคำาสั่งบรรทัดที่ 13 ถึง คำาสั่งบรรทัดที่ 18
  • 15. บรรทัดที่ 10 และ 11 เป็นคำาสั่งที่โปรแกรมจะทำางานภาย หลังจากตรวจสอบเงื่อนไข while แล้วเป็นจริง นั่นคือ คำานวณค่า สะสมของตัวแปร sum และ เพิ่มค่า n ทีละ 1 ตามลำาดับ บรรทัดที่ 13 ถึง 18 เป็นคำาสั่งที่โปรแกรมจะทำางาน ภายหลังจากตรวจสอบเงื่อนไข while แล้วเป็นเท็จ คือ ลดค่าตัว แปร n ลง 1 แล้วคำานวณค่าเฉลี่ยเก็บไว้ที่ตัวแปร avg และพิมพ์ ค่าตัวแปร n, sum และ avg แสดงที่จอภาพ พร้อมกับพิมพ์ข้อความ ให้กดคีย์ใด ๆ เพื่อกลับสู่โปรแกรม สุดท้ายจะหยุดรอรับค่าใด ๆ จากคีย์บอร์ด เช่น ถ้ากด enter ก็จะกลับสู่โปรแกรม