[工学]C语言程序设计第五章课件

上传人:豆浆 文档编号:49769779 上传时间:2018-08-02 格式:PPT 页数:46 大小:977KB
返回 下载 相关 举报
[工学]C语言程序设计第五章课件_第1页
第1页 / 共46页
[工学]C语言程序设计第五章课件_第2页
第2页 / 共46页
[工学]C语言程序设计第五章课件_第3页
第3页 / 共46页
[工学]C语言程序设计第五章课件_第4页
第4页 / 共46页
[工学]C语言程序设计第五章课件_第5页
第5页 / 共46页
点击查看更多>>
资源描述

《[工学]C语言程序设计第五章课件》由会员分享,可在线阅读,更多相关《[工学]C语言程序设计第五章课件(46页珍藏版)》请在金锄头文库上搜索。

1、C语言程序设计主讲:龚文引第五讲:选择结构程序设计提纲o 关系表达式 o 逻辑表达式 o 选择结构程序设计如何通过程序计算下式的值?5.1 关系运算符和关系表达式o 关系运算符 n 用于进进行比较较运算的运算符。共有六种: o = = != n 优优先级级与结结合性: o 前4种大于后两种 o 低于算术术运算符而高于赋值赋值 运算符 o 左结结合性5.1 关系运算符和关系表达式o 关系表达式 n 一般形式: o n 如:ab a+bb+c n 经过关系运算后最终有一个值关系表达式 的值 o 关系表达式的值只有 0(假)或1(真)5.1 关系运算符和关系表达式o 例1:设 a=2, b=4, c

