[理学]第四讲第一节 三大结构之顺序选择1

上传人:油条 文档编号:53424385 上传时间:2018-08-31 格式:PPT 页数:44 大小:337.50KB
返回 下载 相关 举报
[理学]第四讲第一节 三大结构之顺序选择1_第1页
第1页 / 共44页
[理学]第四讲第一节 三大结构之顺序选择1_第2页
第2页 / 共44页
[理学]第四讲第一节 三大结构之顺序选择1_第3页
第3页 / 共44页
[理学]第四讲第一节 三大结构之顺序选择1_第4页
第4页 / 共44页
[理学]第四讲第一节 三大结构之顺序选择1_第5页
第5页 / 共44页
点击查看更多>>
资源描述

《[理学]第四讲第一节 三大结构之顺序选择1》由会员分享,可在线阅读,更多相关《[理学]第四讲第一节 三大结构之顺序选择1(44页珍藏版)》请在金锄头文库上搜索。

1、1,第四讲 C程序三大基本结构 之顺序选择,主讲:史虹 电话:13612909030QQ: 26358486,2,三种基本的程序执行结构: 顺序执行 选择执行(按条件执行) 循环执行,3,顺序结构程序设计,在顺序结构中,按语句出现的顺序依次执行,先出现的语句先执行,后出现的语句后执行,每条语句都执行。 只含赋值语句、输入语句和输出语句的程序,称作纯顺序结构程序。前面出现的程序都是纯顺序结构程序。,4,顺序结构程序设计,顺序结构的框图,5,顺序结构程序设计,程序模版 定义符号常量命令与包含头文件命令 main() 定义变量输入原始数据处理(运算)输出结果 ,6,举例 求圆的周长和面积。 已知三角

2、形的两边夹角,求第三边和面积。 输入一个三位整数,求它的个位、十位和百位数字,并反向输出这个三位数。 交换两个整型变量a,b的值。 输入三个实数a,b,c(假设已满足a0且b2-4ac0),解一元二次方程ax2+bx+c=0。,7,输入一个三位正整数,判断它是不是“水仙花数”(个位的立方,十位的立方与百位的立方和等于该数)。是,输出y,不是,输出n。,8,关系运算符和关系表达式,关系运算符:数学上的等号、不等号在计算机程序设计语言中称作。 数学上的等号、不等号与C语言中的关系运算符之间的对应关系: 数学上的等号、不等号 C语言中的关系运算符 (大于) (大于或等于) = (小于) (小于或等于

3、) =0 表示x大于或等于0;m=n 表示m等于n;xz 表示x加y大于z。,10,关系表达式的值:C语言中用逻辑值“真”,表示关系表达式“成立”;用逻辑值“假”,表示关系表达式“不成立”。 C语言中用整数1表示逻辑值“真”,用整数0表示逻辑值“假” :例:x为5,关系表达式x=0成立,此时,称关系表达式x=0的值为1。x为-3时,关系表达式x=0不成立,此时,称关系表达式x=0的值为0。,11,练习:写出表示下列条件的关系表达式: .x为负数。 . x为奇数。 .x为偶数。 .x为非负数。 .x是3的倍数(x能被3整除)。 .x不等于7。,12,关系运算符的优先级,13,选择执行语句,条件语

