第章选择结构.ppt
《第章选择结构.ppt》由会员分享,可在线阅读,更多相关《第章选择结构.ppt(42页珍藏版)》请在三一文库上搜索。
1、第 章 选择结构,5.1 关系运算符和关系表达式 5.2 逻辑运算符和逻辑表达式 5.3 if语句 5.4 条件运算符 5.5 switch语句,a3 , a+b b ,5.1 关系运算符和关系表达式,关系运算就是比较运算。,关系表达式:,一个比较运算符连接两个表达式(算术、关系、逻辑、 赋值、字符等表达式)。,例如:,若a=5, b=2, c=1 a3成立 结果为1 3abc ab为1, abc为0, 所以f=0。,关系表达式的结果值为逻辑值。 规定:条件成立为1 (逻辑真) 否则为0 (逻辑假),例如:,有六个关系运算符 = 级别 高 = = ; != ; 低,算术运算 关系运算 赋值运算
2、,高 低,ca+b c(a+b) ab!=c (ab)!=c,关系运算符及其优先次序:,例如:,用逻辑运算符将关系表达式连接起来的式子。 逻辑表达式的值为逻辑值。,5.2 逻辑运算符及表达式,结果成立为1(真),否则为0(假); 对于算术值 ,非0为1,0为0。,逻辑表达式:,高 低,! (表达式) 对其后表达式值取反,单目符,逻辑运算符:,若 a=3 ! a = =0 a=3, b=4 !( ab) = = 1,! & | |,逻辑非,功能:,格式:,例如:,(表达式)&(表达式) 当两个表达式值均为真时, 结果为1,否则为0,双目符。,逻辑与,格式:,功能:,k1 & k2,0 & 0 =
3、 0 1 & 0 = 0 0 & 1 = 0 1 & 1 = 1,若 a=10 ; b=3.5; x=a 则 x= 1 ab & bc & !d 0,例如:,例如:,(表达式)| |(表达式) 当两个表达式值,只要有一个为真时, 结果为1,否则为0。双目符,k1 | | k2 0 | | 0 = 0 1 | | 0 = 1 0 | | 1 = 1 1 | | 1 = 1,逻辑或,格式:,功能:,例如:,若a=1 , b=-3, c=c x= ab | bb) | c= = 99 1 a0 0,说明:|和&运算具有短路效应。 1、a & b & c 当a为1时,才判断b, 否则整个值为0。 当a
4、 、b均为1时,才判断c,否则值为0 。,例如:,例如: a=1 & !e & b=3 0,例如: a=1 | !e | a=3 1 若a=3 , !2 | a0 | (a != 0) 1,2、 a | b | c 当a为0时,才判断b, 否则整个值为1。 当a 、b均为0时,才判断c,否则值为1 。,数学式 C表达式 -10x10 x=-10 & x=10,注意,5.3 if 语句,当表达式值为真(非0)时, 执行语句, 否则不执行。,if (xy) printf(“ %d“, x); printf(“%d”, y );,if (表达式) 1条语句或复合句,共有三种格式。,格式1:,功能1:
5、,例如:,流程图:,一般当作单分支用,否则易造成逻辑错误!,如:输出两个数中的大数。,if (xy) printf(“ %d“, x); printf(“%d”, y ); /yx 输出x,y,1 x0 y(x)= 0 x=0 -1 x0,void main() int x, y; printf(“input x:”); scanf(“%d”, ,例程 5-1:,当表达式值为真(非0)时, 执行if后内容, 否则执行else后内容。,if (表达式) 1条语句或复合句 else 1条语句或复合句,流程图:,格式2:,功能2:,if(xy) printf(“%d“, x); else print
6、f(“ %d“, y);,注意:,1、若语句不止一条, 则必须用 括起来。 2、分支中的语句以分号结束。 3、 else总是与最近且在其前的if配对。,例如:,例如:,If( x=0) if(x0) y=1; else y=0; else y=-1;,if (表达式1) 语句1或复合句1 else if(表达式2) 语句2或复合句2 else if(表达式3) 语句3或复合句3 else 语句n,if ( x0 ) y=1; else if ( x=0) y=0; else y=-1;,格式3:,例如:,实现产品保修额的计算。若是本公司的产品,则使用期year1,免费维修;18保修费100元;
7、若不是本公司的产品,一律收费200元。,1、说明变量year,fee,company; 2、键盘给company,year赋值; 3、根据company,year的值,来确定fee; 4、输出fee的值。,例程5-2:,算法:,#include void main() int year,fee; char company; printf(“ my company(y/n)? ”); company=getchar(); printf(“How long use this product :”); scanf(“%d”, ,例程5-3:,实现ATM机功能。根据用户取款的金额,按人民币从大到小的面
8、值先算出最多可以出多少张100元、50元、20元、10元,每次最多取1000元。,1、定义变量p100,p50,p20,p10,total; 2、输入total; 3、若total=1000或 total%10 =0 则p100=total/100; total= total %100; p50=total/50; total=total%50; 否则显示数据出错,算法:,#include void main() int p100,p50,p20,p10,total; printf(“请输入取款数(最多1000元且最小面值10元):“); scanf(“%d“, ,C语言提供了一个三目运算符,
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 选择 结构
链接地址:https://www.31doc.com/p-2585855.html