C语言之什么是关系运算符

来源:爱站网时间:2022-01-26编辑:网友分享
在C语言的世界里,很多语言组成都是必须要学的,因为这跟以后编程中有着很大的关系。接下来爱站技术频道小编就给大家来说说C语言中什么是关系运算符?下面一起来看看吧!

在上节《C语言if else语句》中看到,if 的判断条件中使用了>!=等符号,它们专门用在判断条件中,让程序决定下一步的操作,称为关系运算符(Relational Operators)

关系运算符在使用时,它的的两边都会有一个表达式,比如变量、数值、加减乘除运算等,关系运算符的作用就是判明这两个表达式的大小关系。注意,是判明大小关系,不是其他关系。

C语言提供了以下关系运算符:
关系运算符 含  义 数学中的表示 大于 > >= 大于或等于 ≥ == 等于 = != 不等于 ≠
关系运算符都是双目运算符,其结合性均为左结合。关系运算符的优先级低于算术运算符,高于赋值运算符。在六个关系运算符中,、>=的优先级相同,高于==和!=,==和!=的优先级相同。

在C语言中,有的运算符有两个操作数,例如 10+20,10和20都是操作数,+ 是运算符。我们将这样的运算符称为双目运算符。同理,将有一个操作数的运算符称为单目运算符,将有三个操作数的运算符称为三目运算符

常见的双目运算符有 +、-、*、/ 等,单目运算符有 ++、-- 等,三目运算符只有一个,就是 ? :,我们将在《C语言条件运算符》中详细介绍。

关系运算符的两边可以是变量、数据或表达式,例如:
1) a+b > c-d
2) x > 3/2
3) 'a'+1 4) -i-5*j == k+1

关系运算符也可以嵌套使用,例如:
1) a > (b > c)
2) a != (c == d)

关系运算符的运算结果只有 0 或 1。当条件成立时结果为 1,条件不成立结果为 0。例如:

  • 5>0 成立,其值为 1;
  • 34-12>100 不成立,其值为 0;
  • (a=3)>(b=5) 由于3>5不成立,故其值为 0。


我们将运算结果 1 称为“真”,表示条件成立,将 0 称为“假”,表示条件不成立。

下面的代码会将关系运算符的结果输出:

#include 
int main(){
    char c='k';
    int i=1, j=2, k=3;
    float x=3e+5, y=0.85;
    int result_1 = 'a'+5=k+1 );
    printf( "%d, %d\n", 1

运行结果: 1, 0 1, 1 0, 0 对于含多个关系运算符的表达式,如 k==j==i+5,根据运算符的左结合性,先计算k==j,该式不成立,其值为0,再计算0==i+5,也不成立,故表达式值为0。 需要提醒的是,==才表示等于,而=表示赋值,大家要注意区分,切勿混淆。

再谈 if 语句的判断条件

if 语句的判断条件中不是必须要包含关系运算符,它可以是赋值表达式,甚至也可以是一个变量,例如:

//情况①
if(b){
    //TODO:
}
//情况②
if(b=5){  //情况①
    //TODO:
}

都是允许的。只要整个表达式的值为非0,条件就成立。

上面两种情况都是根据变量 b 的最终值来判断的,如果 b 的值为非0,那么条件成立,否则不成立。

又如,有程序段:

if(a=b)
    printf("%d",a);
else
    printf("a=0");

意思是,把 b 的值赋予 a,如果为非0则输出该值,否则输出“a=0”字符串。这种用法在后面的程序中会经常出现。

上述文章内容,不知道朋友们都了解清楚了没有,对于C语言比较感兴趣的朋友,可以来爱站技术频道网站搜寻更多相关资料阅读。

上一篇:C语言之字符串输入输出的详细介绍

下一篇:C语言之数组详细介绍

您可能感兴趣的文章

相关阅读

热门软件源码

最新软件源码下载