Page 1

ใบความรูที่ 9 คําสั่งควบคุมการทํางานของโปรแกรม สําหรับบทนี้จะอธิบายถึงคําสั่งควบคุมการทํางานของโปรแกรม ซึ่งแบงกลุมตามลักษณะการทํางานตาม ขอกําหนดมาตรฐานของสถาบัน ANSI (American National Standards Institute) กําหนดใหภาษา C มี คําสั่งที่ใชควบคุมการทํางานของโปรแกรมดังนี้ 1) คําสั่งวนลูปหรือทํางานซ้ํา ๆ เปนลูป (loop statements) ไดแก คําสั่ง for, while, do while และมีคําสั่งออกจากลูปคือคําสั่ง break หรือทํางานในรอบตอไป คือคําสั่ง continue 2) คําสั่งทดสอบเงื่อนไขในการตัดสินใจ (decision statements) ไดแก คําสั่ง if, if else, โครงสราง else if (หรือ nested if) และคําสั่ง switch ซึ่งมีรายละเอียดดังตอไปนี้ 1 คําสั่งวนลูปหรือทํางานซ้ํา ๆ เปนลูป (loop statements) คําสั่งวนลูปเปนคําสั่งที่สามารถควบคุมโปรแกรมใหทํางานเปนจํานวนรอบตามที่เรากําหนดไว หรือ ทํางานจนกวาเงื่อนไขที่กําหนดไวเปนเท็จ จึงจะออกจากคําสั่งวนลูปได 1. คําสั่ง for for เปนคําสั่งที่สั่งใหโปแกรมมีการทํางานซ้ํา ๆ วนลูปจนกวาเงื่อนไขที่กําหนดไวเปนเท็จ จึง ออกจากคําสั่ง for ไปทําคําสั่งถัดไป ควรใชคําสั่ง for ในกรณีที่ทราบจํานวนรอบของการทํางาน รูปแบบการใชคําสั่ง for for (expression1; expression2; expression3) statement; หรือ for (expression1; expression2; expression3) { statement(s); } โดยที่


expression1 คือ นิพจนที่ใชกําหนดคาเริ่มตนใหกับตัวแปรที่จะใชวนลูป expression2 คือ นิพจนที่ใชทดสอบเงื่อนไข ซึ่งจะมีคาจริงหรือเท็จอยางใดอยางหนึ่งเทานั้น expression3 คือ นิพจนที่ใชเพิ่มหรือลดคาตัวแปรที่จะใชวนลูป statement(s) คือ คําสั่งตาง ๆ ถามีมากกวา 1 คําสั่ง จะตองเขียนอยูภายในเครื่องหมาย {….} ลักษณะการทํางานของคําสั่ง for สามารถเขียนเปนแผนผังไดดังนี้

รูปที่ 9.1 ผังงานแสดงลักษณะการทํางานของคําสั่ง for ที่มา : สมชาย รัตนเลิศนุสรณ, 2545 : 78.


โปรแกรมตัวอยางที่ 9.1 แสดงการใชคําสั่ง for เพื่อวนแสดงตัวเลข 1 ถึง 10 ออกแสดงที่จอภาพ /*

for1.c */ #include<stdio.h> #include<conio.h> void main(void) { int num; clrscr( ); for (num=1; num<=10; num++) printf( "%3d\n", num); /* end for */ printf("\n\nPress any key back to program..."); getch(); }

ผลลัพธที่ไดจากโปรแกรม

/* /* /* /* /* /* /* /* /* /* /*

บรรทัดที่ 1 */ บรรทัดที่ 2 */ บรรทัดที่ 3 */ บรรทัดที่ 4 */ บรรทัดที่ 5 */ บรรทัดที่ 6 */ บรรทัดที่ 7 */ บรรทัดที่ 8 */ บรรทัดที่ 9 */ บรรทัดที่ 10 */ บรรทัดที่ 11 */


