1. ข้อความสั่ง for
1. ข้อความสั่ง for
ข้อความสั่ง for เป็นข้อความสั่งที่สั่งให้กระทำข้อความสั่ง หรือกลุ่มของข้อความสั่ง วนซ้ำหลายรอบ โดยมีจำนวนรอบในการวนซ้ำที่แน่นอน
รูปแบบ
for(ค่าเริ่มต้น; เงื่อนไข; ค่าเพิ่มหรือค่าลด)
ข้อความสั่ง;
โดยที่
ค่าเริ่มต้น เงื่อนไข และ ค่าเพิ่มหรือค่าลด เป็นนิพจน์
ข้อความสั่ง หมายถึง ข้อความสั่งที่จะถูกกระทำซ้ำ อาจมีเพียงข้อความเดียวหรือหลายข้อความสั่งก็ได้
ข้อความสั่ง for มีขั้นตอนการทำงานดังนี้
1. คำนวณหาค่าเริ่มต้นของตัวแปร ที่ใช้ควบคุมการวนซ้ำ ซึ่งอยู่ในรูปของข้อความสั่งกำหนดค่า
2. คำนวณหาผลลัพธ์จากเงื่อนไข ที่อยู่ในรูปของนิพจน์ความสัมพันธ์ ซึ่งจะให้ผลเป็นจริง (ค่าที่ไม่เป็นศูนย์) หรือเท็จ (ศูนย์)
3. ถ้าผลจากข้อ 2 มีค่าเป็นเท็จ หรือ ศูนย์ ไปที่ข้อ 7
4. ถ้าผลจากข้อ 2 มีค่าเป็นจริง หรือ ค่าที่ไม่ใช่ศูนย์ ข้อความสั่งที่อยู่ภายในข้อความสั่ง for จะถูกกระทำ
5. คำนวณหาค่าใหม่ของตัวแปรที่ใช้ควบคุมการวนซ้ำ
6. กลับไปที่ 2
7. จบการกระทำการข้อความสั่ง for และข้อความสั่งแรกที่อยู่ถัดจากข้อความสั่ง for จะถูกกระทำในลำดับต่อไป
การวนซ้ำเพื่อแสดงตัวเลข 1, 2, 3, 4, 5
#include <stdio.h>
int main()
{
int n;
n = 1
for( ; n <= 5; ) {
printf("\n%d",n);
n++
}
}
ตัวอย่าง 4.1 การวนซ้ำเพื่อแสดงตัวเลข 1, 2, 3, 4, 5
#include <stdio.h>
int main()
{
int n;
for(n = 1; n <= 5; n++)
printf("\n%d",n);
}
ตัวอย่าง 4.2 การวนซ้ำเพื่อแสดงตัวเลข 10, 20, 30, 40, 50
#include <stdio.h>
int main()
{
int n;
for(n = 10; n <= 50; n+=10)
printf("\n%d",n);
}
ตัวอย่าง 4.3 การวนซ้ำเพื่อแสดงตัวเลข 5, 4, 3, 2, 1 แสดงทีละบรรทัด
#include <stdio.h>
int main()
{
int n;
for(n = 5; n > 0; n--)
printf("\n%d",n);
}
ตัวอย่าง 4.4 การวนซ้ำเพื่อแสดงตัวเลข 5, 4, 3, 2, 1
#include <stdio.h>
int main()
{
int n;
for(n = 5; n > 0; n--)
printf("%d ",n);
}
ตัวอย่าง 4.5 การละค่าเริ่มต้นและค่าเพิ่มหรือค่าลด
#include <stdio.h>
int main()
{
int n;
n = 5;
for( ; n <= 100; )
{
printf("%d ",n);
n += 5;
}
}
ตัวอย่าง 4.6 การวนซ้ำเพื่อแสดงตัวเลขเพิ่มขึ้นทีละ 5 จนถึง 100
#include <stdio.h>
int main()
{
int n;
for( n = 5; n <= 100; n += 5; )
{
printf("%d ",n);
}
}
จัดทำโดย นางสาวทิพย์สุคนธ์ พันธ์กิ่ง กลุ่มสาระการเรียนรู้วิทยาศาสตร์และเทคโนโลยี
โรงเรียนบุญวัฒนา สำนักงานเขตพื้นที่การศึกษามัธยมศึกษานครราชสีมา