Understanding Control Structures in C Programming with Loops and Conditional Statements
This guide provides a comprehensive overview of control structures in C programming, focusing on loops and conditional statements. It covers essential concepts like the `if` statement, `while`, and `for` loops. Learn how to implement these structures to perform repetitive tasks efficiently and handle conditions in your code. Sample exercises are included for practicing multiplication tables, summing numbers, and converting Celsius to Fahrenheit. Enhance your programming skills by mastering these fundamental building blocks.
Understanding Control Structures in C Programming with Loops and Conditional Statements
E N D
Presentation Transcript
scanf(“%d”,&a); a = (2+3)*4/5; b= a*5/100; if(a<0) …….. printf(“hello”); printf(“%d”,a);
โครงสร้างควบคุม • 1. โครงสร้างควบคุมแบบวนทางเลือก 1.1 คำสั่ง if • 2. โครงสร้างควบคุมแบบวนซ้ำ 2.1 คำสั่ง while 2.2 คำสั่ง do… while 2.3 คำสั่ง for
คำสั่ง for • คำสั่ง for จะใช้เงื่อนไขเป็นตัวควบคุมลูป ลูป while นี้จะเป็นลูปแบบ pre-test loop ซึ่งจะทำการตรวจสอบเงื่อนไขก่อนที่จะไปทำคำสั่งในลูป for(ค่าเริ่มต้น;เงื่อนไข;ค่าที่เปลี่ยน) { คำสั่ง; }
pre-test loop คำสั่ง while คำสั่ง for a=1; while(a<=10) { printf(“%d”,a); a=a+1; } for(a=1;a<=10;a++) { printf(“%d”,a); }
int main() { int a; ส่วนกำหนดค่า ส่วนเงื่อนไข for(a=1; a<=10; a++) { printf(“ a= %d \n”,a); } ส่วนปลียนค่า printf(“End of job”); }
int count ,sum=0; float average; for(count=1; count<=5; count++) { scanf (“%d”,&data); sum = sum+data; } average=sum/5.0; printf(“%.2f”,average);
for(i=1; i<=12; i++) { answer = i * 2; printf(“%d”,answer); } printf(“Bye bye”);
for(count = 1;count<10; count++) { } printf(“%d %d “,max,min);
สรุป คำสั่ง for เป็นคำสั่งให้มีการทำงานวนซ้ำ เหมือนคำสั่ง while โดยมีรูปแบบดังนี้ for(ค่าเริ่มต้น;เงื่อนไข;ค่าที่เปลี่ยน) { …. …. }
แบบฝึกหัด • 1. จงเขียนโปรแกรม รับค่าจำนวนเต็ม 1 จำนวน แล้วแสดงผลเป็นสูตรคูณ โดยใช้คำสั่ง for ตัวอย่าง Enter number : 5 5 * 1= 5 5 * 2 = 10 5 * 3 = 15 : : 5*12 = 60 End of job…. Thanks.
แบบฝึกหัด • 2. จากข้อ 1 กำหนดให้รับเฉพาะค่า 2-12 เท่านั้น (ถ้าไม่ใช้ 2-12 ต้องรับเลขใหม่ ตัวอย่าง Enter number : 15 Enter number : 5 5 * 1= 5 5 * 2 = 10 5 * 3 = 15 : : 5*12 = 60 End of job…. thanks.
แบบฝึกหัด • 3. จงเขียนโปรแกรมแสดงการหาผลบวกของเลข 1 ถึง 100 ออกมาบนจอภาพ โดยใช้คำสั่ง for • 4. จงเขียนโปรแกรมเปลี่ยนค่าองศาเซลเซียส ให้เป็นองศาฟาเรนไฮท์ จาก 0 ถึง 20 องศา โดยให้เพิ่มค่าองศาเซลเซียสขึ้นครั้งละ 1 ให้แสดงเป็นค่าองศาเซลเซียสและองศาฟาเรนไฮท์ ทุกครั้ง ดังนี้(โดยใช้คำสั่ง for) Celsius Fahrenheit (F = C/5*9+32) 0 32.00 1 33.00 2 35.00 3 37.40 (แสดงถึง 20 68.00)
กฎการใช้คำสั่ง for • 1. ค่าที่เพิ่มขึ้นในแต่ละรอบของตัวแปรควบคุมนั้นจะเป็นเท่าไรก็ได้เช่น for (x=0; x<=100; x = x + 5) printf(“%d \n”,x); หมายความว่า จะพิมพ์ค่า x จาก 5, 10, 15 ไปเรื่อยๆ จนถึง 100 นั่นคือ ค่าของ x เพิ่มขึ้นครั้งละ 5
2. ค่าของตัวแปรควบคุมอาจถูกกำหนดให้ลดลงก็ได้ เช่น for (x=100; x>0; x - - ) printf(“d \n “,x); หมายความว่า จะพิมพ์ค่า x จาก 100, 99, 98 ลงไปเรื่อยๆ จนถึง 0 นั่นคือค่าของ x จะถูกกำหนดให้ลดลงลงรอบละ 1 นั่นเอง
3. ตัวแปรควบคุมอาจเป็นชนิด character ก็ได้ เช่น for (ch = ‘a’; ch<‘z’; ch + +) printf(“asscii = %c decimal = %d”, ch,ch); หมายความว่า ให้พิมพ์รหัส asscii กับค่า decimal ของตัวอักษร a ถึง z ออกมาบนหน้าจอ
4. ตัวแปรควบคุมสามารถมีได้มากกว่า 1 ตัวแปร เช่น for (x = 0, y = 0; x + y <= 100; x++, y++) printf(“%d \n “, x + y); หมายความว่า ตัวแปร x, y จะทำหน้าที่เป็นตัวควบคุมการทำงานของวงจรทั้ง 2 ตัว โดยจะหยุดการทำงานเมื่อ x + y มีค่ามากกว่า 100 และค่า x, y จะเพิ่มขึ้นครั้งละ 1 เสมอ
5. ถ้ามีการละส่วนของ การปรับเปลี่ยนค่า จะทำให้เกิดการทำงานเป็นวงจรซึ่งค่าของตัวแปรควบคุมจะไม่เปลี่ยนแปลงและจะออกจาก loop เมื่อเงื่อนไขเป็นเท็จ เช่น for (x=0; x != 100; ) { printf(“ Enter value x = “); scanf(“%d”, &x); }
6. ถ้าไม่มี การกำหนดค่าเริ่มต้น เงื่อนไข และ การเปลี่ยนแปลงค่า (ตัวควบคุม) จะเป็นการสั่งให้ทำงานเป็น loop โดยไม่รู้จบ เช่น for ( ; ; ) printf(“Hello \n”); ซึ่งถ้าต้องการให้จบ ก็ทำได้โดยใช้คำสั่ง break เข้ามาช่วย เช่น for ( ; ; ) { scanf(“%d” &x); if( x == 999) break; } printf(“End of job”);
7. คำสั่ง for สามารถมีคำสั่ง for ซ้อนอยู่ภายในได้อีก เช่น for (x=1; x <=3; x + +) { printf (“x = %d \n”, x); for (y=1; y<=5; y+ +) printf(“y = %d “, y); }
แบบฝึกหัด • เขียนโปรแกรมเพื่อพิมพ์ค่าเลขคู่ จาก 0 ถึง 100 ออกทางจอภาพ