คําอธิบายโปรแกรม จากโปรแกรมตัวอยางที่ 9.1 สามารถอธิบายการทํางานของโปรแกรมที่สําคัญ ๆ ไดดังนี้ บรรทัดที่ 7 คําสั่ง for (num = 1; num <=10; num++) จะเริ่มทํางานโดยการกําหนดคาเริ่มตนตัวแปร num เปน 1 จากนั้นทดสอบเงื่อนไข num <= 10 จริงหรือเท็จ ถาเปนจริงจะทํางานตามคําสั่งบรรทัดที่ 8 ถาเปนเท็จออกจาก for ไปทําคําสั่งบรรทัดที่ 9 บรรทัดที่ 8 ฟงกชัน printf( ) เพื่อพิมพคาของตัวแปร num ในแตละรอบของการทํางาน และขึ้นบรรทัด ใหมดวย ออกแสดงที่จอภาพฅ บรรทัดที่ 9 ฟงกชัน printf( ) แสดงขอความใหกดคียใด ๆ เพื่อกลับสูโปรแกรม บรรทัดที่ 10 หยุดรอรับคาใด ๆ จากคียบอรด เชน ถากด enter ก็จะกลับสูโปรแกรม โปรแกรมตัวอยางที่ 9.2 แสดงการใชคําสั่ง for เพื่อวนคํานวณแมสูตรคูณ แมตาง ๆ ตามผูใชเติม และ แสดงผลที่จอภาพ /* for2.c */ #include<stdio.h> #include<conio.h> void main(void) { int k,i; clrscr(); printf("input number >>> "); scanf("%d",&k); for (i=1; i<=12; i++) printf("%d x %d = %d\n",k,i,i*k); printf("\n\nPress any key back to program..."); getch(); }

/* /* /* /* /* /* /* /* /* /* /* /* /*

บรรทัดที่ 1 */ บรรทัดที่ 2 */ บรรทัดที่ 3 */ บรรทัดที่ 4 */ บรรทัดที่ 5 */ บรรทัดที่ 6 */ บรรทัดที่ 7 */ บรรทัดที่ 8 */ บรรทัดที่ 9 */ บรรทัดที่ 10 */ บรรทัดที่ 11 */ บรรทัดที่ 12 */ บรรทัดที่ 13 */


ผลลัพธที่ไดจากโปรแกรม

คําอธิบายโปรแกรม จากโปรแกรมตัวอยางที่ 9.2 สามารถอธิบายการทํางานของโปรแกรมที่สําคัญ ๆ ไดดังนี้ บรรทัดที่ 7 ฟงกชัน printf( ) พิมพขอความ input number >>> ออกที่จอภาพ นั่นคือ ใหผูใชเติม ตัวเลขจํานวนเต็ม เพื่อที่จะนําไปคํานวณแมสูตรคูณ บรรทัดที่ 8 ฟงกชัน scanf( ) รับคาตัวเลขจากคียบอรด แลวเก็บไวที่ตัวแปร k บรรทัดที่ 9 คําสั่ง for (i = 1; i <= 12; i++) เปนการกําหนดคาเริ่มตนตัวแปร i เปน 1 จากนั้น ทดสอบเงื่อนไข i <= 12 จริงหรือเท็จ ถาเปนจริงจะทําคําสั่งบรรทัดที่ 10 ถาเปนเท็จจะออกจาก for ไปทํา คําสั่งบรรทัดที่ 11 บรรทัดที่ 10 ฟงกชัน printf( ) แสดงคาตัวแปร k, i และ i * k นั่นคือ คาแมสูตรคูณตัวเลขนั้น ๆ คูณ กับคา i ในแตละรอบ และคาผลลัพธที่ไดจากการเอาตัวเลขแมสูตรคูณ คูณกับตัวเลขในแตละรอบออกมาเปน สูตรคูณ บรรทัดที่ 11 ฟงกชัน printf( ) พิมพขอความใหกดคียใด ๆ เพื่อกลับสูโปรแกรม บรรทัดที่ 12 หยุดรอรับคาใด ๆ จากคียบอรด เชน ถากด enter ก็จะกลับสูโปรแกรม


