欢迎来到天天文库
浏览记录
ID:37567589
大小:1.23 MB
页数:19页
时间:2019-05-12
《运算符与表达式》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、第二章运算符与表达式考试要点一、考核知识点(10%左右):1.C语言运算符的种类、运算符优先级和结合性。2.不同类型数据间的转换与运算。3.C语言表达式的各种类型和求值规则。4.位运算符的含义及使用。5.简单的位运算。二、重要考点:1.运算符的优先级及表达式的求值规则。2.复合的赋值表达式的使用,自增和自减运算符及逻辑运算符的使用。3.简单的位运算操作。2.1C语言运算符简介考点1C运算符简介算术运算符:+,-,*,/,%关系运算符:>,>=,==,!=,<,<=位运算符:>>,<<,~,&,
2、,^逻辑运算符:!,&&,
3、
4、条件运算符:?:指针运算符:&,*赋
5、值运算符:=逗号运算符:,字符运算符:sizeof强制运算符:(类型名)(表达式)2.1C语言运算符简介考点2运算符的结合性和优先性(1)在C语言的运算符中,所有的单目运算符、赋值运算符及其扩展运算符,结合方向都是从右向左,其余运算符的结合方向是从左向右。(2)各类运算符优先级的比较:单目运算符>算术运算符>关系运算符>逻辑运算符>条件运算符>赋值运算符>逗号运算符考点3强制类型转换运算符可以利用强制类型转换符将一个表达式转换成所需类型,其一般形式为(类型名)(表达式)例如(char)(x+y)(double)(m*n)2.1C语言运算符简介考点4逗号运算符和
6、逗号表达式用逗号运算符将几个表达式连接起来,例如a=b+c,b=a*a,c=a+b,称为逗号表达式。一般形式为表达式1,表达式2,表达式3,……,表达式n逗号表达式的求解过程是:先求解表达式1,然后再求解表达式2,直到表达式n的值。整个表达式的值是表达式n的值。需要注意的是,逗号运算符是所有运算符中优先级别最低的。4.1关系运算符及其优先次序考点5关系运算符及其优先次序<小于<=小于或等于>=大于或等于>大于==等于!=不等于(1)结合性:自左向右(2)优先次序:前四种关系运算符(<,<=,>=,>)的优先级别相同,后两种(==,!=)优先级相同且前四种高于后
7、两种;关系运算符的优先级低于算术运算符,高于赋值运算符。4.2逻辑运算符和逻辑表达式考点6逻辑运算符及其优先C语言提供了3种逻辑运算符:&&逻辑与
8、
9、逻辑或!逻辑非优先级:!、&&、
10、
11、依次降低考点7逻辑表达式在数学中,关系式012、13、组成的逻辑表达式,在某些特定的情况下会产生“短路”现象,如:(1)x&&y&&z,只有当x为真(非0)时,才需要判别y的值;只有x和y都为真时,才需要去判别z的值,只要x为假就不必判别y和z,整个表达式的值为0.(2)x14、15、y16、17、z,只要x的值为真(18、非0),就不必判别y和z的值,整个表达式的值为1,只有x的值为假,才需要判别y的值,只有x和y的值同时为假才需要判别z的值,因此,如有以下逻辑表达式(m=x>y)&&(n=c>d),其中x=1,y=2,c=3,d=4,若m和n原值为1,由于”x>y”的值为0,因此m=0,而不执行“n=c>d”,所以n的值不是0而是12.2算术运算符和算术表达式考点8基本的算术运算符+,-,*,/,%需要的说明的是,两个整数相除的结果为整型,如5/3的结果值为1,舍去小数部分.考点9自增自减运算符作用:使变量的值增1或减1。区别:(1)++i,--i运算符在前面的,表达式的值和19、变量一样,增1或减1;(2)i++,i--运算符在后面的,表达式的值保持不变,变量值增1或减1。注意:(1)结合方向:自右向左。(2)自增自减运算符只能用于变量,而不是常量和表达式。2.3赋值运算符和赋值表达式考点10复合的赋值运算符在赋值运算符之前加上其他运算符可以构成复合赋值运算符。其中与算术运算符有关的复合运算符是:+=,-=,*=,/=,%=如求表达式a+=a-=a*a,其中a的初值为122.4位运算在计算机中,数据都是以二进制形式存放的,位运算就是指对存储单元中二进制位的运算。考点11位运算符和位运算C语言提供了6种位运算:<<左移>>右移&按位与20、21、按位或^按位异或~按位求反说明:(1)位运算中除“~”以外,均为双目运算符,要求两侧各有一个运算量;(2)运算量只能是整型或字符型数据,不能为实型数据。(3)优先级为<<>>,&,^,22、2.4位运算考点12位运算举例例1下面程序的输出结果是_____.#includemain(){charx=040;printf(“%d”,x=x<<1);}例2设二进制数a是00101101,若通过异或运算a^b使a的高四位取反,第四位不变,则二进制数b是____2.5典型例题一、选择题以下程序的输出结果为()#includemain23、(){inti=4,a;a=i++;p
12、
13、组成的逻辑表达式,在某些特定的情况下会产生“短路”现象,如:(1)x&&y&&z,只有当x为真(非0)时,才需要判别y的值;只有x和y都为真时,才需要去判别z的值,只要x为假就不必判别y和z,整个表达式的值为0.(2)x
14、
15、y
16、
17、z,只要x的值为真(
18、非0),就不必判别y和z的值,整个表达式的值为1,只有x的值为假,才需要判别y的值,只有x和y的值同时为假才需要判别z的值,因此,如有以下逻辑表达式(m=x>y)&&(n=c>d),其中x=1,y=2,c=3,d=4,若m和n原值为1,由于”x>y”的值为0,因此m=0,而不执行“n=c>d”,所以n的值不是0而是12.2算术运算符和算术表达式考点8基本的算术运算符+,-,*,/,%需要的说明的是,两个整数相除的结果为整型,如5/3的结果值为1,舍去小数部分.考点9自增自减运算符作用:使变量的值增1或减1。区别:(1)++i,--i运算符在前面的,表达式的值和
19、变量一样,增1或减1;(2)i++,i--运算符在后面的,表达式的值保持不变,变量值增1或减1。注意:(1)结合方向:自右向左。(2)自增自减运算符只能用于变量,而不是常量和表达式。2.3赋值运算符和赋值表达式考点10复合的赋值运算符在赋值运算符之前加上其他运算符可以构成复合赋值运算符。其中与算术运算符有关的复合运算符是:+=,-=,*=,/=,%=如求表达式a+=a-=a*a,其中a的初值为122.4位运算在计算机中,数据都是以二进制形式存放的,位运算就是指对存储单元中二进制位的运算。考点11位运算符和位运算C语言提供了6种位运算:<<左移>>右移&按位与
20、
21、按位或^按位异或~按位求反说明:(1)位运算中除“~”以外,均为双目运算符,要求两侧各有一个运算量;(2)运算量只能是整型或字符型数据,不能为实型数据。(3)优先级为<<>>,&,^,
22、2.4位运算考点12位运算举例例1下面程序的输出结果是_____.#includemain(){charx=040;printf(“%d”,x=x<<1);}例2设二进制数a是00101101,若通过异或运算a^b使a的高四位取反,第四位不变,则二进制数b是____2.5典型例题一、选择题以下程序的输出结果为()#includemain
23、(){inti=4,a;a=i++;p
此文档下载收益归作者所有