C语言程序设计 工业和信息化普通高等教育十二五 规划教材立项项目 教学课件 ppt 作者 贾宗璞 许合利 c4 选择结构程序设计

上传人:w****i 文档编号:94451009 上传时间:2019-08-07 格式:PPT 页数:40 大小:463.50KB
返回 下载 相关 举报
C语言程序设计 工业和信息化普通高等教育十二五 规划教材立项项目 教学课件 ppt 作者 贾宗璞 许合利 c4 选择结构程序设计_第1页
第1页 / 共40页
C语言程序设计 工业和信息化普通高等教育十二五 规划教材立项项目 教学课件 ppt 作者 贾宗璞 许合利 c4 选择结构程序设计_第2页
第2页 / 共40页
C语言程序设计 工业和信息化普通高等教育十二五 规划教材立项项目 教学课件 ppt 作者 贾宗璞 许合利 c4 选择结构程序设计_第3页
第3页 / 共40页
C语言程序设计 工业和信息化普通高等教育十二五 规划教材立项项目 教学课件 ppt 作者 贾宗璞 许合利 c4 选择结构程序设计_第4页
第4页 / 共40页
C语言程序设计 工业和信息化普通高等教育十二五 规划教材立项项目 教学课件 ppt 作者 贾宗璞 许合利 c4 选择结构程序设计_第5页
第5页 / 共40页
点击查看更多>>
资源描述

《C语言程序设计 工业和信息化普通高等教育十二五 规划教材立项项目 教学课件 ppt 作者 贾宗璞 许合利 c4 选择结构程序设计》由会员分享,可在线阅读,更多相关《C语言程序设计 工业和信息化普通高等教育十二五 规划教材立项项目 教学课件 ppt 作者 贾宗璞 许合利 c4 选择结构程序设计(40页珍藏版)》请在金锄头文库上搜索。

1、C语言程序设计,第4章 选择结构程序设计,问题:经常遇到很多情况需要根据条件作选择,C中允许吗?,游戏还是学习? 奖学金的分等级,这些事件的特点是: 针对不同情况作不同的选择。 C语言在进行程序设计的时候,也提供了同样的结构供用户使用:选择结构。,引子,本章要点,第4章 选择结构程序设计,本章难点,关系运算符和关系表达式 逻辑运算符和逻辑表达式 条件运算符合条件表达式 if语句和switch语句的用法,if语句的嵌套 Switch语句的用法,4.1,4.2,4.3,4.4,关系关系运算符和关系表达式,逻辑运算符和逻辑表达式,If语句及其构成的选择结构,Switch语句及其构成的选择结构,第4章

2、 选择结构程序设计,4.5,选择结构程序设计举例,关系运算符 种类:= != 结合方向:自左向右 优先级别:,例 ca+b /c(a+b) ab!=c /(ab)!=c a=bc /a=(bc),关系表达式的值:是逻辑值“真”或“假”,用1和0表示,例 int a=3,b=2,c=1,d,f; ab (ab)=c b+cb f=abc,/表达式值1,/表达式值1,/表达式值0,/d=1,/f=0,4.1 关系运算符和表达式,关系运算注意:,例 若a=0; b=0.5; x=0.3; 则 a=x=b的值为,0,例 5278在C中是允许的, 值为,0,例 int i=1, j=7,a; a=i+(

3、j%4!=0); 则a=,2,例 a0 结果为 A100 结果为,1,0,关系运算注意:,例 注意区分“=”与“=” int a=0,b=1; if(a=b) printf(“a equal to b”); else printf(“a not equal to b”);,例 应避免对实数作相等或不等的判断 如 1.0/3.0*3.0=1.0 结果为 可改写为:fabs(1.0/3.0*3.0-1.0)1e-6,0,4.1,4.2,4.3,4.4,关系关系运算符和关系表达式,逻辑运算符和逻辑表达式,If语句及其构成的选择结构,Switch语句及其构成的选择结构,第4章 选择结构程序设计,4.5

