- 1、本文档共45页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
第五章 选择结构程序设计 一、关系运算符和关系表达式 1、关系运算符 = = == != 二、关系表达式 用关系运算符将两个表达式连接起来的式子。例如: 关系表达式的值 值:真(1)、假(0) 例如:a=3,b=2,c=1则: ab ab==c b+ca d=ab f=abc 二、逻辑运算符和逻辑表达式 逻辑表达式: 如(ab) AND(xy)(pascal) 1、C语言逻辑运算符及其优先次序 :逻辑与 ||:逻辑或 !:逻辑非 逻辑运算的真值表 多个逻辑运算符混合时的优先级 !ab||xyc 优先级 2 逻辑表达式 逻辑表达式 逻辑表达式的值 非零的值为真(1),值为0为假。 a=4 :非零的值为真 !a: 值为0 a=4,b=5则ab为1,!a=0 例:求逻辑表达式的值 1、4||0||2: 2、026: 3 逻辑表达式求解 1、abc 判断某一年year是否闰年 5.3 if语句 if 语句功能: 用来判断所给定的条件是否满足,根据判定的结果(1 or 0)决定执行给出的两种操作。 5.3.1 if语句的三种形式 1 if (表达式) 语句 if(xy) printf(“%d”,x); 2 if(表达式)语句1 else 语句2 if(xy) printf(“%d”,x); else printf(“%d”,y); 3 if(表达式1)语句1 else if(表达式2)语句2 else if(表达式2)语句3 …… else if(表达式m)语句m else 语句n 说明: (1)表达式 值为0:假,值非0:真; 如:if(3) printf(“ok”); (2) if、else 后面无分号,语句后有“;”; (3) if、else 后面可以是复合语句; 例: if(x%3==0) { y=2*x; printf(“%d”,y); } else { y=x+1; printf(“%d”,y); } 例5.1输入两个实数,按代数值由大到小的次序输出这两个数 main() { float a,b,t; scanf(“%f,%f”,a,b); if(ab) {t=a;a=b;b=t;} printf(“%5.2f,%5.2f”,a,b); } 例5.2???????? 输入3个数a,b,c,要求按由小到大的顺序输出 算法分析 if ab: a和b互换 if ac: a和c互换 if bc: c和b互换 互换结果: abc 程序 清单 main () { float a, b, c, t; scanf (“%f,%f ,%f”,a,b,c); if (ab) { t=a;a=b;b=t;} if (ac) {t=a;a=c;c=t;} if(bc) {t=b; b=c; c=t;} printf(“%5.2f,%5.2f,%5.2f”,a,b,c); } 5.3.2 if语句的嵌套 一般形式: if( ) if( )语句1 else 语句2 else if( )语句1 else 语句2 注意:if、else的匹配关系 if( ) {if( )语句1} else 语句2 例5.3 有一个函数如下,编程输入x,输出y. 程序清单 main() {int x,y; scanf(“%d”,x); if(x0)y=-1; else if(x= =0) y=0; else y=1; printf(“x=%d,y=%d\n”,x,y); } 判断是否正确? 5. 3.3 条件运算符 例: if(ab) max=a; else max=b; 说明: 执行顺序 优先级:高于=; 结合方向:右-左; 使用的条件:赋给同一个变量; 表达式的类型 表达式的类型 表达式1与2、3可以是不同的类型 x?: ’a’:’b’ 如果x=0 y=x?: ’a’:’b’ 表达式2、3可以是不同的类型 xy? 1:1.5 5.4 switch 语句 一般形式 switch(表达式) { case 常量表达式1:语句1 case 常量表达式2:语句2 … … case 常量表达式n:语句n default:语句n+1 } switch(grade) { case ′A′:printf(“85~100\n”); case ′B′ : printf(“70~84\n”);
文档评论(0)