2. คําสั่ง while while เปนคําสั่งที่มีการทํางานซ้ํา ๆ เปนลูป และมีลักษณะการทํางานของคําสั่งคลายกับคําสั่ง for แตกตางกันตรงที่ การใช while ไมตองทราบจํานวนรอบของการทํางานที่แนนอน แตตองมีเงื่อนไขที่เปนเท็จจึง จะออกจากคําสั่ง while ได รูปแบบการใชคําสั่ง while while (expression) statement; หรือ while (expression) { statement(s); } โดยที่ expression คือ นิพจนที่ใชทดสอบเงื่อนไข ถานิพจนนี้ใหผลลัพธเปนจริงจะทําตามคําสั่งที่อยู ภายในคําสั่ง while จนกวาเงื่อนไขเปนเท็จจึงออกจากคําสั่ง while ได ลักษณะการทํางานของคําสั่ง while สามารถเขียนเปนแผนผังไดดังนี้

รูปที่ 9.2 ผังงานแสดงลักษณะการทํางานของคําสั่ง while ที่มา : สมชาย รัตนเลิศนุสรณ, 2545 : 82. ใ.


โปรแกรมตัวอยางที่ 9.3 แสดงการใชคําสั่ง while เพื่อวนคํานวณคาสะสมตัวเลข 1 ถึง 10 และหาคาเฉลี่ย แลวแสดงผลออกจอภาพ /* while1.c */ #include<stdio.h> #include<conio.h> void main(void) { int n=1; float sum =0 , avg; clrscr( ); while ( n < 11 ) { sum+=n; n++; } /* end while */ n--; avg = sum/n; printf("N = %d, Sum = %.2f\n",n, sum); printf("Average = %.2f", avg); printf("\n\nPress any key back to program..."); getch(); } ผลลัพธที่ไดจากโปรแกรม

/* /* /* /* /* /* /* /* /* /* /* /* /* /* /* /* /* /* /*

บรรทัดที่ บรรทัดที่ บรรทัดที่ บรรทัดที่ บรรทัดที่ บรรทัดที่ บรรทัดที่ บรรทัดที่ บรรทัดที่ บรรทัดที่ บรรทัดที่ บรรทัดที่ บรรทัดที่ บรรทัดที่ บรรทัดที่ บรรทัดที่ บรรทัดที่ บรรทัดที่ บรรทัดที่

1 */ 2 */ 3 */ 4 */ 5 */ 6 */ 7 */ 8 */ 9 */ 10 */ 11 */ 12 */ 13 */ 14 */ 15 */ 16 */ 17 */ 18 */ 19 */


คําอธิบายโปรแกรม จากโปรแกรมตัวอยางที่ 9.3 สามารถอธิบายการทํางานของโปรแกรมที่สําคัญ ๆ ไดดังนี้ บรรทัดที่ 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 ก็จะกลับสูโปรแกรม โปรแกรมตัวอยางที่ 9.4 แสดงการใชคําสั่ง while เพื่อวนทํางานใหผูใชเติมตัวอักษร และ แสดงผลออก จอภาพไปเรื่อย ๆ จนกวาจะกด enter ถึงหยุดการทํางาน /* while2.c */ #include<stdio.h> #include<conio.h> void main(void) { char ch='A'; while (ch != '\r') { clrscr(); printf("Enter a character : "); ch=getche(); printf("\nYour type a character is...%c", ch); getch(); } /* end while */ }

