คำสั่งควบคุม ภาษาซี 7

ภาษา c

บทความนี้ก็ยังเป็น เรื่อง คำสั่งควบคุมภาษาซี เช่นเดิมนะครับ ซึ่งเป็นบทความที่ต่อจากบทความ คำสั่งควบคุม ภาษาซี 6 นะครับในบทนี้จะกล่าวถึงการใช้ คำสั่งทำซ้ำ(Iteration Statement) หรือที่รู้จักกันในชืื่อ วนลูป(loop) นะครับซึ่งคำสั่งการทำซ้ำในภาษาซี นั้น จะมีอยู่ 3 ประเภท โดยที่ประเภทที่ 1 เราได้รู้กันแล้วจากบทคำสั่งควบคุม ภาษาซี 5 ประเภทที่ 2 เราก็ได้รู้กันแล้วเช่นกันจากบท คำสั่งควบคุม ภาษาซี 6 เรามาดู ประเภทที่ 3 คือ คำสั่งทำซ้ำ do-while (do-while - loop) ประเภทสุดท้ายกันเถอะครับ

คำสั่งทำซ้ำ do-while (do-while - loop)

     

   do{
           คำสั่งที่ 1;
      }while(เงื่อนไข );
      คำสั่งที่ 2;

รูปแบบ
     

หลักการทำงาน คือ คำสั่งนี้จะทำงานอย่างน้อยที่สุด 1 ครั้งก่อนเสมอไม่ว่าเงื่อนไขจะเป็นจริง หรือเท็จ ก็ตามจากนั้นจึงค่อยตรวจสอบเงื่อนไขภายหลังซึ่งหากเงื่อนไขเป็นจริงก็จะวนลูปกลับไปทำงานที่ บล็อคคำสั่ง do – while อีกครั้งแต่หากเงื่อนไขเป็นเท็จก็จะหลุดออกจากคำสั่ง do – while ไปทำคำสั่งที่อยู่นอกลูป ต่อไป

ภาษา c
โฟลวชาร์ตแสดงการทำงานของ คำสั่งทำซ้ำ 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 ความคิดเห็น:

แสดงความคิดเห็น