1 #include <stdio.h> 2 3 int main(void) 4 { 5 double temp; 6 7 printf("今の気温は?\t"); 8 scanf("%lf",&temp); 9 10 if(temp<-30){ 11 printf("極寒です\n"); 12 }else if(-30 <= temp && temp < 10){ 13 printf("寒いです\n"); 14 }else if(10 <= temp && temp < 25){ 15 printf("快適です\n"); 16 }else if(25 <= temp && temp < 35){ 17 printf("暑いです\n"); 18 }else{ 19 printf("猛暑です\n"); 20 } 21 22 return 0; 23 }
書式
if(制御式1){ 文1; 文2; }else if(制御式2){ 文3; 文4; }else if(制御式3){ 文5; 文6; }else{ 文7; 文8; } |
この構文のフローチャートを,図2に示す.このフローチャートを見てわか るように,最初に真となった制御式に続くブロック内が実行されのみである.それ以降, 真になっても,そのブロックは実行されない.どの制御式も真にならない場合,最後の elseのブロックが実行される.即ち,実行されるブロックは1個のみである. else ifの段数をいくらでも増やせることは,言うまでもない.
また,elseが無い構文も許される.この場合,真となる制御式がない場合,どの ブロックも実行されず,この構文から抜ける.