/* /* /* /* /* /* /* /* /* /* /* /* /* /*

บรรทัดที่ บรรทัดที่ บรรทัดที่ บรรทัดที่ บรรทัดที่ บรรทัดที่ บรรทัดที่ บรรทัดที่ บรรทัดที่ บรรทัดที่ บรรทัดที่ บรรทัดที่ บรรทัดที่ บรรทัดที่

1 */ 2 */ 3 */ 4 */ 5 */ 6 */ 7 */ 8 */ 9 */ 10 */ 11 */ 12 */ 13 */ 14 */


ผลลัพธที่ไดจากโปรแกรม

คําอธิบายโปรแกรม จากโปรแกรมตัวอยางที่ 9.4 สามารถอธิบายการทํางานของโปรแกรมที่สําคัญ ๆ ไดดังนี้ บรรทัดที่ 5 ประกาศตัวแปรชนิดตัวอักขระ ชื่อ ch และใหเก็บคา ‘A’ เพื่อไวตรวจสอบเงื่อนไขเริ่มแรก บรรทัดที่ 6 คําสั่ง while (ch != ‘ \r ’) คือ การตรวจสอบเงื่อนไข คาของตัวแปร ch ไมเทากับ ‘ \r ‘ หรือไม (‘ \r ‘ คือรหัสของการกดแปน enter) ซึ่งถาเงื่อนไขเปนจริง จะทําคําสั่งภายใน loop while คือ บรรทัดที่ 8 ถึง 12 แตถาเงื่อนไขเปนเท็จก็จะออกจาก loop while ซึ่งในกรณีนี้เงื่อนไขจะเปนเท็จไดคือผูใช จะตองกดแปน enter เพราะ ‘ \r ‘ ไมเทากับ ‘ \r ‘ จะเปนเท็จ บรรทัดที่ 8 ถึง 12 เปนคําสั่งที่โปรแกรมจะทํางานภายหลังจากตรวจสอบเงื่อนไข while แลวเปนจริง คือ ลบจอภาพ แลวใหเติมตัวอักขระตัวใด ๆ ไปเก็บไวในตัวแปร ch เพื่อเอาไวตรวจสอบเงื่อนไข และนํา คาตัวอักขระที่ผูใชเติมแสดงออกจอภาพ สุดทายหยุดรอรับคาใด ๆ จากคียบอรด เชน ถากด enter ก็จะกลับ สูโปรแกรม


3. คําสั่ง do while do while เปนคําสั่งที่มีการทํางานซ้ํา ๆ วนลูป คลายกับคําสั่ง while มาก แตกตางกันตรงที่คําสั่ง do while จะทดสอบเงื่อนไขหลังจากที่ไดทํางานตามคําสั่งภายในลูปไปแลว 1 รอบ จากนั้นจึงคอยยอนกลับ มาทดสอบเงื่อนไขอีกครั้งหนึ่ง ถาเงื่อนไขเปนจริงก็จะทํางานตามคําสั่งภายในลูป แตถาเงื่อนไขเปนเท็จจะออก จากคําสั่ง do while ทันที รูปแบบการใชคําสั่ง do while do{ statement(s); } while (expression); ลักษณะการทํางานของคําสั่ง do while สามารถเขียนเปนแผนผังไดดังนี้

รูปที่ 4.3 ผังงานแสดงลักษณะการทํางานของคําสั่ง do while ที่มา : สมชาย รัตนเลิศนุสรณ, 2545 : 85.


ขอควรระวังในการใชคําสั่ง do while ควรระวังเงื่อนไขของคําสั่ง do while ตองพิจารณาใหดีวามีทั้งกรณีที่เปนจริงและเท็จอยูหรือไม ถามี อยูทั้ง 2 กรณี แสดงวาใชคําสั่งนี้ไดถูกตองตามไวยากรณของคําสั่งนี้ ถามีเฉพาะกรณีที่เงื่อนไขเปนจริงเทานั้น แสดงวาเกิดลักษณะการทํางานวนลูป (looping) ไมมีทางออกจากคําสั่งนี้ ในทํานองกลับกันถาเงื่อนไขเปนเท็จ อยางเดียว จะทําคําสั่ง do while เพียงครั้งเดียว

