当前位置:文档之家› 4C程序流程设计 (2)

4C程序流程设计 (2)


非0
=0
expr
statement1
else
statement1
statement2
statement2
执行过程:例:if (x>y) max=x;
else max=y;
7
你现在所处的位置:首页C语言教学幻灯片版第四章 C程序流程设计
if ( expr1 ) 选择型程序设计形式 三:
格式:else if (expr2 )
if(x>y) printf("X>Y\n");
X==Y
else printf("X<Y\n");
else
printf("X==Y\n");
}
11
你现在所处的位置:首页C语言教学幻灯片版第四章 C程序流程设计
if ~ else 配对原则:
缺省{ }时,else总是和它上面离它最近的未配 对的if配对
你现在所处的位置:首页C语言教学幻灯片版第四章 C程序流程设计
2
你现在所处的位置:首页C语言教学幻灯片版第四章 C程序流程设计
3
你现在所处的位置:首页C语言教学幻灯片版第四章 C程序流程设计
4
你现在所处的位置:首页C语言教学幻灯片版第四章 C程序流程设计
5
你现在所处的位置:首页C语言教学幻灯片版第四章 C程序流程设计
15
你现在所处的位置:首页C语言教学幻灯片版第四章 C程序流程设计
例子(1)
例 switch(score) { case 5: printf(“Very good!”); case 4: printf(“Good!”); case 3: printf(“Pass!”); case 2: printf(“Fail!”); default : printf(“data error!”); }
❖一般形式:
{ case E1:
语句组 1;
switch
break;
case E2:
表达式
语句组 2;
case
break;
E1
E2
En
Байду номын сангаас
defaul…t ….
语句组1
语句组2 …... 语句组n
语句组 case En: 语句组 n;
break;
[default:
语句组 ;
break;]
❖执行过程:
}
14
你现在所处的位置:首页C语言教学幻灯片版第四章 C程序流程设计
❖:说明: E1,E2,…En是常量表达式,且值必须互不相同 语句标号作用,必须用break跳出 case后可包含多个可执行语句,且不必加{ } switch可嵌套 多个case可共用一组执行语句
如: …… case ‘A’: case ‘B’: case ‘C’: printf(“score>60\n”); break; ……..
if(……) if(……) if(……) else…... else…...
else…...
12
你现在例所处:的位if置(a:=首=b页)C语言教学幻灯片版第四章 C程序流程设计 if(b==c) 实现ifp~rienltsfe(正“a确==配b=对=方c”法);
else printf(“a!=b”);
说明: if后面的表达式类型任意
语句可以是复合语句 如:if(ifx()a==b&if(&xx!==0=)y) printf(“a=b,x=y”);
if(if!(x3)) priinf(tfx(=“=O0K)”);
例 考i虑f(‘下a’)面p程ri序ntf的(“%输d出”,结’a’果); :
#include <stdio.h>
修改: if (a==b) { if(b==c) printf(“a==b==c”); } else printf(“a!=b”);
实现if ~ else 正确配对方法:加{ } 13
你现在所处的位置:首页C语言教学幻灯片版第四章 C程序流程设计
switch语句(开关分支语句) switch( 表达式)
6
你现在所处的位置:首页C语言教学幻灯片版第四章 C程序流程设计
4.3 选择型程序设计
if语句(条件选择语句)
if语句的三种形式 形式一: 格式:if (expression)
=0 expr
非0 statement
statement
执行过程:
例形:式if 二(x>:y) 格p式rin:tf(i“f %(edx”p,rxe)s;sion)
main()
{ int x,y;
scanf(“%d,%d”,&x,&y);
if(x>y)
x=y; y=x;
Compile Error!
else
x++; y++;
printf(“%d,%d\n”,x,y);
}
9
你现在所处的位置:首页C语言教学幻灯片版第四章 C程序流程设计
❖: if语句嵌套 一般形式:
#include <stdio.h>
main()
{ int x,y;
运行:Enter integer x,y:12,23
printf("Enter integer x,y:");
X<Y
scanf("%d,%d",&x,&y); if(x!=y)
Enter integer x,y:12,6 X>Y Enter integer x,y:12,12
内嵌if
if (expr1)
if (expr2) else
statement1 statement2
内嵌if
else
if(expr3) else
statement3 statement4
内嵌if
10
你现在所处的位置:首页C语言教学幻灯片版第四章 C程序流程设计
例 输入两数并判断其大小关系
/*ch4_4.c*/
statement1 statement2
else if (expr3 ) statement3
执行过程:
…... [ else
statementn ]
=0
例:ifex(spar1lary>1000)
index=0.4;
非el0se if (salareyx>p8r200) =0 index=0.3;
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
else if (salary>600) else if (sala非ry0>400)
index=0=0.2; expinr3dex=0.1;
else
非0 index=0;
statemnt1 statemnt2 statemnt3 statemntn
8
你现在所处的位置:首页C语言教学幻灯片版第四章 C程序流程设计
相关主题