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

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

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

Grammanano
PHP Sr. Member
PHP Sr. Member
โพสต์: 60
ลงทะเบียนเมื่อ: 02/12/2019 10:16 am

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

โพสต์ที่ยังไม่ได้อ่าน โดย Grammanano »

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


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

โค้ด: เลือกทั้งหมด

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

โค้ด: เลือกทั้งหมด

#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 2191 times
แสดงคำว่า Nothing เพราะเมื่อกำหนดค่าตัวแปร i = 1 แล้ว ไม่ตรงตามเงื่อนไข i < 1 จึงไม่เข้าไปทำงานในลูป
for loop เองก็สามารถทำงานเหมือนกับ while และ do while ได้
เช่น

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

โค้ด: เลือกทั้งหมด

#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 2191 times
นอกจากคำสั่ง break แล้ว ยังมีคำสั่ง continue
break จะใช้ในการออกจากลูป หรือเป็นการทำให้เงื่อนไขลูปกลายเป็น false โดยอัตโนมัติ แต่ continue จะเป็นการกระโดดข้ามไปทำต้น loop ใหม่
เช่น

โค้ด: เลือกทั้งหมด

#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 2191 times
จะเห็นได้ว่าเมื่อ i = 5 จะทำการแสดงคำว่า Before continue แต่ไม่แสดงคำว่า After continue เพราะมีคำสั่ง continue คั่นกลาง เมื่อโปรแกรมเจอ continue จึงทำการกระโดดข้ามไปวนลูปใหม่ทันที



บทความที่เกี่ยวข้อง
การเขียน if/else ในภาษา C
ภาษาซี กับ โจทย์ loop ในตำนาน
การเขียน while loop ในภาษา C
การเขียน do while loop ในภาษา C
แก้ไขล่าสุดโดย Grammanano เมื่อ 04/12/2019 11:17 am, แก้ไขไปแล้ว 1 ครั้ง.
ภาพประจำตัวสมาชิก
chatee supasand
PHP VIP Members
PHP VIP Members
โพสต์: 1666
ลงทะเบียนเมื่อ: 04/06/2019 10:06 am

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

โพสต์ที่ยังไม่ได้อ่าน โดย chatee supasand »

ขาดเกริ่นนำนะครับ ควารมีเกริ่นนำด้วยครับ
รูปภาพ
ตอบกลับโพส
  • Similar Topics
    ตอบกลับ
    แสดง
    โพสต์ล่าสุด

ผู้ใช้งานขณะนี้

สมาชิกกำลังดูบอร์ดนี้: ไม่มีสมาชิกใหม่ และบุคลทั่วไป 20