C语言关系运算符实例详解

 更新时间:2016年07月26日 10:08:50   投稿:lqh  
本文主要介绍C语言的关系运算符的知识,这里提供实例代码以便参考,希望能帮助有需要的小伙伴

在程序中经常需要比较两个数据的大小,以决定程序下一步的工作。比如一个程序限制了只能成年人使用,儿童因为年龄不够,没有权限使用。这时候程序就需要获取用户输入的年龄并做出判断,如果超过18岁就正常运行,否则给出无权使用的提示。

比较两个数据大小的运算符称为关系运算符(Relational Operators)。

在C语言中有以下关系运算符:

1) <(小于)
2) <=(小于或等于)
3) >(大于)
4) >=(大于或等于)
5) ==(等于)
6) !=(不等于)

关系运算符都是双目运算符,其结合性均为左结合。关系运算符的优先级低于算术运算符,高于赋值运算符。在六个关系运算符中,<、<=、>、>=的优先级相同,高于==和!=,==和!=的优先级相同。

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

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

关系运算符的两边可以是变量、数据或表达式,例如:

1) a+b>c-d
2) x>3/2
3) 'a'+1<c
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 <stdio.h>
int main(){
 char c='k';
 int i=1, j=2, k=3;
 float x=3e+5, y=0.85;
 int result_1 = 'a'+5<c, result_2 = x-5.25<=x+y;
 printf( "%d, %d\n", result_1, -i-2*j>=k+1 );
 printf( "%d, %d\n", 1<j<5, result_2 );
 printf( "%d, %d\n", i+j+k==-2*j, k==j==i+5 );
 return 0;
}

运行结果:

1, 0
1, 1
0, 0

对于含多个关系运算符的表达式,如 k==j==i+5,根据运算符的左结合性,先计算k==j,该式不成立,其值为0,再计算0==i+5,也不成立,故表达式值为0。

以上就是对关系运算符的介绍,希望能帮助学习C语言的同学。

相关文章

  • C++中stack的pop()函数返回值解析

    C++中stack的pop()函数返回值解析

    这篇文章主要介绍了C++中stack的pop()函数返回值,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教
    2022-07-07
  • C++学习之cstdbool和cstddef头文件封装源码分析

    C++学习之cstdbool和cstddef头文件封装源码分析

    这篇文章主要为大家介绍了C++学习之cstdbool和cstddef头文件封装源码分析,有需要的朋友可以借鉴参考下,希望能够有所帮助,祝大家多多进步,早日升职加薪
    2022-09-09
  • MFC列表控件CListCtrl使用方法示范

    MFC列表控件CListCtrl使用方法示范

    这篇文章主要介绍了MFC列表控件CListCtrl使用方法示范,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下
    2020-07-07
  • C语言中结构体的内存对齐规则讲解

    C语言中结构体的内存对齐规则讲解

    C 数组允许定义可存储相同类型数据项的变量,结构是 C 编程中另一种用户自定义的可用的数据类型,它允许你存储不同类型的数据项,本篇让我们来了解C 的结构体内存对齐
    2022-05-05
  • C++加密解密php代码的方法

    C++加密解密php代码的方法

    这篇文章主要介绍了C++加密解密php代码的方法,实例分析了基于C++实现加密解密的相关技巧,具有一定参考借鉴价值,需要的朋友可以参考下
    2015-07-07
  • 浅析直接插入排序与折半插入排序

    浅析直接插入排序与折半插入排序

    这篇文章主要介绍了直接插入排序与折半插入排序,有需要的朋友可以参考一下
    2013-12-12
  • 基于Qt开发获取CTP量化交易接口测试数据工具

    基于Qt开发获取CTP量化交易接口测试数据工具

    这篇文章主要为大家详细介绍了如何使用Qt软件开发K线股P相关软件,先开发一个通过CTP量化交易的sdk获取相关推送数据的工具,需要的可以参考下
    2024-04-04
  • C++ Opencv实现录制九宫格视频

    C++ Opencv实现录制九宫格视频

    这篇文章主要为大家介绍了如何利用C++和OpenCV库实现录制九宫格视频,文中的示例代码讲解详细,对我们学习OpenCV有一定帮助,感兴趣的可以了解一下
    2022-05-05
  • C语言教程之数组详解

    C语言教程之数组详解

    这篇文章主要为大家介绍了C语言教程之数组,具有一定的参考价值,感兴趣的小伙伴们可以参考一下,希望能够给你带来帮助
    2022-01-01
  • C语言如何读取bmp图像

    C语言如何读取bmp图像

    这篇文章主要介绍了C语言如何读取bmp图像,BMP即bitmap,由文件头信息块、图像描述信息块、颜色表、图像数据区四部分组成,下文更多相关资料需要的小伙伴可以参考一下
    2022-04-04

最新评论