c语言程序设计_模块二分支程序设计训练.ppt
文本预览下载声明
模块二 分支程序设计训练 能力目标 掌握关系表达式和逻辑表达式的应用。 掌握利用if语句实现的单分支和双分支选择结构。 掌握利用switch语句实现多分支选择结构。 知识准备 任务引例----比较两个数的大小。 #include stdio.h void main( ){ float a,b; printf(请您输入两个实数:\n); scanf(%f,%f,a,b); if (ab) printf(第一个数较大。\n); else if (a==b) printf(两个数相等。\n); else printf(第二个数较大。\n); } 程 序 清 单 程序运行 请您输入两个实数: 4,8 第二个数较大。 做中学2-1 两个数的升序排序。 2.1 if-else语句 2.1.1 单分支结构的if语句 算法设计 定义三个变量a,b,t,从键盘给a、b赋值。使用if语句判断a和b大小,如果ab,交换a、b的值,算法见右图。 结束 程序运行 请输入两个实数:4.4,2.3 2.30 4.40 知识点 语法格式: if (条件表达式) 语句; 单分支结构执行过程: 单分支结构if语句的执行过程如图2-2所示,首先对表达式求解,当结果为真(非0)时,则执行指定的语句;否则跳过指定语句,接着执行该语句下面的语句。 语法特征为:一个条件表达式,一个可选执行。 图2-2 if 单分支结构 B 做中学2-2 求绝对值。 算法设计 定义两个变量x,y,从键盘读值给x。如果x0,y赋值为-x;否则,y赋值为x。算法见图2-3。 2.1.2 双分支结构的if-else语句 结束 #include stdio.h void main( ){ int x,y; printf(输入一个整数:); scanf(%d,x); if (x0) /*判断x0是否成立*/ y=-x; else /*若x0的值为假*/ y=x; printf(这个数的绝对值是:%d\n,y); } 程 序 清 单 程序运行 输入一个整数:-5 这个数的绝对值是:5 知识点 语法格式: if (条件表达式) 语句1; else 语句2; 双分支结构执行过程: 语法特征: 一个条件表达式,两个可选执行。 B 做中学2-3 某运输公司对用户收取运费的规定如下(s表示里程数km): S<250 0(没有折扣) 250≤s<500 2% 500≤s<1000 5% 1000≤s<2000 8% 2000≤s<3000 10% 3000≤s 15% 设基本运费为每公里每吨p元,货物重为w吨,折扣为d,总运费f的计算公式为 f = p×w×s×(1-d) 2.2 switch-case语句 算法设计 通过分析上述数据可以看到,d随着s的增加而增加,有一定规律。s的每个取值范围,要么增加250,或者500,或者1000,均是250的倍数。 我们可将公司对用户收取运费的规定理解如下表 距离s 折扣率d 距离s 折扣率d s<250 0 1750≤s<2000 8% 250≤s<500 2% 2000≤s<2250 10% 500≤s<750 5% 2250≤s<2500 10% 750≤s<1000 5% 2500≤s<2750 10% 1000≤s<1250 8% 2750≤s<3000 10% 1250≤s<1500 8% 3000≤s 15% 1500≤s<1750 8% ? ? #include stdio.h void main( ){ int c,s; float p,w,d,f; printf(请输入每公里运价(元/吨*公里),货物重量(吨),运输里程(公里):); scanf(%f,%f,%d,p,w,s); if(s=3000) c=12; else c=s/250; switch(c) { case 0:d=0; break; case 1:d=2; break; case 2: case 3:d=5; break; case 4: case 5: case 6: case 7:d=8; break; case 8: case 9: case
显示全部