SlideShare a Scribd company logo
การเขียนคา สั่งควบคุมแบบวนซ้า
คำสั่งควบคุมแบบวนซ้ำ 
การวนซ้า เป็นการกา หนด 
ให้มีการประมวลผลคา สั่งซ้า ๆกัน 
ตั้งแต่ 1 ครั้งขึ้นไป ทั้งนี้ขึ้นอยู่กับ 
เงื่อนไขในการทา งาน ซึ่งจะช่วย 
ให้การเขียนโปรแกรมได้ง่าย สะดวก 
ไม่ต้องเขียนข้อความคา สั่งเดิม 
หลายครั้ง ทา ให้โปรแกรมมีความกระชับ สามารถตรวจสอบความผิดพลาด 
ได้ง่าย
โครงสร้ำงควบคุมแบบวนซ้ำ (repetition control structure) 
ประกอบด้วย 
คา สั่ง for 
คา สั่ง while 
คา สั่ง do-while 
โดยแต่ละโครงสร้างคา สั่ง มีรูปแบบและวิธีการใช้งานที่แตกต่างกัน 
นักเขียนโปรแกรมสามารถเลือกใช้ได้ตามความเหมาะสมกับลักษณะการใช้งานใน 
โปรแกรม
คำสั่ง for 
คา สั่ง for เป็นคา สั่งที่สั่งให้ประมวลผลคา สั่ง หรือชุดคา สั่ง วนซ้า ได้ 
หลายรอบ โดยต้องกา หนดจา นวนรอบให้การวนซ้า ที่แน่นอน 
รูปแบบของคา สั่ง for เป็นดังนี้ 
for (การกา หนดค่าเริ่มต้นของตัวนับ; 
เงื่อนไขการวนซ้า ; การเปลี่ยนแปลงค่าตัวนับ) 
คา สั่ง;
กำรกำหนดค่ำเริ่มต้นของตัวนับ เงื่อนไขกำรวนซ้ำ และ กำรเปลี่ยนแปลงค่ำตัวนับ 
เป็นนิพจน์ที่มีกำรทำงำนร่วมกันในคำสั่ง for ดังนี้ 
การกา หนดค่าเริ่มต้นของตัวนับ เป็นนิพจน์ที่ใช้สา หรับกา หนดค่าเริ่มต้น ให้กับตัว 
แปรที่ทา หน้าที่ควบคุมการวนซ้า และจะประมวลผลเพียงครั้งเดียว 
เงื่อนไขการวนซ้า เป็นนิพจน์ที่ใช้สา หรับประเมินค่า คา สั่ง จะถูกประมวลผลหรือไม่ 
นั่นคือถ้าเงื่อนไขการวนซ้า มีค่าจริง คา สั่ง จะถูกประมวลผล และถ้า เงื่อนไขการวน 
ซ้า มีค่าเท็จ คา สั่ง for จะสิ้นสุดลง 
การเปลี่ยนแปลงค่าตัวนับ เป็นนิพจน์ที่จะถูกประมวลผลทุกครั้งหลังจาก คา สั่ง ถูก 
ประมวลผล โดย การเปลี่ยนแปลงค่าตัวนับ เป็นนิพจน์ใด ๆ ที่สามารถประเมินค่าได้ 
เช่น นิพจน์เพิ่มค่า นิพจน์ลดค่า และนิพจน์กา หนดค่า เป็นต้น
ตัวอย่างโปรแกรมแสดงตัวเลข 
1 //Program: Counting.c 
2 
3 #include <stdio.h> 
4 
5 void main() { 
6 
7 int x, y; 
8 
9 printf("Count increasen"); 
10 for(x=1; x<=5; x++) 
11 printf("%dn", x); 
12 
13 printf("Count decreasen"); 
14 for(y=5; y<=1; y--) 
15 printf("%dn", y); 
16 
17 getch(); 
18 }
ผลลัพธ์ 
Count increase 
1 
2 
3 
4 
5 
Count decrease 
5 
4 
3 
2 
1
คำสั่ง while 
รูปแบบของคา สั่ง while เป็นดังนี้ 
while (เงื่อนไขการวนซ้า ) 
คา สั่ง; 
เงื่อนไขการวนซ้า เป็นนิพจน์ใดๆ ที่สามารถประเมินค่าได้ โดยจะต้องเขียนไว้ 
ระหว่างเครื่องหมาย ( และ ) เสมอเช่นเดียวกับคา สั่ง if และคา สั่ง if – else 
เมื่อเริ่มต้นประมวลผลคา สั่ง while เงื่อนไขการวนซ้า จะถูกตรวจสอบค่า ถ้า 
พบว่า เงื่อนไขการวนซ้า มีค่าเป็นจริง คา สั่ง ภายใต้คา สั่ง while จะถูกตรวจสอบค่า 
เป็นรอบแรก แล้ว เงื่อนไขการวนซ้า จะถูกตรวจสอบค่าอีกครั้ง หากพบว่า เงื่อนไขการ 
วนซ้า ยังมีค่าเป็น จริง คา สั่ง จะถูกตรวจสอบค่าอีกครั้ง จนกระทั่ง เงื่อนไขการวนซ้า มี 
ค่าเป็น เท็จ คา สั่ง while จึงจะสิ้นสุดลง 
การตรวจสอบค่า เงื่อนไขการวนซ้า ของคา สั่ง while ในครั้งแรก และพบว่ามีค่า 
เป็น เท็จ คา สั่งจะไม่ประมวลผลเลย
ตัวอย่ำงโปรแกรมรับและแสดงค่ำข้อมูล 
1 //Program: InOut1.c 
2 
3 #include <stdio.h> 
4 
5 void main(){ 
6 
7 int iochar; 
8 
9 iochar = getchar(); 
10 while(iochar != EOF){ 
11 putchar(iochar); 
12 iochar = getchar(); 
13 } 
14 
15 getch(); 
16}
ผลลัพธ์ 
1 
1 
v 
v 
3 
3 
-9 
-9 
^z 
หมายเหตุ 
หมายถึง ให้กดปุ่ม Enter บนแป้นพิมพ์ 
^z หมายถึง ให้กดปุ่ม Ctrl - z บนแป้นพิมพ์
โปรแกรม InOut1.c แสดงการใช้คา สั่งของภาษาซี 2 คา สั่ง getchar() และ 
putchar() เพื่อใช้รับข้อมูลนา เข้าและแสดงผลลัพธ์แทนการใช้คา สั่ง scanf() และ 
printf() 
คา สั่ง getchar() เป็นคา สั่งไม่มีอาร์กิวเมนต์และจะรับอักขระ 1 ตัวจากแผงแป้น 
อักขระแล้ว ส่งกลับค่าจา นวนเต็มที่มีค่าในตารางรหัสแอสกีที่ตรงกับอักขระดังกล่าว 
ฟังก์ชัน putchar() มีอาร์กิวเมนต์1 ตัวเป็นชนิด int และแสดงอักขระใน 
ตารางรหัสแอสกีที่มีค่าตรงกับจา นวนเต็มดังกล่าวจอภาพ 
สา หรับ EOF เป็นค่าคงที่ที่นิยามอยู่ในแฟ้มส่วนหัวชื่อ stdio.h และใช้เป็นอักขระ 
สา หรับตรวจสอบการสิ้นสุดการป้องกันข้อมูลซึ่งในที่นี้ คือการป้องกัน Ctrl - z
จากโปรแกรม InOut1.c ตราบใดที่อักขระผู้ใช้ป้อนไม่ใช้อักขระสิ้นสุดการป้อน 
ข้อมูลเงื่อนไข การวนซ้า iochar != EOF จะยังมีค่าเป็นจริง และแสดงผลค่า 
อักขระนั้นออกทางจอภาพก่อนที่จะวนรับอักขระตัวถัดไป และในรอบที่ผู้ใช้ป้อน 
Ctrl - z เงื่อนไขการวนซ้า iochar != EOF จะมีค่าเป็นเท็จ และคา สั่ง while 
จะสิ้นสุดการทา งาน 
ในกรณีที่ผู้ใช้ป้อน Ctrl-z ในครั้งแรก เงื่อนไขการวนซ้า iochar != EOF จะมี 
ค่าเป็นเท็จและคา สั่ง while จะสิ้นสุดการทา งานในทันที โดยที่คา สั่งในบรรทัดที่ 11 
และ 12 ไม่ถูกประมวลผลเลย
จัดทำโดย 
นำยภมรพล กำญจนกำเนิด เลขที่ 2 
นำยปัณณทัต คชนำ เลขที่ 3 
นำยชนินวิชย์ ศศิกำญจนพันธ์ เลขที่ 9 
นำงสำวณิชกำนต์ บงกชโสภิต เลขที่ 19 
นำยพีระชัย ลอยไสว เลขที่ 11 
นำงสำวเกตน์สิรี กลีบบัว เลขที่ 24

