首页 百科知识 •算数运算符和算数表达式

•算数运算符和算数表达式

时间:2022-09-22 百科知识 版权反馈
【摘要】:2、自增运算符(++)和自减运算符(--)很容易出现一些歧义性和搞混的问题,如:i的原值为3,下列表达式的值是多少?

 

 

 

 

 C语言的运算符范围很宽、类型丰富,除了控制语句和输入输出以外,几乎所有基本操作都作为运算符处理。

认识运算符,就要掌握每一种运算符号的 功能、优先级、结合性

C的算术运算符有三类:

   1.  基本算术运算符

   2.  强制类型转换运算符

   3.  自增、自减运算符

 

 

 

基本算术运算符有五个: + (加)   -  (减)  * (乘)    / (除)     % (求余)
注意事项:

1. “ % ” 运算符号的运算对象必须为整型数据 ,如 7%3;

2. 两个整数相除取整数(向零取整);

3.参加+、-、*和/运算的两个数中有一个为实数或双精度数,则结果必为double型。

例如:2. 5%3 会出错          2/3的结果为0
                 5/4的结果为1            (-5)/4的结果为-1

优先级: 在括号和单目运算符之后

如:       a-b*c相当于a-(b*c)

结合性:  左结合性(自左向右)

当一个运算对象两侧的运算符的优先级相同时,要考虑其结合性。 

如:       a-b+c      48+56%7/2*8

如果一个运算符的两侧的数据类型不同,先自动进行类型转换,使两者具有同一个类型,然后进行运算。

 

 

 

强制类型转换运算符为单目运算符,使用的形式为:      (类型名)(转换对象)
功能:将数据类型进行强制转换。

如:    (double)a      (int)(x+y)    (float)(5%3)

注意事项:(1)类型名一定要用括号括起来。

               (2)在进行强制类型转换时,得到一个所需类型的中间量,原来变量的类型和值都不变。

 

 

 

运算符:++(自增)    - -(自减)

功能:使变量的值自增1或自减1(常用于循环语句中)。

++i, - -i  (在使用i之前,先使i的值加1(减1))

i++, i- - (在使用i之后,使i的值加1(减1))

优先级:单目运算符,优先级仅次于括号类。

结合性:自右向左,具有“右结合性”。

1、自增运算符(++)和自减运算符(--)只能用于变量,不能用于常量或表达式,如:5++或(a+b)++都是不合法的。

2、自增运算符(++)和自减运算符(--)很容易出现一些歧义性和搞混的问题,如:i的原值为3,下列表达式的值是多少?
        (i++)+(i++)+(i++)    

有的系统得12,有的系统得9;i的值为6。

 3、在一个表达式中相邻出现两种运算符时,如:i+++j,是理解为(i++)+j呢?还是理解为i+(++j)呢?C编译系统将其解释为(i++)+ 

 

 

 

 算术表达式:用算术运算符号将运算对象按C语言的语法规则连接起来的式子叫做算术表达式。

运算对象:常量、变量、表达式、函数均可以做运算对象。

 

免责声明:以上内容源自网络,版权归原作者所有,如有侵犯您的原创版权请告知,我们将尽快删除相关内容。

我要反馈