专题三 运算符与表达式

2.2.1运算符及表达式

在这里插入图片描述

在这里插入图片描述

2.2.2算数运算符

算术运算符包括+(加)、-(减)、*(乘)、/(除)、%(余数)。

1.+、-、* 、/ 运算符的运算量可以是任何整型或浮点型常量、变量、有返回值的函数及其表达式

  1. x/y时,y的值不能为0.

3.%求余数运算符要求运算量必须是整型,且%后面的量不为0,且余数的正负取决于被除数,

例如4%2 结果为0

-15%2 结果为-1

8%0 错误;

4.当双目运算符的两个运算量的类型相同时,它们的运算结果类型与运算量类型相同。

但是两个运算量类型不同时,运算前会按照一般的转换规则转换为相同类型。

例如15.5+5运算时将5转换为浮点数5.0,结果为20.5.

5.强制类型转换是靠强制类型转换运算符来实现数据类型转换的,一般类型为:

(类型名)表达式

例如

float x=6.5;

int y;

y=(int)x;

结果: y=6;x=6.5;

2.2.3自增自减运算

++ (自增),- (自减)都是单目运算符,都有前置和后置两种不同的形式,两种形式单独使用时并没有区别, 但是代入表达式中的时候,前置式先进行自增或自减运算,再代入表达式运算,面后置式先用原值进行后再进行自增或者自减运算。

注意:自增和自减运算只能用于变量,不能用于常量。

++i先执行i+1,再使用i
i++先使用i,再执行i+1

2.2.4关系运算符

关系运算符都是双目运算符,它用来比较两个运算量之间大小关系。

C语言中的关系运算符主要包括:

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

2.2.5逻辑运算符

C语首中的逻机运算符包括&及《遭辑与),1(逻辑成)、,(逻辑非,单目运算符), 逻辑运算行88.步个在达火类型可以不同, 运期时也不需要类型转化只要遵循非0视为真,0值视为假。运算结果也只有0

注意: &&只要左边为逻辑0,右边的表达式计算机将不会计做,同理,左边为逻辑1,右边不计算。
例如 int a=1,b=0,c;
c=++a||++b;
b=!b;
结果:c=1,b=1,a=2;

2.2.6赋值运算符

1.基本赋值运算符“="是一个双目运算符,它的一般表达式为:

左值表达式=右值表达式

注意:在进行赋值运算前,会自动把右值表达式的值类型自动转换为左值表达式的值类型。右→左

2.在赋值运算符“=”前加上其他运算符,便构成了复合赋值运算符。如果用op来代表加在“=”之前的运算符,则复合赋值运算符可以表示为“op-”。一般形 式为:

左值表达式op=右值表达式

例如inti=0; i+=1;//i+=1表示i=i+1结果: i=1。

2.2.7 条件运算符

条件运算符(? :)是C语言中唯一的三目运算符,它的一般形式为:

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

它的运算过程是:判断表达式1的值,如果非0,执行表达式2,如果为0,则执行表达式3.
例如int a,b;

(a>b)?a:b

当a>b成立时,条件表达式的值为a,否则,条件表达式的结果为b。

(a-=b)?0: ((a>b)?-1:1)

这是一个嵌套的表达式,先算内层表达式,再算外层表达式的值。

2.2.8逗号运算符

逗号运算符是双目运算符,用它可以构成逗号表达式。一般形式为:表达式1,表达式2,…表达式n
逗号运算的每个表达式分开进行计算,从表达式1按一定顺序一直求到表达式n,最后的表达式的值就是该逗号表达式的值
例如 int i=1,j=0,k;
k=(i++,j++,i+j);
最后k的结果为3。

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值