More Related Content

What's hot

คำสั่งและเงื่อนไข [Web-Programming]
คำสั่งและเงื่อนไข [Web-Programming]คำสั่งและเงื่อนไข [Web-Programming]
คำสั่งและเงื่อนไข [Web-Programming]
Khon Kaen University
 
การควบคุมทิศทางการทำงานของโปรแกรม
การควบคุมทิศทางการทำงานของโปรแกรมการควบคุมทิศทางการทำงานของโปรแกรม
การควบคุมทิศทางการทำงานของโปรแกรม
korn27122540
 
Know009
Know009Know009
Know009
the pooh
 
บทที่4
บทที่4บทที่4
บทที่4
แอมม' ออยย.
 
Presentation2
Presentation2Presentation2
Presentation2
Fern Pankaew
 
คสคคบวซ
คสคคบวซคสคคบวซ
คสคคบวซ
Nattawoot Jindakul
 
Uj1udqos8e6ljrab9nis9vott3
Uj1udqos8e6ljrab9nis9vott3Uj1udqos8e6ljrab9nis9vott3
Uj1udqos8e6ljrab9nis9vott3tuylove
 
โครงสร้างควบคุมการทำงานแบบควบคุมการทำงาน
โครงสร้างควบคุมการทำงานแบบควบคุมการทำงานโครงสร้างควบคุมการทำงานแบบควบคุมการทำงาน
โครงสร้างควบคุมการทำงานแบบควบคุมการทำงานSaim Technology College
 
