文档介绍:C程序设计
南京师范大学
地图学与地理信息系统04级
专业选修课
主讲教师: 汪闽
if 语句
switch 语句
选择结构简介
选择结构程序示例
第四章选择结构设计
P
A
B
真
假
P
B
A
真
假
k
A1
A2
Ai
An
k=k2
k=k1
k=kn
k=ki
...
...
二分支选择结构
多分支选择结构
选择结构简介
形式一:
格式:if (expression)
statement
执行过程:
expr
statement
非0
=0
例:if (x>y)
printf(“%d”,x);
expr
statement1
statement2
非0
=0
形式二:
格式:if (expression)
statement1
else
statement2
执行过程:
例:if (x>y) max=x;
else max=y;
if 语句
形式三:
if ( expr1 ) statement1
else if (expr2 ) statement2
else if (expr3 ) statement3
…...
[ else statementn ]
expr1
statemnt1
非0
=0
expr2
expr3
statemntn
statemnt3
statemnt2
非0
非0
=0
=0
执行过程:
例:if (salary>1000) index=;
else if (salary>800) index=;
else if (salary>600) index=;
else if (salary>400) index=;
else index=0;
如:if(a==b&&x==y) printf(“a=b,x=y”);
if(3) printf(“OK”);
if(‘a’) printf(“%d”,’a’);
if(x) if(x!=0)
if(!x) if(x==0)
if后面的表达式类型任意,必须用()
语句可以是复合语句
else子句(可选)是if语句的一部分,必须与if配对使用,不能单独使用。
当if和else下面的语句组,仅由一条语句构成时,也可不使用复合语句形式(即去掉花括号)。
例考虑下面程序的输出结果:
#include <>
main()
{ int x,y;
scanf(“%d,%d”,&x,&y);
if(x>y)
x=y; y=x;
else
x++; y++;
printf(“%d,%d\n”,x,y);
}
Compile Error!
对If语句的说明
一般形式:
if (expr1)
if (expr2) statement1
else statement2
else
if(expr3) statement3
else statement4
内嵌if
内嵌if
if (expr1)
if (expr2)
statement1
else
statement2
内嵌if
if (expr1)
if (expr2)
statement1
else
statement3
内嵌if
if (expr1)
statement1
else
if(expr3)
statement3
else
statement4
内嵌if
if语句嵌套
…续If语句说明
/**/
#include <>
main()
{ int x,y;
printf("Enter integer x,y:");
scanf("%d,%d",&x,&y);
if(x!=y)
if(x>y) printf("X>Y\n");
else printf("X<Y\n");
else
printf("X==Y\n");
}
运行:Enter integer x,y:12,23
X<Y
Enter integer x,y:12,6
X>Y
Enter integer x,y:12,12
X==Y
例输入两数并判断其大小关系
…续If语句的说明
缺省{ }时,else总是和它上面离它最近的未配对的if配对
if(……)
if(……)
if(……)
else…...
else…...
else…...
if ~ else 配对原则
…续If语句的说明
例: if (a==b)
if(b==c)