二级C 精品课程3-1-2:C 运算符之关系运算符

文章作者 100test 发表时间 2007:04:06 21:30:08
来源 100Test.Com百考试题网


计算机等级考试训练软件《百宝箱》

3.1.3关系运算符
   C 提供6种关系运算符,用于数值之间的比较,表达式的值或为1(表示true),或为0(表示false),参见表3-3。
   应该注意:<= 和 >= 运算符不能写成=< 和 =>,=< 和 =>是无效的运算符。关系运算符的操作数应当是一个数值,字符是有效的操作数,因为它们是用数值来表示的。例如(假定采用ASCII编码):
  A < F // 得出 1 (它等价于 65 < 70)
  字符串不应当用关系运算符比较,因为被比较的不是字符串的内容本身,而是字符串的地址。例如:
  "HELLO" < "BYE"
  引起"HELLO"的地址与"BYE"的地址进行比较。由于字符串的地址是由编译器决定的,所以,表达式的结果或为0,或为1,并不确定。我们以后会看到:可以用C 的库函数strcmp,比较两个字符串。

表格 表3-4 关系运算符
运算符 名字 实例
= = 等于 5 = = 5 // 得出1
! = 不等于 5 != 5 // 得出0
< 小于 5 < 5.5 // 得出1
< = 小于或等于 5 <= 5 // 得出1
> 大于 5 > 5.5 // 得出0
> = 大于或等于 6.3 >= 5 // 得出1
  由关系运算符组成的关系表达式的值是逻辑型的,即bool 型。在C 中常常将逻辑真用非0表示(一般为1),逻辑假用0表示。
  其中:
  ==用于判断其前后数值或表达式的结果a和b是否相等。如a为2001,b为667*3,则表示a等于b 是真的。
  !=用于判断其前后数值或表达式的结果a和b是否不相等。如a为2002,b为667*3,则表示a不等于b 是真的。
  <用于判断其前后数值或表达式的结果a是否小于b。如a为2002,b为667*3,则表示a小于b 是假的。
  <=用于判断其前后数值或表达式的结果a是否小于或等于b。 如a为2002,b为667*3,则表示a小于或等于b 是假的。
  >用于判断其前后数值或表达式的结果a是否大于b。如a为2002,b为667*3,则表示a大于b 是真的。
  >=用于判断其前后数值或表达式的结果a是否大于或等于b。 如a为2002,b为667*3,则表示a大于或等于b 是真的。
  关系运算符组成的表达式,一般是和逻辑运算符组合用在条件表达式中的。条件表达式用于程序的分支处理。
  注意:
  1.关系运算符两边的数值结果必须是类型相同的,否则会容易出现关系判断的错误。如:
   char a = 0xa2.
   a > 0xa1 的结果是a 小于0xa1。因为 a 是符号整数,而0xa1是无符号整数。给a 赋值后其实是小于0的。
  2.字符串不应当用关系运算符比较,因为被比较的不是字符串的内容本身,而是字符串的地址。例如:
   "Welcome" < "Beijing"
  引起"Welcome"的地址与"Beijing"的地址进行比较。由于字符串的地址是由编译器决定的,所以,表达式的结果或为假,或为真,并不确定。我们以后会看到:可以用C 的库函数strcmp,比较两个字符串。



相关文章


二级C 精品课程3-1-7:C 运算符之求字节数运算符
二级C 精品课程3-1-6:C 运算符之赋值运算符
二级C 精品课程3-1-5:C 运算符之位运算符
二级C 精品课程3-1-4:C 运算符之逻辑运算符
二级C 精品课程3-1-2:C 运算符之关系运算符
二级C 精品课程3-1-2:C 运算符之自增、自减运算符
二级C 精品课程第三章运算符和表达式课前索引
二级C 精品课程3-1-1:C 运算符之算术运算符
考纲分析:全国计算机等级考试二级C 语言程序设计辅导
澳大利亚华人论坛
考好网
日本华人论坛
华人移民留学论坛
英国华人论坛