C4选择结构程序设计解析课件.ppt
- 【下载声明】
1. 本站全部试题类文档,若标题没写含答案,则无答案;标题注明含答案的文档,主观题也可能无答案。请谨慎下单,一旦售出,不予退换。
2. 本站全部PPT文档均不含视频和音频,PPT中出现的音频或视频标识(或文字)仅表示流程,实际无音频或视频文件。请谨慎下单,一旦售出,不予退换。
3. 本页资料《C4选择结构程序设计解析课件.ppt》由用户(晟晟文业)主动上传,其收益全归该用户。163文库仅提供信息存储空间,仅对该用户上传内容的表现方式做保护处理,对上传内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知163文库(点击联系客服),我们立即给予删除!
4. 请根据预览情况,自愿下载本文。本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
5. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007及以上版本和PDF阅读器,压缩文件请下载最新的WinRAR软件解压。
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- C4 选择 结构 程序设计 解析 课件
- 资源描述:
-
1、1第四章第四章 选择结构程序设计选择结构程序设计 教学目标教学目标掌握逻辑值的概念及逻辑值在掌握逻辑值的概念及逻辑值在C C语言中的表示方法;语言中的表示方法;掌握关系运算符和逻辑运算符的运算规则;掌握关系运算符和逻辑运算符的运算规则;掌握赋值运算、算术运算、关系运算及逻辑运算等掌握赋值运算、算术运算、关系运算及逻辑运算等几种常用的运算符之间的优先级次序。几种常用的运算符之间的优先级次序。掌握掌握ifif语句及其嵌套的使用方法;语句及其嵌套的使用方法;了解条件运算符的运算规则及其使用方法。了解条件运算符的运算规则及其使用方法。了解用了解用switchswitch语句和语句和breakbreak
2、语句构成的多分支结构。语句构成的多分支结构。基本要求基本要求能够编写简单的选择结构程序,并且能够排除选择结能够编写简单的选择结构程序,并且能够排除选择结构程序中的语法错误及较简单的逻辑错误。构程序中的语法错误及较简单的逻辑错误。15:13:28长江大学计算机科学学院2 4.1 4.1 关系运算和逻辑运算关系运算和逻辑运算 关系运算关系运算一般是指简单的条件比较。一般是指简单的条件比较。如:如:x x大于大于0 0 表示为:表示为:x0 x0 逻辑运算逻辑运算一般是指复杂的条件比较(多个简单一般是指复杂的条件比较(多个简单条件比较的组合)。条件比较的组合)。如:如:x x大于大于0 0并且并且y
3、 y小于等于小于等于0 0 表示为:表示为:x0&y0&y0)的值为的值为 (算术运算)(算术运算)5&x0的值为(逻辑运算)的值为(逻辑运算)15:13:29长江大学计算机科学学院44.1.2 关系运算符与关系表达式关系运算符与关系表达式1关系运算符及其优先级关系运算符及其优先级 由两个字符组合而成的运由两个字符组合而成的运算符之间不能有空格,如:算符之间不能有空格,如:=、=、!=。优先级次序:优先级次序:算术运算符算术运算符13/12关系运算符关系运算符10(、=)关系运算符关系运算符9(=、!=)赋值运算符赋值运算符 2 表4.1关系运算符及其优先级109 15:13:29长江大学计算
4、机科学学院52关系表达式关系表达式 用关系运算符将两个操作数用关系运算符将两个操作数(常量、变量或表达式常量、变量或表达式)连接连接起来,进行关系运算的式子,称为起来,进行关系运算的式子,称为关系表达式关系表达式。例如,假设例如,假设n1=5,n2=8,n3=10,则:则:(1)关系表达式)关系表达式n1=n2的值为的值为0。(2)关系表达式)关系表达式n1n3的值为的值为1。(4)关系表达式)关系表达式n1=n2n3的值等为的值等为0。注意注意:由于存在:由于存在存储误差存储误差和和转换误差转换误差,避免避免直接用关系直接用关系运算符运算符“=”来来判断判断两个实型数是否相等两个实型数是否相
5、等。单精度实数:单精度实数:fabs(x-y)0.000001 双精度实数:双精度实数:fabs(a-b)b)&(xy)当当a大于大于b且且x大于大于y时时,结果结果为为“真真”,用,用数值数值1来表示;否来表示;否则则,结果为结果为“假假”,用,用数值数值0来表示。来表示。表表4.3 4.3 逻辑运算符的运算规则逻辑运算符的运算规则 15:13:29长江大学计算机科学学院8 如如:求一元二次方程根时求一元二次方程根时,用到下列条件用到下列条件 (a!=0)&(b*b-4*a*c0)数学表达式数学表达式 0 x10表示表示x的值应该在的值应该在0到到10的范围内。的范围内。但在但在C语言中语言
6、中不不能用能用关系表达式关系表达式0 x10来简单表述以上的来简单表述以上的数学关系。因为数学关系。因为无论无论x是什么值,按照是什么值,按照C语言的运算规则,语言的运算规则,左边的表达式左边的表达式0 x的运算结果只能为的运算结果只能为0或或1,因而表达式,因而表达式0 x10的运算结果的运算结果总是总是1。只有用只有用逻辑表达式逻辑表达式0 x&xl0才能正确地表述以上数学才能正确地表述以上数学关系。关系。用逻辑表达式来表示多个条件的组合用逻辑表达式来表示多个条件的组合 15:13:29长江大学计算机科学学院9 “非完全求解非完全求解”法:当求出某个逻辑运算符的左边的法:当求出某个逻辑运算
7、符的左边的运算量的值就能够明确地确定这个逻辑运算的结果时,就运算量的值就能够明确地确定这个逻辑运算的结果时,就结束求解过程,直接给出运算结果。例如:结束求解过程,直接给出运算结果。例如:(1)a&b&c 若若a为为“假假”,直接求得直接求得a&b及整个表达式的值为及整个表达式的值为“假假”;若若a为为“真真”,b为为“假假”,a&b及整个表达式的值为及整个表达式的值为“假假”。只有当只有当a为为“真真”时,才需要判别时,才需要判别b的值;只有当的值;只有当a&b的值为的值为“真真”时,才需要判别时,才需要判别c的值。的值。(2)a|b|c 若若a为为“真真”,直接求得直接求得 a|b及整个表达
8、式的值为及整个表达式的值为“真真”;若若a为为“假假”,b为为“真真”,a|b及整个表达式的值为及整个表达式的值为“真真”;只有当只有当a为为“假假”时,才需要判别时,才需要判别b的值;只有当的值;只有当a|b的的值为值为“假假”时,才需要判别时,才需要判别c的值。的值。逻辑表达式的逻辑表达式的“非完全求解非完全求解”法法 15:13:29长江大学计算机科学学院10例:例:“非完全求解非完全求解”#include#include stdio.hstdio.h void main()void main()intint x,a,b,c;x,a,b,c;a=1;b=2;c=3;a=1;b=2;c=3
9、;x=x=(a-1)(a-1)&(+b)(+b)&(+c);(+c);printf(1:a=%d,b=%d,c=%d,x=%dn,a,b,c,x);printf(1:a=%d,b=%d,c=%d,x=%dn,a,b,c,x);a=1;b=2;c=3;a=1;b=2;c=3;x=x=a a&(b-2)(b-2)&(+c);(+c);printf(2:a=%d,b=%d,c=%d,x=%dn,a,b,c,x);printf(2:a=%d,b=%d,c=%d,x=%dn,a,b,c,x);a=1;b=2;c=3;a=1;b=2;c=3;x=x=a a&(+b)(+b)&(+c)(+c);printf
10、(3:a=%d,b=%d,c=%d,x=%dn,a,b,c,x);printf(3:a=%d,b=%d,c=%d,x=%dn,a,b,c,x);15:13:29长江大学计算机科学学院114.2 if语句语句1.if语句的一般形式语句的一般形式2.(1)单分支)单分支if语句语句 if(表达式表达式)语句语句 if语句可以根据语句可以根据给定的条件给定的条件进行判断,决定执行进行判断,决定执行某个分支程序段,以实现选择结构的程序设计。某个分支程序段,以实现选择结构的程序设计。表达式常为关系表达式或表达式常为关系表达式或逻辑表达式,也可以是任逻辑表达式,也可以是任何类型的何类型的C表达式表达式语句
11、也称为内嵌语句语句也称为内嵌语句,可可以是一条语句,也可以以是一条语句,也可以是复合语句是复合语句 15:13:29长江大学计算机科学学院12#include#include#include#include void main()void main()double x;double x;scanf(scanf(“%lf%lf”,&x,&x););if(xif(x=0)=0)printf(printf(“%10.6lfn%10.6lfn”,sqrt(x);,sqrt(x);/*sqrtsqrt为开平方的库函数为开平方的库函数 */例例4.1 4.1 输入一个数,如果该数大于等于输入一个数,如果该
12、数大于等于0 0,则输出,则输出它的平方根,当它小于它的平方根,当它小于0 0,则不做任何处理。,则不做任何处理。15:13:29长江大学计算机科学学院134.2 if语句语句(2)双分支)双分支 if语句语句 if(表达式表达式)语句语句1 else 语句语句2else不能单独使不能单独使用用(可选)(可选)15:13:29长江大学计算机科学学院14#include#include void main()void main()intint n1,n2,n3,max;n1,n2,n3,max;printf(Pleaseprintf(Please input three numbers:);in
13、put three numbers:);scanf(%d,%d,%dscanf(%d,%d,%d,&n1,&n2,&n3);,&n1,&n2,&n3);if if(n1n2)(n1n2)max=n1;max=n1;elseelse max=n2;max=n2;if if(n3max)(n3max)max=n3;max=n3;printf(maxprintf(max=%dn,max);=%dn,max);程序运行情况如下:程序运行情况如下:Please input three numbers:11,22,18max=22例例4.1 输入三个整数,求最大值输入三个整数,求最大值/*简化形式简化形式
14、*/max=n1;max=n1;if if(n2max)(n2max)max=n2;max=n2;15:13:29长江大学计算机科学学院15例例4.2 输入三个整数输入三个整数,在变量在变量a,b,c中排序中排序#include#include void main()void main()intint a,b,c,ta,b,c,t;printfprintf(input (input a,b,ca,b,c:);:);scanfscanf(%d%d%dd%d%d,&a,&b,&c),&a,&b,&c);printfprintf(a=%(a=%d,bd,b=%=%d,cd,c=%=%dn,a,b,c
15、dn,a,b,c););if if(ab)(ab)t=t=a;aa;a=b;bb;b=t;=t;if if(ac)(ac)t=t=a;aa;a=c;cc;c=t;=t;if if(bc)(bc)t=t=b;bb;b=c;cc;c=t;=t;printfprintf(a=%(a=%d,bd,b=%=%d,cd,c=%=%dn,a,b,cdn,a,b,c););程序运行情况如下:程序运行情况如下:input a,b,c:62 34 24a=62,b=34,c=24a=24,b=34,c=62 15:13:29长江大学计算机科学学院16(3)(3)多分支多分支ifif语句语句 15:13:29长江大
16、学计算机科学学院17例例4.3 编写程序,根据输入的学生成绩,给出相应的等编写程序,根据输入的学生成绩,给出相应的等级。级。90分以上的等级为分以上的等级为A,60分以下的等级为分以下的等级为E,其余每其余每10分为一个等级。分为一个等级。#include void main()int g;printf(Enter g:);scanf(%d ,&g);printf(g=%d:,g);if(g=90)printf(An);else if(g=80)printf(Bn);else if(g=70)printf(Cn);else if(g=60)printf(Dn);else printf(En);
17、程序运行情况如下:程序运行情况如下:Enter g:78g=78:C 15:13:29长江大学计算机科学学院18 if语句中的内嵌语句可以是语句中的内嵌语句可以是任意合法的任意合法的C语句语句,当然当然也可以也可以是另外一个是另外一个if语句语句,这时称为,这时称为if语句的语句的嵌套嵌套。if()if()if()if()if()if()语句语句1 语句语句1 if()if()if()else 语句语句2 else else else else if()else else if()语句语句3 else 语句语句2 语句语句2 else 语句语句42.if语句的嵌套语句的嵌套 15:13:29长
展开阅读全文