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

หมวดสำหรับแบ่งบันความ รู้ต่างๆ จะมีหมวดย่อยๆ ในหมวดนี้ เช่น php, SQL, XML, CSS

Moderators: mindphp, ผู้ดูแลกระดาน

Post Reply
Grammanano
PHP Sr. Member
PHP Sr. Member
Posts: 60
Joined: 02/12/2019 10:16 am

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

Post 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 87 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 87 times
มีการประยุกต์นำเอา if/else มาใช้ด้วย โดยโปรแกรมจะรับค่าจากผู้ใช้ก่อน จากนั้นจึงนำมาตรวจสอบว่าเป็นเลขคู่หรือเลขคี่โดยการ mod (%) หรือการหารเพื่อเอาเศษ หากค่าที่ผู้ใช้ใส่มาหาร 2 ลงตัว (เป็นเศษ 0) จะแสดงว่าเป็นเลขคู่ แต่หากหารไม่ลงตัว (มีเศษเป็น 1) แสดงว่าเป็นเลขคี่ ลูปจะหยุดการทำงานก็ต่อเมื่อผู้ใช้ใส่เลข 0 เพราะได้พาเข้าเงื่อนไขเจอคำสั่ง break เมื่อหลุดออกจากลูปจึงทำการแสดงค่าจำนวนของเลขคู่และคี่ที่ผู้ใช้ได้ป้อนไว้



บทความที่เกี่ยวข้อง
การเขียน if/else ในภาษา C
ภาษาซี กับ โจทย์ loop ในตำนาน
การเขียน while loop ในภาษา C
Last edited by mindphp on 03/12/2019 5:25 pm, edited 1 time in total.
Reason: แก้ไข ลิงค์ โดเมนไม่มี www

Post Reply
  • Similar Topics
    Replies
    Views
    Last post

Return to “Share Knowledge”

Who is online

Users browsing this forum: No registered users and 20 guests