โปรแกรมตัวอยางที่ 9.5 แสดงการใชคําสั่ง do while เพื่อวนลูปแสดง main memu ใหผูใชเลือกเมนู ไป เรื่อย ๆ จนกวาเลือกเมนูที่ 5 ถึงจะออกจากโปรแกรม /*

dowhile1.c

*/

#include<stdio.h> #include<conio.h> void main(void) { char choice; clrscr(); do { printf("\n\n******* MAIN MENU *******\n"); printf("*************************\n\n"); printf("1. Create New File\n"); printf("2. Use an Old File\n"); printf("3. Edit data record in File \n"); printf("4. Append data record in File\n"); printf("5. Exit Program\n"); printf("Enter your choice(1,2,3,4,5): "); choice=getche(); }while(choice != '5'); }

/* /* /* /* /* /* /* /* /* /* /* /* /* /* /* /* /* /*

บรรทัดที่ บรรทัดที่ บรรทัดที่ บรรทัดที่ บรรทัดที่ บรรทัดที่ บรรทัดที่ บรรทัดที่ บรรทัดที่ บรรทัดที่ บรรทัดที่ บรรทัดที่ บรรทัดที่ บรรทัดที่ บรรทัดที่ บรรทัดที่ บรรทัดที่ บรรทัดที่

1 */ 2 */ 3 */ 4 */ 5 */ 6 */ 7 */ 8 */ 9 */ 10 */ 11 */ 12 */ 13 */ 14 */ 15 */ 16 */ 17 */ 18 */


ผลลัพธที่ไดจากโปรแกรม

คําอธิบายโปรแกรม จากโปรแกรมตัวอยางที่ 9.5 สามารถอธิบายการทํางานของโปรแกรมที่สําคัญ ๆ ไดดังนี้ บรรทัดที่ 7 คําสั่ง do จะควบคุมการทํางานของโปรแกรม ใหทําตามคําสั่งที่อยูภายใน loop do คือ คําสั่งภายในเครื่องหมาย { } บรรทัดที่ 8 ถึง 16 ซึ่งจะทําอยางนอย 1 รอบ หลังจากนั้นคอยไปตรวจสอบ เงื่อนไข while ในบรรทัดที่ 17 ถาเปนจริงจะกลับมาทําคําสั่งใน loop อีกครั้ง แตถาเปนเท็จก็จะออกจาก โปรแกรม และสิ้นสุดการทํางาน บรรทัดที่ 17 คําสั่ง while (choice!=‘5‘); จะตรวจสอบคาที่รับเขามาจากคียบอรด ซึ่งจะเก็บไวในตัวแปร choice และคาที่รับเขามาจะเปนชนิดอักขระ ตรวจสอบวาไมเทากับ ตัวอักขระ 5 จริงหรือเท็จ (‘5‘ ความหมายเปนตัวอักขระไมใชตัวเลข ซึ่งเวลาตรวจสอบเงื่อนไข ตัวดําเนินการทางคณิตศาสตร ขอมูลที่จะ ตรวจสอบตองเปนชนิดเดียวกัน) มีเงื่อนไขที่จะเปนเท็จอยูกรณีเดียว คือ เติม 5 จะทําให ‘5‘ != 5 เปนเท็จ ก็จะออกจาก loop และจบการทํางาน


โปรแกรมตัวอยางที่ 9.6 แสดงการใชคําสั่ง do while เพื่อวนลูป คํานวณคาผลบวกตัวเลข 1 ถึง 100

/* dowhile2.c

*/

#include <stdio.h> #include <conio.h> void main(void) { int i=1, sum=0; clrscr();

