c语言_第4章_选择结构

上传人:豆浆 文档编号:47365609 上传时间:2018-07-01 格式:PPT 页数:39 大小:435.50KB
返回 下载 相关 举报
c语言_第4章_选择结构_第1页
第1页 / 共39页
c语言_第4章_选择结构_第2页
第2页 / 共39页
c语言_第4章_选择结构_第3页
第3页 / 共39页
c语言_第4章_选择结构_第4页
第4页 / 共39页
c语言_第4章_选择结构_第5页
第5页 / 共39页
点击查看更多>>
资源描述

《c语言_第4章_选择结构》由会员分享,可在线阅读,更多相关《c语言_第4章_选择结构(39页珍藏版)》请在金锄头文库上搜索。

1、第 四 章选择结构程序设计1第四章 选择结构程序设计一、关系运算符和关系表达式二、逻辑运算符和逻辑表达式三、使用if语句实现的选择结构四、条件运算符和条件表达式 五、switch语句 六、选择结构程序举例主要内容2关系运算符 = = != (6种)第四章 选择结构程序设计优先级赋值 3一、关系运算符和关系表达式3ab 比较两个变量的大小5=5 比较变量和常量的大小a+b=c*d 比较表达式的值的大小abc 比较表达式的值的大小a!=bbca!=bbc1 0a != b 3) | b 0双目单目二、逻辑运算符和逻辑表达式6第四章 选择结构程序设计 二、逻辑运算符和逻辑表达式第五章 选择结构程序设

