C语言序设计 第五章选择结构程序设计 任倮老师:台安
第五章 选择结构程序设计 任课老师:台安
第五章选择结构程序设计 选择型程序用来解决我们面临的判断 型问题,即在不同的条件下选择相应的操 作。C语言提供了两种判断语句或者说是 分支语句: 5.1i语句 52swch语句 53程序举例 上一页下一页 返回 择结构程序设计
上一页 下一页 返回 第五章 选择结构程序设计 第五章 选择结构程序设计 选择型程序用来解决我们面临的判断 型问题,即在不同的条件下选择相应的操 作。C语言提供了两种判断语句或者说是 分支语句: ❖ 5.1 if语句 ❖ 5.2 switch语句 ❖ 5.3 程序举例
5.1ii句 if语句:判别条件是否满足(表达式的值为 真时满足),来决定程序的流程(执行两路操作之 51.1i语句的三种形式 l、if(表达式)语句 例如:if(x>y) printi("%d",x) (流程图中菱形框表判断,矩形框表示要 执行的操作,即若干条语句) 上一页下一页 返回 择结构程序设计
上一页 下一页 返回 第五章 选择结构程序设计 5.1 if语句 if语句:判别条件是否满足(表达式的值为 真时满足),来决定程序的流程(执行两路操作之 一)。 ❖5.1.1 if语句的三种形式 1、if (表达式) 语句 例如:if (x>y) printf("%d", x); (流程图中菱形框表判断,矩形框表示要 执行的操作,即若干条语句)
if语句的三种形式 2、囝f(表达式)语句1else语句2 ◆例:打印输入两数的较大值 mail int x printf( Please input scanf( %d%d",&x, &y) if(x>y) printf("/od"x) alse printf("%/"y) printf(" ok 上一页下一页 返回
上一页 下一页 返回 第五章 选择结构程序设计 if语句的三种形式 ❖2、if (表达式) 语句1 else 语句2 ❖例:打印输入两数的较大值 main( ) { int x , y; printf(“Please input :”); scanf(“%d%d”, &x, &y); if (x>y) printf("%d",x); else printf("%d",y); printf(“ok”); }
i语句的三种形式 3、实现多路分支 if(表达式1) 语句1 else if(表达式2) 语句2 else if(表达式3) 语句3 else if(表达式m) 语句m 语句n 上一页下一页 返回 择结构程序设计
上一页 下一页 返回 第五章 选择结构程序设计 3、实现多路分支 if (表达式1) 语句1 else if (表达式2) 语句2 else if (表达式3) 语句3 ..... else if (表达式m) 语句m else 语句n if语句的三种形式
例:商店售货按购物的款数分别给予不同的优惠折扣。折扣办法: 购款价值在500元以上优惠15%,300~500优惠10%,100~300优惠 75%,50~100优惠5%50元以下不优惠 设变量:n购物款数,c:优惠折扣百分比,a:优惠后的实际款数 main i float n,c,a scanf(%of,, &n) if(n>500 c=0.15 else if(n>300)c=0.10 else if(n>100)c=0.075; else if(n>50) c=0.05 输入:输出: 800 720.000000 480 432.000000 a=n*(1-C); 200 185.000000 printf(a=%fn", a 80 76.000000 30 30.000000 上一页下一页 返回
上一页 下一页 返回 第五章 选择结构程序设计 例: 商店售货按购物的款数分别给予不同的优惠折扣。折扣办法: 购款价值在500元以上优惠15%, 300~500优惠10%,100~300优惠 7.5%, 50~100优惠5%, 50元以下不优惠. 设变量:n:购物款数,c:优惠折扣百分比,a:优惠后的实际款数 main( ) { float n, c, a; scanf (“%f”, &n); if(n>500) c=0.15; else if(n>300) c=0.10; else if(n>100) c=0.075; else if(n>50) c=0.05; else c=0 ; a=n* (1-c); printf (“a=%f\n”, a); } 输入: 输出: 800 720.000000 480 432.000000 200 185.000000 80 76.000000 30 30.000000
上i语句括号里的表达式的值按非零即真处理 示例: mal 运行结果: =-5.600000 i int x0 0=48 float y=-56 x-y=5.600000 if(x) printf(x=%odn,x) x=1,y=-4.600000 if(y) printf (y=%fn, y) if(0)printf(0=%dn,"0) if(xy) printf(x-y=%fn, x-y if(y>-100)x++; y++, printf( x%d, y=%yn, x,y); 3 上一页下一页 返回
上一页 下一页 返回 第五章 选择结构程序设计 if语句括号里的表达式的值按非零即真处理 main( ) { int x=0; float y= -5.6; if(x) printf (“x=%d\n”,x); if(y) printf (“y=%f\n”, y); if(‘0’) printf(“ ‘0’=%d\n”, ‘0’); if(x>y) printf (“x-y=%f\n”, x-y); if(y> -100) {x++; y++; printf(“x=%d, y=%y\n”, x, y); } } 运行结果: y= -5.600000 ‘0’=48 x- y=5.600000 x=1, y=- 4.600000 示例:
猜数游戏1 小 mainO 小{ Int magIc=123; int guess 小 scanf("od",&gues); s if(guess-magic)printf("**right ** k ) 上一页下一页 返回 择结构程序设计
上一页 下一页 返回 第五章 选择结构程序设计 猜数游戏1 ❖ main() ❖ { int magic=123; ❖ int guess; ❖ scanf("%d",&guess); ❖ if (guess==magic) printf("*** right ***"); ❖ }
猜数游戏2 maino 小{ Int magIc=123; int guess & scanf("%d", &guess) ss if (guess=magic) printf("***right***) else printf("xx >wrong** 上一页下一页 返回 择结构程序设计
上一页 下一页 返回 第五章 选择结构程序设计 猜数游戏2 ❖ main() ❖ { int magic=123; ❖ int guess; ❖ scanf("%d",&guess); ❖ if (guess==magic) printf("*** right ***"); ❖ else printf("***wrong***); ❖ }
猜数游戏3 6main() 小{ Int magIc=123 Int guess, 4 scanf("%d",&guess); if (guess--magic) printf("*** right*** printf("%d is the magic number", magic);) else printf 求求* wrong**); if(guess>magic) printf(" too high") else printf( too low; 1 上一页下一页 返回
上一页 下一页 返回 第五章 选择结构程序设计 猜数游戏3 ❖ main( ) ❖ { int magic=123; ❖ int guess; ❖ scanf("%d",&guess); ❖ if (guess==magic) { ❖ printf("*** right ***"); ❖ printf("%d is the magic number",magic); } ❖ else { ❖ printf("***wrong***); ❖ if(guess>magic) printf("too high"); ❖ else printf("too low");} ❖ }