04.C语言程序设计-分支

上传人:飞*** 文档编号:54007135 上传时间:2018-09-07 格式:PPT 页数:26 大小:249.50KB
返回 下载 相关 举报
04.C语言程序设计-分支_第1页
第1页 / 共26页
04.C语言程序设计-分支_第2页
第2页 / 共26页
04.C语言程序设计-分支_第3页
第3页 / 共26页
04.C语言程序设计-分支_第4页
第4页 / 共26页
04.C语言程序设计-分支_第5页
第5页 / 共26页
点击查看更多>>
资源描述

《04.C语言程序设计-分支》由会员分享,可在线阅读,更多相关《04.C语言程序设计-分支(26页珍藏版)》请在金锄头文库上搜索。

1、C语言程序设计,选择结构,什么是选择结构?,根据所指定的条件是否满足,决定从给定的两组操作中选择其一。 选择结构是程序智能化的基础。 C语言的选择结构语法:,if ( 条件表达式 ) 语句1 else 语句2,解释:如果条件满足则执行“语句1”,否则执行“语句2”。,注意: 当条件满足时,只执行“语句1”,不执行“语句2”;反之亦然; “语句1”和“语句2”都需要有分号作为结束标志; “语句2”后面的分号同时也是if 语句的结束标志。,语句1,语句2,语句1,语句2,例:if (a3) b=0; else b=1;if (x=0?,Y,N,计算x1,beta=0?,Y,N,计算x2,beta=

2、0?,N,Y,输出无解,输出计算结果,x2=-9999,条件表达式,关系表达式,if (a0) p+; else m+; if (x=3.0) ok=1; else ok=0; if (x1!=x2) equal=1; else equal=0; if (-3x-3 ,例:,注意事项:,C语言没有逻辑变量,用“1“代表“真“,用“0“代表“假“。 a=1;b=2;x=3;y=4; if (a+1=b if(a!=0) if(3). 条件恒成立 C语言可能不对整个表达式进行计算。 if (4|a=b) if(0 & a=b) 实型变量不能进行相等的比较。 if(pi=3.14) if(pi-3.

3、14-1.0e-005),注意事项:,优先级,a=bc a=(bc) ca+b c(a+b),ab=c (ab)=c a=bc a=(bb- 4 (!a)(b-4) a=!b5&!cd a=(!b5)&(!cd),技巧与建议:如果记不住优先级,就用括号将表达式进行明显的分隔。实际编程序的时候也建议这样做。,(x-3)*(y-4)=0 & x!=0,写出: 的定义域,if 语句的形式,if (表达式) 语句1; else 语句2;,if (表达式) 语句1;,if (beta=0) k=1; else k=0;,flag=0; if (beta=0) flag=1; ,例:输入一个整数 a,判断

4、它是偶数还是奇数?,#include void main( ) int a;printf (“input a number: “);scanf (“%d“, ,分析:若 a 是偶数, a % 2=0,注意:该方法只适用于整数。,if 语句的形式,if (表达式1) 语句1; else if (表达式2) 语句2; else if (表达式3) 语句3; else 语句n;,#include main() float income,rate,tax;scanf(“%f “, ,例:根据收入的不同计算所得税金额。,复合语句,将多条语句用 包含起来,可以出现在任何允许出现单个语句的地方。,例:输入3

5、个数,按由大到小排列。,交换a,b,假,真,假,真,假,真,交换a,c,交换b,c,a b t,8,5,8,t = a,a = b,b = t,两个存储单元进行交换一定要引入一个中间变量,if (ab) t=a; a=b; b=t; if (ac) t=a; a=c; c=t; if (b4) printf(“%1d“,wan);if (length3) printf(“%1d“,qian);if (length2) printf(“%1d“,bai);if (length1) printf(“%1d“,shi);printf(“%1dn“,ge);printf(“逆序数字:%1d“,ge);

6、if(length1) printf(“%1d“,shi);if(length2) printf(“%1d“,bai);if(length3) printf(“%1d“,qian);if(length4) printf(“%1d“,wan);printf(“n“,ge); ,90243 数字长度为:5位 顺序数字:90243 逆序数字:34209,运行结果:,作业:,书后习题: 5.5 5.6 5.9 5.10,?,条件运算符,语法:条件 ? 表达式1 : 表达式2 含义: 先计算“条件“; 若“条件“为真,计算并返回“表达式1“的值; 否则,计算并返回“表达式2“的值。,max=(ab)?a

7、:b;,if (ab) max=a; else max=b;,ab?printf(“%d“,a):printf(“%d“,b);,ab?a:cd?c:d,结合方向为“自右向左”,max=ab?a:b+1;,switch 语句,switch (表达式) case 常量值1:语句1;break;case 常量值2:语句2;break;case 常量值n:语句n;break;default : 语句n+1; ,语法:,计算表达式; 若计算结果等于“常量值1“,则执行“语句1“,然后跳出switch结构; 若计算结果等于“常量值2“,则执行“语句2“,然后跳出switch结构; 若计算结果不等于任何常

8、量值,则执行“语句n+1“,结束switch结构。,执行过程:,两分支,多分支,例:用switch语句评价学生成绩 60分以下为“E”;6170分为“D”;7180分为“C”;8189分为“B”;90分以上为“A”。,#include main ( ) int score;printf ( “input a score: “);scanf ( “%d“, ,关键:如何表示表达式和常量。,注意事项: case语句只起标号作用,程序根据“表达式“的值,转向相应的case语句,顺序向下执行。 语法上可以没有break语句,但一般逻辑上要求存在。 表达式的结果可以是任意类型,但一般为整型和字符型; 常

9、量表达式的值必须互不相同。,#include main ( ) char grade;printf ( “input a grade: “);scanf ( “%c“, ,例:将学生成绩的AE级转换成中文习惯。 A优秀;B良好;C合格;D及格;E不及格。,#include main ( ) char grade;printf ( “input a grade: “);scanf ( “%c“, ,注意事项: 多个case可以共用一组执行语句。 case语句应考虑到全部可能的情况; 可以没有default语句; case后面可以有若干条语句;,例:将阿拉伯数字的金额转换成中文大写。 如:3254.76元 写为:叁千贰佰伍拾肆圆柒角陆分,例:从键盘不断输入数据,计算所有数据的平均值及均方根值,直至输入-9999为止。,递推公式:,均方根公式:,递推公式:,平均值公式:,作业: 输入小于5位的数字,要求统计位数,逐个输出各位数字,逐个逆序输出各位数字。 书P112,5.8题,要求用switch结构完成。解二元一次方程组(需要考虑到系数的各种可能)。,

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

最新文档


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

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