2、计举例53 if (a1printf(“%d,%d”,a,b); 1,1短路问题8选择结构单分支双分支if (表达式) 语句多分支if (表达式) 语句 else 语句if (表达式1) 语句 else if (表达式) 语句 else 语句nif 语句的嵌套switch语句第四章 选择结构程序设计 选择结构的总类9格式流程图第四章 选择结构程序设计if (表达式) 语句三、if语句实现选择结构 单分支不成立(假、0)表达式语句块成立(真、1)if (xy) printf(“%d”,x);举例10例4.5第四章 选择结构程序设计#include “stdio.h“ int main( ) in

3、t num1,num2,max; printf(“input two numbers: n “); scanf(“%d%d“, max=num1; if (max int main() float a,b,t=0;scanf(“%f,%f”,if (ab)t=a; a=b; b=t;printf(“%5.2f,%5.2fn”,a,b);return 0; 3,43.00, 4.00 if (ab)t=a; a=b; b=t; if (ab)t=a; a=b; b=t; 3,44.00, 0.00当某些语句作为一个整体出 现的时候,必须是复合语句 的形式。三、if语句实现选择结构 单分支输入两个

4、实数,按由小到大的数序输出它们。12格式if (xy) printf(“%d”,x); else printf(“%d”,y);第四章 选择结构程序设计if (表达式) 语句 else 语句三、if语句实现选择结构 双分支举例流程图13第四章 选择结构程序设计#include int main() float a,b,c,p,s;scanf(“%f,%f,%f”,if (a+bc s=sqrt(p*(p-a)*(p-b)*(p-c);printf(“s=%7.2fn”,s);else printf(“Not a triangle!n”);return 0; 输入三角形的三边,求三角形的面积。3

5、,4,5 s= 6.003,4,8 Not a triangle!三、if语句实现选择结构 双分支例4.9输入a,b,c是三角形吗 ?p (a+b+c)/2ssqrt(p*(p-a)*(p- b)*(p-c)输出s输出“Not atriangle!”14格式举例第四章 选择结构程序设计if (cost3000) cash=500; else if (cost2000) cash=300; else if (cost1500) cash=200; else if (cost1000) cash=100; else cash=0;if (表达式1) 语句 else if (表达式) 语句 else

6、 if (表达式n) 语语句n else 语句n+1语句本身含 分号三、if语句实现选择结构 多分支(1)ifelse if形式15编程实现分段函数。y=0 x0 1.0/x 0202x+1 10202x+1 10b) d=a; else if (cb) d=c;else d=b;if (ab)if (cb) d=c; else d=b ;if (ab)if (cb) d=c; else d=b ;if (ab) if (cb) d=c;else d=b; else d=a;d=5d=3d=0d=419使用if语句中应注意的问题 在if关键字之后的括弧内 为表达式,该表达式通常 是逻辑表达式或

7、关系表达 式,但也可以是其它任何 合法的C表达式 条件判断表达式必须用括 弧括起来,后面没有分号 。但在语句之后必须加分 号。 如果要想在满足条件时执 行一组(多个)语句,则必 须把这一组语句用 括起 来组成一个复合语句 #include int main() float a,b,c,p,s;scanf(“%f,%f,%f”,if (a+bc s=sqrt(p*(p-a)*(p-b)*(p-c);printf(“s=%7.2fn”,s);else printf(“Not a triangle!n”);return 0; 20条件运算符 条件表达式举例if (ab) max=a; else ma

8、x=b;第四章 选择结构程序设计表达式?表达式:表达式max= (ab)? a : b;说明取值表达式1为真,则取值为表达式2的值; 表达式1为假,则取值为表达式3的值。四、条件运算符和条件表达式P6921使用条件表达式求两个数的较大值。 #include “stdio.h“ int main( ) float num1,num2,max=0;scanf(“%f,%f“,max=(num1num2)?num1:num2 ;printf(“%5.2fn“,max);return 0; 例4.14第一次运行:3.2,4 4.00第二次运行:4,3.2 4.0022例题:输入字符,判断是否大写字母,

9、是则转小写,否则不转换;然后输 出。#include “stdio.h” Void main() char ch;scanf(“%c”, /*ch=getchar();*/ch=(ch=A printf(“请输入考试等级AD:”);scanf(“%c”,switch (grade)case A: printf(“80100n”);case B: printf(“7079n”);case C: printf(“6069n”);case D: printf(“ void main() char grade; printf(“请输入考试等级AD:”);scanf(“%c”,break;case B:

10、 printf(“7079n”);break;case C: printf(“6069n”);break;case D: printf(“ void main() int score; printf(“请输入考试成绩0100:”);scanf(“%c”,if(score100)printf(“请输入0100之间的整数n”);else if(score=80)printf(“An”);else if(score=70)printf(“Bn”);else if(score=60)printf(“Cn”);elseprintf(“Dn”); 根据输入的考试成绩(百分制整数)打印出等级水平。 (使用i

11、felse语句实现)A: 80100 B: 7079 C: 6069 D: void main() int score; printf(“请输入考试成绩0100:”);scanf(“%d”,switch (score)case 80100: printf(“An”);break;case 7079: printf(“Bn”);break;case 6069: printf(“Cn”);break;case void main() int score; printf(“请输入考试成绩0100:”);scanf(“%d”,switch (score)case 0: printf(“Dn”);bre

12、ak;case 1: printf(“Dn”);break;case 2: printf(“Dn”);break;case 3: printf(“Dn”);break; case 100:printf(“An”);break;default: printf(“请输入0100之间的整数n”); 太麻烦了 有没有简单的 办法呢?改进 程序1101种情况思考(例 4.18)根据输入的考试成绩(百分制整数)打印出等级水平。 (使用switch语句实现)A: 80100 B: 7079 C: 6069 D: void main() int score, p; printf(“请输入考试成绩0100:”)

13、;scanf(“%c”,p=score/10;switch (p)case 0: printf(“Dn”);break;case 1: printf(“Dn”);break;case 2: printf(“Dn”);break;case 3: printf(“Dn”);break;case 4: printf(“Dn”);break;case 5: printf(“Dn”);break;case 6: printf(“Cn”);break;case 7:printf(“Bn”);break;case 8:printf(“An”);break;case 9:printf(“An”);break;

14、 case 10:printf(“An”);break;default: printf(“请输入0100之间的整数n”); 改进 程序211种情况思考:不同case 值时执行相同的 操作,是否可以 合并?第四章 选择结构程序设计32#include void main() int score, p; printf(“请输入考试成绩0100:”);scanf(“%c”,p=score/10;switch (p)case 0:case 1:case 2:case 3:case 4:case 5: printf(“Dn”);break;case 6: printf(“Cn”);break;case 7:printf(“Bn”);break;case 8:case 9:case 10:printf(“An”);break;default: printf(“请输入0100之间的整数n”); 改进 程序3注意:多个case共 用一组执行语句时 ,共用的执行语句写在最后一个 case的后面。第四章 选择结构程序设计33第四章 选择结构程序设计例4.10求方程 ax2+bx+c=0 的解。(各种形式)真a=0真假输出“该 方程不是 二次方程 ”b2-4ac=0真输出两个实根: x1

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

最新文档


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

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