关系运算符是双目运算符,用在关系表达式中。用于判断两个数据之间的关系,例如:大于、等于、不等于,比较的结果是一个整型数值1或 0,1表示“真”,0表示“假”。当条件成立时,运算结果为1;当条件不成立时,运算结果为0。下表列出了C语言支持的比较运算符,表中例子假设A和B不相等且A小于B。
表 1 关系运算符
|
运算符 |
描述 |
例子 |
|
== |
检查两个操作数的值是否相等,如果相等,条件成立,运算结果为1,否则运算结果为0 |
A==B 为0(假)
|
|
!= |
检查两个操作数的值是否相等,如果值不相等,条件成立,运算结果为1,否则结果为0 |
A!=B为1(真) |
|
〉 |
检查左操作数的值是否大于右操作数的值,若条件成立,运算结果为1,否则结果为0 |
A>B为0(假) |
|
< |
检查左操作数的值是否小于右操作数的值,如果是,那么条件为真。 |
A<B为1(真) |
|
>= |
检查左操作数的值是否大于或等于右操作数的值,若条件成立,运算结果为1,否则结果为0 |
A>=B为0(假) |
|
<= |
检查左操作数的值是否小于或等于右操作数的值,若条件成立,运算结果为1,否则结果为0 |
A<=B为1(真) |
关系运算符“==”,用于判断运算符两边的操作数是否相等,如果相等,运算结果为1,否则返回0。例如下面语句:
int a = 10;
int b = 20;
int bTemp = a == b;
第1、2条语句声明了变量a和变量b,分别赋值为10和20,第3条语句判断变量a和变量b的值是否相等,并把判断结果赋值给整型变量bTemp,由于关系运算符“==”优先级高于赋值运算符“=”,因此,语句执行顺序是先判断再赋值。此时bTemp的值为false。
关系运算符“!=”,用于判断运算符两边的操作数是否相等,如果不相等,运算结果为1,否则为0。例如下面语句:
int a = 10;
int b = 20;
int bTemp = a != b;
因为变量a和变量b的值不相等,语句执行完后,bTemp的值为1。
关系运算符“〉”,用于判断运算符左边的操作数是否大于运算符右边的操作数,如果大于,运算结果为,否则为0。例如下面语句:
int a = 10;
int b = 20;
int bTemp = a >b;
因为变量a的值小于变量b的值,语句执行完后,bTemp的值为0。
关系运算符“<”,用于判断运算符左边的操作数是否小于运算符右边的操作数,如果小于,运算结果为1,否则为0。例如下面语句:
int a = 10;
int b = 20;
int bTemp = a < b;
因为变量a的值小于变量b的值,语句执行完后,bTemp的值为1。
关系运算符“>=”,用于判断运算符左边的操作数是否大于或者等于运算符右边的操作数,如果大于或者等于,运算结果为1,否则返回0。例如下面语句:
int a = 10;
int b = 20;
int bTemp = a >= b;
因为变量a的值小于变量b的值,语句执行完后,bTemp的值为0。
关系运算符“<=”,用于判断运算符左边的操作数是否小于于或者等于运算符右边的操作数,如果小于或者等于,运算结果为1,否则返回0。例如下面语句:
int a = 10;
int b = 20;
int bTemp = a <= b;
因为变量a的值小于变量b的值,语句执行完后,bTemp的值为1。
例【1】关系运算符练习
程序清单 sample.c
#include <stdio.h>
int main()
{
// 声明变量
int a = 10,b=20,bTemp;
bTemp = a == b;
printf("a == b:%d\n",bTemp);
bTemp = a != b;
printf("a !=b :%d\n",bTemp);
bTemp = a > b;
printf("a > b:%d\n",bTemp);
bTemp = a < b;
printf("a<b:%d\n",bTemp);
bTemp = a <= b;
printf("a<=b:%d\n",bTemp);
bTemp = a >= b;
printf("a>=b:%d\n",bTemp);
}