4、句 if(条件) 语句1;else 语句2; 执行过程 流程图,14,选择执行语句,练习 实现分段函数: x+5,x 0y=x2+5,x、=、=0),解一元二次方程ax2+bx+c=0。输入一个公元年份year,判断这一年是不是闰年。是,输出yes,不是,输出no。,22,逻辑运算符和逻辑表达式,短路运算 C语言规定逻辑与与逻辑或为“短路运算”,即在逻辑表达式求值时,不一定算到“底”。 比如前面提到的逻辑表达式 5|x0,5非零为真,不论x0的值是什么,该逻辑表达式的值都为真,所以计算机执行程序时,并不计算x0的值;同理,x的值为-3时,如果求逻辑表达式!(x7的值时,当计算!(x7的值了。

5、这就如同体育比赛,规定“五局三牲”,当出现三比零或三比一时,胜负已定,比赛不必继续进行。,23,逻辑运算符和逻辑表达式,练习:当a,b,c的值分别为3,4,5时,求下列逻辑表达式的值 . a+bc&b=c . a|b+c&b-c . !(ab)&!c|1 . !(x=a)&(y=b)&0 . !( a+b)+c-1&b+c/2,24,If 嵌套,求三支函数 y= 1 (x0) 的值。0 (x=0)-1 (x0),25,If 嵌套,26,If 嵌套,main() float x,y;scanf(“%f”, ,27,If 嵌套,If嵌套和多路分支 两层嵌套处理三路分支 两层嵌套处理三路分支有两种情

6、况。 1.里层if语句为语句1,在else前 if(条件1)if(条件2)语句1;else 语句2;else 语句3;,28,If 嵌套,2.里层if语句为语句2,在else后if(条件1)语句1;else if(条件2)语句2;else 语句3;,29,If 嵌套,main() float x,y;scanf(“%f”, ,这种情况,常常把外层的else与里层的if写在一行上,(写成else if),30,If 嵌套,四路及多路分支 1.用两层嵌套处理四路分支 把百分制分数s,转化为等级制A、B、C、D。若90s100,则s转化为A; 若80s89,则s转化为B; 若60s79,则s转化为C

7、; 若0s59,则s转化为D。,31,If 嵌套,main() int s;char g;scanf(“%d”, ,32,If 嵌套,3. 用三层嵌套处理四路分支 上面的问题用三层嵌套处理,程序为: main() int s;char g;scanf(“%d”, ,33,If 嵌套,if (条件表达式1)语句1; else if (条件表达式2)语句2; else if (条件表达式3)语句3; else语句n;,34,If 嵌套,关于else与if匹配 在if嵌套处理过程中,也有短式if出现。这样,else的个数就少于if的个数。那么else与哪个if匹配?为避免二义性,C语言规定,else

8、与前面最近的if匹配。例如,出现 if(条件1)if(条件2)语句1; elseif(条件3) 语句2;else 语句3;,if(条件1)if(条件2)语句1; elseif(条件3) 语句2;else 语句3;,if(条件1)if(条件2)语句1; elseif(条件3) 语句2;else 语句3;,if(条件1)if(条件2)语句1; elseif(条件3) 语句2;else 语句3;,35,If 嵌套,练习: 1、求数学函数x2,x 2y= |x|,-20时,方程有两个不等的实根,当=0时,方程有两个相等的实根,当0时,方程没有实数根。 3、设计一个计算实数四则运算的计算器。,36,If

9、 嵌套,设计一个计算实数四则运算的计算器: main() float x,y,z;char c;scanf(“%f%c%f”, ,37,switch语句,switch语句 switch语句是用来处理多路分支的另一种常用语句。凡是能用switch语句来处理的问题,都能用if语句处理。 switch语句处理多路分支的优势 用switch语句处理,技巧高一些。在某些情况下,用switch语句处理多路分支,程序更清晰,可读性更好。 switch语句的标准格式 switch(表达式) case 常量表达式1: 语句1;break;case常量表达式2: 语句2;break;case常量表达式3: 语句3

10、;break;case常量表达式n: 语句n;break;default: 语句n+1;,38,switch语句的应用 用switch语句设计实数四则运算的计算器。 用switch语句把百分制分数s,转化为等级制A、B。若90s100,则s转化为A; 若60s89,则s转化为B; 若0s59,则s转化为C。,39,练习:用 switch语句,处理如下问题。 按着考试成绩的等级,打印出百分制的分数段:A对应90100;B对应8089;C对应7079; D对应6069;E对应059。 实现输入奖学金等级,输出奖学金金额:共分3等,一等1000,二等500,三等200; 全班同学按学号先后顺序编号为

11、1、2、3,按照同学的编号将全班同学分为5组:要求输入某同学的编号,输出该同学应当的分组号。 货运公司运货计费问题,计算公式f=p*w*s*(1-d)。这里f为运费,p为单价(元/吨*公里),w为货物的重量,s为公里数,d为折扣。 远程有折扣,当路程s满足:s500公里时,折扣为0;500s1000公里时,折扣为5%;1000sb)max=a;else max=b; 如果用条件运算符,就简单了: max=ab?a:b ?:称作“条件运算符” 条件运算符的优先级与结合性,41,选择执行语句,写按条件执行语句的注意事项: 条件表达式的值决定了程序的走向,决定了程序执行不同的分支 注意条件的正确表达

12、:是否应该包括相等的情况 对于float变量,一定要避免用“=”或“!=”与数字进行比较 条件经常用关系表达式、逻辑表达式表示,但也可以是算术表达式,甚至是赋值表达式 条件表达式中,注意别把“=”写成“=” 注意ifelse的配对:else总是跟最近的没配过对的if配对,42,选择执行语句,注意: switch-case的格式(整型表达式?常量表达式?) 如果不加break,结果如何? 整型表达式的数值类型必须和case语句中的常量表达式的类型一致(只能是int型或者char型) 所有常量表达式的类型必须相同,而它们的值必须互不相同 switch-case格式与ifelse ifelse的区别?,

展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 行业资料 > 其它行业文档

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号