版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、了解程序中使用的数据类型后,还要懂得如何操作这些数据,所以掌握C语言中各种运算符及其表达式的应用是必不可少的。C语言的主要特点就是拥有丰富的运算符和表达式。本章内容是:表达式的概念,运算符及相关表达式的使用。其中包括赋值运算符、算数运算符、关系运算符、逻辑运算符、位逻辑运算符、逗号运算符、条件运算符及复合赋值运算符。1. 表达式2. 赋值运算符与赋值表达式3. 算术运算符与表达式4. 关系运算符与表达式5. 逻辑运算符与表达式6. 位逻辑运算符与表达式7. 逗号运算符与表达式8. 条件运算符与表达式9. 复合赋值运算符10. 小结实战表达式是C语句的主体。在C语言中,运算符、变量和函数一起组成
2、表达式,表示各种运算功能。根据表达式内含有操作符的个数,我们把表达式分为:简单表达式只含有一个操作符复杂表达式含有两个或两个以上操作符关于表达式逗号既可以当作分隔符,又可以用在表达式中1.2.3.4.用于间隔说明语句中的变量或函数中的参数。逗号是分隔符将若干独立的表达式连接在一起。逗号在表达式中使用逗号分隔变量:int a,b;使用逗号分隔参数:Printf(“abc%d”,c);分隔符范例for(i=0,j=100;i0,b0且a=b。上机演练2可逆素数可逆素数是指将一个素数各位数字的顺序倒过来构成的反序数仍然是素数。按以上叙述求所有的4位素数。用来判断操作数的大小关系。符号功能大于=大于或
3、等于小于y;xy;a+bb+c;(m=4)j)!=(jk);注意!在判断时,一定要注意等号运算符=的使用,不能和赋值运算符=弄混。如右上方的代码,很多同学都写过,原本目的是想判断Amount变量是否等于100,在等于100的时候执行if条件内的复合语句。但实际上,这是一个对变量Amount赋值100的式子,它的结果是非0,即为真。因此,这个if内的复合语句将始终被运行,程序将永远遇不到else的状态。这就是逻辑错误。关系运算符连接两个表达式、符合C语法规则的式子:关系表达式关系运算符、=的优先级相同=和!=的优先级相同前4种运算符优先级高于后两种。它们的结合性都是从左向右依次结合。看左边的代码
4、。!=的优先级要高于=这个赋值运算符所以这个条件判断最后成了赋值运算,结果将同编程者初始意愿相悖。正确的写法应该是:if(Number=NewNum)!=10)注意!关系运算符的优先级要低于算术运算符关系运算又叫比较运算算术运算符关系运算符赋值运算符大于大于优先级沿箭头方向递减试一试你的力用1代表真,用0代表假。假设a=3,b=2,c=1,则下列表达式值为0的是:A. a+cbB. d=abcC. acD. (ab)=c有运算符、=、%,将它们按优先级由低到高排列应该是:12&逻辑与运算符:一假必假|逻辑或运算符:一真必真!逻辑非运算符:真假相对关于优先级:!的优先级,大于&的
5、优先级,大于|的优先级综合运算优先级:!高于算术运算符高于关系运算符高于&和|高于赋值运算符逻辑运算符a=5,b=7,则a&b的值=1。a=5,b=7,则a|b的值=1。a=5,则!a的值=0。&运算,第一个操作数被判定为假,则系统将不再判定或求解第二个操作数。|运算,第一个操作数被判定为真,则系统将不再判定或求解第二个操作数。一些范例自左向右。结合性上机演练3判断闰年从键盘上输入一个表示年份的整数,判断该年份是否是闰年,判断后的结果显示在屏幕上。以前在实战里涉及过闰年的算法,所以这一次不能查网络,试着自己写出来吧。上机演练4黑纸与白纸有A、B、C、D、E5个人,每人额
6、头上都贴了一张黑色或白色的纸条。5人对坐,每人都可以看到其他人额头上的纸的颜色,但都不知道自己额头上的纸的颜色。5人相互观察后,A说:“我看见有3个人额头上贴的是白纸,一个人额头上贴的是黑纸。”B说:“我看见其他4人额头上贴的都是黑纸。”C说:“我看见有一个人额头上贴的是白纸,其他3个人额头上贴的是黑纸。”D说:“我看见其他4人额头上贴的都是白纸。”E说:“我不发表观点。”现在已知额头贴黑纸的人说的都是谎话,额头贴白纸的人说的都是实话,问这5个人谁的额头上贴的是黑纸,谁的额头上贴的是白纸。&按位与双目|按位或双目按位异或双目取补单目例如:If(a & b)这个判断就是让a和b按
7、位匹配。位逻辑运算是C语言里很特别的一部分,它可以实现位的设置、清零、取反、取补操作。它能实现许多汇编语言才能实现的功能。程序员用它们来作为开关标志。位逻辑运算符试一试你的力以下是单目运算符的是:A. &B. |C. D. 在C语言中,&作为双目运算符时表示的是:12一般形式是:表达式1,表达式2,表达式n求解过程:先求表达式1,再求表达式2,一直求解到表达式n。整个逗号表达式的值是表达式n的值。小范例:K=1+1,2+2,3+3;最后它的值是多少?K=(1+1,2+2,3+3);最后它的值是多少?注意!逗号运算符的优先级是最低的。逗号运算符又名顺序求值运算符自左向右。结合性试
8、一试你的力在“int a,b,c;”语句中,逗号的作用是:在声明变量的时候,逗号作为分隔符,用来分隔声明变量。这个时候,它不是运算符。表达式“a=1,4+5,8”的值是:12结合方式也是由左向右表示方法:以上语句简化后就是条件运算符max=(ab)?a:b;C语言中唯一的三目运算符试一试你的力假设变量a=3,b=4,c=5,则表达式a3?a+c:b4?b+c:c它的值是多少?下列运算符中,又一个运算符与其他运算符不同,它是:12A、=B、&C、?:D、%如+=、-=、*=、/=、%=、&=等形式:变量 双目运算符=表达式例如:i+=3;它等价于:i=i+3;目的:1、简化程序,精练程序。2、提高编译效率。在i=i+1中,i计算两次
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
评论
0/150
提交评论