欢迎来到天天文库
浏览记录
ID:50362567
大小:35.02 KB
页数:3页
时间:2020-03-08
《2011年计算机二级考试C语言微运算.doc》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、有关指针的数据类型和指针运算的小结指针运算小结1.指针变量加或减一个整数.如:p++,p--,p+i,p-i,p+=i等.2.指针变量赋值.如:p=&a;p=max;p=array;p1=p2;p=&array[i];注意:不应把一个整数赋给指针变量,如:p=1000;3.指针变量可以有空值.如:p=NULL;4.两个指针变量可以相减.如果两个指针变量指向同一个数组元素,则两个指针变量之差是两个指针之间的元素个数.5.两个指针变量可进行比较.位运算在系统软件中,常要处理二进位问题,如:将一个存储单元中的各二进位左移或右移一位,两个数按位相加等。C语言提供位运算的功能。C语言
2、提供如表12.1所列出的位运算符。说明:1.位运算符中除"~"以外,均为二目运算符。2.运算量只能是整型或字符型数据。下面分别介绍:按位与运算符(&)参加运算的两个数据,按二进制位进行"与"运算,如果两个相应二进位都为1,则该位结果值为1。否则为0。即:0&0=00&1=01&0=01&1=1如:3&5为:000000110000010100000001如果参与&运算的是负数,如:-3&-5,以补码形式表示为十进制数,然后按位进行"与"运算。按位与运算的特殊用途有:1.清零。2.取一个数中某些指定位。3.要将那一位保留下来就与一个数进行&运算。此数该位取1。按位或运算(
3、)
4、两个相或的二进位中只要有一个为1,该位的结果的值为1.即:0
5、0=0;0
6、1=1;1
7、0=1;1
8、1=1;如:060
9、017001100000000111100111111按位或运算常用来对一个数据的某些位定值为1。如:a
10、0377低8位全置为1,高8位保留。异或运算符异或运算符^也称XOR运算符,它的规则是若参加的两个二进位同号,则结果为0。异号则为1。即:0^0=0;0^1=1;1^0=1;1^1=1;如:001110010010101000010011异或的意思是判断两个相应的位值是否为“异",值不同时取真1,否则为假0。主要用途:1.使特定位翻转。(与1相异或则变反
11、)2.与0相^,保留原值。3.交换两个值,不用临时变量。如:a=3,b=4.可用:a=a^b;b=b^a;a=a^b;来实现。左移运算符(<<)用来将一个数据的各二进位全部左移若干位,如:a=a<<2.将a的二进制数左移2位。右补0。高位左移溢出,舍弃不用。注:左移一位相当于乘2。左移n位相当于乘2n。左移运算符(>>)a>>2表示将a的各二进位右移2位。移到右端的低位被舍弃。对无符位高位补0。对有符号位为0时,仍补0,为1时补0还是补1由系统决定。右移相当于除法。如:a:1001011111101101逻辑右移:0100101111110110算术右移位:11001011
12、11110110位运算赋值运算符位运算符与赋值运算符可以组成复合赋值运算符。如:&=,
13、=,>>=,^=等。例:a&=b相当于a=a&b.a<<=2相当于a=a<<2.不同长度的数据进行位运算按右端对齐。为正数左端补0。为负数左端补1。为无符号整型,则左补0。位运算举例例12.1取一个整数a,从右端开始的4-7位。分析:(a>>4)&~(~0<<4)例12.2循环移位(n位)。分析:(a>>n)
14、(a<<(16-n))
此文档下载收益归作者所有