การวนรอบการทำงาน
ฟังก์ชัน while
เป็นฟังก์ชันที่ใช้ในการวนรอบการทำงานโดยการตรวจสอบเงื่อนไขก่อน ถ้าเงื่อนไขเป็นจริง
จะทำงานตามประโยคคำสั่งที่อยู่ภายในปีกกา เมื่อทำงานเสร็จก็จะวนกลับขึ้นไปตรวจสอบเงื่อนไขอีกครั้ง
ถ้าเงื่อนไขเป็นจริงก็จะทำงานตามประโยคคำสั่งเหมือนเดิม จะทำงานซ้ำเช่นนี้ไปจนกระทั่ง
เมื่อวนรอบกลับไปตรวจสอบเงื่อนไขแล้วพบว่าเงื่อนไขเป็นเท็จ ถ้าเงื่อนไขเป็นเท็จ โปรแกรมจะไปทำงานตาม
ประโยคคำสั่งที่อยู่หลังปีกกาปิดของชุดคำสั่ง while (ในกรณีที่ประโยคคำสั่งภายในปีกกามีเพียง
คำสั่งเดียวไม่ต้องใส่ปีกกาเปิดและปิดก็ได้)
การทำงานของโปรแกรม
เริ่มจากทำการประกาศตัวแปร count เป็นข้อมูลชนิดเลขจำนวนเต็ม และทำการกำหนดให้ตัวแปรมีค่าเท่ากับ 1 ทำการลบจอภาพ และใช้ฟังก์ชัน while ในการตรวจสอบเงื่อนไขโดยให้ทำงานในขณะที่ count มีค่าน้อยกว่าหรือเท่ากับ 12 ถ้าเงื่อนไขเป็นจริงให้แสดงค่าตัวแปร count ออกมา หลังจากนั้นจะทำการเพิ่มค่าตัวแปร count ขึ้นอีกหนึ่ง แล้ววนกลับไปทำการตรวจสอบเงื่อนไข จนกระทั่งเงื่อนไขเป็นเท็จ จึงจะมาทำงานตามคำสั่งที่อยู่หลังปีกกา
ฟังก์ชัน do_while
เป็นฟังก์ชันที่ใช้ในการวนรอบการทำงานโดยจะทำงานตามประโยคคำสั่งภายในลูปก่อน
แล้วจึงทำการตรวจสอบเงื่อนไขถ้าเงื่อนไขเป็นจริงจะทำงานตามประโยคคำสั่งที่อยู่ภายในปีกกา
เมื่อทำงานเสร็จก็จะทำการตรวจสอบเงื่อนไขอีกครั้ง ถ้าเงื่อนไขเป็นจริงก็จะทำงานตามประโยคคำสั่งเหมือนเดิม
จะทำงานซ้ำเช่นนี้ไปจนกระทั่งเมื่อตรวจสอบเงื่อนไขแล้วพบว่าเงื่อนไขเป็นเท็จ ถ้าเงื่อนไขเป็นเท็จ โปรแกรมจะทำงานตามประโยคคำสั่งที่อยู่หลังฟังก์ชัน do_while (ในกรณีที่ประโยคคำสั่งภายในปีกกา
มีเพียงคำสั่งเดียวไม่ต้องใส่ปีกกาเปิดและปิดก็ได้)
การทำงานของโปรแกรม
เริ่มจากทำการประกาศตัวแปร count เป็นข้อมูลชนิดเลขจำนวนเต็ม และทำการกำหนดให้ตัวแปรมีค่าเท่ากับ 1
ทำการลบจอภาพ และใช้ฟังก์ชัน do_while ในการตรวจสอบเงื่อนไขโดยโปรแกรมจะทำงานตามประโยคคำสั่ง
อย่างน้อยหนึ่งครั้ง สำหรับโปรแกรมนี้จะแสดงค่าตัวเลขที่เก็บอยู่ในตัวแปร count และจำทะการเพิ่มค่าของตัวแปร count ขึ้นอีกหนึ่ง หลังจากนั้นจะทำการตรวจสอบเงื่อนไข ถ้าเงื่อนไขเป็นจริงจะวนกลับขึ้นไปทำงานซ้ำ จนกว่าเงื่อนไขจะเป็นเท็จ จึงจะมาทำงานตามคำสั่งที่อยู่หลังฟังก์ชัน while
ฟังก์ชัน for
เป็นฟังก์ชันที่ใช้ในการวนรอบการทำงานโดยจะทำการกำหนดค่าให้กับตัวแปร แล้วทำการตรวจสอบเงื่อนไข ถ้าเงื่อนไขเป็นจริงจะทำงานตามประโยคคำสั่งภายในลูปแล้วทำการเพิ่มหรือลดค่าตัวแปรแล้วจึงทำการตรวจสอบเงื่อนไขอีกครั้งถ้าเงื่อนไขเป็นจริงจะทำงานตามประโยคคำสั่งที่อยู่ภายในปีกกาเมื่อทำงานเสร็จก็จะทำการตรวจสอบเงื่อนไขอีกครั้งถ้าเงื่อนไขเป็นจริงก็จะทำงานตามประโยคคำสั่งเหมือนเดิมจะทำงานซ้ำเช่นนี้ไปจนกระทั่งเมื่อตรวจสอบเงื่อนไขแล้วพบว่าเงื่อนไขเป็นเท็จโปรแกรมจะทำงานตามประโยคคำสั่งที่หลังปีกกาปิด(ในกรณีที่ประโยคคำสั่งภายในปีกกามีเพียง คำสั่งเดียวไม่ต้องใส่ปีกกาเปิดและปิดก็ได้)
การทำงานของโปรแกรม
เริ่มจากทำการประกาศตัวแปร i เป็นข้อมูลชนิดเลขจำนวนเต็ม และทำการกำหนดค่าให้ตัวแปรมีค่าเท่ากับ 1
ใช้ฟังก์ชัน for ในการตรวจสอบเงื่อนไขว่า i มีค่าน้อยกว่าหรือเท่ากับ 12 หรือไม่ ถ้าตรงตามเงื่อนไขก็จะแสดงตัวเลข
ที่เก็บอยู่ในตัวแปร i แล้วทำการเพิ่มค่าขึ้นอีก 1 จากนั้นจะวนกลับขึ้นไปตรวจสอบเงื่อนไข ถ้าเงื่อนไขเป็นจริงจะทำงานซ้ำจนกว่าเงื่อนไขจะเป็นเท็จ จึงจะออกจากการวนรอบมาทำงานตามคำสั่ง getch();
ฟังก์ชัน break
เมื่อโปรแกรมทำงานมาถึงยังบรรทัดที่มีฟังก์ชัน break จะทำการออกจากการวนรอบทันที ในกรณีที่มีการกำหนดให้โปรแกรมวนรอบโดยใช้ฟังก์ชัน while, do_while หรือ for โปรแกรมจะต้องทำงานตามเงื่อนไขจนกว่าจะเป็นจริง แต่ฟังก์ชัน break จะทำให้โปรแกรมกระโดดออกจากลูปไปทำงานยังบรรทัดที่อยู่หลังปีกกาของลูปทันที
ตัวอย่างโปรแกรม การใช้ฟังก์ชัน break ในการออกออกจากโปรแกรม
# include <stdio.h>
# include<conio.h>
# include<ctype.h>
void main(void)
{
int i=1;
char x,ans;
x='T'; //ให้ตัวแปร x มีค่าเป็นจริงเท่ากับ T
clrscr();
while(x='T') //ให้ทำงานขณะที่ตัวแปร x มีค่าเป็นจริง
{
printf("Print Number : %d\n",i); //แสดงค่าที่เก็บในตัวแปร i
printf("Do you want to continute ?(Y/N)");
ans=getchar(); //รับค่าจากแป้นพิมพ์แล้วนำไปเก็บในตัวแปร ans
printf(\n);
i++;
if(toupper(ans)=='n') //ถ้าตัวแปร ans=n หรือ N
break; //หยุดการทำงาน
}
}
ฟังก์ชัน continue
จะทำงานโดยข้ามบางคำสั่งซึ่งอยู่ภายในลูปเพื่อเริ่มต้นการทำงานในรอบถัดไป
เมื่อทำงานร่วมกับฟังก์ชัน while และ do_while จะทำให้คอมพิวเตอร์ไปตรวจสอบเงื่อนไข ส่วนฟังก์ชันfor จะทำการเพิ่มหรือลดค่าของตัวแปรแล้วค่อยไปทดสอบเงื่อนไข
# include <stdio.h>
# include<conio.h>
void main(void)
{
float sum,ave,num;
int n=0;
sum=0;
clrscr();
printf("Input 10 number for average\n");
for(i=1;i<=10,++i)
{
printf("Enter Number: %d = ",i);
scanf("%f",&num);
if(num>10)
continue;
sum=sum+num;
n=n+1;
}
ave=sum\n;
printf("Average number between 1-10 is %10.4f\n",ave);
getch();
}
การทำงานของโปรแกรม
เมื่อรันโปรแกรมเครื่องจะให้ป้อนตัวเลข 10 จำนวน แล้วนำไปเก็บไว้ในตัวแปร num ในกรณีที่ป้อนค่าตัวเลข
มากกว่า 10 จะใช้ฟังก์ชัน continue ในการสั่งให้โปรแกรมข้ามบรรทัด sum=sum+num; และ บรรทัด n=n+1;
โดยจะไปรับค่าตัวเลขตัวใหม่ โดยไม่นำค่าที่เกิน 10 มาร่วมในการคำนวณด้วย เมื่อรับค่าตัวเลขจนครบ 10 จำนวนแล้วจะทำการหาค่าเฉลี่ยแล้วแสดงผล
ไม่มีความคิดเห็น:
แสดงความคิดเห็น