scanf (“% d”,&a );
DESCRIPTION
scanf (“% d”,&a );. a = (2+3)*4/5; b= a*5/100;. if(aTRANSCRIPT
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
a=1; while(a<=10) { printf(“%d”,a); a=a+1;
}
pre-test loop ค�าส��ง while ค�าส��ง for
for(a=1;a<=10;a++) { printf(“%d”,a);
}
for(a=1; a<=10; a++){ printf(“ a= %d \n”,a); }
int main(){ int a;
printf(“End of job”);}
ส�วนก�าหนดค�า
ส�วนเง��อนไข
ส�วนปลื�ยนค�า
for(count=1; count<=5; count++){ scanf (“%d”,&data); sum = sum+data;}
average=sum/5.0;printf(“%.2f”,average);
int count ,sum=0;float 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 : 55 * 1 = 55 * 2 = 105 * 3 = 15::5*12 = 60 End of job…. Thanks.
แบบฝึ%กห�ด• 2. จากข�อ 1 ก�าหนดให�ร�บเฉพาะค&า 2-12 เทำ&าน��น
( ถ้�าไม�ใช้� 2-12 ต็�องร�บเลืขใหม�
ตั�วอย&างEnter number : 15Enter number : 55 * 1 = 55 * 2 = 105 * 3 = 15::5*12 = 60 End of job…. thanks.
แบบฝึ%กห�ด• 3. จงเข�ยนโปรแกรมแสดงการหาผลืบวกของเลืข 1 ถ้.ง
100 ออกมาบนจอภาพ โดยใช้� ค�าส��ง for• 4. จงเข�ยนโปรแกรมเปลื��ยนค�าองศาเซ้ำลืเซ้ำ�ยส ให�เป�น
องศาฟาเรนไฮท4 จาก 0 ถ้.ง 20 องศา โดยให�เพ5�มค�าองศาเซ้ำลืเซ้ำ�ยสข."นคร�"งลืะ 1 ให�แสดงเป�นค�าองศาเซ้ำลืเซ้ำ�ยสแลืะองศาฟาเรนไฮท4 ทกคร�"ง ด�งน�"(โดยใช้� ค�าส��ง for)
Celsius Fahrenheit (F = C/5*9+32)0 32.001 33.002 35.003 37.40 (แสดงถ้.ง 20 68.00)
• 1. ค�าท��เพ5�มข."นในแต็�ลืะรอบของต็�วแปรควบคมน�"นจะเป�นเท�าไรก)ได� เช้�นfor (x=0; x<=100; x = x + 5)
printf(“%d \n”,x);
หมายความว�า จะพ5มพ4ค�า x จาก 5, 10, 15 ไปเร��อยๆ จนถ้.ง 100 น��นค�อ ค�าของ x เพ5�มข."นคร�"งลืะ 5
กฎการใช้�ค�าส��ง for
• 2. ค�าของต็�วแปรควบคมอาจถ้#กก�าหนดให�ลืดลืงก)ได� เช้�น
for (x=100; x>0; x - - )printf(“d \n “, x);
หมายความว�า จะพ5มพ4ค�า x จาก 100, 99, 98 ลืงไปเร��อยๆ จนถ้.ง 0 น��นค�อค�าของ x จะถ้#กก�าหนดให�ลืดลืงลืงรอบลืะ 1 น��นเอง
• 3. ต็�วแปรควบคมอาจเป�นช้น5ด character ก)ได� เช้�นfor (ch = ‘a’; ch<‘z’; ch + +)
printf(“asscii = %c decimal = %d”, ch, ch);
หมายความว�า ให�พ5มพ4รห�ส 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 จะเพ5�มข."นคร�"งลืะ 1 เสมอ
• 5. ถ้�าม�การลืะส�วนของ การปร�บเปลื��ยนค�า จะท�าให�เก5ดการท�างานเป�นวงจรซ้ำ.�งค�าของต็�วแปรควบคมจะไม�เปลื��ยนแปลืงแลืะจะออกจาก loop เม��อเง��อนไขเป�นเท)จ เช้�นfor (x=0; x != 100; ){
printf(“ Enter value x = “);scanf(“%d”, &x);
}
• 6. ถ้�าไม�ม� การก�าหนดค�าเร5�มต็�น เง��อนไข แลืะ การเปลื��ยนแปลืงค�า (ต็�วควบคม) จะเป�นการส��งให�ท�างานเป�น 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);
}
แบบฝึ%กห�ด• เข�ยนโปรแกรมเพ��อพ5มพ4ค�าเลืขค#� จาก 0 ถ้.ง 100
ออกทางจอภาพ