关系运算与逻辑运算.ppt_第1页
关系运算与逻辑运算.ppt_第2页
关系运算与逻辑运算.ppt_第3页
关系运算与逻辑运算.ppt_第4页
关系运算与逻辑运算.ppt_第5页
已阅读5页,还剩25页未读 继续免费阅读

下载本文档

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

文档简介

1,2,复合的赋值运算符,在赋值符“=”之前加上其它二目运算符可构成复合赋值符。如+=,-=,*=,=,%=,=,&=,=,|=。 构成复合赋值表达式的一般形式为: 变量 双目运算符=表达式 它等效于 变量=变量 运算符 表达式,3,例如:,a+=5 等价于a=a+5 x*=y+7 等价于x=x*(y+7) r%=p 等价于r=r%p 复合赋值符这种写法,对初学者可能不习惯,但十分有利于编译处理,能提高编译效率并产生质量较高的目标代码。,4,关系运算符,在语言中有以下关系运算符: 大于 = 大于或等于 = 等于 != 不等于 关系运算符的优先级低于算术运算符,高于赋值运算符。 在六个关系运算符中,,=的优先级相同,高于=和!=,=和!=的优先级相同。,5,关系表达式,关系表达式的一般形式为: 表达式 关系运算符 表达式 例如: a+bc-d x3/2 a+1(bc) a!=(c=d) 等。,6,关系表达式的值是真”和“假”,用“1”和“0”表示。 如: 50的值为“真”,即为1。 (a=3)(b=5)由于35不成立,故其值为假,即为0。,main() char c=k; int i=1,j=2,k=3; float x=3e+5,y=0.85; printf(“%d,%dn“,a+5=k+1); printf(“%d,%dn“,1j5,x-5.25=x+y); printf(“%d,%dn“,i+j+k=- 2*j,k=j=i+5); getch(); ,在本例中求出了各种关系运算符的值。字符变量是以它对应的ASCII码参与运算的。a+5c,a的ASCII值为97+5=102,而c的ascii值为100,顾不成立,值为0.而1j5,而j=2,因此条件成立,所以值为0.,例:,7,逻辑运算符极其优先次序,语言中提供了三种逻辑运算符: & 与运算 | 或运算 ! 非运算 与运算符&和或运算符|均为双目运算符。具有左结合性。非运算符!为单目运算符,具有右结合性。,8,逻辑运算符和其它运算符优先级,!(非)&(与)|(或),!(非) 算术运算符 关系运算符 &和 | 赋值运算符,按照运算符的优先顺序可以得出: ab & cd 等价于 (ab)&(cd) !b=c|dc&x+yc)&(x+y)b),易混淆,9,选择结构,选择结构又称分支结构或者选取结构,其执行是依据一下的条件选择执行路径,而不是严格扫照语句出现的物理顺序执行的。分支结构的程序设计方法的关键在于构造合适的分支条件和分析程序流程,根据不同的程序流程选择知当的分支语句。C语言提供了“if”语句和“switch”语句两种分支结构控制语句。,10,if语句,if语句用于判下所给的条件是否满足,程序根据判定的结果决下所执行的操作。 C语言的if语句有3种基本格式,11,格式1,if(表达式) 表达式 功能:如果“表达式”为真,则执行其后“语句”,否则不执行语句。,例: main() int a,s; scanf(“%d”, ,12,格式2,if(表达式) 语句1 else 语句2 功能:如果“表达式”为真,则执行“语句1”;否则执行|语句2“。,13,例:,输入某同学某科考试成绩,大于等于60分输出“及格”,小于60分输出“不及格”。,main() int k; if (k=60) printf(“及格n”); else printf(“不及格n”); getch(); ,14,练习:,输入任意大小的三个整数,判断其中是否有两个奇数一个偶数。若是,则输出“YES”,不是则输出“NOT” 编写一个判断一个数是否是素数的函数,若是返回1,否则返回0。,15,格式3,if(表达式1) 语句1 else if(表达式2) 语句2 else if (表达式3) 语句3 else if (表达式n) 语句n else 语句n+1,例: 根据用户购物的总价,选择不同的折扣率: =1000为七折,=800为八折,=500为九折。 main() int cost; float rate,s; scanf(“%d”, ,16,例:,main() char c; printf(“input a character: “); c=getchar(); if(c=0 ,17,注意事项:,1、在三种形式的if语句中,在if关键字之后均为表达式。 该表达式通常是逻辑表达式或关系表达式, 但也可以是其它表达式,如赋值表达式等,甚至也可以是一个变量。 例如: if(a=5) 语句;if(b) 语句; 2、在if语句中,条件判断表达式必须用括号括起来,在语句之后必须加分号。 3、在if语句的三种形式中,所有的语句应为单个语句,如果要想在满足条件时执行一组(多个)语句,则必须把这一组语句用括起来组成一个复合语句。但要注意的是在之后不能再加分号。 例如: if(ab) a+; b+; else a=0; b=10;,18,在键盘中输入已知数a、b、c求一元二次方程ax2+bx+c=0的解。其中分析=b2-4*a*c是否大于或等于零,#include #include main() int a,b,c; float x1,x2; scanf(“%d %d %d“, ,19,练习:,1、输入某同学某科考试成绩(0-100 之间),并进行及格与否的判断,如果输入的数值大于100或小于零输出“输入错误”。 2、从键盘输入两个整数,请按从小到大的顺序排列。 3、从键盘输入三个整数,输出最大和最小的数。,20,分析:从键盘输入三个整数,输出最大和最小的数。,main() int a,b,c,max,min; printf(“input three numbers: “); scanf(“%d%d%d“, ,21,练习:,4、以下程序对输入的一个小写字母,将字母循环后移5个位置后输出.如a变成f,w变成b.请在( )填入正确内容 #include main( ) char c; c=getchar( ); if(c=a ,22,练习:,5、输入一个字符,如果它是一个大写字母,则把它变成小写,如果是小写,则变成大写,其他字符不变,main ( ) char ch; scanf(“%c”, ,23,练习,6、输入三角形的边长,求三角形面积。(面积=sqrt(s(s-a)(s-b)(s-c), s=(a+b+c)/2) 注意:考虑三角形三边及三角形自身特点 7、在键盘中输入已知数a、b、c求一元二次方程ax2+bx+c=0的解。其中分析=b2-4*a*c是否大于或等于零,24,switch语句,语言还提供了另一种用于多分支选择的switch语句, 其一般形式为: switch(表达式) case常量表达式1: 语句1; case常量表达式2: 语句2; case常量表达式n: 语句n; default : 语句n+1; ,25,例1:,main() int a; printf(“input integer number: “); scanf(“%d“, ,main() int a; printf(“input integer number: “); scanf(“%d“, ,26,例2:,计算器程序。用户输入运算数和四则运算符,输出计算结果。,main() float a,b; char c; printf(“input expression: a+(-,*,/)b n“); scanf(“%f%c%f“, ,27,练习:以下程序的输出结果,main( ) char c; int i; for(i=65;i68;i+) c=i+32; switch(c) case a: case b:case c:printf(“%c,“,c);b

温馨提示

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

评论

0/150

提交评论