2、=1 计算以下关系表达式的值: ab a+bb+c ab (x=2)(y=5) (a(by xz=xz yxz (x=y-2)x+1001000上述表达式在C语言是合法的,但 是,对于编程人员来说是不可取的如何通过程序计算下式的值?5.2 逻辑运算符和逻辑表达式o 逻辑运算符 n b = (a=0) printf(“%d, %dn”, a, b); A: 1, 0;B: 0, 0;C: 6, 0;D: 5, 0B5.2 逻辑运算符和逻辑表达式下面程序的运行结果是_#include void main () int a=5, b; b = (a=0) | (a+); printf(“%d, %d

3、n”, a, b); A: 1, 0;B: 0, 1;C: 1, 1;D: 6, 0A5.2 逻辑运算符和逻辑表达式o 逻辑表达式的两种基本技能: n 逻辑表达式的计算 n 逻辑表达式的构造5.2 逻辑运算符和逻辑表达式o 逻辑表达式的构造举例a=b=c5=4=3a=b o 有一分支为为空scanf(“%d“, if ( score=60 )printf(“pass“); if ( score=60 ) printf(“pass“); 表达式语句真(非0)假(0)5.3 if语句o if语语句的三种形式 n if (表达式)语语句1; else语语句2;if(score=60)printf(“

4、pass”); else printf(“not pass”);if(score=60) printf(“pass”); else printf(“not pass”); 条件语句1 语句2YN5.3 if语句o if语语句的三种形式 n if (表达式1) 语语句1; else if(表达式2) 语语句2; else if(表达式3) 语语句3; else 语语句n;if(score=100) printf(“A”); else if(score=90) printf(“B”); else if(score=80) printf(“C”); else if(score=70) printf(

5、“D”); else if(score=60) printf(“E”); else printf(“F”);if(score=100) printf(“A”); else if(score=90) printf(“B”); else if(score=80) printf(“C”); else if(score=70) printf(“D”); else if(score=60) printf(“E”); else printf(“F”); 如何通过程序计算下式的值?一般用: if(x!=0) y=1/x; else y=10000;也可用: y=10000; if(x!=0) y=1/x;?

6、 y=1/x; if(x=0) y=10000如何通过程序计算下式的值?一般用: if(x!=0 else y=10000;o 判断下列程序的运行结结果_#include void main() int m = 5; if (m+=5)printf(“m = %dn“, m); elseprintf(“m = %dn“, m-); A: 4B: 5 C: 6D: 7C5.3 if语句o 说说明: n 语语句中的表达式可以是任意表达式if(x) y=1/x; else y=10000; n 一个if结结构不可分割if(x) y=1/x; z=10;/* 错误错误 */ else y=10000;

7、 n 一个分支中包含多个语语句时时, 要用 if(avoid main() int x=10, y=20, z=30; if (x y) z = x; x = y; y = z; printf(“%d,%d,%dn”, x, y, z); if (x y) z = x; x = y; y = z;20,30,30 分支程序设计举例 基本技巧和算法o 例1:从键盘输键盘输 入三个整数到变变量a,b,c, 输输出其中最大的数。 n 两种典型算法: o 枚举举法(将各种可能性枚举举出来) o 选择选择 法(先假设设,再判断,后更新)分支程序设计举例 基本技巧和算法/* 从键盘输键盘输 入三个整数,并

8、输输出最大的一个数(选择选择 法) */ #include void main() int a, b, c, max;scanf(“%d,%d,%d“, /* 从键盘输键盘输 入三个整数 */max = a; if ( bmax ) max = b; if ( cmax ) max = c; printf(“n max=%d“, max); 分支程序设计举例 基本技巧和算法o 例2:从键盘输键盘输 入三个整数到变变量a,b,c, 要求按从大到小的顺顺序输输出。 n 两种典型算法: o 枚举举法(将各种可能的排列枚举举出来) o 换换位法(将a,b,c中的数据换换位)分支程序设计举例 基本技巧和

9、算法/* 从键盘输键盘输 入三个整数,按从大到小进进行排序(换换位法) */ #include void main() int a,b,c; int t;scanf(“%d,%d,%d“, /*从键盘输键盘输 入三个整数*/if (a=80) if(score=90) printf(“A”); else printf(“B”); else if(score=60) printf(“C”); else printf(“D”); 5.3 if语句o if语语句的嵌套应应注意的问题问题 n 每个else与最近的前一个没有else配对对的if 进进行匹配 n 如果else匹配不符合我们们的意图图,则则

10、必须须使用 花括号强制实现实现 正确的匹配关系if (n 0) if (a b) z = a; else z = b;if (n 0) if (a b) z = a; else z = b;在if语语句嵌套的情况下使用花括号5.3 if语句o 条件运算符 n 如果两个分支的内容都是给给同一个变变量赋值赋值 , 则则可用简单简单 的条件运算符处处理: o if(ab) max=a; o else max=b; o 可用:max = ab ? a : b; n 赋值赋值 运算符右边为边为 一条件表达式。 n 条件表达式的一般形式: o 表达式1 ? 表达式2 : 表达式35.3 if语句o 条件表

11、达式的执执行过过程: n 表达式1 ? 表达式2 : 表达式3表达式1条件表达式 取表达式3的值条件表达式 取表达式2的值 非00优先级:低于关系运算符,高于赋值运算符 结合性:右结合性5.3 if语句o 下面程序的运行结结果是_#include void main() int a=1,b=2,c=3,d=4; int e;e = ab?a:cd?c:d; printf(“d=%dn”, e); e = ab?a:(cd?c:d);45.3 if语句o 用条件表达式实现实现 求a,b,c中最大的一个max = (ab) ? (ac ? a : c) : (bc ? b : c);5.3 if语

12、句o 条件表达式可以编编写出很简洁简洁 的代码码 n 例:打印一个数组组的n个元素,每行打印10个元 素,每列之间间用一个空格隔开,每行用一个换换 行符结结束(包括最后一行)for (i=0; ivoid main() inth; intc1, c2, c3, c4; floatx, y;printf(“Pls input two float numbers:“); scanf(“%f%f“, c1 = ( (x-2)*(x-2)+(y-2)*(y-2)=1 ); c2 = ( (x+2)*(x+2)+(y-2)*(y-2)=1 ); c3 = ( (x-2)*(x-2)+(y+2)*(y+2)=1 ); c4 = ( (x+2)*(x+2)+(y+2)*(y+2)=1 );if ( c1|c2|c3|c4 ) h = 10; else h = 0;printf(“n h=%d“, h); 本章学习了o 关系运算符和关系表达式 o 逻辑逻辑 运算符和逻辑逻辑 表达式 o if语语句 o 条件运算符 o switch语语句课后习题o P111 习题习题 5.3 o P111 习题习题 5.5 (编编写完整程序) o P112 习题习题 5.7

展开阅读全文
相关资源
相关搜索

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

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