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

ภาษา c

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

คำสั่งทำซ้ำ while

     

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

รูปแบบ
     

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

ภาษา c

โฟลวชาร์ตแสดงการทำงานของคำสั่งทำซ้ำ while

เรามาดูตัวอย่างโปรแกรมแสดงการทำงานของคำสั่งทำซ้ำ while กันหน่อยดีกว่า

1:   #include<stdio.h>
2:   #include<conio.h>
3:    
4:    
5:      main(){
6:          char ch ;
7:          clrscr();
8:            printf("Please enter character : ");
9:            scanf(“%c”,&ch);
10:             while(ch !=’ \n‘) {
11:                        scanf(“%c”,&ch);
12:                     }
13:            getch();
14:           }

 
ผลลัพธ์โปรแกรม
 
     Please enter character : Hi U company

อธิบายโปรแกรม โปรแกรมนี้ใช้ลูป while ตรวจสอบตัวอักษรที่รับเข้ามาว่าเป็น \n (\n นี้คือตัวอักษรขึ้นบรรทัดใหม่ ซึ่งการป้อนตัวอักษรตัวนี้ทำได้โดยกด Enter ) หรือไม่ ท่าใช่ก็จะออกจาก  while loop ทันที่  ท่าไม่ใช่ก็จะไม่ออกจากลูป ก็จะรับตัวอักษรต่อไปเรื่อยๆ

เรามาดูอีกตัวอย่างโปรแกรมเป็นโปรแกรมเกมท้ายตัวเลข นะครับ

1:   #include<stdio.h>
2:   #include<conio.h>
3:    
4:    
5:      main(){
6:        int   number;
7:        clrscr();
8:            printf(“Guess Number :”);
9:            scanf(“%d”,& number);
10:                
11:                while( number != 4)  {
12:                 printf(“You are wrong! try again\n”);
13:                 printf(“Guess Number :”);
14:                 scanf(“%d”,& number);
15:                }
16:           printf(“You WIN \n”);
17:           getch();
18:           }

 
ผลลัพธ์โปรแกรม
 
     Guess Number : 3
     You are wrong! try again
     Guess Number : 6
     You are wrong! try again
     Guess Number : 4
     You WIN

อธิบายโปรแกรม โปรแกรมนี้เป็นโปรแกรมท้ายตัวเลขโดยใช้ while loop มันจะทำการรับตัวเลขจากผู้ใช้ มาตรวจสอบเงื่อนไขด้วย while loop โดยในที่นี้กำหนดไว่ว่า ตัวเลขที่รับเขามาต้องมีค่าไม่เท่ากับ 4 ถ้าเท่ากับก็จะออกจาก while loop ทันที แต่ท่าไม่เท่ากับก็จะเข้าไปทำงานใน while loop เรื่อยๆ จนกว่าเงื่อนไขจะเป็นเท็จ

สุดท้ายนี้หวังว่าบทความนี้จะช่วยให้ทุกท่านมีความเข้าใจเกียวกับ while loop หรือ  คำสั่งทำซ้ำ while ไม่มากก็น้อยนะครับ ผมก็ขอจบบทความนี้ไว้เพียงแค่นี้ ไว้มาต่อ กันที่บทความ คำสั่งควบคุม ภาษาซี 7 นะครับ จะกล่าวเกียวกับเรื่อง  คำสั่งทำซ้ำ  do –while หรือ do –while loop นะครับ

0 ความคิดเห็น:

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