C语言运算符及变量

一、运算符
1、运算符优先级
说明:

同一优先级的运算符,运算次序由结合方向所决定。

简单记就是:! > 算术运算符 > 关系运算符 > && > || > 赋值运算符

2、!(非)      &&(与)       ||(或)
语句1&&语句2(两个都是真),结果才为->真。
语句1||语句2(其中一个真),结果为->真。
3、非0-->真:1           0-->假:0
4、 位运算符
      对2进制操作:~       &       |     ^       <<左移      >>右移
例子: 假如一个数是一个字节, 一字节=8位 :
        12->0000 1100
        13->0000 1101
  • ~12->     按位取反  1111 0011        ~13->1111 0010
  • 12&13->0000 1100     按位比较,同为1才取1        
  • 12|13->0000 1101      按位比较,只要有1就取1
  • 12^13->0000 0001      按位比较,两个一样为0,不一样为1
  •  12<<1-> 000 11000=24=12*2  左移一位,左边挤出去,右边空出来的填0,左移一位,相当于值*2
        12<<2-> 00 110000=48=12*2^2  左移2位,左边挤出去,右边空出来的填0,左移2位,相当于值*2^2
  • 12>>1->00000 110=6=12/2 右移一位,右边挤出去填上符号符(0:正   1:负),相当于值/2 
5、 ++    --
前置++(--):先++(--)后赋值
后置++(--):先赋值后++(--)
例子a++:a自加1 => a=a+1
int main()
{
  i=10;
  j=++i;
  printf(“d%/n d%/n”,i,j) ;  
}
输出结果为:i=11 j=11
int main()
{
  i=10;
  j=i++;
  printf(“d%/n d%/n”,i,j) ;  
}

输出结果为:i=11 j=10

6、类型转换符(强转)
int a=12.3;(错)
强转:int a=(int)12.3;
7、sizeof 求变量大小(字节)
例子:
int main()
{
  int a=12;
  printf("%d/n",a)
  printf("a size=%d/n",sizeof(a));//printf("a size=%d/n",sizeof(int)); 
}
8、% 余数   5%2
9、 <= 和 >=不能连续比较   1<5<2(错)
10、 == 等于  = 赋值
11、条件运算符?
      三目运算符: 语句1? 语句2: 语句3   如果语句1为真,则执行语句2;如果语句1为假,则执行语句3
例子:
  • max=(a>b)?a:b         将a和b二者中较大的一个赋给
  • min=(a<b)?a:b         将a和b二者中较小的一个赋给
12、复合型运算符(方便)
+=    -=    /=    *=    %=  
例子:
int main()
{
  int a=10;
  a=a+10;//a+=10;
  a=a<<1;//a<<=1
}

二、变量

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值