浙江大学C颜晖原版课件C4.ppt

上传人:得****1 文档编号:76373630 上传时间:2023-03-09 格式:PPT 页数:35 大小:141.04KB
返回 下载 相关 举报
浙江大学C颜晖原版课件C4.ppt_第1页
第1页 / 共35页
浙江大学C颜晖原版课件C4.ppt_第2页
第2页 / 共35页
点击查看更多>>
资源描述

《浙江大学C颜晖原版课件C4.ppt》由会员分享,可在线阅读,更多相关《浙江大学C颜晖原版课件C4.ppt(35页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。

1、第四章 分支结构程序设计q表达式o关系表达式o逻辑表达式o条件表达式q语句oif 语句o多分支语句(switch)4.1.1 关系运算符和关系表达式q比较两个量(x,y)之间的关系x y x y x=y x!=yq比较的结果:真真 31假假 13int x=2,y=6;x=(y 3)x=(x y)10 x=1x=0关系运算符的优先级运算符优先级:算术运算符 高高 =!=低低d=b+2=3 d=(b+2)=3)b-1=a!=c(b 1)=a)!=c关系表达式3 x 5 x=1时x=4时(3x)5 恒为恒为 14.1.2 逻辑运算符和逻辑表达式3 x 3 并且并且 x 5 3 x&x 1)&(y1

2、)(x1)|(y1)(x1)!(x1)即 x=1逻辑运算符逻辑运算的规则真值表逻辑与&逻辑或|逻辑非!真值表 x y x&y x|y !x假 假 0 0 1假 真 0 1 1真 假 0 1 0真 真 1 1 0 逻辑运算的规则真值表逻辑与&逻辑或|逻辑非!真值表 x y x&y x|y !x假 假 0 0 1假 真 0 1 1真 假 0 1 0真 真 1 1 0 5&7是否合法?0 00 非0非0 0非0 非0!2=?=1逻辑表达式对于 X&Y,X和Y可以是:关系表达式或逻辑量x=33&5(x+y)&7X,Y可以是任意表达式判断逻辑量的真假非0表示真 0表示假逻辑运算的结果1表示真0表示假!算

3、术运算符 =!=&|=,运算符的优先级设 x=1,y=2,c=0 x=y=c&!x+2 3(x=y=c)&(!x+2 3)(x=y)=c)&(!x+2)3)(x=y)=c)&(!x)+2)3)例43写出满足下列要求的表达式 ch 是小写英文字母ch=a&ch 1&x+);y=(31&x+);y=(31|x+);exp1&exp2 先算exp1,若其值为0,STOPexp1|exp2 先算exp1,若其值为1,STOPy=1 x=2y=0 x=1y=1 x=2y=1 x=14.2.1 基本的 if 语句1、if else结构if(exp)statement_1else statement_2语句

4、1表达式语句2非00 x+2 x0y=x2 x0)y=x+2;else y=x*x;if else结构if(exp)statement_1else statement_2scanf(%d%d,&a,&b);if(a!=b)t=a;a=b;b=t;printf(%d,%d,a,b);else printf(a=b);一条语句 一条语句4.2.1 基本的if语句2、省略else的if结构if(exp)statement_1语句1表达式非00ch=getchar();if(ch=a&ch=a&ch=z)ch=ch-a+A;putchar(ch);例47 求最大值输入3个数,输出其中的最大值。#inc

5、lude void main()int a,b,c,max;printf(input a,b,c:n);scanf(%d%d%d,&a,&b,&c);max=a;if(max b)max=b;if(max 0y=0 当 x=0 -1 当 x0)y=1;else if(x=0)y=0;else y=-1;0 x 0 x=0y=1y=0非0 0非0 y=-1输入变量x,计算y:x+1 x1y=x+2 1=x2 x+3 2=x=3例4-9if(x1)y=x+1;else if(x2)y=x+2;else if(x3)y=x+3;else y=x+4;y=x+40 x 1 x 2y=x+1y=x+2非

