a=(int) (7.0/4);
因为 7.0/4 的值为 1.75,如果在前面加上(int)就表示把结果强制转换成整型,这就得
到了 1。那么思考一下 a=(float) (7/4);最终 a 的结果是多少?
单目减运算符相当于取相反值,若是正值就变为负值,若是负数就变为正值。
单目加运算符没有意义,纯粹是和单目减构成一对用的。
三、逻辑运算符
逻辑运算符是根据表达式的值来返回真值或是假值。其实在C 语言中没有所谓的真值和
假值,只是认为非 0 为真值,0 为假值。
符号 功能
&& 逻辑与
|| 逻辑或
! 逻辑非
例如:
5!3;
0||-2&&5;
!4;
当表达式进行 &&运算时,只要有一个为假,总的表达式就为假,只有当所有都为真
时,总的式子才为真。当表达式进行||运算时,只要有一个为真,总的值就为真,只有当
所有的都为假时,总的式子才为假。逻辑非(!)运算是把相应的变量数据转换为相应的真/假
值。若原先为假,则逻辑非以后为真,若原先为真,则逻辑非以后为假。
还有一点很重要,当一个逻辑表达式的后一部分的取值不会影响整个表达式的值时,
后一部分就不会进行运算了。例如:
a=2,b=1;
a||b-1;
因为 a=2,为真值,所以不管 b-1 是不是真值,总的表达式一定为真值,这时后面的
表达式就不会再计算了。
四、关系运算符
关系运算符是对两个表达式进行比较,返回一个真/假值。
符号 功能
> 大于
< 小于
>= 大于等于
<= 小于等于
== 等于
!= 不等于
这些运算符大家都能明白,主要问题就是等于==和赋值=的区别了。
一些刚开始学习 C 语言的人总是对这两个运算符弄不明白,经常在一些简单问题上出
错,自己检查时还找不出来。看下面的代码:
if(Amount=123) ……
很多新人都理解为如果 Amount 等于 123,就怎么样。其实这行代码的意思是先赋值
Amount=123
,然后判断这个表达式是不是真值,因为结果为 123,是真值,那么就做