C语言操作符
来源:互联网 发布:ubuntu卸载wine软件 编辑:程序博客网 时间:2024/05/28 20:18
在C语言操作符中,首先不能对浮点数取模。
1.移位操作符包括左移操作符《 和右移操作符》,在内存中对于二进制,存储的是补码。对于右移操作符,进行的是算术右移(右边丢弃,左边补符号位)。并且还有一类逻辑右移(右边丢弃,左边补0),但右移操作符并不是逻辑右移。
2.位操作符:a&b 表示 a按位与b ,是二进制序列相与(简记:一假则假)
a|b 表示 a按位或b ,是二进制序列相或 (简记:一真则真)
a^b 表示a按位异或b,(二进制)相同为0,相异为1.
在位操作符中,它们的操作数必须是整数。不允许移动负数位,例如num>>-1不被允许。
3.赋值操作符=
int a=0;
a=1;//将1赋值给a
4.复合赋值符+= -= /= *= %=等等
5.单目赋值符
!逻辑反操作符
- + & ~(对一个数的二进制位取反)--(前置、后置--) ++(前置、后置++)
*(间接访问控制符(接引用操作符))int a=10; int *p=&a; *p=20;
(类型):强制类型转换
例: int a=10; a=(int)3.14;
printf(“%p\n”,&arr);//数组的地址 printf(“%p\n”,arr);//数组首元素的地址 ->值相同,意义不同
int a=10;
sizeof(a);//结果为4
sizeof(int);//结果为4
sizeof(arr+0)//数组首元素的地址(下表为0的地址)sizeof(arr)//数组名单独放在sizeof内部,数组名表示整个数组 &数组名:数组名表示整个数组
sizeof(s=a+5)//内部表达式不参与运算
6.关系操作符 = == !=
7.逻辑操作符 &&逻辑与 ||逻辑或
8.条件操作符 (三目操作符) exp1?exp2:exp3;
9.下标引用操作符[ ]
arr[5]=5;等价于*(arr+5)=5;
10.结构体
#include<stdio.h>
struct Stu
{
char name[20];
char id[13];
int age;
};
int main()
{
struct Stu s;
struct Stu *p=&s;
s.age=20;//(*p).age=20; //p->age=20;
strcpy(s.name,"Roman");//strcpy(p->name,"Roman"); //strcpy((*p).name,"Roman");
return 0;
}
- c语言操作符
- C语言#,##操作符
- C语言操作符
- 【C语言】操作符
- 【C语言】操作符
- c语言操作符
- c语言操作符
- C语言操作符
- c语言操作符
- C语言操作符
- c语言操作符
- C语言操作符
- c语言操作符
- c语言操作符
- C语言操作符
- C语言操作符
- C语言操作符
- c语言操作符
- ccf 相邻数对
- 单点登录SSO的实现原理
- JavaSE
- 运算符
- Unique In Order
- C语言操作符
- 【Java】死锁
- Highcharts使用
- 图计算
- effective java(16) 之复合优先于继承
- 2017.10.13一试
- 你了解对象工厂的设计吗?带你一步一步的由浅入深的理解对象工厂
- sed(六)
- VIJOS1769 网络的关键边 [Tarjan][桥]