逍遥自在学C语言 | 关系运算符
前言

一、人物简介
- 第一位闪亮登场,有请今后会一直教我们C语言的老师 —— 自在。

- 第二位上场的是和我们一起学习的小白程序猿 —— 逍遥。

二、构成和表示方式
- 关系运算符的作用是判断符号两边大小的关系
- C语言中的关系运算符主要有六个,如下表所示
| 运算符 | 名称 | 示例 | 描述 |
|---|---|---|---|
| == | 等于 | a == b | 判断a是否等于b |
| != | 不等于 | a != b | 判断a是否不等于b |
| > | 大于 | a > b | 判断a是否大于b |
| < | 小于 | a < b | 判断a是否小于b |
| >= | 大于等于 | a >= b | 判断a是否大于等于b |
| <= | 小于等于 | a <= b | 判断a是否小于等于b |
- 关系运算符的两边可以是变量、数值 或 表达式
变量
a > b
a <= b
数值
5 > 3
20 == a
表达式
a+b > c
a-b <= 6
三、关系运算符的应用
1、运算结果
关系运算符的运算结果为0或者1
当条件成立时结果为 1,条件不成立结果则为 0。
实例演示
#include <stdio.h>
int main() {
printf("11 > 2 结果为%d\n", 11 > 2);
printf("9 < 3 结果为%d\n", 9 < 3);
return 0;
}
- 运行结果

2、运算符嵌套
关系运算符是允许嵌套使用的,运算的结果可以继续作为关系运算符的一个参数
同优先级的关系运算符结合律是从左往右的。

- 实例演示
#include <stdio.h>
int main() {
printf("2 < 3 > 0 结果为 %d\n", 2 < 3 > 0);
printf("3 > 2 > 1 结果为 %d\n", 3 > 2 > 1);
return 0;
}
- 运行结果

因为2 > 3的结果为1,所以2 > 3 > 0等价于1 > 0,输出的结果为:1
因为3 > 2的结果为1,所以3 > 2 > 1等价于1 > 1,输出的结果为:0
3、优先级
关系运算符的优先级比上篇文中中提到讲解的算术运算符优先级低,另外关系运算符之间也有优先级。
高优先级: <、 <=、>、>=
低优先级: ==、!=
实例演示
#include <stdio.h>
int main() {
printf("2 < 3 == 1 结果为 %d\n", 2 < 3 == 1);
printf("1 == 3 > 1 结果为 %d\n", 1 == 3 > 1);
return 0;
}
在看运行结果前,我们先分析一下。
- 假如
2 < 3先运算,结果为1,则2 < 3 == 1等效于1 == 1, 输出的结果为1 - 假如
3 == 1先运算,结果为0,则2 < 3 == 1等效于2 < 0, 输出的结果为0
那么实际的运行结果如何呢?


