资源描述:
《if语句&switch语句.pptx》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库。
1、if语句与switch语句课前预习将手机调到静音认真做笔记及时完成作业上课要求了解if语句的一般形式学会使用嵌套的if语句学会使用switch语句学习目标if语句的一般形式if语句的嵌套switch语句学习内容if语句的一般形式if(表达式)语句1[else语句2]方括号内的部分为可选的if语句分为两种类型:不带else子句的和带else子句的。一般形式为:if(表达式)语句1[else语句2]语句可以为简单的语句、复合语句、另一个if语句等最常用的3种if语句形式:1.if(表达式)语句1(没有else子句)2.if(表达式)语句1else
2、语句2(有else子句)3.if(表达式1)语句1elseif(表达式2)语句2elseif(表达式3)语句3┆elseif(表达式n)语句nelse语句n+1(在else部分又嵌套了多层的if语句)1、if(a==b&&x==y)printf(“a=b,x=y”);2、if(x>0)printf(“%f”,x);elseprintf(“%f”,-x);3、if(number>500)cost=0.15;elseif(number>300)cost=0.10;elseif(number>100)cost=0.075;elseif(number
3、>50)cost=0.05;elsecost=0;3’、if(number>500)cost=0.15;elseif(number>300)cost=0.10;elseif(number>100)cost=0.075;elseif(number>50)cost=0.05;elsecost=0;说明:(1)整个if语句可写在多行上,也可写在一行上,但都是一个整体,属于同一个语句。(2)“语句1”…“语句n”是if中的内嵌语句,内嵌语句也可以是一个if语句。(3)“语句1”…“语句n”可以是简单的语句,也可以是复合语句,需要用{}将几个语句括起来
4、。(4)else子句不能单独使用,它必须是if语句的一部分,与if配对使用。给出三角形的边长,求三角形的面积。intmain(){...scanf(“%lf,%lf,%lf”,&a,&b,&c);if(a+b>c&&b+c>a&&c+a>b){s=0.5*(a+b+c);area=sqrt(s*(s-a)*(s-b)*(s-c));printf(“area=%6.2f”,area);}elseprintf(“it’snotatrilateral.”);…}if语句的嵌套:在if语句中又包含一个或多个if语句称为一般形式:if()if(
5、)语句1else语句2elseif()语句3else语句4if语句的嵌套内嵌if语句if(){if()语句1}else语句2内嵌if语句{}限定了内嵌if范围2、if()if()语句1elseif()语句2else语句3else语句4注意:else总是与它上面最近的未配对的if配对。思考下面程序的配对结果。1、if()else语句1if()语句2else语句3例1:为促销,对购买货物多的顾客有优惠,大于等于50件的优惠5%,大于等于100件的优惠7.5%,大于等于300件的优惠10%,大于等于500件的优惠15%,编写程序,要求用户输入购买的
6、数量和单价,计算应付货款。解题思路:检查数量的范围,根据数量范围,确定优惠折扣。计算公式:应付货款=件数*单价*(1-优惠折扣)。voidmain(){intnumber;doublediscount,price,total;//discount为折扣,//price为单价,total为总价printf("pleaseenternumberandprice:");scanf("%d,%lf",&number,&price);if(number>=500)discount=0.10;elseif(number>=300)discount=0.0
7、75;elseif(number>=50)discount=0.05;elsediscount=0;total=number*price*(1-discount);printf("Total=%10.2f",total);}说明:为使程序结构清晰,便于他人阅读,也便于维护,程序应做到:1、采用锯齿形式,内嵌语句向右缩进2列或多列。2、同一层次的成分(如同一层的if和else)出现在同一列上。程序改进:voidmain(){intnumber;doublediscount,price,total;//discount为折扣,//price为
8、单价,total为总价printf("pleaseenternumberandprice:");scanf("%d,%lf",&number,&price);if(