版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、第4章 选择结构程序设计,本章要点: 4.1 关系运算符和关系表达式 4.2 逻辑运算符和逻辑表达式 4.3 条件运算符和条件表达式 4.4 if语句 4.5 switch语句,4.1 关系运算符和关系表达式,表4-1 C语言中的6种关系运算符,优先级关系:算术运算符(高)关系运算符(中)赋值运算符(低),4.1.1 关系运算符,4.1.2 关系表达式 关系表达式:由关系运算符构成的表达式,主要用于选择结构中的条件判断。例如,a=b,a= =c等。在C语言中,当关系表达式成立时,其结果值为真(1),否则,其值为假(0)。 若a=3,b=2,表达式“ab”为真,表达式值为1。 若a=3,b=2,
2、c=1;表达式b+c54的值。 分析:x=654相当于:x=(65)4=14=0。 注:注意区别表示“等于”关系的运算符“= =”和表示“赋值运算”的“=”。,4.2 逻辑运算符和逻辑表达式 4.2.1 逻辑运算符 1C语言包括三种逻辑运算符: 逻辑与 scanf(%f,2If双分支选择语句(if-else语句) (1)语法形式: if(表达式) 语句体1;else 语句体2; (2)执行过程:首先计算圆括号内的表达式值,若为非0值,则执行语句体1,;否则执行语句体2。 例4-5 (P62)根据键盘输入x的值计算y的值,计算要满足以下规则:如果x=0,则y=0,否则y=1/x。 #includ
3、e void main() float x,y; scanf(%f,图4-4 if语句程序流程图,图4-5 if-else语句执行过程,4.4.2 if语句的嵌套 在if语句中又包含一个或多个if语句称为if语句的嵌套。以下if-else语句嵌套的三种形式: (1)在if子句中嵌套具有else子句的if语句,如图4.4(a)所示。 (2)只在if语句中嵌套if语句,如图4.4(b)。 (3)只在else子句中嵌套if语句,如图4.4(c)。 注:嵌套的if语句可以是if语句和ifelse语句形式,这就会出现多个if和多个else重叠的情况。此时要特别注意if和else的配对问题。if和else
4、配对规则为:else总是与它前一个最近的if配对。,图4.4 嵌套的if语句结构,例4-6(P64)根据从键盘上输入x的值计算y的值,计算规则如下: 1/x x0 y= 0 x=0 1/2x x void main() float x,y; scanf(%f,4.5 switch语句,4.5.1 switch语句(多分支结构的条件选择语句) 使用switch语句直接处理多个分支,其一般形式为: switch(表达式) case 常量表达式1:语句1; break; case 常量表达式2:语句2; break; case 常量表达式n:语句n; break; default:语句n+1;bre
5、ak; 注:(1)swich的表达式通常是一个整型或字符型变量,其结果为相应的整数或字符型。(2)在关键字case和常量表达式之间一定要有空格。,4.5.2 switch执行过程 switch语句的执行流程是:首先计算switch后面圆括号中表达式的值,然后用其结果依次与各个case的常量表达式相比较,若圆括号中表达式的值与某个case后面的常量表达式的值相等,就执行此case后面的语句,执行后遇break语句就退出switch语句;若圆括号中表达式的值与所有case后面的常量表达式的值都不相同,则执行default后面的语句n+1,执行后退出switch语句。,说明: (1)各case常量表
6、达式必须取不同的值,以保证分支选择的唯一性。 (2)default不是必须的,且总是放在最后,其后不需要break语句。若没有这部分,当switch后面圆括号中表达式的值与所有case后面的常量表达式的值都不相等时,则不执行任何一个分支直接退出switch语句。 (3)多个case可以共用一条执行语句。 (4)在switch语句中,只有最后一个分支(default)中的break语句的存在于否不影响执行结果。因为没有这个break语句,执行该分支的所有语句后也会自动退出switch语句。而其余各分支中的break语句有与无时的流程是完全不同的。,图4-8 switch语句的执行过程,例(P66)从键盘输入一个同学的成绩,判断其成绩等级,并输出。等级范围:90分以上A;8089,等级为B;7079,等级为C;6069,等级为D ;60分以下,等级为E. #include void main()int score;/score中存放学生的成绩 printf(Enter a score:); scanf(%d,三 编程题(P66) 1.从键盘输入任意3个数,按从小到大的顺序输出。 #include void main() int a,b,c,t; printf(please input three numbers:); s
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 学管部门奖惩制度
- 宋朝消防奖惩制度
- 宠物店员工奖惩制度
- 客服部服务奖惩制度
- 对司机奖惩制度
- 设备故障模式及风险评估案例
- 宣传工作经验总结与案例分享
- 商务英语口语交际技巧训练教程
- 网络营销推广策略及执行方案
- 高中学生大会主题演讲稿范文
- 家谱树形图模板
- 酒瓶里的风景:勃艮第葡萄酒
- 校园文化建设情况自查报告
- 药学分子生物学:第二章 DNA的复制、损伤和修复
- 【基于7P理论的汉庭酒店服务营销策略14000字(论文)】
- 2023-2024学年度新人教版必修二Unit4 History and Traditions基础巩固练习
- 总经理财务知识培训
- GB/T 13911-1992金属镀覆和化学处理表示方法
- Unit 1 Discover useful structures 语法精讲课件 【高效识记+延伸拓展】高中英语人教版(2019)选择性必修第三册
- 高脂血症健康讲座课件
- 复测分坑作业指导书
评论
0/150
提交评论