/* /* /* /* /* /*

บรรทัดที่ บรรทัดที่ บรรทัดที่ บรรทัดที่ บรรทัดที่ บรรทัดที่

do { sum = sum+i; i++; } while (i<=100);

/* /* /* /* /*

บรรทัดที่ 7 */ บรรทัดที่ 8 */ บรรทัดที่ 9 */ บรรทัดที่ 10 */ บรรทัดที่ 11 */

printf("Sum = %d", sum); printf("\n\nPress any key back to program..."); getch(); }

/* /* /* /*

บรรทัดที่ บรรทัดที่ บรรทัดที่ บรรทัดที่

ผลลัพธที่ไดจากโปรแกรม

1 2 3 4 5 6

12 13 14 15

*/ */ */ */ */ */

*/ */ */ */


คําอธิบายโปรแกรม จากโปรแกรมตัวอยางที่ 4.9 สามารถอธิบายการทํางานของโปรแกรมที่สําคัญ ๆ ไดดังนี้ บรรทัดที่ 7 คําสั่ง do จะควบคุมการทํางานของโปรแกรม ใหทําตามคําสั่งที่อยูภายใน loop do คือ คําสั่งภายในเครื่องหมาย { } บรรทัดที่ 9 ถึง 10 ซึ่งจะทําอยางนอย 1 รอบ หลังจากนั้นคอยไปตรวจสอบ เงื่อนไข while ในบรรทัดที่ 11 ถาเปนจริงจะกลับมาทําคําสั่งใน loop อีกครั้ง แตถาเปนเท็จก็จะออกจาก โปรแกรม และสิ้นสุดการทํางาน บรรทัดที่ 11 คําสั่ง while (i<=100); จะตรวจสอบวาคา i นอยกวาหรือเทากับ 100 เปนจริงหรือเท็จ ถาเปนจริงจะกลับไปทํางานตามคําสั่งใน loop do คือ บวกสะสมตัวเลข เก็บไวในตัวแปร sum แลวเพิ่มคา i ขึ้นทีละ 1 แตถาเปนเท็จ คือ คา i เปน 101 จะออกจาก loop do แลวไปทําคําสั่งบรรทัดที่ 12 ถึง 14 นั่นคือ พิมพคาผลบวกสะสมตัวเลข 1 ถึง 100 แลวพิมพขอความใหกดคียใด ๆ เพื่อกลับเขาสูโปรแกรม และหยุดรอรับคาใด ๆ จากคียบอรด เชน ถากด enter ก็จะกลับสูโปรแกรม 4 คําสั่ง break break เปนคําสั่งที่สั่งใหออกจากคําสั่ง for หรือ while หรือ do while หรือคําสั่ง switch รูปแบบการใชคําสั่ง break break;

โปรแกรมตัวอยางที่ 9.7 แสดงการใชคําสั่ง break ควบคูกับคําสั่ง for /*

break.c */

#include<stdio.h> #include<conio.h> void main(void) { int j; clrscr(); for (j=1; j<=20; j++) { printf("%d\t",j);

/* /* /* /* /* /* /* /*

บรรทัดที่ 1 */ บรรทัดที่ 2 */ บรรทัดที่ 3 */ บรรทัดที่ 4 */ บรรทัดที่ 5 */ บรรทัดที่ 6 */ บรรทัดที่ 7 */ บรรทัดที่ 8 */


if (j==10) break; /* break when j==10 */ } /* end for */ printf("\n\nPress any key back to program..."); getch(); }

/* /* /* /* /*

บรรทัดที่ บรรทัดที่ บรรทัดที่ บรรทัดที่ บรรทัดที่

9 */ 10 */ 11 */ 12 */ 13

ผลลัพธที่ไดจากโปรแกรม

