运算符笔记

运算符

分类
算术运算符

加(+) 减(-) 乘(*) 除(/) 取余(%)

关系运算符

大于(>) 大等于(>=) 小于(<) 小等于(<=) 等于(==) 不等于(!=)

逻辑运算符

非( !) 并且( &&) 或(||)

赋值运算符

= += *= /= -=

优先级别

算术>关系>逻辑>赋值

注意
除法,取余

1.除法运算的结果与运算对象的数据类型有关

两数都是int,结果int 16/5==3

商有小数,截取小数

被除数与除数中只要有1个或2个为float,商也为float 16/5.0==3.20000

2.取余运算对象必须为整数,余数符号同被除数

​ n-1%n==n-1 3.5%2 (X)

​ 13%31 13%-31

且与或

真&&真——真 真&&假——假 假&&假——假

真||假——真 假||真——真 真||真——真 假||假——假

&&左边是假,右边不执行

||左边是真,右边不执行

C语言对真假的处理

非零为真,零为假,1真0假

三目运算符

A?B:C 意义:
A?B:C

if (A)

    B;

else

    C;

逗号表达式

格式

(A,B,C,D)

功能

从左向右执行,最终表达式的值为最后一项的值

eg:

#include<stdio.h>
int main()
{
    int i;
    int j=2;
    i=(j++,++j,j+2,j-3);
    printf("%d\n",i);
    return 0;
}
运行结果:i=1,j=4

补充:自增自减

前自增:++i

后自增:i++

相同点:最终都是 i+1

不同点:前自增整体表达式的值为 i+1后的值,后自增整体表达式的值为 i+1前的值

​ eg: i=j=3; k=i++; m=++j

​ printf(“%d,%d,%d,%d”,i,j,k,m);

​ i=4,j=4,k=3,m=4

为什么自增

代码更精炼,自增速度更快

学习自增需明白几个问题

1.尽量屏蔽掉前自增与后自增的差别

2.自增表达式最好不要作为一个更大表达式的一部分使用,或 i++和++i 单独成语句,不要作为一个完整复合语句的一部分来使用

eg: m=i++ + ++i + i + i++ 不规范代码,不可移植代码

顺序点:,();

printf(“%d,%d,%d”,i++,++i,i); 不规范代码,不可移植代码

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值