第四讲关系表达式_第1页
第四讲关系表达式_第2页
第四讲关系表达式_第3页
第四讲关系表达式_第4页
第四讲关系表达式_第5页
已阅读5页,还剩44页未读 继续免费阅读

下载本文档

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

文档简介

1、顺序顺序选择选择循环循环问题提出问题提出计算三角形的周长:计算三角形的周长:main() float a,b,c,L; scanf(%f,%f,%f ,&a,&b,&c); L=a+b+c; printf(%f ,L);从从a和和b中找大数的问中找大数的问题题:输入输入a a和和b babmax=amax=b输出输出maxmax值值#include main()()int a,b.max;scanf(“%d,%d”,&a,&b);If (ab) max=a;else max=b;printf(“%d”,max);选择结构程序设计选择结构程序设计 关系运算

2、关系运算 逻辑运算逻辑运算 if if语句语句 switchswitch语句语句 结构嵌套程序举例结构嵌套程序举例学习目标:学习目标:了解程序的选择控制结构了解程序的选择控制结构理解关系运算和逻辑运算的概念理解关系运算和逻辑运算的概念掌握关系运算符和逻辑运算符的用法掌握关系运算符和逻辑运算符的用法 学习重点:学习重点:掌握关系运算符和逻辑运算符的用法掌握关系运算符和逻辑运算符的用法 算符算符含含 义义优优 先先 级级结结 合合 性性大于大于这些关系运算这些关系运算符优先级相同,符优先级相同,但比下面的优但比下面的优先级先级高高高于逻辑高于逻辑低于算术低于算术左结合性左结合性= 大于等于大于等于

3、小于小于 a + b c (a + b)a b != c (a b) != ca = b c a = (b c a = (b c)a - 2 c + d (a - 2) bc (ab)c例:例:int a = 3, b = 2, c = 1, d, f; a b a b) = c b + c b f = a b c注意:注意: C C语言中用语言中用0 0表示假表示假,非非0 0表示真表示真。 一个一个关系表达式的值或者是关系表达式的值或者是0 0或者是或者是1 1。 1或或0例如:例如:表达式表达式 表达式表达式 例如例如1.0/3.01.0/3.0* *3.0=1.03.0=1.0可改写为

4、:可改写为:fabs(1.0/3.0fabs(1.0/3.0* *3.0-1.0)1e-63.0-1.0)1e-6v 运算符是用来做比较执行的,不同于数学中的运算符是用来做比较执行的,不同于数学中的不等式不等式v 应避免对实数作相等或不等的判断应避免对实数作相等或不等的判断 算符算符含含 义义结结 合合 性性优先级优先级!单目运算符,逻辑非,表示相反单目运算符,逻辑非,表示相反右结合性右结合性 高高 低低&双目运算符,逻辑与,表示并且双目运算符,逻辑与,表示并且左结合性左结合性|双目运算符,逻辑或,表示或者双目运算符,逻辑或,表示或者AB!A!BA & BA | B假假假假11

5、00假假真真1001真真假假0101真真真真0011 练一练int a=5; float b=3.5;表达式表达式值值表达式表达式值值!a!(a&b)!(a b)a | ba & b!a|b!a&b!a|!ba&!b(a 0)!(a|b)(a 0)011000011001!、+、-、sizeof 高高算术运算符算术运算符关系运算符关系运算符&、|赋值运算符赋值运算符 低低a b & b 10 | x -10、!x (a = x) & (x b) & (x y)(a = b) | (x = y)(!a) | (a b)(!a) bc

6、 = (a | b)(a + 7) & (b - 8)(a * 2) & (b / 1)思考数学中0 x= 0) printf(%lf, sqrt(x);if(表达式表达式)语句语句1else 语句语句2TF 【例】【例】输入一个数,若为正则输输入一个数,若为正则输出其平方根,否则输出提示信息。出其平方根,否则输出提示信息。#includemath.hmain() double x; printf (input two numbers: ); scanf (%lf, &x); if (x = 0) printf(%lf, sqrt(x); else printf(“In

7、put error!); 【例】【例】输入两个数,输出较大数。输入两个数,输出较大数。#includemath.hmain() float a,b; printf (input two numbers: ); scanf (%f%f, &a,&b); if (ab) printf(%f , a); else printf(%f ,b);if语句注意事项语句注意事项 。 int x=0;if(x)printf(“x=2”);else printf(“x=3”);例例: main ( ) int x = 0; if (x = 0) printf (“x = 0n”); else p

