从零开始C语言(4)运算符和表达式

表达式:

5 + 10

5和10是运算对象,+是运算符。

在C语言中,一个或多个运算对象,0个或多个运算符,组成表达式。

每一个表达式都有一个结果。

如果在表达式后面加上;就会变成表达式语句,C语言中,表达式不能单独存在,必须以表达式语句的形式存在。

printf("%d\n",5 +10);

其中"printf("%d\n",5 +10);为函数调用表达式,5 +10为子表达式,在函数调用表达式后面已经加了分号,当然,函数调用表达式也有一个表达式结果,这个结果就是函数的返回值。

运算符:

+,- 像数学表达式一样加减:

当然,+,-也可以表示正负,但是,在C语言中我们称他们为符号运算符。

+用于标明表达式的正负,-用于改变表达式的正负,与加减运算符不同的是,仅需要在符号运算符的右侧有一个运算对象,+表达式的结果为右边运算对象的值,-表达式的结果为运算对象的相反数。

*为乘法运算符,两边各需要一个运算对象构成乘法运算符表达式,结果为运算对象相乘的值。

/为除法运算表达式。

/与其他表达式不同的是,在数学中,整数/整数不一定是整数。在C语言中,整型与整型进行运算,结果依然是整型,结果中的小数会被丢弃,这个过程称作截断。

%为求余运算符。

=赋值运算符

自增自减运算符

++

--

i++为后缀模式

++i为前缀模式

对于前缀模式来说,++运算对象构成前缀自增表达式,结果为运算对象值加一。额外作用:运算对象自增。

对于前缀模式来说,--运算对象构成前缀自减表达式,结果为运算对象减一。额外作用:运算对象自减。

对于后缀模式来说,运算对象++构成后缀自增表达式,结果为运算对象值本身。额外作用:运算对象自增。

对于后缀模式来说,运算对象--构成后缀自减表达式,结果为运算对象值本身。额外作用:运算对象自减。

何时产生额外作用?

额外作用在不同编译器有不同的发生时机。

例如:VS累积所有子表达式求值后才会进行额外作用。

          GCC每完成一个子表达式就会立即产生额外作用。

最晚发生时机:完整表达式求值结束后进入下一步之前。

一元运算符:有一个运算对象,例如自增运算符。

二元运算符:有两个运算对象,例如赋值运算符,加法运算符。

运算符优先级:

四则运算符优先级和数学中是一样的。

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值