c語言中的if分支語言壹般有如下三種形式,當然還可以其它各種變形,無論如何變形,都以此三種形式為基礎,活學活用即可。
1、 if……形式
壹般格式:if(表達式) 語句;
語義是:如果表達式的值為真,則執行其後的語句,否則不執行該語句。語句可以是單條語句,也可以是用花括號{}包括起來的復合語句。示例如下:
#include?<stdio.h>int?main(){
int?a,b,max;
printf("\n?input?two?numbers:?");
scanf("%d%d",&a,&b);
max=a;
if?(max<b)?max=b;
printf("max=%d\n",max);
return?0;
}
2、if……else形式
壹般格式:
if(表達式)
語句1;
else
語句2;
語義是:如果表達式的值為真,則執行語句1,否則執行語句2 。語句1和語句2可以是復合語句。
示例如下:
#include?<stdio.h>int?main(){
int?a,?b;
printf("input?two?numbers:?");
scanf("%d%d",&a,&b);
if(a>b)
printf("max=%d\n",a);
else
printf("max=%d\n",b);
return?0;
}
3、if……else……if形式
壹般形式為:
if(表達式1)
語句1;
else if(表達式2)
語句2;
else if(表達式3)
語句3;
…
else if(表達式m)
語句m;
else
語句n;
語義是:依次判斷表達式的值,當出現某個值為真時,則執行其對應的語句。然後跳到整個if語句之外繼續執行程序。 如果所有的表達式均為假,則執行語句n。然後繼續執行後續程序。示例如下:
#include?<stdio.h>
int?main(){
char?c;
printf("input?a?character:?");
c=getchar();
if(c<32)
printf("This?is?a?control?character\n");
else?if(c>='0'&&c<='9')
printf("This?is?a?digit\n");
else?if(c>='A'&&c<='Z')
printf("This?is?a?capital?letter\n");
else?if(c>='a'&&c<='z')
printf("This?is?a?small?letter\n");
else
printf("This?is?an?other?character\n");
return?0;
}