วันอาทิตย์ที่ 23 ธันวาคม พ.ศ. 2555

โครงสร้างควบคุม (Control structure)



Control Structure
มี แบบคือ
1.Sequential(แบบลำดับ)
2.Selection(แบบเลือก)
3.Loop(แบบทำซ้ำ)
1.Sequential
 การทำคำสั่งเป็นไปตามลำดับจากคำสั่งที่หนึ่งไปจนจบ







อาจจะประกอบด้วยคำสั่งเดียวหรือทำงานร่วมกับ If-then หรือ Loop ต่างๆ
example.
#include<stdio.h>
int main(){
int num=5;
printf("Hello World\n");
printf("%d \n",num);
return 0;
}

 

2.Selection
2.1. If-then
การทำงาน จะตรวจสอบเงื่อนไขถ้าจริงทำคำสั่งต่างๆด้าน true

 


รูปแบบไวยากรณ์
if(logical expression){
   
 statemets;
}
example.

If(total>=80){
    printf("Excellent \n");
}

 

2.2. If-then-else
 การทำงาน จะตรวจสอบเงื่อนไขถ้าเป็นจริงทำคำสั่งต่างๆด้าน 
true
ถ้าเป็นเท็จทำคำสั่งต่างๆด้าน 
false

 

รูปแบบไวยากรณ์
If(
logical expression){
   
true statements;
}
else{
   
false statements;
}
example.
If(temp<32){
    printf("Cover Tomatoes \n");
}
else{
    printf("Uncover Tomatoes \n");
}

 
2.3. If-If-If
การทำงาน จะตรวจสอบเงื่อนไข ถ้าเป็นจริงทำตามคำสั่งฝั่งด้าน
true ถ้าเป็นเท็จทำคำสั่งด้าน false ปละตรวจสอบเงื่อนไขของ If
ตัวใหม่

 
รูปแบบไวยากรณ์
If(logical expression){
    
statement 1
}
else if(logical expression){
    
statement 2
}
else if(logical expression){
    
statement 3
}
else{
    
statement 4
}
example.
int total=79;
   
if(total>=80){
      printf("Excellent \n");
}
   
else if(total>=70){
      printf("Good \n");
}
   
else if(total>=60){
      printf("Fair \n");
}
    
else{
      printf("Poor \n");
}

2.4. Case
  การทำงาน จะตรวจสอบเงื่อนไขทีละกรณี ถ้าจริงงทำคำสั่งด้าน
 true ถ้าเป็นเท็จ ตรวจสอบเงื่อนไขต่อไป
 
รูปแบบไวยากรณ์
switch(expression){
  case 1:statements 1;break;
  case 2:statements 2;break;
  case N:statements N;break;
default:statement N+1;
}example.
switch(no){
  case1:printf("Korea \n");break;
  case2:printf("Australia \n");break;
  case3:printf("Japan \n");break;
  default:printf("Thailand \n");
}

3.Loop
3.1. PRE-TEST(WHILE)
   คือ การทำงานซ้ำโดยมีการทดสอบเงื่อนไขก่อนถ้าจริงทำซ้ำไปเรื่อยๆ 

 
รูปแบบไวยากรณ์
 ->  Initial statementss;
->  while (logical expression){
->  statements;
->  update statements;
      }
 example.
->      total=1;
->         while(total<5){
->      printf("Excellent \n");
->      total=total+1;
           }

3.2. POST-TEST(DO...WHILE)
   คือ การทำงานซ้ำโดยมีการทดสอบเงื่อนไขทีหลัง ถ้าจริงทำซ้ำไป
เรื่อยๆ


รูปแบบไวยากรณ์
 ->  Initial  statements;
       do{
->  statements;
->  udate statements;
->  }while(logical expression);
 example.
->  total=1;
        do{
->  printf("Excellent \n");
->  total=total+1;
->  }while(total<5);
3.3. AUTOMATIC COUNTER(FOR)
  คือ การทำงานซ้ำแบบรู้จำนวนรอบล่วงหน้า ถ้าเงื่อนไขเป็นจริงทำซ้ำ เงื่อนไขเป็นเท็จจะออกจากการทำงงาน

 





รูปแบบไวยากรณ์
                (1)                 (2)                  (4)
for(initial statements;expression;udate statements){
    (3) statements;
     }
 example.
         (1)        (2)           (4)
for(total=1;total<5;total=total+1){
  (3)  printf("Excellent \n");
   }

1 ความคิดเห็น: