C语言基础(三)运算符

运算符用于执行代码的运算

算数运算符

算数运算符用于处理四则运算

+加 如 int a = 10; int b =10; int c = a+b;

-减 如 int a = 10; int b =10; int c = a-b;

*乘 如 int a = 10; int b =10; int c = a*b;

/除 如 int a = 10; int b =10; int c = a/b; (不能除0,会导致异常)

%取余 如 int a = 10; int b =4; int c = a%b; c = 4 取余数

++自增 a++ 先赋值再加一 ++a 先加一再赋值

如 int a = 1;

int b =1;

printf("a++:%d\n++b:%d",a++,++b); --> a=1,b=2

printf("\na:%d\nb:%d",a,b);-->a=2 b=2

--自减 

如 int a = 1;

int b =1;

printf("a--:%d\n--b:%d",a--,--b); a--:1,--b:0

printf("\na:%d\nb:%d",a,b); a:0,b:0

赋值运算符

赋值运算符用于将表达式的值赋给变量

= 赋值运算符 如 int a = 12;将12赋值给a

+=加等于 如 int a = 10; a += 5(a=a+5)

-=减等于 如 int a = 10; a -= 5(a=a-5)

*=乘等于 如 int a = 10; a *= 5(a=a*5)

/=除等于 如 int a = 10; a /= 5(a=a/5)

%=取余等于  如 int a = 10; a %= 5(a=a%5)

比较运算符

== 相等 如 int a = 10;int b = 20; bool bFlag = a == b;若相等,则表达式 a == b返回Ture即1

否则返回False即0

!= 不等于  如int a = 10;int b = 20; bool bFlag = a != b;如上

> 大于 如int a = 10;int b = 20; bool bFlag = a > b;

< 小于 如int a = 10;int b = 20; bool bFlag = a < b;

>= 大于等于 如int a = 10;int b = 20; bool bFlag = a >= b;

<= 小于等于 如int a = 10;int b = 20; bool bFlag = a <= b;

位运算符 (运用于二进制数据下)

以下内容详解查阅汇编语言内容

& 位与运算符 (计算器 AND)       

如     10101010  &                   

         11110101                           

结果  10100000

int nRes = 0b10101010 & 0b11110101(0b表此数据为二进制数据)

相同位置数字一样则结果位置也为同样数字 ,否则为0

| 位或运算符 

如  10101010  |

      11110100

      11111110 才算0

int nRes = 0b10101010 | 0b11110100

相同位置有一个1便是1,只有俩0

~ 位非运算符

如  ~10101010  

结果 01010101

^ 异与运算符(同样的位置都是0或1时,结果相同位置为0,)

10101010  ^

11110100

01011110

int nRes = ~0b10101010

异或加密:两个值不相同,则异或结果为1;两个值相同,异或结果为0。所以根据异或的运算规则,在二进制中,相同为0,不同为1。

char szA = 'A';

char szB = 'B';

char szT = szA ^ szB;

printf("%X %c %c",szT,(szA^szT),(szB^szT))

结果 3 B A

<< 左移运算符

00000001 << 5 

00100000  

>> 右移运算符

10010000 >>3  当符号位为1时,右移的每一位都补1

11110010

00010000 >>3 当符号位为0时,右移的每一位都补0

00000010 

逻辑运算符

逻辑运算符用于根据表达式的值返回真值或假值

应用运用ture或者false时,需要添加头文件stdbool.h

&& 逻辑与

bool bFlag = (10 >5)  && (10>6)    Ture

|| 逻辑或 

bool bFlag = (10 >5)  ||(10>12)    Ture 一个为ture则结果就为ture

!逻辑非

bool bFlag = ture;

bFlag = ! ture;

结果为 false

三目运算符

三目运算符可以用于实现简单的判断

语法: 表达式1 ? 表达式2 :表达式3

如果表达式1的值为真,执行表达式2,并返回表达式2的结果; 如果表达式1的值为假,执行表达

3,并返回表达式3的结果。

如下一个例子说明

int a = x < y ? c : d 

如果x<y为ture 则赋值c给a

如果x<y为false 则赋值d给a

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值