คำสั่งทำซ้ำ (Loop) – for
คำสั่ง for เป็นคำสั่งที่มีการตรวจสอบเงื่อนไขก่อนการทำซ้ำ จะทำซ้ำก็ต่อเมื่อเงื่อนไขเป็นจริง เหมาะกับการทำซ้ำที่รู้จำนวนรอบที่แน่นอน และมีการเปลี่ยนแปลงค่าของตัวแปรคงที่ รูปแบบคำสั่งมีดังนี้
ลองบันทึกผลลัพธ์จากโปรแกรมตัวอย่างต่อไปนี้ดูนะครับ
ตัวอย่างที่ 30
#include<stdio.h> int main(){ int i; for(i=0;i<10;i++) printf("%d\n",i); printf("End Program\n"); return 0; }
ตัวอย่างที่ 31
#include<stdio.h> int main(){ int i,sum=0; for(i=1;i<=10;i++) sum+=i; printf("sum = %d\n",sum); printf("End Program\n"); return 0; }
คำสั่งทำซ้ำ (Loop) – while
คำสั่ง while เป็นคำสั่งที่มีการตรวจสอบเงื่อนไขก่อนการทำซ้ำ จะทำซ้ำก็ต่อเมื่อเงื่อนไขเป็นจริง รูปแบบคำสั่งมีดังนี้
ลองบันทึกผลลัพธ์จากโปรแกรมตัวอย่างต่อไปนี้ดูนะครับ
ตัวอย่างที่ 32
#include<stdio.h> int main(){ int i=0; while(i<=10){ printf("%d",i); i+=2; } printf("End Program\n"); return 0; }
คำสั่งทำซ้ำ (Loop) – do..while
คำสั่ง do..while เป็นคำสั่งทำซ้ำที่มีการทำงานอย่างน้อย 1 รอบก่อนการตรวจสอบเงื่อนไข จะทำซ้ำก็ต่อเมื่อเงื่อนไขเป็นจริง รูปแบบคำสั่งมีดังนี้
do { กลุ่มคำสั่งที่ต้องการให้ทำซ้ำเมื่อเงื่อนไขเป็นจริง; } while( เงื่อนไข );
ลองบันทึกผลลัพธ์จากโปรแกรมตัวอย่างต่อไปนี้ดูนะครับ
ตัวอย่างที่ 33
#include<stdio.h> int main(){ int i=1; do{ printf("%d",i); i+=2; }while(i<=10); printf("End Program\n"); return 0; }
คำสั่งทำซ้ำ (Loop) – Advance Loop
การใช้ Loop ร่วมกับ การเช็คเงื่อนไข เป็นการใช้ Loop ร่วมกับคำสั่งเงื่อนไข ในบทที่ 2 เพื่อให้ Loop สามารถทำงานได้หลากหลายและมีประสิทธิภาพมากขึ้น ลองบันทึกผลลัพธ์จากโปรแกรมตัวอย่างต่อไปนี้ดูนะครับ
ตัวอย่างที่ 34
#include<stdio.h> int main(){ int i,count=0; for(i=1;i<=100;i++){ if(i%3==0&&i%7==0){ printf("%d\n",i); count++; } } printf("num mod 3 and 7 = 0 : %d\n",count); printf("End Program\n"); return 0; }
การใช้ Loop ซ้อน Loop (์Nested Loop) เป็นการทำงานที่มีความซับซ้อนมากขึ้น โดยการนำ loop ซ้อนกันหลายๆชั้น มักจะใช้ในการประมวลผลข้อมูลในรูปแบบที่ซับซ้อน เช่น เมตริกซ์ เป็นต้น ซึ่งมีลักษณะการทำงานดังรูป
ลองบันทึกผลลัพธ์ของโปรแกรมตัวอย่างต่อไปนี้ดูนะครับ
ตัวอย่างที่ 35 เมื่อป้อนเลข 5
int main(){#include<stdio.h> int i,j,n; scanf("%d",&n); for(i=0;i<n;i++){ for(j=0;j<n;j++){ printf("%d",i); } printf("\n"); } printf("End Program\n"); return 0; }
ตัวอย่างที่ 36 เมื่อป้อนเลข 5
#include<stdio.h> int main(){ int i,j,n; scanf("%d",&n); for(i=0;i<n;i++){ for(j=0;j<n;j++){ printf("%d",j); } printf("\n"); } printf("End Program\n"); return 0; }
ตัวอย่างที่ 37 เมื่อป้อนเลข 5
#include<stdio.h> int main(){ int i,j,n; scanf("%d",&n); for(i=0;i<n;i++){ for(j=0;j<n;j++){ printf("*"); } printf("\n"); } printf("End Program\n"); return 0; }
คลิปศึกษาเพิ่มเติมสำหรับคำสั่งทำซ้ำ For
หลังจากที่ได้เรียนเกี่ยวกับคำสั่งทำซ้ำประเภท For ในภาษาซีเรียบร้อยแล้ว หลายๆ คนอาจจะยังไม่เห็นภาพหรือเข้าใจการทำงานของคำสั่งทำซ้ำอย่างชัดเจน เพื่อให้สามารถเข้าใจการทำงานของการเขียนโปรแกรมคำสั่งทำซ้ำด้วยภาษาซีได้ดียิ่งขึ้น ในบททนี้จะมีคลิปสอนเกี่ยวกับคำสั่งทำซ้ำประเภท For พร้อมตัวอย่างต่างๆ
อ้างอิงจาก รศ.ดร.ประเสริฐ คณาวัฒนไชย คณะพาณิชยศาสตร์และการบัญชี จุฬาลงกรณ์มหาวิทยาลัย
คลิปศึกษาเพิ่มเติมสำหรับคำสั่งทำซ้ำ while
หลังจากที่ได้เรียนเกี่ยวกับคำสั่งทำซ้ำประเภท while ในภาษาซีเรียบร้อยแล้ว หลายๆ คนอาจจะยังไม่เห็นภาพหรือเข้าใจการทำงานของคำสั่งทำซ้ำอย่างชัดเจน เพื่อให้สามารถเข้าใจการทำงานของการเขียนโปรแกรมคำสั่งทำซ้ำด้วยภาษาซีได้ดียิ่งขึ้น ในบททนี้จะมีคลิปสอนเกี่ยวกับคำสั่งทำซ้ำประเภท while พร้อมตัวอย่างต่างๆ
อ้างอิงจาก รศ.ดร.ประเสริฐ คณาวัฒนไชย คณะพาณิชยศาสตร์และการบัญชี จุฬาลงกรณ์มหาวิทยาลัย
No Comments