ภาษาซี กับ โจทย์ Loop ในตำนาน (5) แสดงเลขคู่/คี่ ด้วย Loop do while ตั้ง 0 จนถึง 100

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

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

User avatar
Aussadawut
PHP Hero Member
PHP Hero Member
Posts: 123
Joined: 15/11/2018 10:05 am

ภาษาซี กับ โจทย์ Loop ในตำนาน (5) แสดงเลขคู่/คี่ ด้วย Loop do while ตั้ง 0 จนถึง 100

Postby Aussadawut » 17/11/2018 4:23 pm

ภาษาซี กับ โจทย์ Loop ในตำนาน

สำหรับหลายๆคนที่เรียนมาแล้วหรือกำลังเรียนสายคอมพิวเตอร์ โปรแกรม จะต้องเจอกับโจทย์ Loop ชวนปวดหัวของอาจารย์อยู่เรื่อยๆ
นั่นก็เพราะว่า เราจะได้ฝึกให้มีความชำนาญในเรื่อง Loop และเข้าใจการทำงานของมันได้ง่ายขึ้นนั่นเอง

Loop คือ การทำงานวนซ้ำๆไปเรื่อยๆ จนกว่าจะถึงจุดที่เรากำหนดไว้

และโพสต์นี้เป็นโพสต์ที่ 5 แล้ว สำหรับ Loop ภาษาซีในตำนาน

โจทย์ : แสดงเลขคู่/คี่ ด้วย Loop do while ตั้ง 0 จนถึง 100
cdowhile246.png
cdowhile246.png (27.09 KiB) Viewed 3105 times


Code: Select all

#include<stdio.h>
main(){
        int i=0;
        do{
                printf("%d ",i);
                i += 2;
        }while(i<=100);
}


ข้อควรจำ do while จะทำใน do ครั้งแรกก่อนเสมอนะ

บรรทัดที่ 3 กำหนดตัวแปร i = 0
บรรทัดที่ 4,5,6,7 Loop do while นี้ คือ ให้วน Loop ไปเรื่อยๆจนกว่าค่าของ i จะมีค่าเท่า 100 จากนั้น Loop จะหยุดลง สังเกตได้ใน Loop จะมี i += 2 เหมือนกับโพสต์ที่แล้วคือ ทุกครั้งที่วน Loop ค่าของ i จะเพิ่มครั้งละ 2 นั่นเอง แต่ในที่นี้ Loop do while จะทำใน do ก่อนเป็นครั้งแรกเสมอโดยไม่สนใจในเงื่อนไข ตามด้วยการวน Loop while

ยกตัวอย่างแบบเข้าใจง่ายๆ และคำพูดง่ายๆ

Code: Select all

#include<stdio.h>
main(){
        int i=0;
       
        while(i<0){   // สั่งให้วน loop ถ้าค่า while น้อยกว่า 0
           printf("%d",i);   // แสดงผลค่าของ i
           i +=2 ;   // ค่า i เพิ่มขึ้น ครั้งละ 2
        }
       
        do{
                printf("1st run do");        // แสดงผล 1st run do
                i += 2;            // ค่า i เพิ่มขึ้น ครั้งละ 2
        }while(i<0);            // สั่งในวน loop ถ้าค่า while น้อยกว่า 0
}


ผลลัพธ์
cdowhile.png
cdowhile.png (24.46 KiB) Viewed 3105 times

จะสังเกตได้ว่า Loop while จะไม่แสดงค่าใดๆออกมาเลย แต่ Loop do while จะแสดง 1st run do ออกมา

----------------------------------------------------------------------------------------------------------------------------------

  • Similar Topics
    Replies
    Views
    Last post

Return to “Share Knowledge”

Who is online

Users browsing this forum: No registered users and 41 guests