初识操作符2

 

~按位取反--按(二进制)取反

代码1

#include<stdio.h>

int main()

{

int a = 0;

a = ~a;

printf("%d\n",a);

return 0;

}

结果:-1

为什么是-1?

按位取反的原则

int是整型,有四个字节,每个字节有8个bite

那么0的二进制代码为

00000000000000000000000000000000

按位取反--将0变成1,将1变成0,则取反(即取反码)后为

11111111111111111111111111111111(-1的补码)

补充,整数的二进制表示有三种--原码,反码,补码

对于正数,其三码合一,即三码相同

对于负数,三码有区别

例如-1

原码:00000000000000000000000000000001

反码:11111111111111111111111111111110

补码:11111111111111111111111111111111

--,++

前置++,先++,后计算

代码2

#include<stdio.h>

int main()

{

int a = 10;

int b = ++a;

printf("%d\n", a);

printf("%d\n", b);

return 0;

}

结果:

11

11

后置++,先计算,后++

代码3

#include<stdio.h>

int main()

{

int a = 10;

int b = a++;

printf("%d\n", a);

printf("%d\n", b);

return 0;

}

结果:

11

10

(类型),强制转换类型

代码4

#include<stdio.h>

int main()

{

int a = 3.14;

printf("%d\n", a);

return 0;

}

结果:报错,3.14为浮点型,而定义a为整型

修改

代码5

#include<stdio.h>

int main()

{

int a = (int)3.14;

printf("%d\n", a);

return 0;

}

 

关系操作符

> >= < <= != ==

逻辑操作符

&&--逻辑与

||--逻辑或

代码1

#include<stdio.h>

int main()

{

int a = 3;

int b = 5;

int c = a && b;

printf("%d\n", c);

return 0;

}

结果:1(真)

代码2

#include<stdio.h>

int main()

{

int a = 3;

int b = 5;

int c = a || b;

printf("%d\n", c);

return 0;

}

结果:1(真)

代码3

#include<stdio.h>

int main()

{

int a = 0;

int b = 5;

int c = a && b;

printf("%d\n", c);

return 0;

}

结果:0(假)

代码4

#include<stdio.h>

int main()

{

int a = 0;

int b = 5;

int c = a || b;

printf("%d\n", c);

return 0;

}

结果:1(真)

代码5

#include<stdio.h>

int main()

{

int a = 0;

int b = 0;

int c = a || b;

printf("%d\n", c);

return 0;

}

结果:0(假)

 

条件操作符

exp1?exp2:exp3

条件操作符--三目操作符

解释

如果exp1成立,exp2计算,整个计算结果为--exp2

如果exp1不成立,exp3计算,整个计算结果为--exp3

如比大小

代码1

#include<stdio.h>

int main()

{

int a = 0;

int b = 4;

int max = 0;

if (a > b)

max = a;

else

max = b;

printf("%d\n", max);

return 0;

}

结果:4

用条件操作符

代码2

#include<stdio.h>

int main()

{

int a = 0;

int b = 4;

int max = 0;

a > b ? max = a : max = b;

printf("%d\n", max);

return 0;

}

结果:4

补充逗号表达式

int a = 0;

int b = 4;

int max = 0;

可该写成如下:

int a = 0,b=4,max=0;

则代码2可改写如下

代码3

#include<stdio.h>

int main()

{

int a = 0,b=4,max=0;

a > b ? max = a : max = b;

printf("%d\n", max);

return 0;

}

结果:4

下标引用,函数调用,结构成员

[] () . ->

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值