&: 在C语言中有两种意思,一种是取地址符,是单目运算符;另一种是位运算符,表示“按位与”,是双目运算符。|: 是位运算符,表示“按位或”。
资料扩展
1、符号 &和 | 这两个运算符都是二进制的按位操作符。
&: 二进制“与”(都为1时,结果是1,否则是0。),比如:1010 &1011 = 1010,1010 &1000 = 1000。
|: 二进制“或”(有1时,结果是1,都是0时,结果为0。),比如:1010 | 1011 = 1011,1010 | 1000 = 1010。
2、位运算符将数字视为二进制值,并按位进行相应运算,运算完成后再重新转换为数字。
例如:
表达式10&15表示(1010 &1111),它将返回表示1010的值10。因为真真得真,或者是11得1,同位全是1结果也是1。
表达式10|15表示(1010 | 1111),它将返回表示1111的值15。假假得假。全零得零。
3、C语言中的符号分为10类:算术运算符、关系运算符、逻辑运算符、位操作运算符、赋值运算符、条件运算符、逗号运算符、指针运算符、求字节数运算符和特殊运算符。
4、位操作运算符:参与运算的量,按二进制位进行运算。包括位与(&)、位或(|)、位非(~)、位异或(^)、左移(<<)、右移(>>)六种。
优先级 运算符 含义 要求运算对象的个数 结合方向1 ( ) 圆括号 自左至右
[ ] 下标运算符
-> 指向结构体成员运算符
• 结构体成员运算符
2 ! 逻辑非运算符 1
(单目运算符) 自右至左
• 按位取反运算符
++ 自增运算符
― ― 自减运算符
- 符号运算符
(类型) 类型转换运算符
* 指针运算符
& 取地址运算符
sizeof 长度运算符
3 * 乘法运算符 2
(双目运算符) 自左至右
/ 除法运算符
% 求余运算符
4 + 加法运算符 2
(双目运算符) 自左至右
- 减法运算符
5 << 左移运算符 2
(双目运算符) 自左至右
>> 右移运算符
6 < <= > >= 关系运算符 2
(双目运算符) 自左至右
7 == 等于运算符 2
(双目运算符) 自左至右
!= 不等于运算符
8 & 按位与运算符 2
(双目运算符) 自左至右
9 ^ 按位异或运算符 2
(双目运算符) 自左至右
10 | 按位或运算符 2
(双目运算符) 自左至右
11 && 逻辑与运算符 2
(双目运算符) 自左至右
12 || 逻辑或运算符 2
(双目运算符) 自左至右
13 ? : 条件运算符 3
(三目运算符) 自右至左
14 = += -= *= /= %= >>= <<=
&= ^= 赋值运算符 2
(双目运算符) 自右至左
15 , 逗号运算符
(顺序求值运算符) 自左至右
表示把数据按十进制整型输出,类似的符号含义如下:
%o表示把数据按八进制整型输出;
%x表示把数据按十六进制整型输出;
%u表示把数据参数按无符号整型输出。
%f显示小数表示的普通浮点数。
扩展资料:
c语言特有特点
C语言是一个有结构化程序设计、具有变量作用域(variable scope)以及递归功能的过程式语言。
C语言传递参数均是以值传递(pass by value),另外也可以传递指针(a pointer passed by value)。不同的变量类型可以用结构体(struct)组合在一起。通过指针(pointer),C语言可以容易的对存储器进行低级控制。预编译处理(preprocessor)让C语言的编译更具有弹性。