การเขียนคำสั่งควบคุมแบบวนซ้ำ
การเขียนคำสั่งควบคุมแบบวนซ้ำการเขียนคำสั่งควบคุมแบบวนซ้ำ
การเขียนคำสั่งควบคุมแบบวนซ้ำ
MMarkThanawat
 
คำสั่งควบคุม
คำสั่งควบคุมคำสั่งควบคุม
คำสั่งควบคุมumaraporn
 
การเขียนคำสั่งควบคุมแบบวนซ้ำ
การเขียนคำสั่งควบคุมแบบวนซ้ำการเขียนคำสั่งควบคุมแบบวนซ้ำ
การเขียนคำสั่งควบคุมแบบวนซ้ำ
B'Benz Sunisa
 

What's hot (20)

คำสั่งและเงื่อนไข [Web-Programming]
คำสั่งและเงื่อนไข [Web-Programming]คำสั่งและเงื่อนไข [Web-Programming]
คำสั่งและเงื่อนไข [Web-Programming]
 
การควบคุมทิศทางการทำงานของโปรแกรม
การควบคุมทิศทางการทำงานของโปรแกรมการควบคุมทิศทางการทำงานของโปรแกรม
การควบคุมทิศทางการทำงานของโปรแกรม
 
7 3 condition
7 3 condition7 3 condition
7 3 condition
 
Know009
Know009Know009
Know009
 
ฟังก์ชั่น break
ฟังก์ชั่น breakฟังก์ชั่น break
ฟังก์ชั่น break
 
ฟังก์ชั่น While
ฟังก์ชั่น Whileฟังก์ชั่น While
ฟังก์ชั่น While
 
บทที่4
บทที่4บทที่4
บทที่4
 
ฟังก์ชั่น If หลายทางเลือก
ฟังก์ชั่น If หลายทางเลือกฟังก์ชั่น If หลายทางเลือก
ฟังก์ชั่น If หลายทางเลือก
 
