2.第二种形式为if-else形式 if(表达式) 语句1; else 语句2; 其语义是:如果表达式的值为真,则执行语句1,否则执行语句2 。 void main(){ int a, b. printf("input two numbers: "). scanf("%d%d",&.a,&.b). if(a>b) printf("max=%d ",a). else printf("max=%d ",b). } 输入两个整数,输出其中的大数。改用if-else语句判别a,b的大小,若a大,则输出a,否则输出b。 3.第三种形式为if-else-if形式 前二种形式的if语句一般都用于两个分支的情况。 当有多个分支选择时,可采用if-else-if语句,其一般形式为: if(表达式1) 语句1; else if(表达式2) 语句2; else if(表达式3) 语句3; … else if(表达式m) 语句m; else 语句n; 其语义是:依次判断表达式的值,当出现某个值为真时, 则执行其对应的语句。然后跳到整个if语句之外继续执行程序。 如果所有的表达式均为假,则执行语句n 。 然后继续执行后续程序。 if-else-if语句的执行过程如图3—3所示。 #include"stdio.h" void main(){ char c. printf("input a character: "). c=getchar(). if(c<32) printf("This is a control character "). else if(c>=’0’&.&.c<=’9’) printf("This is a digit "). else if(c>=’A’&.&.c<=’Z’) printf("This is a capital letter "). else if(c>=’a’&.&.c<=’z’) printf("This is a small letter "). else printf("This is an other character "). } if(c<32) printf("This is a control character "). else if(c>=’0’&.&.c<=’9’) printf("This is a digit "). else if(c>=’A’&.&.c<=’Z’) printf("This is a capital letter "). else if(c>=’a’&.&.c<=’z’) printf("This is a small letter "). else printf("This is an other character "). 本例要求判别键盘输入字符的类别。可以根据输入字符的ASCII码来判别类型。由ASCII码表可知ASCII值小于32的为控制字符。 在“0”和“9”之间的为数字,在“A”和“Z”之间为大写字母, 在“a”和“z”之间为小写字母,其余则为其它字符。 这是一个多分支选择的问题,用if-else-if语句编程,判断输入字符ASCII码所在的范围,分别给出不同的输出。例如输入为“g”,输出显示它为小写字符。