คําอธิบายโปรแกรม จากโปรแกรมตัวอยางที่ 9.7 สามารถอธิบายการทํางานของโปรแกรมที่สําคัญ ๆ ไดดังนี้ บรรทัดที่ 7 คําสั่ง for (j = 1; j <=20; j++) ตองการใหโปรแกรมวนทํางานพิมพคาของตัวแปร j ตั้งแต 1 ถึง โดยแตละคาใหหางกัน 1 tab บรรทัดที่ 9 คําสั่ง if (j == 10) break; จะตรวจสอบคาตัวแปร j วาเทากับ 10 หรือไม ถาเทากับ 10 ใหหยุดการทํางาน (break) และออกจาก loop for ดังนั้นโปรแกรมนี้จะไมไดพิมพตัวเลข 1 ถึง 20 เพราะ พบคําสั่ง break แตจะพิมพตัวเลข 1 ถึง 10 บรรทัดที่ 11 และ 12 เปนคําสั่งที่จะทํางานภายหลังจากตรวจสอบเงื่อนไข for ในบรรทัดที่ 7 แลวไดคา เท็จ นั่นคือ พิมพขอความใหกดคียใด ๆ เพื่อกลับสูโปรแกรม และหยุดรอรับคาใด ๆ จากคียบอรด เชน ถา กด enter ก็จะกลับสูโปรแกรม


5. คําสั่ง continue continue เปนคําสั่งที่สั่งใหกลับไปทํางานที่คําสั่งแรกของลูปคําสั่ง for หรือ while หรือ do while ทําใหมีการทํางานในรอบตอไป รูปแบบการใชคําสั่ง continue continue; โปรแกรมตัวอยางที่ 9.8 แสดงการใชคําสั่ง continue ควบคูกับคําสั่ง for /*

continue.c

*/

#include<stdio.h> #include<conio.h> void main(void) { int j; clrscr(); for( j=1; j<=20; j++ ){ printf("%d\t",j); if (j==5) { j=j+10; continue; } } printf("\n\nPress any key back to program..."); getch(); }

/* /* /* /* /* /* /* /* /* /* /* /* /*

บรรทัดที่ บรรทัดที่ บรรทัดที่ บรรทัดที่ บรรทัดที่ บรรทัดที่ บรรทัดที่ บรรทัดที่ บรรทัดที่ บรรทัดที่ บรรทัดที่ บรรทัดที่ บรรทัดที่

1 */ 2 */ 3 */ 4 */ 5 */ 6 */ 7 */ 8 */ 9 */ 10 */ 11 */ 12 */ 13 */


ผลลัพธที่ไดจากโปรแกรม

คําอธิบายโปรแกรม จากโปรแกรมตัวอยางที่ 4.11 สามารถอธิบายการทํางานของโปรแกรมที่สําคัญ ๆ ไดดังนี้ บรรทัดที่ 7 คําสั่ง for (j=1; j<=20; j++) ตองการใหโปรแกรมวนทํางานพิมพคาของตัวแปร j ตั้งแต 1 ถึง 20 โดยแตละคาใหหางกัน 1 tab บรรทัดที่ 9 คําสั่ง if (j==5) {j=j+10; continue;} จะตรวจสอบคาตัวแปร j วาเทากับ 5 หรือไม ถา เทากับ 5 ใหเพิ่มคา j ไป 10 แลวกลับไปทํางาน (continue) คําสั่งบรรทัดที่ 7 คือ เพิ่มคา j อีก 1 เปน 16 ดังนั้นโปรแกรมนี้จะไมไดพมิ พตัวเลข 1 ถึง 20 ทุกตัว แตจะขามตัวเลขชวง 6 ถึง 15 ไป บรรทัดที่ 11 และ 12 เปนคําสั่งที่จะทํางานภายหลังจากตรวจสอบเงื่อนไข for ในบรรทัดที่ 7 แลวไดคา เท็จ นั่นคือ พิมพขอความใหกดคียใด ๆ เพื่อกลับสูโปรแกรม และหยุดรอรับคาใด ๆ จากคียบอรด เชน ถา กด enter ก็จะกลับสูโปรแกรม


Ch9  
Advertisement
Read more
Read more
Similar to
Popular now
Just for you