C语言操作符总结
来源:互联网 发布:子域名 需要备案吗 编辑:程序博客网 时间:2024/04/27 21:29
算术操作符
移位操作符
位操作符
赋值操作符
单目操作符
关系操作符
逻辑操作符
条件操作符
逗号表达式
下标引用、函数调用和结构成员
1、算数操作符:
+、-、*、/、%
除了%操作符之外,其他的几个操作符可以作用于整数和浮点数。
%操作符的两个操作数必须为整数。返回的是整除之后的余数。
2、移位操作符:移位操作符是将数据看成二进制数,对其进行向左或向右移动若干位的运算。
<< 左移操作符 、 >> 右移操作符
左移操作符移位规则:左边抛弃、右边补0 (左移1位所得的结果乘2)
右移操作符移位规则:1.逻辑右移:右边丢弃、左边补0 2.算术右移:右边丢弃、左边补符号位(正数补0、负数补1)
警告:对于位移运算符,不要移动负数位,这个标准是未定义的
3、位操作符:
&(按位与) 丨(按位或) ^(按位异或)
例: A = 6,B = 10;
A的二进制位为 00000000 00000000 00000000 00000110
B的二进制位为 00000000 00000000 00000000 00001010
A&B = 00000000 00000000 00000000 00000010 (同真为真、有假为假)
A丨B = 00000000 00000000 00000000 00001110 (有真为真)
A^B = 00000000 00000000 00000000 00001100 (相同为0、相异为1)
注:它们的操作数必须为整数
4、赋值操作符:
赋值操作符是一个很棒的操作符,他可以让你得到一个你之前不满意的值。也就是你可以给自己重新赋值。
例:int weight = 120;//体重
weight = 89;//不满意就赋值
double salary = 10000.0;
salary = 20000.0;//使用赋值操作符赋值。
5、复合操作符:
+= 加且赋值运算符 C+=A相当于C=C+A
-= 减且赋值运算符 C-=A相当于C=C-A
*= 乘且赋值运算符 C*=A相当于C=C*A
/= 除且赋值运算符 C/=A相当于C=C/A
%= 求模且赋值运算符 C%=A相当于C=C%A
<<= 左移且赋值运算符 C<<=1相当于C=C<<1
>>= 右移且赋值运算符 C>>=1相当于C=C>>1
&= 按位与且赋值运算符 C&=1相当于C=C&1
^= 按位异或且赋值运算符 C^=A相当于C=C^1
|= 按位或且赋值运算符 C|=A相当于C=C|1
6、单目操作符:
! 逻辑反操作
- 负值
+ 正值
& 取地址
sizeof 操作数的类型长度(以字节为单位)
~ 对一个数的二进制按位取反
-- 前置、后置--
++ 前置、后置++
* 间接访问操作符
(类型) 强制类型转换
7、关系操作符:
> >= < <= != ==
!= 用于测试“不相等”
== 用于测试“相等”
8、逻辑操作符:
&& (逻辑与) || (逻辑或)
例:#include<stdio.h>
int main()
{
int i = 0,a=0,b=2,c =3,d=4;
i = a++&&++b&&d++;
//i = a++||++b||d++;
printf("a = %d\n b = %d\n c = %d\nd = %d\n", a, b, c, d);
return 0;
}
输出的结果为 a = 1, b = 2, c = 3, d = 4.
进行逻辑与运算时,左操作数为假时,则右操作数不需要计算
进行逻辑或运算时,左操作数为真时,则右操作数不需要计算
9、条件操作符(又称三目操作符):
exp1 ? exp2 : exp3
例: a = (b>0)? b: -b;
当b>0时,a=b;当b不大于0时,a=-b;其实上面的意思就是把b的绝对值赋值给a。
10、逗号表达式:
exp1, exp2, exp3, .........expN
逗号表达式,就是用逗号隔开的多个表达式。
逗号表达式,从左向右依次执行。整个表达式的结果是最后一个表达式的结果。
11、下标引用、函数调用和结构成员
(1). [ ]
操作数:一个数组名+一个索引值
(2).()
函数调用操作符:接受一个或者多个操作数:第一个操作数是函数名,剩余的操作数就是传递给函数的参数。
(3).访问一个结构的成员
. 结构体. 成员名
->结构体指针->成员名
- c语言操作符总结
- 总结c语言操作符
- C语言操作符总结
- C语言操作符总结
- C语言操作符总结
- 总结c语言操作符
- c语言操作符总结
- C语言操作符总结
- C语言操作符总结
- c语言操作符总结
- C语言操作符总结
- c语言操作符总结
- C语言操作符总结
- *C语言操作符总结*
- C语言操作符总结
- C语言操作符总结
- c语言操作符总结
- C语言操作符总结
- Vijos P1332 最大的括号
- hdu 3652 B-number(数位dp)
- SAP HANA Cloud Platform
- 1003. Emergency (25)
- Nginx安装的前期准备工作
- C语言操作符总结
- Java
- 校招季总结
- 开机自动启动控制台并运行自己编译好的c++程序
- 【P2822】组合数问题 2016NOIP提高组 D2T1
- 猴子选大王
- thinkPHP三元运算符的用法及多种情况下switch的用法
- 自己制作的MyBatis Generator 代码军刀,文后有下载链接
- 【NOIP2012】疫情控制