我们接着分析
- 因为
>的优先级大于==,所以先运算3 > 1,结果1,则1 == 3 > 1等效于1 == 1, 输出的结果为1
小结
通过本文的讲解,我们学会了6种运算符的使用方法及优先级关系,下一篇文章,我们将讲解逻辑运算符。
逍遥自在学C语言 | 关系运算符的更多相关文章
- C语言关系运算符
在上节<C语言if else语句>中看到,if 的判断条件中使用了<=.>.!=等符号,它们专门用在判断条件中,让程序决定下一步的操作,称为关系运算符(Relational O ...
- 重学C语言---05运算符、表达式和语句
一.循环简介 实例程序 /*shoes1.c--把一双鞋的尺码变为英寸*/#include <stdio.h>#define ADJUST 7.64#define SCALE 0.325 ...
- c语言基础表达式, 关系运算符, 逻辑运算符, 位运算符, 数据的取值范围, 分支结构(if...else, switch...case)
1.表达式: 表达式的判断是有无结果(值), 最简单的表达式是一个常量或变量, 如:12, a, 3 + 1, a + b, a + 5 都是表达式 2.BOOL(布尔)数据类型: c语言中除了基本数 ...
- 【学习笔记】【C语言】关系运算符
1. 条件判断 默认情况下,我们在程序中写的每一句正确代码都会被执行.但很多时候,我们想在某个条件成立的情况下才执行某一段代码 这种情况的话可以使用条件语句来完成,但是我们暂时不学习条件语句,先来看一 ...
- C语言基础学习运算符-关系运算符
比较大小 首先,我们得先了解一下布尔类型.C语言的C99标准支持布尔类型,关键字为_Bool,用于表示逻辑值true与false.C语言用值1表示true, 用值0表示false.因此布尔类型实际上是 ...
- [Objective-C语言教程]关系运算符(8)
运算符是一个符号,告诉编译器执行特定的数学或逻辑操作. Objective-C语言内置很多运算符,提供如下类型的运算符 - 算术运算符 关系运算符 逻辑运算符 按位运算符 分配运算符 其它运算符 本教 ...
- 《手把手教你学C语言》学习笔记(8)--- 运算符和表达式
C语言编程的核心是指针和库,而库的核心就是函数,函数的基本组成部分就是语句. C语言合法表达式加上分号(语句结束符)构成C函数的基本部分语句.如果只有分号没有表达式就构成空语句,空语句常常用来形成占位 ...
- c语言中类型转换与赋值运算符、算术运算符、关系运算符、逻辑运算符。原码、反码、补码。小解。
类型转换 自动转换 小范围的类型能够自动转换成大范围的类型.short->int->long->float->double 强制类型转换 (类型名)变量或数值 #include ...
- C语言运算符(关系运算符)+(逻辑运算符)
下表显示了 C 语言支持的所有关系运算符.假设变量 A 的值为 10,变量 B 的值为 20,则: 实列: 1 #include <stdio.h> 2 3 int main() 4 { ...
- c语言学习笔记 if语句执行流程和关系运算符
回想现实生活中,我们会遇到这样的情况,如果下雨了就带伞上班,如果没下雨就不带伞上班,这是很正常的逻辑.程序是解决生活中的问题的,那么自然在程序中也需要这样的判断,当满足某个条件的时候做一件事情,这种东 ...
随机推荐
- 内存模型和名称空间复习题(c++ prime plus )
第一题 注意到setgolf()被重载,可以这样使用其第一个版本: golf ann; setgolf(ann, "Ann Birdfree", 24); 上述函数调用提供了存储在 ...
- 2.21(html)
- 最短路算法之 Dijkstra
部分内容参考了李煜东的<算法竞赛进阶指南>,在此声明. 单源最短路径 单源最短路径问题,是说,给定一张有向图(无向图)\(G=(V,E)\) ,\(V\) 是点集,\(E\) 是边集,\( ...
- vue + vant 移动端适配
1. 设置动态根字号大小,/public/phone-adapt.js,在index.html中引入 (function (doc, win) { const docEl = win.document ...
- 服务器安装node
卸载步骤[未安装请忽略] 1.卸载npm sudo npm uninstall npm -g 2.卸载node yum remove nodejs npm -y 安装步骤 1.下载 wget http ...
- 如何确保获取的输入为整数-C语言基础
这一篇探讨的是如何确保你输入的数据是一个整数.虽然标题用的是这个,但我其实真正想要探讨的内容是 "在程序调试的过程中,需要注意把输入缓存区中的上一次输入的残留信息清理干净,以免影响下一次的输 ...
- Matlab %肆
第四章:Graph Plot form 'Data' plot(x,y); plot(y); %x = [1-n], n = length(y) EG1: plot(cos(0:pi/20:2 ...
- weblogic session timed out
How to Configure Session Timeout in Weblogic Server (WLS) ?
- Spring bean注入问题:NoUniqueBeanDefinitionException解决方案归纳
引言 spring实现的bean自动注入在项目开发中是一个经常使用到的功能,但自动装配两个或多个bean时,会抛出NoUniqueBeanDefinitionException:No qualifyi ...
- windows代码获取系统硬件信息的两种方式
欢迎访问我的个人博客:xie-kang.com 原文地址 目前windows有两种方式获取系统硬件信息: 1)通过GetSystemFirmwareTable API获取SMBIOS信息,一段含丰富信 ...