欢迎来到三一文库! | 帮助中心 三一文库31doc.com 一个上传文档投稿赚钱的网站
三一文库
全部分类
  • 研究报告>
  • 工作总结>
  • 合同范本>
  • 心得体会>
  • 工作报告>
  • 党团相关>
  • 幼儿/小学教育>
  • 高等教育>
  • 经济/贸易/财会>
  • 建筑/环境>
  • 金融/证券>
  • 医学/心理学>
  • ImageVerifierCode 换一换
    首页 三一文库 > 资源分类 > PPT文档下载  

    C程序设计第4章选择结构程序设计.ppt

    • 资源ID:2142396       资源大小:219.01KB        全文页数:34页
    • 资源格式: PPT        下载积分:6
    快捷下载 游客一键下载
    会员登录下载
    微信登录下载
    三方登录下载: 微信开放平台登录 QQ登录   微博登录  
    二维码
    微信扫一扫登录
    下载资源需要6
    邮箱/手机:
    温馨提示:
    用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)
    支付方式: 支付宝    微信支付   
    验证码:   换一换

    加入VIP免费专享
     
    账号:
    密码:
    验证码:   换一换
      忘记密码?
        
    友情提示
    2、PDF文件下载后,可能会被浏览器默认打开,此种情况可以点击浏览器菜单,保存网页到桌面,就可以正常下载了。
    3、本站不支持迅雷下载,请使用电脑自带的IE浏览器,或者360浏览器、谷歌浏览器下载即可。
    4、本站资源下载后的文档和图纸-无水印,预览文档经过压缩,下载后原文更清晰。
    5、试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。

    C程序设计第4章选择结构程序设计.ppt

    第4章 选择结构程序设计,单分支: if(表达式) 语句; 其他语句;,双分支: if(表达式) 语句1; else 语句2; 其他语句;,多分支: if(表达式1) 语句1; else if(表达式2) 语句2; else if(表达式n) 语句n; else 语句n+1; ,4.1引言,输出两个数中的较大值?,#include int main() int a, b; scanf(“%d%d”, ,4.2 关系运算符和关系表达式,1、关系运算符 、=、 = 、!=,2、关系表达式 用关系运算符连接起来的式子。 53、5=3、53、5=3、5=3、5!=3,3、关系表达式的值 关系成立:真、非0 关系不成立:假、0,4.3 逻辑运算符与逻辑表达式,1、逻辑运算符: &&、|、!,4、运算规则:!: 原值取反 !0 1 !1 0 &&: 两个操作数均为真,结果为真;否则为假 |: 两个操作数均为假,结果为假;否则为真,2、逻辑表达式:用逻辑运算符连接起来的式子,3、逻辑表达式的值:真(非0)、假(0);,例:int a=5; float b=3.5; !a0 !b0 a&&b1 a|b1 !a&&b0 !a|b1,4、注意,编译器在求解逻辑表达式的值时,采用“非完全求解”的方法,并不是所有的逻辑运算符都被执行,只有在需要执行下一个逻辑运算才能求出表达式的解时,才继续运算。,非完全求解举例,如果已有定义 :int x=1,y=1,z=1;对如下的逻辑表达式: (x=0) && ( y=2) &&(z=3) ,表达式的结果是0,x的值被赋值为0, y,z的值保持不变。 (x=5) && ( y=0) &&(z=3) ,表达式的结果是0,x, y的值 赋值为5和0,z的值保持不变。 (x=5)| ( y=2) | (z=3) ,表达式的结果是1,x的值被赋值为5, y,z的值保持不变。 (!x)| ( y=0) | (z=3) ,表达式的结果是1,x, y,z的值为1,0,3。,4.4 条件语句,语句形式: if(表达式) 语句; 其他语句; 执行流程:,4.4.1 条件语句的三种形式,1、单分支条件选择if语句,语句形式: if(表达式) 语句1; else 语句2; 其他语句; 执行流程:,2、双分支条件选择if语句,所以,可以借助表达式表示某种条件; 表达式非零,表示条件成立,执行某些动作; 表达式为零,表示条件不成立,不动作或执行另外的动作;, int a, b; scanf(“%d%d”, ,常用“”表示“a大于b”这样的条件: 条件成立时,ab为非零,执行受if控制的语句; 条件不成立时,ab为零,执行受else控制的语句;, int a, b; scanf(“%d%d”, ,常用“”表示“a小于于b”这样的条件: 条件成立时,ab为非零,执行受if控制的语句; 条件不成立时,ab为零,执行受else控制的语句;, = = !=等关系运算符常用来表示大小关系的条件; 原则:条件成 立,表达式的值为非零; 条件不成立,表达式的值为零, int a, b, c; scanf(“%d%d%d”, ,if语句的嵌套,3、多分支选择if语句,语句形式:,if (表达式1) 语句1; else if (表达式2)语句2; else if (表达式n)语句n; else 语句n+1;,if-else匹配原则:就近匹配,例:计算分段函数。,#include ,void main() float x,y; printf(“enter x:“); scanf(“ %f “,else if (x=1) y=x+5; else if (x10) y=2*x; else y=3/(x-10);,printf(“x=%.2f,y=%.2fn“,x,y); ,if(x=10) printf(“not define x.n“);,当多个条件必须同时成立时,才能做某些事情,要借助于“&&”运算符来组合各条件成为一个大条件。, int a, b, c; scanf(“%d%d%d”, ,当多个条件之一成立,即可做某些事情,要借助于“|”运算符来组合各条件成为一个大条件。, int time; scanf(“%d”, ,&& | !等逻辑运算符常用来表示由多个条件组合而成的大条件; 原则:大条件成 立,逻辑表达式的值为非零; 大条件不成立,逻辑表达式的值为零; (判断闰年),【例4-3】从键盘输入一个字符,判别它的类别,由ASCII码表可知: ASCII值小于32的为控制字符 ASCII值在0和9之间的为数字 ASCII值在A和Z之间为大写字母 ASCII值在a和z之间为小写字母 其余则为其它字符,程序:,#include void main() char c; printf(“Input a character: “); c=getchar(); if(c='0' ,【例4-4】比较两个数的大小关系,有三种结果:大于、小于和等于,采用if语句的嵌套结构来完成。,#include void main() int a,b; printf(“please input a,b: “); scanf(“%d%d“, ,4.5 多分支选择语句,语句一般形式:,switch (表达式) case 常量1: 语句1; case 常量2: 语句2; case 常量3: 语句3; . case 常量n: 语句n; default : 语句n+1; ,根据表达式的不同值,选择不同的程序分支,又称开关语句。,整型 或 字符型,常量表达式的值必须互不相同,否则执行时将出现矛盾,即同一个开关值,将对应多种执行方案。,执行过程?,【例4-6】输入一个数字,输出对应的星期几的英文单词。,#include void main() int a; printf(“input integer number: “); scanf(“%d“, ,程序运行结果: input integer number: 5 Friday Saturday Sunday error,4.5.2 break语句在多分支选择结构中的应用,break case语句后加上break语句; 每当执行到break语句时,立即跳出switch语句体。,将上面的例4-6修改如下:,#include “stdio.h“ void main() int a; printf(“input integer number: “); scanf(“%d“, ,程序运行结果: 5 Friday,【例4-7】学生分数成绩转换为相应的等级成绩,程序流程图:,程序源代码及运行结果,#include void main( ) int s; printf(“Input a score:“); scanf(“%d“, ,程序运行结果: Input a score:65 Your score: 65 D,1、多个case语句可以共用一组执行语句。 2、各case子句的先后顺序可以变动,而不会影响程序执行结果。,4.6 应用举例,【例4-8】输入三个整数,输出最大数和最小数。 算法分析: 首先比较a,b的大小,把大数装入max,小数装入min中 接下来max和min再与c比较,若max小于c,则把c赋予max;如果c小于min,则把c赋予min,因此max内总是最大数,而min内总是最小数。 最后输出max和min的值即可。,程序源代码及运行结果,#include void main() int a,b,c,max,min; printf(“input three numbers: “); scanf(“%d%d%d“, ,程序运行结果: input three numbers: 3 4 5 max=5 min=3,例:企业发放的奖金根据利润提成。从键盘输入当月利润,求应发放奖金总数?,利润x x=10 10x20 20x40 40x60 60x100 100x,(int )x/10,常量 0,1 1,2 2,3,4 4,5,6 6,7,8,9,10 10以上,用这种方法转换后,n出现了在不同区域有重复数字的情况。解决的方法有很多,其中一种是可以采用当x为10的整数倍时,将计算出的n值减1。,使用switch解题的关键,通过分析找到表达式,将问题分成几种情况。,#include “stdio.h“ void main() float x,y; int n; scanf(“%f“,n=(int)x/10; if(int)x/10=x/10) n- ; switch(n) case 0:y=x*0.1;break; case 1:y=x*0.12;break; case 2:case 3:y=x*0.14;break; case 4:case 5:y=x*0.16;break; case 6:case 7:case 8:case 9:y=x*0.18;break; default:y=x*0.2; printf(“y=%.2fn“,y); ,源程序:,【例4-11】任意输入三个数,代表三角形的三条边长,判断能否构成三角形,#include void main() float a,b,c; scanf(“%f,%f,%f“, ,程序运行结果: 5,5,5 equalateral triangle.,小结,关系运算符、逻辑运算符、关系表达式。 这些表达式常作为条件选择语句的判断条件。 C语言的条件选择语句有两种:if语句和switch语句 if语句有三种形式: 单分支选择if语句 双分支选择if语句 多分支选择if语句 switch语句联合break语句构成了一种多分支选择结构,并且形式上比用if 语句的嵌套清晰易读。,第一次 P52: 4.1、4.4、4.8 第二次 P52: 4.6、4.10,作业,

    注意事项

    本文(C程序设计第4章选择结构程序设计.ppt)为本站会员(本田雅阁)主动上传,三一文库仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知三一文库(点击联系客服),我们立即给予删除!

    温馨提示:如果因为网速或其他原因下载失败请重新下载,重复下载不扣分。




    经营许可证编号:宁ICP备18001539号-1

    三一文库
    收起
    展开