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;

}


原创粉丝点击