




已阅读5页,还剩54页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
第第4 4章章 选择结构程序设计选择结构程序设计 4.1 选择结构和条件判断 4.2 用if语句实现选择结构 4.3关系运算符和关系表达式 4.4 逻辑运算符和逻辑表达式 4.5 条件运算符和条件表达式 4.6 选择结构的嵌套 4.7 用switch语句实现多分支选择结构 4.8选择结构程序综合举例 学习方法熟练掌握基本知识,重在动手实践学习 4.1 4.1 选择结构和条件判断选择结构和条件判断 在现实生活中,需要进行判断和选择的 情况是很多的 u如果你在家,我去拜访你 u如果考试不及格,要补考 u如果遇到红灯,要停车等待 u周末我们去郊游 u70岁以上的老年人,入公园免票 学习方法熟练掌握基本知识,重在动手实践学习 4.1 4.1 选择结构和条件判断选择结构和条件判断 在现实生活中,需要进行判断和选择的 情况是很多的 处理这些问题,关键在于进行条件判断 由于程序处理问题的需要,在大多数程 序中都会包含选择结构,需要在进行下 一个操作之前先进行条件判断 学习方法熟练掌握基本知识,重在动手实践学习 4.1 4.1 选择结构和条件判断选择结构和条件判断 C语言有两种选择语句: (1)if语句,实现两个分支的选择结构 (2)switch语句,实现多分支的选择结构 学习方法熟练掌握基本知识,重在动手实践学习 4.1 4.1 选择结构和条件判断选择结构和条件判断 例4.1 在例3.5的基础上对程序进行改进。 题目要求是求 方程的根。 由键盘输入a,b,c。假设a,b,c的值任意, 并不保证 。需要在程序中进行 判别,如果 ,就计算并输出方 程的两个实根,否则就输出“方程无实根” 的信息。 学习方法熟练掌握基本知识,重在动手实践学习 解题思路: 输入a,b,c 计算disc disc #include int main ( ) double a,b,c,disc,x1,x2,p,q; scanf(“%lf%lf%lf“, disc=b*b-4*a*c; 计算b2-4ac,disc的值变为-15 学习方法熟练掌握基本知识,重在动手实践学习 if (disc #include int main ( ) double a,b,c,disc,x1,x2,p,q; scanf(“%lf%lf%lf“, disc=b*b-4*a*c; 计算b2-4ac,disc的值变为8 学习方法熟练掌握基本知识,重在动手实践学习 if (disc int main() float a,b,t; scanf(“%f,%f“, if(ab) t=a; a=b; b=t; printf(“%5.2f,%5.2fn“,a,b); return 0; 将a和b的值互换 如果ab 学习方法熟练掌握基本知识,重在动手实践学习 #include int main() float a,b,t; scanf(“%f,%f“, if(ab) t=a; a=b; b=t; printf(“%5.2f,%5.2fn“,a,b); return 0; 选择结构,用if语句实现的 学习方法熟练掌握基本知识,重在动手实践学习 4.2.2 if4.2.2 if语句的一般形式语句的一般形式 if (表达式) 语句1 else 语句2 关系表达式 逻辑表达式 数值表达式 方括号内的部分为可选的 学习方法熟练掌握基本知识,重在动手实践学习 4.2.2 if4.2.2 if语句的一般形式语句的一般形式 if (表达式) 语句1 else 语句2 简单的语句 复合语句 另一个if语句等 学习方法熟练掌握基本知识,重在动手实践学习 最常用的3种if语句形式: 1. if (表达式) 语句1 (没有else子句) 2. if (表达式) 语句1 else 语句2 (有else子句) 3. if(表达式) 语句 else if(表达式) 语句 else if(表达式) 语句 else if(表达式) 语句 else 语句m+1 (在else部分又嵌套了多层的if语句) 学习方法熟练掌握基本知识,重在动手实践学习 if(number 500) cost = 0.15; else if (number 300) cost = 0.10; else if (number 100) cost = 0.075; else if (number 50) cost = 0.05; else cost=0; if (number 500) cost = 0.15; else if (number 300) cost = 0.10; else if (number 100) cost = 0.075; else if (number 50) cost = 0.05; else cost = 0; 等价于 分号不能丢 学习方法熟练掌握基本知识,重在动手实践学习 说明: (1)整个if语句可写在多行上,也可写在一行上 但都是一个整体,属于同一个语句 (2)“语句1”“语句m”是if中的内嵌语句 内嵌语句也可以是一个if语句 (3)“语句1”“语句m”可以是简单的语句,也 可以是复合语句 学习方法熟练掌握基本知识,重在动手实践学习 4.34.3关系运算符和关系表达式关系运算符和关系表达式 4.3.1关系运算符及其优先次序 4.3.2 关系表达式 学习方法熟练掌握基本知识,重在动手实践学习 4.3.14.3.1关系运算符及其优先次序关系运算符及其优先次序 关系运算符: 用来对两个数值进行比较的比较运算符 语言提供种关系运算符: (小于) = (小于或等于) (大于) = (大于或等于) = (等于) != (不等于) 优先级相同 (高) 优先级相同 (低) 学习方法熟练掌握基本知识,重在动手实践学习 4.3.14.3.1关系运算符及其优先次序关系运算符及其优先次序 关系、算术、赋值运算符的优先级 算术运算符 (高) 赋值运算符 (低) 关系运算符 学习方法熟练掌握基本知识,重在动手实践学习 4.3.14.3.1关系运算符及其优先次序关系运算符及其优先次序 ca+b 等效于 c(a+b) ab=c 等效于 (ab)=c a=bc 等效于 a=(bc) 学习方法熟练掌握基本知识,重在动手实践学习 4.3.2 4.3.2 关系表达式关系表达式 关系表达式 u用关系运算符将两个数值或数值表达式连 接起来的式子 u关系表达式的值是一个逻辑值,即“真” 或“假” u在C的逻辑运算中,以“”代表“真”,以 “”代表“假” 学习方法熟练掌握基本知识,重在动手实践学习 4.4 4.4 逻辑运算符和逻辑表达式逻辑运算符和逻辑表达式 4.4.1 逻辑运算符及其优先次序 4.4.2 逻辑表达式 4.4.3 逻辑型变量 学习方法熟练掌握基本知识,重在动手实践学习 4.4.1 4.4.1 逻辑运算符及其优先次序逻辑运算符及其优先次序 3种逻辑运算符: else max=b; max = (a b) ? a : b; 条件运算符 学习方法熟练掌握基本知识,重在动手实践学习 4.5 4.5 条件运算符和条件表达式条件运算符和条件表达式 有一种if语句,当被判别的表达式的值 为“真”或“假” 时,都执行一个赋值语句 且向同一个变量赋值 如:if (ab) max=a; else max=b; max = (a b) ? a : b; 条件表达式 学习方法熟练掌握基本知识,重在动手实践学习 4.5 4.5 条件运算符和条件表达式条件运算符和条件表达式 条件表达式的一般形式为 表达式?表达式: 表达式 学习方法熟练掌握基本知识,重在动手实践学习 4.5 4.5 条件运算符和条件表达式条件运算符和条件表达式 条件运算符的执行顺序: u求解表达式1 u若为非0(真)则求解表达式2,此时表达 式2的值就作为整个条件表达式的值 u若表达式1的值为0(假),则求解表达式 3,表达式3的值就是整个条件表达式的值 学习方法熟练掌握基本知识,重在动手实践学习 4.5 4.5 条件运算符和条件表达式条件运算符和条件表达式 条件运算符优先于赋值运算符 条件运算符的结合方向为“自右至左” 以下为合法的使用方法: uab ? (max=a):(max=b); uab ? printf(“%d”,a): printf(“%d”,b); 学习方法熟练掌握基本知识,重在动手实践学习 4.5 4.5 条件运算符和条件表达式条件运算符和条件表达式 例4.4 输入一个字符,判别它是否大写 字母,如果是,将它转换成小写字母; 如果不是,不转换。然后输出最后得到 的字符。 学习方法熟练掌握基本知识,重在动手实践学习 4.5 4.5 条件运算符和条件表达式条件运算符和条件表达式 #include int main() char ch; scanf(“%c“, ch=(ch=A scanf(“%c“, printf(“Your score:“); switch(grade) case A: printf(“85100n“);break; case B: printf(“7084n“);break; case C: printf(“6069n“);break; case D: printf(“ int main() char grade; scanf(“%c“, printf(“Your score:“); switch(grade) case A: printf(“85100n“);break; case B: printf(“7084n“);break; case C: printf(“6069n“);break; case D: printf(“ int main() char grade; scanf(“%c“, printf(“Your score:“); switch(grade) case A: printf(“85100n“);break; case B: printf(“7084n“);break; case C: printf(“6069n“);break; case D: printf(“ int main() char grade; scanf(“%c“, printf(“Your score:“); switch(grade) case A: printf(“85100n“);break; case B: printf(“7084n“);break; case C: printf(“6069n“);break; case D: printf(“ int main() char grade; scanf(“%c“, printf(“Your score:“); switch(grade) case A: printf(“85100n“);break; case B: printf(“7084n“);break; case C: printf(“6069n“);break; case D: printf(“ int main() int year,leap; printf(“enter year:“); scanf(“%d“, if (year%4=0) if(year%100=0) if(year%400=0) leap=1; else leap=0; else leap=1; else leap=0; if (leap) printf(“%d is “,year); else printf(“%d is not “,year); printf(“a leap year.n“); return 0; 标志变量 与if (leap!=0)含义相同 学习方法熟练掌握基本知识,重在动手实践学习 #include int main() int year,leap; printf(“enter year:“); scanf(“%d“, if (year%4=0) if(year%100=0) if(year%400=0) leap=1; else leap=0; else leap=1; else leap=0; if (leap) printf(“%d is “,year); else printf(“%d is not “,year); printf(“a leap year.n“); return 0; 采取锯齿形式 学习方法熟练掌握基本知识,重在动手实践学习 #include int main() int year,leap; printf(“enter year:“); scanf(“%d“, if (year%4=0) if(year%100=0) if(year%400=0) leap=1; else leap=0; else leap=1; else leap=0; if (leap) printf(“%d is “,year); else printf(“%d is not “,year); printf(“a leap year.n“); return 0; if(year%4!=0) leap=0; else if (year%100!=0) leap=1; else if(year%400!=0) leap=0; else leap=1; 学习方法熟练掌握基本知识,重在动手实践学习 #include int mai
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025春季新疆石河子大学第一附属医院、石河子大学附属中医医院(兵团中医医院)校园招聘10人考前自测高频考点模拟试题及答案详解(易错题)
- 2025年浙江大学医学院附属第二医院招聘医师助理人员若干人考前自测高频考点模拟试题(含答案详解)
- 2025福建三明市教育局华东师范大学附属三明中学招聘紧缺急需专业工作人员18人模拟试卷及一套完整答案详解
- 2025年烟台龙口市卫生健康局所属事业单位公开招聘工作人员(55人)模拟试卷参考答案详解
- 2025海南澄迈县就业局招聘见习生1人考前自测高频考点模拟试题附答案详解(突破训练)
- 2025年4月四川成都师范学院考核招聘人员(第二批)模拟试卷附答案详解(考试直接用)
- 2025福建漳州市云霄立人学校招聘中学教师考前自测高频考点模拟试题及一套答案详解
- 2025黑龙江饶河县公益性岗位招聘30人模拟试卷附答案详解(模拟题)
- 2025湖南湘潭市纪委监委所属事业单位选调15人模拟试卷参考答案详解
- 2025广西南宁宁明县板棍乡卫生院招聘编外药剂人员1人考前自测高频考点模拟试题完整答案详解
- 2025上海金山巴士公共交通有限公司招聘30人笔试备考题库及答案解析
- 情商与智商的课件
- 3.3《含小括号的混合运算》(课件) -2025-2026学年三年级数学上册 西师大版
- 商业店铺施工方案
- 民法典之遗嘱继承课件
- 粮仓建筑施工管理办法
- 2025秋全体教师大会上,德育副校长讲话:德为根,安为本,心为灯,家为桥-这场开学讲话,句句都是育人的方向
- 急性肺水肿护理
- 供货进度保证措施方案
- DB3301∕T 0396-2023 大型商业综合体消防安全管理规范
- 2025年长沙市中考道德与法治试卷真题(含答案解析)
评论
0/150
提交评论