การเขียน do while loop ในภาษา C

Post a reply

Smilies
:icon_plusone: :like: :plusone: :gfb: :-D :) :( :-o 8O :? 8) :lol: :x :P :oops: :cry: :evil: :twisted: :roll: :wink: :!: :?: :idea: :arrow: :| :mrgreen: :angry: :baa: :biggrin:
View more smilies

BBCode is ON
[img] is ON
[flash] is OFF
[url] is ON
Smilies are ON

Topic review
   

Expand view Topic review: การเขียน do while loop ในภาษา C

การเขียน do while loop ในภาษา C

by Grammanano » 03/12/2019 5:24 pm

do while loop ในภาษา C มีรูปแบบ คือ

Code: Select all

do
{
   ...คำสั่ง...
   .
   .
}while (เงื่อนไข);
โดยจะทำงานใน do{} ก่อน 1 รอบ แล้วจึงทำการตรวจสอบเงื่อนไขใน while หากเงื่อนไขถูก ก็จะทำการวนซ้ำมาทำใน do เรื่อย ๆ จนกว่าเงื่อนไขจะผิด
***do while แตกต่างจาก while ตรงที่ do while จะทำก่อนแล้วตรวจสอบเงื่อนไข แต่ while จะตรวจสอบเงื่อนไขก่อนแล้วจึงทำตามคำสั่ง
เช่น

โปรแกรมนับและแสดงเลข 1-10

Code: Select all

#include <stdio.h>

int main()
{
    int i=1;
    do 
    {
        printf("%d ",i);
        i++;
    }while (i<=10);

    return 0;
}
ผลที่ได้
Share Knowledge-1.png
Share Knowledge-1.png (2.16 KiB) Viewed 191 times
มีการทำงานคือ เมื่อกำหนดให้ค่า i = 1 จะทำการแสดงค่า i และเพิ่มค่า i เป็น 2 แล้วจึงไปตรวจสอบเงื่อนไขใน while ว่ายังน้อยกว่าหรือเท่ากับ 10 หรือไม่ หากเงื่อนไขถูกต้องแล้วจึงวนกลับไปทำใน do{}
เหมาะสำหรับโปรแกรมที่ต้องการให้ทำก่อนแล้วจึงตรวจสอบเงื่อนไข และสามารถนำคำสั่ง break มาประยุกต์ใช้ได้
เช่น

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

Code: Select all

#include <stdio.h>

int main()
{
    int num, c_even = 0, c_odd = 0;
    do 
    {
        scanf("%d",&num);
        if(num%2 == 0 && num != 0)
        {
            printf("%d is even\n",num);
            c_even++;
        }
        else if (num%2 == 1)
        {
            printf("%d is odd\n",num);
            c_odd++;
        }
        else if (num == 0)
        {
            break;
        }
    }while (1);
    
    printf("Even: %d, Odd: %d",c_even, c_odd);

    return 0;
}
ผลที่ได้
Share Knowledge-2.png
Share Knowledge-2.png (5.92 KiB) Viewed 191 times
มีการประยุกต์นำเอา if/else มาใช้ด้วย โดยโปรแกรมจะรับค่าจากผู้ใช้ก่อน จากนั้นจึงนำมาตรวจสอบว่าเป็นเลขคู่หรือเลขคี่โดยการ mod (%) หรือการหารเพื่อเอาเศษ หากค่าที่ผู้ใช้ใส่มาหาร 2 ลงตัว (เป็นเศษ 0) จะแสดงว่าเป็นเลขคู่ แต่หากหารไม่ลงตัว (มีเศษเป็น 1) แสดงว่าเป็นเลขคี่ ลูปจะหยุดการทำงานก็ต่อเมื่อผู้ใช้ใส่เลข 0 เพราะได้พาเข้าเงื่อนไขเจอคำสั่ง break เมื่อหลุดออกจากลูปจึงทำการแสดงค่าจำนวนของเลขคู่และคี่ที่ผู้ใช้ได้ป้อนไว้



บทความที่เกี่ยวข้อง
การเขียน if/else ในภาษา C
ภาษาซี กับ โจทย์ loop ในตำนาน
การเขียน while loop ในภาษา C

Top