6、0 0非0 x 0y=0 当 x=0 -1 当 x=0)if(x0)y=1;else y=0;else y=-1;x=0 x 0y=1y=0非0 0非0 y=-10输入变量x,计算y:x+1 x1y=x+2 1=x2 x+3 2=x=3例4-9if(x2)if(x1)y=x+1;else y=x+2;else if(x3)y=x+3;else y=x+4;x 2 x 1y=x+1y=x+2非0 0非0 0 x 0)y=1;else if(x=0)y=0;else y=-1;if(x=0)if(x0)y=1;else y=0;else y=-1;x=0 x 0y=1y=0非0 0非0 y=-10

7、0 x 0 x=0y=1y=0非0 0非0 y=-12种嵌套if语句的比较else 和 if 的匹配if(exp_1)if(exp_2)statement_1else statement_2elseif(exp_3)statement_3else statement_4if(exp_1)if(exp_2)statement_1elseif(exp_3)statement_3else statement_4else 与最靠近它的、没有与别的 else 匹配过的 if 匹配if(exp_1)if(exp_2)statement_1elseif(exp_3)statement_3else state

8、ment_4改变else 和 if 的配对if(exp_1)if(exp_2)statement_1elseif(exp_3)statement_3else statement_4if(exp_1)if(exp_2)statement_1elseif(exp_3)statement_3else statement_4if(exp_1)if(exp_2)statement_1elseif(exp_3)statement_3else statement_4if(exp_1)if(exp_2)statement_1elseelseif(exp_3)statement_3else statement_

9、44.2.3 条件表达式exp1?exp2:exp3非00exp1y=(x0)?x+2:x*x;int n;(n0)?2.9:1n=10n=-102.91.0 x+2 x0y=x2 x0)y=x+2;else y=x*x;4.3 switch语句switch(表达式)case 常量表达式1:语句段段1 case 常量表达式2:语句段段2 .case 常量表达式n:语句段段n default:语句段段n+1switch(表达式)case 常量表达式1:语句段段1 case 常量表达式2:语句段段2 .case 常量表达式n:语句段段n default:语句段段n+1表达式的值表达式的值=常量表达

10、式常量表达式 2 的值的值表表达达式式语句段语句段1语句段语句段2语句段语句段n语句段语句段n+1表达式表达式的值的值=常量表达式常量表达式 1 的值的值表达式的值表达式的值=常量表达式常量表达式 n 的值的值其他其他例413#include void main()int k;scanf(%d,&k);switch(k)case 1:printf(Im in the case1n);case 2:printf(Im in the case2n);case 3:printf(Im in the case3n);default:printf(Im in the defaultn);输入 2输入 6

11、#include void main()int k;scanf(%d,&k);switch(k)case 1:printf(Im in the case1n);break;case 2:printf(Im in the case2n);break;case 3:printf(Im in the case3n);break;default:printf(Im in the defaultn);break;输入 2输入 6if(k=1)printf(Im in the case1n);else if(k=2)printf(Im in the case2n);else if(k=3)printf(I

12、m in the case3n);else printf(Im in the defaultn);例414void main()char c;printf(Please input a character:n);c=getchar();switch(c)case :case n:printf(This is a blank or enter);break;case 0:case 1:case 2:case 3:case 4:case 5:case 6:case 7:case 8:case 9:printf(This is a digit.n);break;default:printf(This is an other character.n);输入 2输入 a几个常量表达式共有一个语句段例410#include void main()char c;printf(Please input a character:n);c=getchar();if(c=|c=n)printf(This is a blank or enter);else if(c=0&c=a&c=A&c=Z)printf(This is a letter.n);else printf(This is an other character.n);

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

当前位置:首页 > 应用文书 > 工作报告

本站为文档C TO C交易模式,本站只提供存储空间、用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。本站仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知淘文阁网,我们立即给予删除!客服QQ:136780468 微信:18945177775 电话:18904686070

工信部备案号:黑ICP备15003705号© 2020-2023 www.taowenge.com 淘文阁