C语言学习Day3-运算符

运算符

算术运算符:+  -  * /(除) %(取余)

关系运算符:><>= <=  !=(不等于) ==(等于)

逻辑运算符:! (非)  && (与/并且)  ||(或)

赋值运算符:= 

复合赋值运算符:+=  -=   /=  *=  %= 

优先级:算数>关系>逻辑>赋值

 

算数运算符中,除和取余比较特殊。

1477aedc418e47d78562fb2ba3da939f.png

如果除数和被除数中有一个是小数,除法运算结果是小数。

取余运算的结果正负与被除数相同。

取余运算的被除数和除数都必须为整数。(如果有一个是小数,那结果也应该是小数,说明是可以除尽的。)

 

编程验证例子

b979a642c4ac4ad1a41b08151404a940.png

 逻辑运算符:

真&&真 = 真

真&&假 = 假

假&&真 = 假

假&&假 = 假

真||真 = 真

真||假 = 真

假||真 = 真

假||假 = 假

C语言中对于真假的处理:非零都为真,零为假。真输出为1,假输出为0。

&&左边的表达式为假时,右边的表达式不执行。(表达式:没有加分号的为表达式,加了分号的是程序语句)

||左边是真的时候,右边的表达式不执行。

代码举例:

640c5b512c7c4d0fa13cf52090942613.png

 k = 0 ,运算结果为假,输出m为0;若改成k = 1(或其他非 0值),运算结果为真,输出m为1。

若左边括号内改成1>2,k输出为20。

7faee98faea1458a9490302ca654f472.png

若左边改成2>1,k输出结果为20。

 

自增运算符

i++和++i

后自增  表达式的值是变量自增前的运算结果

前自增  表达式的值是变量自增后的运算结果

 

为什么需要自增运算符?

代码更精简。

运算速度更快,因为相比于i=i+1和i+=1,i++和++i是直接在寄存器中进行运算,省去了取数和存数的过程。

 

学习自增的注意点:

1.编程时需要规避前自增和后自增带来的影响。

2.不要把自表达式作为更复杂的表达式的一部分。或者说,将i++或++i单独作为一个语句使用,不要把它当做复合语句的一部分来使用。

 

三目运算符

A?B : C

等价于

if(A)  B;

else  C;

 

逗号运算符

(A, B, C, D)

从左往右运算,运算结果为最后一项的值。

举例:int  j = 4;

int x; 

x = (j++, ++j,  j/3,  j-2);

运算完x的值和j的值分别为2和6。

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值