C语言操作符

移位表达式
左移操作符<<
  左边抛弃,右边补零
右移操作符>>
  1.逻辑右移
  左边补零,右边丢弃
  2.算数右移
  左边补符号位,右边丢弃
注意:
  1.左移一位相当于乘2,右移一位相当于除2,并且在内存中存放的是二进制的补码,且移位操作符只对int型数操作
  2.移位操作符不要移动负数位,这个标准未定义
位操作符
&    //按位与
|    //按位或
^    //按位异或
注:操作数必须是整数,并且是补码**
a & a = 0;
a & 0 = a;
举例:
  将0000 0000 0011 1111从右往左数的第5位的1变为0
  解:0000 0000 0011 1111 & 1111 1111 1110 1111 = 0000 0000 0011 1111
   将0000 0000 0011 1111从右往左数的第7位的0变为 1
   0000 0000 0011 1111 | 0000 0000 0100 0000 = 0000 0000 0111 1111
赋值操作符 =
int x = 0;
int x = 10;
符合赋值符
+=
-=
*=
/=
%=
>>=
<<=
&=
|=
^=
单目操作符
!               //逻辑反操作
-               //负值
+               //正值
&               //取地址
sizeof          //不是函数
~               //二进制数按位取反
--
++
(类型)           //强制类型转换**
  temp = ++a;是先加1,再使用,等价于 a = a + 1,temp = a;
  a ++;先使用,后加1,相当于 temp = a, a = a + 1;
**int a[10] = {0};   //32位
sizeof(a)            //40
sizeof(&a)           //4
&a                   //表示整个数组的地址,表示整个大小,加1则会在内存中跳过整个数组
a                    //表示数组首元素的地址,加1则是跳过一个数组元素**
//sizeof(表达式) /*表达式的结果不计算,因为sizeof在编译时就有,而当a,和b是全局变量时,他们的创建是在程序执行是才创建,所以,sizeof()中括号的值不看值,只看它的类型*/
关系操作符
>
< 
<= 
!=  
==
逻辑与逻辑或
  逻辑与&&:当遇到一个表达式为0,后面的都不计算,整个表达式为0
  逻辑或&&:当遇到一个表达式为1,后面的都不计算,整个表达式为1
条件操作符
exp1 ? exp2 : exp3
等价于
if(exp1) 
{
exp2
}
else
{
exp3
}
逗号表达式
exp1,exp2,exp3.../*表达式计算时从左到右计算,但整个表达式的值为最右边的表达式的结果,计算时必须计算左边的表达式,因为左边有可能会影响右边表达式的值*/
下标引用 函数调用及结构成员
1.[]
  操作数: 一个数组名 + 一个索引值
int arr[9] = {0};  //类型为int [9],类型为去掉变量名剩下的都是类型
[]的操作数为两个 arr和9
2.()
  函数调用操作符,接受一个或多个操作数,第一个为函数名,其余都是参数
3.访问一个结构的成员
  .结构体.成员名
  ->结构体指针->成员名
注意:
#include<stdio.h>
int main()
{
    int arr[] = {0};
    scanf ("%d",arr);         //arr为数组首地址的值,当arr + 1时,数组值跳过数组的一个元素的地址
    scanf("%d",&arr);         //&arr为数组的地址,当&arr + 1时,数组在内存中便会跳过整个数组
    sizeof(&arr);             //4
    sizeof(arr);              //40
                              //sizeof(数组名)此时的数组名表示的是整个数组
    return 0;
}
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值