C 操作符总结
1算术操作符
+ - * / %
%操作符只能用整数,其他的操作符都可以作⽤于整数和浮点数。
2移位操作符
左移和右移 <<>>
左移:左边抛弃、右边补零
右移有两种:
逻辑移位
右边丢弃,左边补零
算术移位
右边丢弃,左边补原符号位
不移动负数位,
3位操作符
& 按位与
| 按位或
^ 按位异或
他们的操作数必须是整数
4赋值操作符
例如 A = 3赋值运算尽量不要连续赋值尽量分开赋值
5复合赋值符
+=
-=
*=
/=
%=
>>=
<<=
&=
|=
=
这些运算符都可以写成复合的效果。
⽐如:
x = x+10;
x+=10;使用复合赋值这样写更加简洁。
5单⽬操作符
! 逻辑反操作
- 负值
+ 正值
& 取地址
sizeof 操作数的类型长度(以字节为单位)
~ 对⼀个数的⼆进制按位取反
-- 前置、后置--
++ 前置、后置++
* 间接访问操作符(解引⽤操作符)
(类型) 强制类型转换
6关系操作符
>
>=
<
<=
!= ”
==
!有些运算符陷阱if(x = 6),并非判断等于而是赋值
7逻辑操作符
&& 逻辑与
|| 逻辑或
&&遇到0 后面的不再做运算
||遇到1后面的不再做运算
区分逻辑与和按位与
区分逻辑或和按位或
1&2----->0
1&&2---->1
1|2----->3
1||2---->1
8条件表达式
表达式1 ? 表达式2 : 表达式3
为真 表达式2 为假 表达式3
9逗号表达式
表达式1,表达式2,表达式3,表达式4,…,表达式N
从前往后运算,最后一个结果为逗号表达式的最终结果
10下标引⽤、函数调⽤和结构成员
下标引用符 数组名[索引值]
函数调用操作符 函数名(传递给被调用函数的实参)
访问结构体成员符 结构体.成员名
结构体指针->成员名
比如:
structbook_bank
{
char title[20];
char author[15];
int pages;
floatprice;
};
structbook_bank book1,book2,book3;
strcpy(book1.title,”ABSIC”);
strcpy(book1.author,”Balagurusamy”);
book1.pages = 250;
book1. price=120.5;
或者使用scanf从键盘赋值
scanf(“%s\n”,book1.title);
scanf(“%d\n”,&book1.pages);