งานทำ Blog บทที่ 6
งานทำ Blog บทที่ 6งานทำ Blog บทที่ 6
งานทำ Blog บทที่ 6
 
ฟังก์ชั่น Switch
ฟังก์ชั่น Switchฟังก์ชั่น Switch
ฟังก์ชั่น Switch
 
Presentation2
Presentation2Presentation2
Presentation2
 
คสคคบวซ
คสคคบวซคสคคบวซ
คสคคบวซ
 
ฟังก์ชั่น If ทางเลือกเดียว
ฟังก์ชั่น If ทางเลือกเดียวฟังก์ชั่น If ทางเลือกเดียว
ฟังก์ชั่น If ทางเลือกเดียว
 
Uj1udqos8e6ljrab9nis9vott3
Uj1udqos8e6ljrab9nis9vott3Uj1udqos8e6ljrab9nis9vott3
Uj1udqos8e6ljrab9nis9vott3
 
โครงสร้างควบคุมการทำงานแบบควบคุมการทำงาน
โครงสร้างควบคุมการทำงานแบบควบคุมการทำงานโครงสร้างควบคุมการทำงานแบบควบคุมการทำงาน
โครงสร้างควบคุมการทำงานแบบควบคุมการทำงาน
 
การเขียนคำสั่งควบคุมแบบวนซ้ำ
การเขียนคำสั่งควบคุมแบบวนซ้ำการเขียนคำสั่งควบคุมแบบวนซ้ำ
การเขียนคำสั่งควบคุมแบบวนซ้ำ
 
ฟังก์ชั่น do_while
ฟังก์ชั่น do_whileฟังก์ชั่น do_while
ฟังก์ชั่น do_while
 
คำสั่งควบคุม
คำสั่งควบคุมคำสั่งควบคุม
คำสั่งควบคุม
 
ฟังก์ชั่น If สองทางเลือก
ฟังก์ชั่น If สองทางเลือกฟังก์ชั่น If สองทางเลือก
ฟังก์ชั่น If สองทางเลือก
 
การเขียนคำสั่งควบคุมแบบวนซ้ำ
การเขียนคำสั่งควบคุมแบบวนซ้ำการเขียนคำสั่งควบคุมแบบวนซ้ำ
การเขียนคำสั่งควบคุมแบบวนซ้ำ
 

Similar to การเขียนคำสั่งควบคุมแบบวนซ้ำ

การเขียนคำสั่งควบคุมแบบวนซ้ำ
การเขียนคำสั่งควบคุมแบบวนซ้ำการเขียนคำสั่งควบคุมแบบวนซ้ำ
การเขียนคำสั่งควบคุมแบบวนซ้ำ
khwanchanokPhraeampha
 
การเขียนคำสั่งควบคุมแบบมีทางเลือก ม.4/5 กลุ่ม 3
การเขียนคำสั่งควบคุมแบบมีทางเลือก ม.4/5 กลุ่ม 3การเขียนคำสั่งควบคุมแบบมีทางเลือก ม.4/5 กลุ่ม 3
การเขียนคำสั่งควบคุมแบบมีทางเลือก ม.4/5 กลุ่ม 3
Supicha Ploy
 
การเขียนคำสั่งควบคุมแบบมีทางเลือก
การเขียนคำสั่งควบคุมแบบมีทางเลือกการเขียนคำสั่งควบคุมแบบมีทางเลือก
การเขียนคำสั่งควบคุมแบบมีทางเลือก
Supicha Ploy
 
คำสั่งควบคุมของโปรแกรม
คำสั่งควบคุมของโปรแกรมคำสั่งควบคุมของโปรแกรม
คำสั่งควบคุมของโปรแกรม
Parn Nichakorn
 
เอสสสสสส (1)
เอสสสสสส (1)เอสสสสสส (1)
เอสสสสสส (1)
Siriwan Wisetsing
 
คำสั่งโครงสร้าง (Structure Statement)03
คำสั่งโครงสร้าง (Structure Statement)03คำสั่งโครงสร้าง (Structure Statement)03
คำสั่งโครงสร้าง (Structure Statement)03
น.นิ นิยะดา สาระไกร
 
