选择机构程序设计.ppt_第1页
选择机构程序设计.ppt_第2页
选择机构程序设计.ppt_第3页
选择机构程序设计.ppt_第4页
选择机构程序设计.ppt_第5页
已阅读5页,还剩23页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1 第五章选择机构程序设计 主要内容 5.1 关系运算符和关系表达式 5.2 逻辑运算符和逻辑表达式 5.3 if语句 5.4 switch语句 5.5 程序举例 2 5.1 关系运算符和关系表达式 (一).关系运算符及其优先次序 1. (大于) 4.= (大于或等于) 5.= (等于) 6.!= (不等于) 优先级相同(高) 优先级相同(低) 说明: 关系运算符的优先级低于算术运算符 关系运算符的优先级高于赋值运算符 3 5.1 关系运算符和关系表达式 (二).关系表达式 用关系运算符将两个表达式(可以是算术表达式或 关系表达式,逻辑表达式,赋值表达式,字符表达式) 接起来的式子,称关系表达式 例:ab,a+bb+c,(a=3)(b=5),ab)(bb”的值为“真”,表达式的值为1。 4 1. 有三个 表达式 语句 真(非0) 假 (0) 9 5.3 if语句 (2)if(表达式) 语句1 else 语句2 例: if (xy) printf(“%d”,x); else printf(“%d”,y); 条 件 语语句1 语语句2 YN 10 5.3 if语句 (3)if(表达式1)语句1 else if(表达式2)语句2 else if(表达式3)语句3 else if(表达式m)语句m else 语句n 11 5.3 if语句 例: if (number500)cost=0.15; else if(number300)cost=0.10; else if(number100)cost=0.075; else if(number50)cost=0.05; else cost=0; 说明: (1)3种形式的if语句中在if后面都有表达式,一般为 逻辑表达式或关系表达式。 (2)第二,第三种形式的if语句中,在每个else前面有 一个分号,整个语句结束处有一个分号。 (3)在if和else后面可以只含有一个内嵌的操作语句, 也可以由多个操作语句,此时用花括号将几个语句括 起来成为一个复合语句。 12 5.3 if语句 例5.1 输入两个实数,按代数值由小到大的顺 序输出这两个数。 #include void main() float a,b,t; scanf(“%f,%f”, if(ab) t=a; a=b; b=t; printf(“%5.2f,%5.2fn”,a,b); y n ab T=a A=b B=t 格式一 13 5.3 if语句 例5.2 输入三个数a,b,c,要求按由小到大的顺序输出。 If ab 将a和b对换 If ac 将a和c对换 If bc 将b和c对换 ab ac bc a和b交换a和c交换c和b交换 y y y n n 14 5.3 if语句 #include void main ( ) float a,b,c,t; scanf(“%f,%f,%f”, 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.2fn“,a,b,c); 程序如下: 15 5.3 if语句 二.If语句的嵌套 格式: if(表达式) if( 表达式1) 语句1 else 语句2 else if (表达式2)语句3 else 语句4 判断表达式的值,若为非0,再判断表达式1的值,非 0执行语句1,否则执行语句2。若表达式的值为0,再 判断表达式2的值,非0执行语句3,否则执行语句4。 16 5.3 if语句 表达式 语句1语句2语句3语句4 表达式2表达式1 1 1 1 0 0 0 在一个if结构中,包含一个或多个if结构 17 5.3 if语句 匹配规则: Else总是与它上面的,最近的,统一复合语句中的,未配 对的if语句配对。 例: If() if() 语句1 else if() 语句2 else 语句3 例: If() if() 语句1 else if() 语句2 else 语句3 当if和else数目不同时,可以加花括号来确定配对关系。 18 5.3 if语句 -1 (x0) 算法1: 算法1: 输入x 输入x 若x0,则y=1 若x=0,则y=0 输出y 若x0,则y=1 输出y 19 5.3 if语句 程序: #include void main() int x,y; scanf(“%d”, 程序段 printf(“x=%d,y=%dn”,x,y); 20 5.3 if语句 1、条件运算符 ?和: ,它们与三个操作数组组成三元运算。 2、 形式为: ? : 3、 求值规则和表达式的值: 真(非0),求解表达式2 求解表达式1 条件表达式的 值 假(0),求解表达式3 例如: int max,a=5;b=3; max=ab?a:b max及赋值表达式的值均为5; ab时将a的值赋给max,当ab时将b的值赋给max, 可以看到无论ab是否满足,都是向同一个变量赋值。 可以用下面的条件运算符来处理: ()?; 22 5.3 if语句 例5.4输入一个字符,判别它是否大写字母,如果是,将 它转换成小写字母;如果不是,不转换。然后输出最后 得到的字符。 #include void main ( ) char ch; scanf(“%c“, ch=(ch=A scanf(“%f,%f,%f“, printf(“the equation “); if(fabs(a)1e-6) x1=(-b+sqrt(disc)/(2*a); x2=(-b-sqrt(disc)/(2*a); printf(“has distinct real roots:%8.4f and %8.4fn”,x1,x2); else realpart=-b/(2*a); imagpart=sqrt(-di

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论