【#文档大全网# 导语】以下是®文档大全网的小编为您整理的《C语言运算符大全》,欢迎阅读!
C语言运算符大全
C语言的内部运算符很丰富,运算符是告诉编译程序执行特定算术或逻辑操作的符号。
C语言有三大运算符:
算术、关系与逻辑、位操作。另外, C还有一些特殊的运算符,用于完成一些特殊的任务。 261算术运算符
表2-5列出了 C语言中允许的算术运算符。在 C语言中,运算符”和“/”的用法与大 多数计算机语言的相同, 几乎可用于所有C语言内定义的数据类型。 当“/”被用于整数或字符时,结果取 整。例如,在整数除法中,10/3=3。
一元减法的实际效果等于用-1乘单个操作数,即任何数值前放置减号将改变其符号。模运算符“ %在 C 语言中也同它在其它语言中的用法相同。切记,模运算取整数除法的余数,所以“ double 类型。
%不能用于 float和
prinrf /* 显示 3
x=i;
priiitf("Id,fel-Fx/yrxiyj; /* gj示 0」叮
最后一行打印一个0和一个1,因为1/2整除时为0,余数为1,故1%2取余数1。 2.6.2自增和自减
C语言中有两个很有用的运算符,通常在其它计算机语言中是找不到它们的一自增和自减运算符, 运算符“ ++”是操作数加1,而“--”是操作数减1,换句话说:X=X+1;同++X;X=X-1;同--X; 自增和自减运算符可用在操作数之前,也可放在其后,例如: 这两种用法是有区别的。自增或自减运算符在操作数之前,
x=x+1 ;可写成++X;或X++;但在表达式中 C语言在引用操作数之前就先执行加 1或减1
1或减1操作。请看下例:
++和--
操作;运算符在操作数之后, C语言就先引用操作数的值,而后再进行加 x=10; ;y=++x;
此时,y=11。如果程序改为: x=10;y=x++;
则y=10。在这两种情况下,x都被置为11,但区别在于设置的时刻,这种对自增和自减发生时刻的控制是 非常有用的。在大多数 C编译程序中,为自增和自减操作生成的程序代码比等价的赋值语句生成的代码
要快得多,所以尽可能采用加 1或减1运算符是一种好的选择。 。下面是算术运算符的优先级: : 最咼++、-
-(一元减)
*、/、%最低+、-编译程序对同级运算符按从左到右的顺序进行计算。当然,括号可改变计算顺序。 处理括号的方法与几乎所有的计算机语言相同:强迫某个运算或某组运算的优先级升高。 263关系和逻辑运算符
关系运算符中的“关系”二字指的是一个值与另一个值之间的关系,逻辑运算符中的“逻辑”二字指的是 连接关系的方式。因为关系和逻辑运算符常在一起使用,所以将它们放在一起讨论。关系和逻辑运算符概 念中的关键是True (真)和Flase (假)。C语言中,非0为True, 0为Flase。使用关系或逻辑运算符的 表达式对Flase和Ture分别返回值0或1(见表2-6)。
C语言
>2-6 关垂和谨宦运尊捋
二u <
大手 丈手毎于
== !=
舁干
<1仔
舍址
与
I
!
妊 非
表2-6给岀于关系和逻辑运算符,下面用 1和0给岀逻辑真值表。关系和逻辑运算符的优先级比算术运算 符低,即像表达式10>1+12的计算可以假定是对表达式 10>(1+12)的计算,当然,该表达式的结果为 Flase。 在一个表达式中允许运算的组合。例如: 10>5&& !(10<9)||3<=4 这一表达式的结果为True。
。下表给岀了关系和逻辑运算符的相对优先级: :最高! ! >=<=
=&&
最低II同算术表达式一样,在关系或逻辑表达式中也使用括号来修改原计算顺序。切记,所有关系和逻辑 表达式产生的结果不是 0就是1,所以下面的程序段不仅正确而且 将在屏幕上打印数值1。 int x; ;x=100;
;printf("%d",x>10); 2.6.4位操作符
与其它语言不同,C语言支持全部的位操作符(BitwiseOperators )。因为C语言的设计目的是取代汇编 语言,所以它必须支持汇编语言所具有的运算能力。位操作是对字节或字中的位(
bit )进行测试、置位或
移位处理,这里字节或字是针对 C标准中的char和int数据类型而言的。位操作不能用于float、double、
longdouble、void或其它复杂类型。表 2-7给出了位操作的操作符。位操作中的 码)的真值表与逻辑运算等价,唯一不同的是位操作是逐位进行运算的。
AND OR和 NOT( 1的补
本文来源:https://www.wddqxz.cn/9907a120ff0a79563c1ec5da50e2524de418d00e.html