งานนำเสนอ1
งานนำเสนอ1งานนำเสนอ1
งานนำเสนอ1HamHam' Kc
 
บทที่3 การควบคุมโปรแกรม
บทที่3 การควบคุมโปรแกรมบทที่3 การควบคุมโปรแกรม
บทที่3 การควบคุมโปรแกรม
pennapa34
 
Java script เบื้องต้น
Java script เบื้องต้นJava script เบื้องต้น
Java script เบื้องต้นSamart Phetdee
 
Java-Chapter 04 Iteration Statements
Java-Chapter 04 Iteration StatementsJava-Chapter 04 Iteration Statements
Java-Chapter 04 Iteration Statements
Wongyos Keardsri
 
งานนำเสนอ1
งานนำเสนอ1งานนำเสนอ1
งานนำเสนอ1
Pornpimon Aom
 

Similar to การเขียนคำสั่งควบคุมแบบวนซ้ำ (13)

การเขียนคำสั่งควบคุมแบบวนซ้ำ
การเขียนคำสั่งควบคุมแบบวนซ้ำการเขียนคำสั่งควบคุมแบบวนซ้ำ
การเขียนคำสั่งควบคุมแบบวนซ้ำ
 
การเขียนคำสั่งแบบวนซ้ำ
การเขียนคำสั่งแบบวนซ้ำการเขียนคำสั่งแบบวนซ้ำ
การเขียนคำสั่งแบบวนซ้ำ
 
การเขียนคำสั่งควบคุมแบบมีทางเลือก ม.4/5 กลุ่ม 3
การเขียนคำสั่งควบคุมแบบมีทางเลือก ม.4/5 กลุ่ม 3การเขียนคำสั่งควบคุมแบบมีทางเลือก ม.4/5 กลุ่ม 3
การเขียนคำสั่งควบคุมแบบมีทางเลือก ม.4/5 กลุ่ม 3
 
mind map
mind mapmind map
mind map
 
การเขียนคำสั่งควบคุมแบบมีทางเลือก
การเขียนคำสั่งควบคุมแบบมีทางเลือกการเขียนคำสั่งควบคุมแบบมีทางเลือก
การเขียนคำสั่งควบคุมแบบมีทางเลือก
 
คำสั่งควบคุมของโปรแกรม
คำสั่งควบคุมของโปรแกรมคำสั่งควบคุมของโปรแกรม
คำสั่งควบคุมของโปรแกรม
 
เอสสสสสส (1)
เอสสสสสส (1)เอสสสสสส (1)
เอสสสสสส (1)
 
คำสั่งโครงสร้าง (Structure Statement)03
คำสั่งโครงสร้าง (Structure Statement)03คำสั่งโครงสร้าง (Structure Statement)03
คำสั่งโครงสร้าง (Structure Statement)03
 
งานนำเสนอ1
งานนำเสนอ1งานนำเสนอ1
งานนำเสนอ1
 
บทที่3 การควบคุมโปรแกรม
บทที่3 การควบคุมโปรแกรมบทที่3 การควบคุมโปรแกรม
บทที่3 การควบคุมโปรแกรม
 
Java script เบื้องต้น
Java script เบื้องต้นJava script เบื้องต้น
Java script เบื้องต้น
 
Java-Chapter 04 Iteration Statements
Java-Chapter 04 Iteration StatementsJava-Chapter 04 Iteration Statements
Java-Chapter 04 Iteration Statements
 
งานนำเสนอ1
งานนำเสนอ1งานนำเสนอ1
งานนำเสนอ1
 

More from Gatesiree G'ate

ชายหาดสีขาว
ชายหาดสีขาวชายหาดสีขาว
ชายหาดสีขาว
Gatesiree G'ate
 
มาดูวีลแชร์อัจฉริยะที่สามารถไต่ขึ้นบันไดได้เหมือนรถถัง
มาดูวีลแชร์อัจฉริยะที่สามารถไต่ขึ้นบันไดได้เหมือนรถถังมาดูวีลแชร์อัจฉริยะที่สามารถไต่ขึ้นบันไดได้เหมือนรถถัง
มาดูวีลแชร์อัจฉริยะที่สามารถไต่ขึ้นบันไดได้เหมือนรถถัง
Gatesiree G'ate
 