4、,选择结构程序设计举例,逻辑运算符 种类: ! & | 逻辑运算真值表,C语言中,运算量: 0表示“假”, 非0表示“真”, 运算结果: 0表示“假”, 1表示“真”,4.2 逻辑运算符和表达式,例 ab&xy a=b|x=y !a|ab,/ (a=x) & (x=b),/(ab)&(xy),/(a=b)|(x=y),/(!a)|(ab),优先级,结合方向,4.2 逻辑运算符和表达式,例 a=4;b=5; !a a&b a|b !a|b 4&0|2 53&2|84-!0 c&d,值为0,值为1,值为1,值为1,值为1,/(53)&2|(8(4-(!0)值为1,值为1,短路特性:逻辑表达式求解时

5、,并非所有的逻辑运算符都被执行,只是在必须执行下一个逻辑运算符才能求出表达式的解时,才执行该运算符,例 a (m=ab)&(n=cd),/结果m=0,n=1,4.1,4.2,4.3,4.4,关系关系运算符和关系表达式,逻辑运算符和逻辑表达式,If语句及其构成的选择结构,Switch语句及其构成的选择结构,第4章 选择结构程序设计,4.5,选择结构程序设计举例,if语句(条件选择语句) if语句的三种形式 形式一: 格式:if (expression) statement 执行过程:,例:if (xy) printf(“%d”,x);,4.3 if语句及其构成的选择结构,例:if (xy) ma

6、x=x; else max=y;,4.3 if语句及其构成的选择结构,if语句(条件选择语句) if语句的三种形式 形式二: 格式:if (expression) statement1 else statement2 执行过程:,if ( expr1 ) statement1 else if (expr2 ) statement2 else if (expr3 ) statement3 . else statement n ,例:if (salary1000) index=0.4; else if (salary800) index=0.3; else if (salary600) index

7、=0.2; else if (salary400) index=0.1; else index=0;,if语句(条件选择语句) if语句的三种形式 形式三: 格式: 执行过程:,如:if(a=b,例 考虑下面程序的输出结果: #include main() int x,y; scanf(“%d,%d”, ,Compile Error!,说明: if后面的表达式类型任意,语句可以是复合语句 if(x) if(x!=0) if(!x) if(x=0),#include main() int x,y; printf(“Enter an integer:“); scanf(“%d“, ,运行:Ente

8、r an integer:-12 integer:-12-absolute value :12,例 求一个数的绝对值:,#include main() int a,b; printf(“Enter integer a:“); scanf(“%d“, ,运行:Enter integer a:12 Enter integer b:12 a=b,运行:Enter integer a:12 Enter integer b:9 a!=b,例 输入两个数并判断两数相等否:,#include main() char c; printf(“Enter a character:“); c=getchar();

9、if(c=0 ,运行:Enter a character: The character is a control character,运行:Enter a character:8 The character is a digit,运行: Enter a character: D The character is a capital letter,运行: Enter a character: h The character is a lower letter,运行: Enter a character:F1 The character is other character,例 判断输入字符种类,

10、例 if语句嵌套: 一般形式:,#include main() int x,y; printf(“Enter integer x,y:“); scanf(“%d,%d“, ,运行:Enter integer x,y:12,23 XY Enter integer x,y:12,12 X=Y,例 输入两数并判断其大小关系,ifelse 配对原则:缺省 时,else总是和它上面离它最近的未配对的if配对,例: if (a=b) if(b=c) printf(“a=b=c”); else printf(“a!=b”);,修改: if (a=b) if(b=c) printf(“a=b=c”); els

11、e printf(“a!=b”);,实现ifelse正确配对方法:加 ,例 考虑下面程序输出结果: main() int x=100,a=10,b=20; int v1=5,v2=0; if(ab) if(b!=15) if(!v1) x=1; else if(v2) x=10; x=-1; printf(“%d”,x); ,结果:-1,注意: (1)优先级低于关系运算符和算术运算符,但高于赋值运算符。 例如“max=(ab)?a:b);” “max=ab?a:b;” (2)? 和 : 不能分开单独使用。 (3)结合方向是自右至左。,例: #include main() int x,y; sc

12、anf(“%d%d“, ,条件运算符和条件表达式 形式: 表达式1 ? 表达式2 :表达式3 执行过程:,运行情况: 5 6 a 1.500000,4.1,4.2,4.3,4.4,关系关系运算符和关系表达式,逻辑运算符和逻辑表达式,If语句及其构成的选择结构,Switch语句及其构成的选择结构,第4章 选择结构程序设计,4.5,选择结构程序设计举例,switch( 表达式) case E1: 语句组 1; break; case E2: 语句组 2; break; . case En: 语句组 n; break; default: 语句组 ; break; ,4.4 switch语句及其构成的

13、选择结构,一般形式,执行过程,如: case A: case B: case C: printf(“score60n”); break; ,说明: E1,E2,En是常量表达式,且值必须互不相同 常量表达式相当于语句标号,必须用break跳出 case后可包含多个可执行语句,且不必加 switch可嵌套 多个case可共用一组执行语句,例 switch(score) case 5: printf(“Very good!”); case 4: printf(“Good!”); case 3: printf(“Pass!”); case 2: printf(“Fail!”); default :

14、printf(“data error!”); ,运行结果:score为5时,输出: Very good! Good! Pass! Fail! data error!,例 void main() int x=1,y=0,a=0,b=0; switch(x) case 1: switch(y) case 0: a+; break; case 1: b+; break; case 2: a+;b+; break; case 3: a+;b+; printf(“na=%d,b=%d”,a,b); ,#include main() int c; printf(“Enter m or n or h or

15、other:“); c=getchar(); switch(c) case m: printf(“nGood morning!n“);break; case n: printf(“nGood night!n“); break; case h: printf(“nHello!n“); break; default : printf(“n?n“); break; ,例 根据输入字母输出字符串,4.1,4.2,4.3,4.4,关系关系运算符和关系表达式,逻辑运算符和逻辑表达式,If语句及其构成的选择结构,Switch语句及其构成的选择结构,第4章 选择结构程序设计,4.5,选择结构程序设计举例,4.5 选择结构程序设计举例,例4.10 输入一个不多于4位的正整数,求出它是几位数,逆序打印出各位数字。 分析:设输入的正整数为x,按其位数多少分为4种情况: 当x为4位数时,千位不为0; 当x为3位数时,千位为0,百位不为0; 当x为2位时,千位和百位为0,

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

最新文档


当前位置:首页 > 高等教育 > 大学课件

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