02_C语言的基本运算符和表达式

运算符

常用的基本运算符包括:算术、自增自减、关系、逻辑、条件、赋值、逗号运算符等

运算符的优先级:在计算中有多个运算符时,按优先级进行计算

算术运算符

正或加(+),负或减(-),乘(*),除(/),模(求余)(%)
乘除模的优先级为3,加减优先级为4

自增自减运算符

优先级为2(比较高)
+ + ++ ++:变量自身的值加一
− − -- :变量自身的值减一
前缀:先自增(减)后运算
后缀:先参与运算后自增(减)

关系运算符

大于> 、 小于<、 大于等于>=、小于等于<=、等于==、不等于!= (一个=是赋值)
关系表达式的结果只有两种:真(1)或假(0)

逻辑运算符

与(&&):同时为真才真,
或(||):同时为假才假,
非(!):假变真,真变假

位运算符

只能对整型数据操作
左移 <<: 整数<<n,将一个整数的二进制向左移动n个二进制位
右移 >>: 整数>>n,将一个整数的二进制向右移动n个二进制位
按位非 ~:~整数,将一个整数的二进制各位取反,1变0,0变1
按位与 &:整数&整数,将两个整数的各位二进制相与,对应位置,有0则0
按位或 |:整数|整数,将两个整数的各位二进制相或,对应位置,有1则1
按位异或 ^:整数 ^整数,将两个整数的二进制相异或,遵循相同为0相异为1的规则

1字节=8位 二进制位

二进制位的最高位表示符号(0为正数,1为负数)
举例:10 二进制表示 0000 1010

int a = 10;
a<<1; //表示 成0001 0100,a = 20

左移几位相当于乘以2的n 次方
右移几位相当于除以2的n 次方

按位非 注意二进制数的原码、反码和补码(正负数不一样)
正整数的原码、反码和补码一样
负数的原码首位1,反码按位非,补码=反码+1(最低位+1)

int c = 10;
printf(“%d\n”,~c); // 则 ~10=-11

赋值运算符

运算符意义
=赋值
+=b+=a; 即b=b+a
-=b+=a; 即b=b-a
*=b*=a; 即b=b*a
/=b/=a; 即b=b/a
%=b%=a; 即b=b%a

逗号运算符

顺序求值运算符,起到分隔作用

强制转换运算符

(数据类型)
如 float PI = (float)3.14; //小数默认为double类型的数据

条件运算符

表达式1?表达式2:表达式3
表达式1的结果为真则执行表达式2,否则执行表达式3

sizeof() 求类型大小,数据的字节数
操作数:一个运算符要用到几个变量计算,如双目运算符

表达式

用运算符和括号将运算对象(对象包括常量、变量、函数等)连接起来的、符合C语言语法规则、用于相关运算的式子

:不同数据类型之间的混合运算

  • float 与 double 混算,都按 double 算
  • int 与 float(或double)混算,将 int 转化成相应
  • char 与 int 混算,按照 ASCII 码数转换后运算

C语句

表达式;

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值