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

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

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

Post Reply
Grammanano
PHP Full Member
PHP Full Member
Posts: 32
Joined: 02/12/2019 10:16 am

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

Post by Grammanano » 03/12/2019 6:24 pm

บทความนี้เกี่ยวกับการเขียน for loop ในภาษาซี โดยจะมีลักษณะการเขียนต่างไปจากลูป while และ do while แต่สามารถทำงานได้เหมือนกัน ซึ่งการทำลูปหรือการวนซ้ำนั้น จะช่วยให้เราประหยัดพื้นที่ในการเขียน เช่น หากต้องการให้แสดงเลข 1-10 เราไม่จำเป็นต้องใช้คำสั่งแสดงผลถึง 10 บรรทัด แต่เราสามารถวนซ้ำการทำงานได้ภายใน 3-4 บรรทัด


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

Code: Select all

for ( 1. กำหนดค่าเริ่มต้น ; 2. เงื่อนไข ; 3. เปลี่ยนแปลงค่าตัวแปร )
{
   ...คำสั่ง...
   .
   .
}
ทำงานโดยมีการกำหนดค่าเริ่มต้นในส่วนที่ 1 ก่อนแล้วจึงตรวจสอบเงื่อนไขในส่วนที่ 2 หากเงื่อนไขถูกจึงค่อยทำคำสั่งใน { } เมื่อจบลูป 1 รอบ ตัวแปรจะถูกเปลี่ยนแปลงตามที่กำหนดไว้ในส่วนที่ 3 จากนั้นจึงตรวจสอบเงื่อนไขและทำตามคำสั่งใน { } ไปเรื่อย ๆ จนกว่าเงื่อนไขจะไม่ถูกต้อง หรือเจอคำสั่ง break
ตัวอย่างโปรแกรม

Code: Select all

#include <stdio.h>

int main()
{
    int i;
    for (i=1;i>1;i++)
    {
        printf("Yey");
    }
    
    printf("Nothing");

    return 0;
}
ผลที่ได้
Share Knowledge-1.png
Share Knowledge-1.png (1.26 KiB) Viewed 966 times
แสดงคำว่า Nothing เพราะเมื่อกำหนดค่าตัวแปร i = 1 แล้ว ไม่ตรงตามเงื่อนไข i < 1 จึงไม่เข้าไปทำงานในลูป
for loop เองก็สามารถทำงานเหมือนกับ while และ do while ได้
เช่น

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

Code: Select all

#include <stdio.h>

int main()
{
    int i;
    for (i=1;i<11;i++)
    {
        printf("%d ",i);
    }

    return 0;
}
ผลที่ได้
Share Knowledge-2.png
Share Knowledge-2.png (1.97 KiB) Viewed 966 times
นอกจากคำสั่ง break แล้ว ยังมีคำสั่ง continue
break จะใช้ในการออกจากลูป หรือเป็นการทำให้เงื่อนไขลูปกลายเป็น false โดยอัตโนมัติ แต่ continue จะเป็นการกระโดดข้ามไปทำต้น loop ใหม่
เช่น

Code: Select all

#include <stdio.h>

int main()
{
    int i;
    for (i=1;i<11;i++)
    {
        printf("%d ",i);
        if (i == 5)
        {
            printf("\nBefore continue\n");
            continue;
            printf("After continue");
        }
    }

    return 0;
}
ผลที่ได้
Share Knowledge-3.png
Share Knowledge-3.png (3.48 KiB) Viewed 966 times
จะเห็นได้ว่าเมื่อ i = 5 จะทำการแสดงคำว่า Before continue แต่ไม่แสดงคำว่า After continue เพราะมีคำสั่ง continue คั่นกลาง เมื่อโปรแกรมเจอ continue จึงทำการกระโดดข้ามไปวนลูปใหม่ทันที



บทความที่เกี่ยวข้อง
การเขียน if/else ในภาษา C
ภาษาซี กับ โจทย์ loop ในตำนาน
การเขียน while loop ในภาษา C
การเขียน do while loop ในภาษา C
Last edited by Grammanano on 04/12/2019 11:17 am, edited 1 time in total.

User avatar
chatee supasand
PHP VIP Members
PHP VIP Members
Posts: 1099
Joined: 04/06/2019 10:06 am

Re: การเขียน for loop ในภาษา C

Post by chatee supasand » 03/12/2019 7:14 pm

ขาดเกริ่นนำนะครับ ควารมีเกริ่นนำด้วยครับ
Image

Post Reply

Return to “Share Knowledge”

Users browsing this forum: No registered users and 13 guests