C语言设计-第13章
按键盘上方向键 ← 或 → 可快速上下翻页,按键盘上的 Enter 键可回到本书目录页,按键盘上方向键 ↑ 可回到本页顶部!
————未阅读完?加入书签已便下次继续阅读!
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 所示。
【例 5。5】
#include〃stdio。h〃
main(){
char c;
谭浩强 C 语言程序设计 2001 年 5 月 1 日
printf(〃input a character: 〃);
c=getchar();
if(c='0'&&c='A'&&c='a'&&cb)
{a++;
b++;}
else
{a=0;
b=10;}
5。3。2 if 语句的嵌套
当 if 语句中的执行语句又是 if 语句时,则构成了 if 语句嵌套的情形。
其一般形式可表示如下:
if(表达式)
if 语句;
或者为
if(表达式)
if 语句;
else
if 语句;
在嵌套内的 if 语句可能又是 if…else 型的,这将会出现多个 if 和多个 else 重叠的情
况,这时要特别注意 if 和 else 的配对问题。
例如:
if(表达式 1)
if(表达式 2)
语句 1;
else
语句 2;
谭浩强 C 语言程序设计 2001 年 5 月 1 日
其中的 else 究竟是与哪一个 if 配对呢?
应该理解为:
if(表达式 1)
if(表达式 2)
语句 1;
else
语句 2;
还是应理解为:
if(表达式 1)
if(表达式 2)
语句 1;
else
语句 2;
为了避免这种二义性,C语言规定,else 总是与它前面最近的 if 配对,因此对上述例
子应按前一种情况理解。
【例 5。6】
main(){
int a;b;
printf(〃please input A;B: 〃);
scanf(〃%d%d〃;&a;&b);
if(a!=b)
if(a》b) printf(〃A》Bn〃);
else printf(〃ABn〃);
else printf(〃A