[ภาษาซี] คําสั่งทําซํ้า (Iteration Statement)

4 Jan 2018

Share to:

คําสั่งทําซํ้าเป็นคําสั่งที่ใช้ในการวงรอบ (loop) การทํางานของโปรแกรม ซึ่งมีประโยชน์ในกรณีที่ต้องการทํางานหนึ่งๆ ซํ้ากันหลายๆครั้ง

คําสั่งทําซํ้า for

รูปแบบคําสั่ง

for ( กำหนดค่าเริ่มต้นให้กับตัวแปร ; เงื่อนไขที่ต้องการตรวจสอบ ; ปรับค่าตัวแปร) {
    คําสั่งที่ 1;
}
คําสั่งที่ 2;

คําสั่งนี้ประกอบไปด้วย 3 ส่วนคือ

  1. ส่วนกําหนดค่าเริ่มต้นให้กับตัวแปร ในส่วนนี้เป็นการกําหนดค่าเริ่มต้นให้กับตัวแปรที่ต้องการใช้งานใน loop โดยปกติแล้วเราจะใช้ตัวแปรนี้ในการควบคุม loop
  2. ส่วนของเงือนไขที่ต้องการตรวจสอบ เป็นนิพจน์ตรรกะที่เป็นเงือนไขในการทํางานของ loop โดยถ้าเงื่อนไขเป็นจริงจะยังทํางาน loop ต่อไป แต่ถ้าเงื่อนไขเป็นเท็จจะออกจากการทํางานของ loop
  3. ส่วนการปรับค่าของตัวแปร เป็นส่วนของการปรับค่าตัวแปรที่ใช้ใน loop เพื่อใช้เปลี่ยนแปลงค่า เพิ่มหรือลดค่าเพื่อให้การตรวจสอบในส่วนที่สองเป็นเท็จหรือเป็นจริงตามที่เราต้องการ

การทํางานของ for นั้นจะเริ่มทํางานตามลําดับที่กล่าวมาข้างต้นคือ เริ่มแรกกําหนดค่าตัวแปรเริ่มต้น ต่อมาก็จรวจสอบเงื่อนไข ถ้าเงื่อนไขเป็นจริงก็ทําคําสั่งที่ 1 หลังจากนั้นก็ปรับค่าของตัวแปรในส่วนที่3  และไปตรวจสอบเงื่อนไขอีกครั้ง ทํางานวนไปแบบนี้เรื่อยๆจนกว่าเงื่อนไขจะเป็นเท็จ

Image

ตัวอย่าง

int i;
for( i=0 ; i<100 ; i++){
    printf("%d\n", i);
}

จากตัวอย่างด้านบน โปรแกรมจะวนลูป ทั้งหมด 100 ครั้ง โดยแต่ละครั้งจะแสดงตัวเลขไปด้วย จาก 0-99

คําสั่งทําซั้า while

รูปแบบคําสั่ง

while ( เงื่อนไข ) {
    คําสั่งที่ 1;
}
คําสั่งที่ 2;

หลักการทํางานคือ จะทําการตรวจสอบเงื่อนไขก่อน ถ้าเงื่อนไขเป็นจริงก็จะทํางานคําสั่งที่ 1 เมื่อทํางานคําสั่งที่ 1 จบ ก็จะมาตรวจสอบเงื่อนไขอีก จะทําแบบนี้ไปเรื่อยๆจนกว่าเงื่อนไขจะเป็นเท็จจึงจะออกจาก loop มาทําคําสั่งที่ 2

Image

ตัวอย่าง

int number = 100;
while(number > 0){
    printf("%d", number);
    number--;
}

จากตัวอย่างด้านบน โปรแกรมจะวนลูป ทั้งหมด 100 ครั้ง โดยแต่ละครั้งจะแสดงตัวเลขไปด้วย จาก 100-1

คําสั่งทําซั้า do-while

รูปแบบคําสั่ง

do {
    คําสั่งที่ 1;
} while ( เงื่อนไข );
คําสั่งที่ 2;

หลักการทํางานคือ คําสั่งนี้จะทํางานคําสั่งที่ 1 อย่างน้อย 1 ครั้งเสมอ ไม่ว่าเงื่อนไขจะเป็นจริงหรือเท็จก็ตาม จากนั้นจึงค่อยมาจรวจสอบเงื่อนไขภายหลังจะเป็นจริงก็กลับไปทําคําสั่งที่ 1 อีกรอบ แต่หากเงื่อนไขเป็นเท็จก็จะออกจากการทํางานของ loop ไปทําคําสั่งที่ 2 ต่อไป

Image

int number = 100;
do{
    printf("%d", number);
    number--;
}while(number > 0)

จากตัวอย่างด้านบน โปรแกรมจะวนลูป ทั้งหมด 100 ครั้ง โดยแต่ละครั้งจะแสดงตัวเลขไปด้วย จาก 100-1

Suggestion blogs

สร้าง Chrome Extension ด้วย Vuejs

ในการสร้าง Chrome Extension หรือเรียกเป็นภาษาไทย "ส่วนขยาย" จะใช้ HTML/CSS/JavaScript ในการเขียน ซึ่งจะคล้ายกับการเขียนเว็บทั่วๆไป ในเมื่อมันเป็น HTML/CSS/JavaScript ก็จับมาเขียนด้วย Vuejs ซะเลย เพื่อให้ง่ายต่อการพัฒนา

Go EP.2 ทําความรู้จักกับ Go module

สวัสดีครับ ในบทความนี้ก็เป็น EP.2 แล้วนะครับ โดยเนื้อหาจะเป็นเรื่องเกี่ยวกับ Go module ว่าคืออะไร ใช้ทําอะไร และมีประโยชน์อย่างไรสําหรับท่านใดที่ยังไม่ได้อ่าน EP.1 ท่านสามารถกลับไปอ่านก่อนได้นะครับที่นี่ Go EP.1 เริ่มต้นเรียนรู้ภาษา Go

Unbox Raspberry Pi Zero W

Raspberry Pi Zero W เป็นรุ่นที่สอง พัฒนามาจากจาก Raspberry Pi Zero รุ่นนี้ราคาจะอยู่ที่ประมาณ 10$ หรือ ประมาณ 350 บาท สําหรับสิ่งที่เพิ่มเติมเข้ามาในรุ่นมีดังนี้


Copyright © 2019 - 2024 thiti.dev |  v1.19.0 |  Privacy policy |  status | 

            วงแหวนเว็บ