8、rintf (“x != 0n”); 例例: main ( ) int x = 0; if (x = 0) printf (“x = 0n”); else printf (“x != 0n”); (3) 在在if语句中,如果表达式是一个判断两个数是否语句中,如果表达式是一个判断两个数是否相等的关系表达式,要当心不要将相等的关系表达式,要当心不要将=写成了赋值运写成了赋值运算符算符=。if语句注意事项语句注意事项 if语句注意事项语句注意事项 条件表达式如:输入的两个数a,b,输出较大的数main()char a,b;scanf(“%d,%d”,&a,&b);If (ab) pr

9、intf(“%d”,a); else printf(“%d”,b);(ab)?printf(“%d”,a):printf(“%d”,b);总结:格式为:表达式1?表达式2 :表达式3说明:条件运算符是三目运算符,优先级高于赋值运算符,低于关系与算术运算符。条件运算符具有右结合性 当一个表达式中出现多个条件运算符时,应该将位于最右边的问号与离它最近的冒号配对,并按这一原则正确区分各条件运算符的运算对象。 例如: wx ? x+w : xy ? x : y 与 wx ? x+w : ( xy ? x : y) 等价 与 (wx ? x+w : x0)?l:(x=0& c =A&c=

10、a&c y) printf (X Yn); else printf (X 0) if (b 0) a+; else a-; printf (a = %dn,a); 例例: 判断运行结果判断运行结果main ( ) int a = 1, b = -1; if (a 0) if (b 0) a+; else a-; printf (a = %dn,a); 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”); else

11、 printf(“a!=b”);实现实现if else 正确配对方法:加正确配对方法:加 注意编程风格!注意编程风格! if () if () if () else else else 语言规定,在缺少 时,else总是和它上面离它最近的未配对的if配对。 if语句注意事项语句注意事项 尤其是在为真时嵌套单分支语句要注意。main( ) int x = 100, a = 10, b = 20; int v1 = 5, v2 = 3; if (a b) if (b != 15) if (!v1) x=1; else if (v2) x = 10; x = -1; printf (“x=%d”,

12、x);if (a =3: b = b + 2; break; printf (b = %dn, b);包含变量case a=3: b = b - 2; break; main ( ) char ch; scanf(%c,&ch); switch ( ch ) case Y : printf (Yesn); break; case N : printf (Non); break; case A : printf (Alln); break; default : printf (Yes,No or Alln); / /* * 假设输入为:假设输入为:N */ main ( ) char c

13、h; scanf(%c,&ch); switch ( ch ) case Y : printf (Yesn); break; case N : printf (Non); case A : printf (Alln); break; default : printf (Yes,No or Alln); switch (a) case 1: case 2: case 3: b += 2; break; case 4: case 5: case 6: b -= 2; break; default: b *= 2; break; casecase子句和子句和defaultdefault子句如

14、果子句如果都带有break,那么它们之,那么它们之间间顺序的变化不会影响switch语句的功能。 switch ( ch ) case Y : printf (Yesn); break; case N : printf (Non); break; case A : printf (Alln); break; default : printf (OKn); break; switch ( ch ) case Y : printf (Yesn); break; default : printf (OKn); break; case N : printf (Non); break; case A :

15、 printf (Alln); break; main ( ) char ch; scanf(%c,&ch); switch ( ch ) case Y : printf (Yesn); break; case N : printf (Non); break; case A : printf (Alln); break; default : printf (OKn); main ( ) char ch; scanf(%c,&ch); switch ( ch ) case Y : printf (Yesn); break; default : printf (OKn); case

16、 N : printf (Non); break; case A : printf (Alln); break; 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); 运行结果:运行结果: switch(i) case1:printf(ok);case 2:printf(ok);default:printf(ok);注意空格注意空格main() int i=1; switch(i) case1:printf(A);case 2:printf(B);default:printf(C);getch(); 关系表达式和逻辑表达式是两种重要的表达式,关系表达式和逻辑表达式是两种重要的表达式,主要用于条件执行的判断和循环执行的判断。主要用于条件执行的判断和循环执行的判断。语言选择结构的实现:语言选择结构的实现:ifif语句主要用于单向选择。语句主要用于

温馨提示

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

评论

0/150

提交评论