计算机二级

3773考试网计算机等级考试计算机二级正文

计算机等级考试二级C语言:运算符

来源:fjzsksw.com 2010-10-13 16:57:53

 

  三、逻辑运算符

  逻辑运算符是根据表达式的值来返回真值或是假值。其实在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,是真值,那么就做后面的。如果想让当Amount等于123才运行时,应该if(Amount==123) ……

  五、自增自减运算符

  这是一类特殊的运算符,自增运算符++和自减运算符--对变量的操作结果是增加1和减少1。例如:

  --Couter;

  Couter--;

  ++Amount;

  Amount++;

  看这些例子里,运算符在前面还是在后面对本身的影响都是一样的,都是加1或者减1,但是当把他们作为其他表达式的一部分,两者就有区别了。运算符放在变量前面,那么在运算之前,变量先完成自增或自减运算;如果运算符放在后面,那么自增自减运算是在变量参加表达式的运算后再运算。这样讲可能不太清楚,看下面的例子:

  num1=4;

  num2=8;

  a=++num1;

  b=num2++;

  a=++num1;这总的来看是一个赋值,把++num1的值赋给a,因为自增运算符在变量的前面,所以num1先自增加1变为5,然后赋值给a,最终a也为5。b=num2++;这是把num2++的值赋给b,因为自增运算符在变量的后面,

 

上一页  [1] [2] [3] [4] 下一页

触屏版 电脑版
3773考试网 琼ICP备12003406号-1