ความรู้พื้นฐานเกี่ยวกับฐานข้อมูล
ความรู้พื้นฐานเกี่ยวกับฐานข้อมูลความรู้พื้นฐานเกี่ยวกับฐานข้อมูล
ความรู้พื้นฐานเกี่ยวกับฐานข้อมูล
Gatesiree G'ate
 
It new
It newIt new
การเขียนคำสั่งแบบวนซ้ำ
การเขียนคำสั่งแบบวนซ้ำการเขียนคำสั่งแบบวนซ้ำ
การเขียนคำสั่งแบบวนซ้ำ
Gatesiree G'ate
 
อินเทอร์เน็ต
อินเทอร์เน็ตอินเทอร์เน็ต
อินเทอร์เน็ต
Gatesiree G'ate
 
เผยปีนี้กูเกิลแซงหน้าแอปเปิล กลายเป็นแบรนด์ที่มีมูลค่าสูงสุดในปี 2014
เผยปีนี้กูเกิลแซงหน้าแอปเปิล กลายเป็นแบรนด์ที่มีมูลค่าสูงสุดในปี 2014เผยปีนี้กูเกิลแซงหน้าแอปเปิล กลายเป็นแบรนด์ที่มีมูลค่าสูงสุดในปี 2014
เผยปีนี้กูเกิลแซงหน้าแอปเปิล กลายเป็นแบรนด์ที่มีมูลค่าสูงสุดในปี 2014Gatesiree G'ate
 

More from Gatesiree G'ate (8)

ชายหาดสีขาว
ชายหาดสีขาวชายหาดสีขาว
ชายหาดสีขาว
 
มาดูวีลแชร์อัจฉริยะที่สามารถไต่ขึ้นบันไดได้เหมือนรถถัง
มาดูวีลแชร์อัจฉริยะที่สามารถไต่ขึ้นบันไดได้เหมือนรถถังมาดูวีลแชร์อัจฉริยะที่สามารถไต่ขึ้นบันไดได้เหมือนรถถัง
มาดูวีลแชร์อัจฉริยะที่สามารถไต่ขึ้นบันไดได้เหมือนรถถัง
 
ความรู้พื้นฐานเกี่ยวกับฐานข้อมูล
ความรู้พื้นฐานเกี่ยวกับฐานข้อมูลความรู้พื้นฐานเกี่ยวกับฐานข้อมูล
ความรู้พื้นฐานเกี่ยวกับฐานข้อมูล
 
It new
It newIt new
It new
 
การเขียนคำสั่งแบบวนซ้ำ
การเขียนคำสั่งแบบวนซ้ำการเขียนคำสั่งแบบวนซ้ำ
การเขียนคำสั่งแบบวนซ้ำ
 
อินเทอร์เน็ต
อินเทอร์เน็ตอินเทอร์เน็ต
อินเทอร์เน็ต
 
เผยปีนี้กูเกิลแซงหน้าแอปเปิล กลายเป็นแบรนด์ที่มีมูลค่าสูงสุดในปี 2014
เผยปีนี้กูเกิลแซงหน้าแอปเปิล กลายเป็นแบรนด์ที่มีมูลค่าสูงสุดในปี 2014เผยปีนี้กูเกิลแซงหน้าแอปเปิล กลายเป็นแบรนด์ที่มีมูลค่าสูงสุดในปี 2014
เผยปีนี้กูเกิลแซงหน้าแอปเปิล กลายเป็นแบรนด์ที่มีมูลค่าสูงสุดในปี 2014
 
IT new
IT newIT new
IT new
 

