บทความนี้ก็ยังเป็น เรื่อง คำสั่งควบคุมภาษาซี เช่นเดิมนะครับ ซึ่งเป็นบทความที่ต่อจากบทความ คำสั่งควบคุม ภาษาซี 6 นะครับในบทนี้จะกล่าวถึงการใช้ คำสั่งทำซ้ำ(Iteration Statement) หรือที่รู้จักกันในชืื่อ วนลูป(loop) นะครับซึ่งคำสั่งการทำซ้ำในภาษาซี นั้น จะมีอยู่ 3 ประเภท โดยที่ประเภทที่ 1 เราได้รู้กันแล้วจากบทคำสั่งควบคุม ภาษาซี 5 ประเภทที่ 2 เราก็ได้รู้กันแล้วเช่นกันจากบท คำสั่งควบคุม ภาษาซี 6 เรามาดู ประเภทที่ 3 คือ คำสั่งทำซ้ำ do-while (do-while - loop) ประเภทสุดท้ายกันเถอะครับ
คำสั่งทำซ้ำ do-while (do-while - loop)
do{ | |||
รูปแบบ | |||
หลักการทำงาน คือ คำสั่งนี้จะทำงานอย่างน้อยที่สุด 1 ครั้งก่อนเสมอไม่ว่าเงื่อนไขจะเป็นจริง หรือเท็จ ก็ตามจากนั้นจึงค่อยตรวจสอบเงื่อนไขภายหลังซึ่งหากเงื่อนไขเป็นจริงก็จะวนลูปกลับไปทำงานที่ บล็อคคำสั่ง do – while อีกครั้งแต่หากเงื่อนไขเป็นเท็จก็จะหลุดออกจากคำสั่ง do – while ไปทำคำสั่งที่อยู่นอกลูป ต่อไป
โฟลวชาร์ตแสดงการทำงานของ คำสั่งทำซ้ำ do-while (do-while - loop)
เรามาดูตัวอย่างโปรแกรมแสดงการทำงานของคำสั่งทำซ้ำ do-whileกันหน่อยนะครับ
1: | #include<stdio.h> | |
2: | #include<conio.h> | |
3: | ||
4: | ||
5: | main(){ | |
6: | int i=150 ; | |
7: | clrscr(); | |
8: | do{ | |
9: | i=i+2; | |
10: | printf(" %d",i) | |
11: | }while(i>200); | |
12: | getch(); | |
13: | } |
ผลลัพธ์โปรแกรม | ||
152 |
อธิบายโปรแกรม
บรรทัดที่ 6 : ประกาศตัวแปร i ชนิด int ให้มีค่าเท่ากับ 150
บรรทัดที่ 8 – 11 : มีการใช้คำสั่ง do-while loop มาใช้การตรวจสอบเงื่อนไข ดังที่เคยบอกว่าไม่ว่าเงื่อนไขจะเป็นจริงหรือเท็จ ก็จะทำอย่างน้อย 1 ครั้ง เลยได้กระทำการปรับเปลียนค่า i ที่ได้กำหนดไว้ใน บรรทัดที่ 9 แล้วก็ได้แสดงค่า i ในบรรทัดที่10 พอถึงบรรทัดที่11 ก็ทำการตรวจสอบเงื่อนไข แล้วได้ผลว่าเป็นเท็จ ฉนั้น โปรแกรมนี้จรึงทำงานแค่รอบเดียว
เรามาดูอีกตัวอย่างโปรแกรมกันนะครับเป็นโปรแกรมตรวจสอบการรับตัวเลข
1: | #include<stdio.h> | |
2: | #include<conio.h> | |
3: | ||
4: | ||
5: | main(){ | |
6: | int num ; | |
7: | clrscr(); | |
8: | do{ | |
9: | printf(“please enternumber(4-9) :”); | |
10: | scanf(“%d”,&num); | |
11: | } while(num<4||num>9); | |
12: | getch(); | |
13: | } |
ผลลัพธ์โปรแกรม | ||
please enternumber(4-9) : 1 please enternumber(4-9) : 100 please enternumber(4-9) : 3 please enternumber(4-9) : 5 |
อธิบายโปรแกรม โปรแกรมนี้จะทำการตรวจสอบตัวเลขที่รับเข้ามาว่าอยู่ช่วงที่กำหนดให้หรือไม่ ถ้าไม่อยู่ช่วงที่กำหนด คือ 4 ถึง 9 ก็จะวนลูปกลับไปทำงานที่บล็อค do-while อีกครั้ง แต่ถ้าใช่ก็จะหลุดออกจาก บล็อค do-while การทำเช่นนี้เพื่อป้องกันให้ผู้ที่กรอกข้อมูลได้กรอกตรงตามที่เรากำหนดได้
>> อาเรย์
0 ความคิดเห็น:
แสดงความคิดเห็น