คำสั่ง for ,while ,do...while
1. for (วนลูปการทำงานด้วยจำนวนรอบที่แน่นอน)
เป็นคำสั่ง for เป็นคำสั่งวนซ้ำการทำงานเดิมๆ ด้วยจำนวนรอบที่แน่นอน โดยที่โปรแกรมจะตรวจสอบเงื่นไขการทำงานทุกรอบ ถ้าเงื่อนไขเป็นจริงให้ทำงานที่ชุดคำสั่งภายในในลูปต่อไป เมื่อทำงานเสร็จจะเพิ่มหรือลดค่าตัวแปรที่ใช้กำหนดเงื่อนไข และตรวจสอบเงื่อนไขใหม่อีกครั้ง ถ้าเงื่อนไขเป็นเท็จให้โปรแกรมออกจาก ลูปการทำงานไปทำงานที่คำสั่งถัดไปทันที
ซึ่งคำสั่ง for ในภาษ C มีรุปแยบบคำสั่งดังนี้
for(initial; condition; change)
{
statements;
}
โดยที่ initial เป็นส่วนกำหนดค่าเรื่มต้นของตัวแปรที่ใช้กำหนดเงื่อนไข
condition เป็นส่วนกำหนดเงื่อนไขการวนลูป
change เป็นส่วนการเปลี่ยนแปลงของตัวแปรในแต่ละรอบ
statements เป็นชุดคำสั่งที่ต้องทำเมื่อเงื่อนไขเป็นจริง
Flowchart
Ex.1 #include
#include
main( )
{
int count, sum, n;
printf("Enter integer : ");
scanf("%d", &n);
sum = 0;
for (count = 1; count <= n; count++)
{
sum += count;
}
printf("Sum = %d", sum);
getch ( ) ;
}
Result
Enter integer : 9
Sum= = 45
ในกรณีจำนวนคำสั่ง for มีแค่คำสั่งเดียว ไม่จำเป็นต้องใส่เครื่องหมาย { } ก็ได้ แต่ผู้เขียนแนะนำให้ผู้อ่านใส่เครื่องหมาย { } ทุกครั้งที่มีการใช้คำสั่ง for
ในกรณีจำนวนคำสั่ง for มีแค่คำสั่งเดียว ไม่จำเป็นต้องใส่เครื่องหมาย { } ก็ได้ แต่ผู้เขียนแนะนำให้ผู้อ่านใส่เครื่องหมาย { } ทุกครั้งที่มีการใช้คำสั่ง for
อธิบายการทำงานโปรแกรม
- บรรทัดที่ 6 ประกาศตัวแปรชนิดจำนวนเต็มชื่อ count, sum และ n
- บรรทัดที่ 9 รับข้อมูลชนิดจำนวนเต็มจากแป้นพิมพ์เก็บไว้ที่ตัวแปร n
- บรรทัดที่ 11 กำหนดค่าให้ตัวแปร sum = 0
- บรรทัดที่ 13-16 กำหนดให้โปรแกรมมวนลูปทำงานชุดคำสั่งภายในเครื่องหมาย { } คำสั่ง for โดย กำหนดค่าเริ่มต้นของเงื่อนไขที่ตัวแปร count = 1 แล้วตรวจสอบเงื่อนไขว่า ค่าตัวแปร count น้อยก่าค่าตัวแปร n หรือไม่ ถ้าเงื่อนไขเป็นจริงให้ ทำงาน ชุดคำ สั่งภายในลูปอีกครั้ง ถ้าเงื่อนไขเป็นเท็จให้ออกจากลูปการทำงานทันที
- บรรทัดที่ 15 กำหนดค่าใฟ้ตัวแปร sum เท่ากับผลรวมของตัวแปร sum กับตัวแปร count
- บรรทัดที่ 18 แสดงค่าตัวแปร sum ทางจอภาพ
2. while (วนลูปการทำงานเมื่อเงื่อนไขเป็นจริง)
คำสั่ง while เป็นคำสั่งวนคำสั่งวนซ้ำการทำงานเดิมๆของโปรแกรม โดนโปรแกรมตรวจสอบเงื่อนไขก่อนการทำงานทุกครั้ง ถ้าเงื่อนไขที่กำหนดเแ็นจริง โปรแกรมจะทำงานที่ชุดคำสั่งภายในลูป เมื่อโปรแกรมทำงานเสร็จจะตรวจสอบเงื่อนไขใหม่อีกครั้ง ถ้าเงื่อนไขที่กำหนดเป็นเท็จ โปรแกรมจะออกจากลูปการทำงานไปทำงานที่คำสั่งถัดไปทันที
ซึ่งคำสั่ง while ในภาษา C มีรูปแบบคำสั่งดังนี้
while (condition)
{
statement;
}
โดยที่ condition เป็นเงื่อนไขที่กำหนดให้ตรวจสอบก่อนทำงานภายในลูปทุกครั้ง
statement เป็นชุดคำสั่งที่ต้องทำเมื่อเงื่อนไขเป็นจริง
Flowchart
Ex.2 #include
#include
main ( )
{
int count, n;
printf("Enter integer : ");
scanf("%d", &n);
count = 0;
printf("\n\n");
while(count < n)
{
printf("\t%d", count);
count++;
}
getch ( ) ;
}
Result
Enter integer : 7
0 1 2 3 4 5 6
อธิบายการทำงานของโปรแกรม
- บรรทัดที่ 6 ประกาศตัวแปรชนิดจำนวนเต็มชื่อ count และ n
- บรรทัดที่ 9 รับข้อมูลชนิดจำนวนเต็มจากแป้นพิมพ์เก็บไว้ที่ตัวแปร n
- บรรทัดที่ 11 กำหนดค่าให้ตัวแปร count เท่ากับ 0
- บรรทัดที่ 13-18 กำหนดให้โปรแกรมลูปทำงานชุดคำสั่งภายในเครื่องหมาย { } ด้วยคำสั่ง while โดยตรวจสอบเงื่อนไจว่า ค่าตัวแปร count น้อยกว่าค่าตัวแปร n หรือไม่ ถ้าเงื่อนไขเป็นจริงให้ทำงานที่ชุดคำสั่งภายในลูป เมื่อทำงานเสร็จแล้วให้ตรวจสอบ เงื่อนไขค่าตัวแปร count น้อยกว่าค่าตัวแปร n หรือไม่อีกครั้ง ถ้าเงื่อนไขเป็นจริง ให้ทำงานที่ชุดคำสั่งภายในลูปอีกครั้ง ถ้าเป็นเท็จให้ออกจากลูปการทำงานไปทำงานที่คำสั่งถัดไปทันที
- บรรทัดที่ 16 แสดงค่าตัวแปร count ทางจอภาพ
- บรรทัดที่ 17 เพิ่มค่าแปร count ขึ้น 1 ค่า
3. do...while (วนลูปการทำงานอย่างน้อย 1 ครั้ง)
คำสั่ง do...while เป็นคำสั่งวนซ้ำการทำงานเดิมๆ โดยโปรแกรมจะทำงานชุดคำสั่งในลูปก่อน 1 รอบ จึงตรวจสอบเงื่อนไขที่กำหนด ถ้าเงื่อนไขที่กำหนด ถ้าเงื่อนไขที่กำหนดเป็นตริงให้กลับไปทำงานชุดคำสั่งภายในลูปอีกครั้ง และตรวจสอบเงื่อนไขที่กำหนดอีกครั้ง ถ้าเงื่อนไขที่กำหนดเป็นเท็จโปรแกรมจะออกจากลูปการทำงานไปทำงานที่คำสั่งถัดไปทันที
ซึ่งคำสั่ง do...while ในภาษ C มีรูปแบบคำสั่งดังนี้
do
{
statements;
}while (condition);
โดยที่ condition เป็นเงื่อนไขที่กำหนดให้ตรวจสอบหลังทำงานภายในลูปทุกครั้ง
statements เป็นชุดคำสั่งที่ทำงานก่อนตรวจสอบเงื่อนไข
จากรูปแบบคำสั่ง do...while เราสามารถเขียนแผนภูมิการทำงาน (Flowchart) ได้ดังนี้
#include #include
main ( )
{
char ch;
int sum, n;
sum = 0;
do
{
printf("\n\n");
printf("Enter integer : ");
sum = sum + n;
printf("Do you want do again : ");
ch = getch( );
} while(ch != 'N');
printf("\n\n");
printf("Sum : %d", sum);
getch( );
}
Result
Enter integer : 9
Do you want to do again :
Enter integer : 7
Do you want to do again :
Enter integer : 6
Do you want to do again :
Sum : 22
อธิบายการทำงานของโปรแกรม
- บรรทัดที่ 6 ประกาศตัวแปรชนิดอักขระชื่อ ch
- บรรทัดที่ 7 ประกาศตัวแปรชนิดจำนวนเต็มชื่อ sum และ n
- บรรทัดที่ 9 กำหนดค่าตัวแปร sum = 0
- บรรทัดที่ 11-21 กำหนดให้โปรแกรมวนลูปทำงานชุดคำสั่งภายในเครื่องหมาย { } ด้วยคำสั่ง do...while โดนทำงานที่ชุดคำสั่งภายในลูปก่อน 1 ครั้ง แล้วตรวจสอบเงื่อนไขว่า ค่าตัวแปร ch ไม่เท่ากับ N หรือไม่ ถ้าเงื่อนไขเป็นจริงให้ทำงานที่ชุดคำสั่งภาย ในลูปอีกครั้ง ถ้าเป็นเท็จให้ออกจากลูปไปคำสั่งต่อไปทันที
- บรรทัดที่ 15 รับข้อมูลชนิดจำนวนเต็มจากแป้นพิมพ์เก็บไว้ที่ตัวแปร n
- บรรทัดที่ 17 กำหนดค่าให้ตัวแปร sum เท่ากับผลรวมของตัวแปร sum กับตัวแปร n
- บรรทัดที่ 20 รับข้อมูลชนิดอีกขระจากแป้นพิมพ์เก็บไว้ที่ตัวแปร ch
- บรรทัดที่ 21 ตรวจสอบเงื่อนไขค่าตัวแปร ch ไม่เท่ากับ N หรือไม่ ถ้าเงื่อนไขเขเป็นจริงให้ ทำงานที่ชุดคำสั่งภายในลูปอีกครั้ง ถ้าเป็นเท็จให้ออกจากลูปการทำงานไปทำงาน ที่คำ สั่งถัดไป
สรุปเนื้อหาบทที่ 6
การเขียนโค้ดเพื่อกำหนดให้โปแกรมวนลูปทำงานในชุดคำสั่งเดียวกัน ตามเงื่อนไขที่เราต้องการในภาษ C นั้น มีด้วยกัน 3 คำสั่งคือ คำสั่ง for, คำสั่ง while, คำสั่ง do...while รูปแบบดังนี้
- คำสั่ง for
for (initial; condition; change)
{
statements;
}
- คำสั่ง while
while(condition)
{
statements;
}
- คำสั่ง do...while
do
{
statements;
}while (condition);












โจทย์ 3 คำนวณหา Molecular Weigth

