C语言中的符号
运算符的种类C语言的运算符可分为以下几类:
1.算术运算符★用于各类数值运算(共七种)
加 + 减 - 乘 * 除 / 求余(或称模运算)% 自增 ++ 自减 --
+= :加赋值运算符。如a+=3+1, 等价于 a=a+(3+1)。 -= :减赋值运算符。如a-=3+1, 等价于 a=a-(3+1)。 *= :乘赋值运算符。如a*=3+1, 等价于 a=a*(3+1)。 /= :除赋值运算符。如a/=3+1, 等价于 a=a/(3+1)。 %= :取余赋值运算符。如a%=3+1, 等价于 a=a%(3+1)。
复合赋值运算符的作用是先将复合运算符右边表达式的结果与左边的变量进行算术运算,然后再将最终结果赋予左边的变量。所以复合运算要注意: 一、是复合运算符左边必须是变量; 二、是复合运算符右边的表达式计算完成后才参与复合赋值运算。 复合运算符常用于某个变量自身的变化,尤其当左边的变量名很长时,使用复合运算符书写更方便。
Eg 1:赋值运算符的演示:
#include
void main()
{
int nA=10;
int nB=10;
printf("%d\t",nA+=nA-=nA*nA);
printf("%d ",nB+=nB-=nB*=nB);
}
运行结果: -180 0
(在C语言中,运算符“+”、“-”、“*”和“/”的用法与大多数计算机语言的相同,几乎可用于所有C语言内定义的数据类型。当“/”被用于整数或字符时,结果取整。例如,在整数除法中,10/3=3。
一元减法的实际效果等于用-1乘单个操作数,即任何数值前放置减号将改变其符号。模运算符“%”在C语言中也同它在其它语言中的用法相同。切记,模运算取整数除法的余数,所以“%”不能用于float和double类型。)
自增运算符和自减运算符
自增和自减运算符是C++语言所特有的,主要用于给一个变量加1或减1。自增和自减运算符及其功能如下: + +:自增运算符。如a++; ++a;都等价于a=a+1。 - -:自减运算符。如a- -; - -a;都等价于a=a-1。 自增运算符和自减运算符可以放到变量前面(前置方式)或者后面(后置方式),这两种方式同样实现了变量的自增或自减运算。但是当变量的自增运算或者自减运算同其它运算符配合构成一个表达式时,前置运算时变量先做自增或自减运算,再将变化后的变量值参加表达式中的其它运算。后置运算时变量在参加表达式中的其它运算之后,再做自增或自减运算。
Eg 2:前置与后置运算符的区别:
#include
void main()
{
int nNum1,nNum2;
nNum1=nNum2 = 5;
printf("\nPost Pre");
printf("\n%d %d",nNum1--,--nNum2);
printf("\n%d %d",nNum1--,--nNum2);
printf("\n%d %d",nNum1--,--nNum2);
printf("\n%d %d",nNum1--,--nNum2);
printf("\n%d %d\n",nNum1--,--nNum2);
}
运行结果: Post Pre
5 4
4 3
3 2
2 1
1 0
C语言中有两个很有用的运算符,通常在其它计算机语言中是找不到它们的—自增和自减运算符,++和--。运算符“++”是操作数加1,而“--”是操作数减1,换句话说:x=x+1;同++x;x=x-1;同--x;
自增和自减运算符可用在操作数之前,也可放在其后,例如:x=x+1;可写成++x;或x++;但在表达式中这两种用法是有区别的。自增或自减运算符在操作数之前,C语言在引用操作数之前就先执行加1或减1操作;运算符在操作数之后,C语言就先引用操作数的值,而后再进行加1或减1操作。请看下例:
x=10;
;y=++x;
此时,y=11。如果程序改为:
x=10;y=x++;
则y=10。在这两种情况下,x都被置为11,但区别在于设置的时刻,这种对自增和自减发生时刻的控制是非常有用的。在大多数C编译程序中,为自增和自减操作生成的程序代码比等价的赋值语句生成的代码
要快得多,所以尽可能采用加1或减1运算符是一种好的选择。
。下面是算术运算符的优先级:
:最高++、-
--
-(一元减)
*、/、%最低+、-编译程序对同级运算符按从左到右的顺序进行计算。当然,括号可改变计算顺序。C语言
处理括号的方法与几乎所有的计算机语言相同:强迫某个运算或某组运算的优先级升高。
顺序程序设计举例
使用