การเขียนคำสั่งควบคุมแบบวนซ้ำ

  • 2. คำสั่งควบคุมแบบวนซ้ำ การวนซ้า เป็นการกา หนด ให้มีการประมวลผลคา สั่งซ้า ๆกัน ตั้งแต่ 1 ครั้งขึ้นไป ทั้งนี้ขึ้นอยู่กับ เงื่อนไขในการทา งาน ซึ่งจะช่วย ให้การเขียนโปรแกรมได้ง่าย สะดวก ไม่ต้องเขียนข้อความคา สั่งเดิม หลายครั้ง ทา ให้โปรแกรมมีความกระชับ สามารถตรวจสอบความผิดพลาด ได้ง่าย
  • 3. โครงสร้ำงควบคุมแบบวนซ้ำ (repetition control structure) ประกอบด้วย คา สั่ง for คา สั่ง while คา สั่ง do-while โดยแต่ละโครงสร้างคา สั่ง มีรูปแบบและวิธีการใช้งานที่แตกต่างกัน นักเขียนโปรแกรมสามารถเลือกใช้ได้ตามความเหมาะสมกับลักษณะการใช้งานใน โปรแกรม
  • 4. คำสั่ง for คา สั่ง for เป็นคา สั่งที่สั่งให้ประมวลผลคา สั่ง หรือชุดคา สั่ง วนซ้า ได้ หลายรอบ โดยต้องกา หนดจา นวนรอบให้การวนซ้า ที่แน่นอน รูปแบบของคา สั่ง for เป็นดังนี้ for (การกา หนดค่าเริ่มต้นของตัวนับ; เงื่อนไขการวนซ้า ; การเปลี่ยนแปลงค่าตัวนับ) คา สั่ง;
  • 5. กำรกำหนดค่ำเริ่มต้นของตัวนับ เงื่อนไขกำรวนซ้ำ และ กำรเปลี่ยนแปลงค่ำตัวนับ เป็นนิพจน์ที่มีกำรทำงำนร่วมกันในคำสั่ง for ดังนี้ การกา หนดค่าเริ่มต้นของตัวนับ เป็นนิพจน์ที่ใช้สา หรับกา หนดค่าเริ่มต้น ให้กับตัว แปรที่ทา หน้าที่ควบคุมการวนซ้า และจะประมวลผลเพียงครั้งเดียว เงื่อนไขการวนซ้า เป็นนิพจน์ที่ใช้สา หรับประเมินค่า คา สั่ง จะถูกประมวลผลหรือไม่ นั่นคือถ้าเงื่อนไขการวนซ้า มีค่าจริง คา สั่ง จะถูกประมวลผล และถ้า เงื่อนไขการวน ซ้า มีค่าเท็จ คา สั่ง for จะสิ้นสุดลง การเปลี่ยนแปลงค่าตัวนับ เป็นนิพจน์ที่จะถูกประมวลผลทุกครั้งหลังจาก คา สั่ง ถูก ประมวลผล โดย การเปลี่ยนแปลงค่าตัวนับ เป็นนิพจน์ใด ๆ ที่สามารถประเมินค่าได้ เช่น นิพจน์เพิ่มค่า นิพจน์ลดค่า และนิพจน์กา หนดค่า เป็นต้น
  • 6. ตัวอย่างโปรแกรมแสดงตัวเลข 1 //Program: Counting.c 2 3 #include <stdio.h> 4 5 void main() { 6 7 int x, y; 8 9 printf("Count increasen"); 10 for(x=1; x<=5; x++) 11 printf("%dn", x); 12 13 printf("Count decreasen"); 14 for(y=5; y<=1; y--) 15 printf("%dn", y); 16 17 getch(); 18 }
  • 7. ผลลัพธ์ Count increase 1 2 3 4 5 Count decrease 5 4 3 2 1
  • 8. คำสั่ง while รูปแบบของคา สั่ง while เป็นดังนี้ while (เงื่อนไขการวนซ้า ) คา สั่ง; เงื่อนไขการวนซ้า เป็นนิพจน์ใดๆ ที่สามารถประเมินค่าได้ โดยจะต้องเขียนไว้ ระหว่างเครื่องหมาย ( และ ) เสมอเช่นเดียวกับคา สั่ง if และคา สั่ง if – else เมื่อเริ่มต้นประมวลผลคา สั่ง while เงื่อนไขการวนซ้า จะถูกตรวจสอบค่า ถ้า พบว่า เงื่อนไขการวนซ้า มีค่าเป็นจริง คา สั่ง ภายใต้คา สั่ง while จะถูกตรวจสอบค่า เป็นรอบแรก แล้ว เงื่อนไขการวนซ้า จะถูกตรวจสอบค่าอีกครั้ง หากพบว่า เงื่อนไขการ วนซ้า ยังมีค่าเป็น จริง คา สั่ง จะถูกตรวจสอบค่าอีกครั้ง จนกระทั่ง เงื่อนไขการวนซ้า มี ค่าเป็น เท็จ คา สั่ง while จึงจะสิ้นสุดลง การตรวจสอบค่า เงื่อนไขการวนซ้า ของคา สั่ง while ในครั้งแรก และพบว่ามีค่า เป็น เท็จ คา สั่งจะไม่ประมวลผลเลย
  • 9. ตัวอย่ำงโปรแกรมรับและแสดงค่ำข้อมูล 1 //Program: InOut1.c 2 3 #include <stdio.h> 4 5 void main(){ 6 7 int iochar; 8 9 iochar = getchar(); 10 while(iochar != EOF){ 11 putchar(iochar); 12 iochar = getchar(); 13 } 14 15 getch(); 16}
  • 10. ผลลัพธ์ 1 1 v v 3 3 -9 -9 ^z หมายเหตุ หมายถึง ให้กดปุ่ม Enter บนแป้นพิมพ์ ^z หมายถึง ให้กดปุ่ม Ctrl - z บนแป้นพิมพ์
  • 11. โปรแกรม InOut1.c แสดงการใช้คา สั่งของภาษาซี 2 คา สั่ง getchar() และ putchar() เพื่อใช้รับข้อมูลนา เข้าและแสดงผลลัพธ์แทนการใช้คา สั่ง scanf() และ printf() คา สั่ง getchar() เป็นคา สั่งไม่มีอาร์กิวเมนต์และจะรับอักขระ 1 ตัวจากแผงแป้น อักขระแล้ว ส่งกลับค่าจา นวนเต็มที่มีค่าในตารางรหัสแอสกีที่ตรงกับอักขระดังกล่าว ฟังก์ชัน putchar() มีอาร์กิวเมนต์1 ตัวเป็นชนิด int และแสดงอักขระใน ตารางรหัสแอสกีที่มีค่าตรงกับจา นวนเต็มดังกล่าวจอภาพ สา หรับ EOF เป็นค่าคงที่ที่นิยามอยู่ในแฟ้มส่วนหัวชื่อ stdio.h และใช้เป็นอักขระ สา หรับตรวจสอบการสิ้นสุดการป้องกันข้อมูลซึ่งในที่นี้ คือการป้องกัน Ctrl - z
  • 12. จากโปรแกรม InOut1.c ตราบใดที่อักขระผู้ใช้ป้อนไม่ใช้อักขระสิ้นสุดการป้อน ข้อมูลเงื่อนไข การวนซ้า iochar != EOF จะยังมีค่าเป็นจริง และแสดงผลค่า อักขระนั้นออกทางจอภาพก่อนที่จะวนรับอักขระตัวถัดไป และในรอบที่ผู้ใช้ป้อน Ctrl - z เงื่อนไขการวนซ้า iochar != EOF จะมีค่าเป็นเท็จ และคา สั่ง while จะสิ้นสุดการทา งาน ในกรณีที่ผู้ใช้ป้อน Ctrl-z ในครั้งแรก เงื่อนไขการวนซ้า iochar != EOF จะมี ค่าเป็นเท็จและคา สั่ง while จะสิ้นสุดการทา งานในทันที โดยที่คา สั่งในบรรทัดที่ 11 และ 12 ไม่ถูกประมวลผลเลย
  • 13. จัดทำโดย นำยภมรพล กำญจนกำเนิด เลขที่ 2 นำยปัณณทัต คชนำ เลขที่ 3 นำยชนินวิชย์ ศศิกำญจนพันธ์ เลขที่ 9 นำงสำวณิชกำนต์ บงกชโสภิต เลขที่ 19 นำยพีระชัย ลอยไสว เลขที่ 11 นำงสำวเกตน์สิรี กลีบบัว เลขที่ 24