前言

一、人物简介

  • 第一位闪亮登场,有请今后会一直教我们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语言 | 关系运算符的更多相关文章

  1. C语言关系运算符

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

  2. 重学C语言---05运算符、表达式和语句

    一.循环简介 实例程序 /*shoes1.c--把一双鞋的尺码变为英寸*/#include <stdio.h>#define ADJUST 7.64#define SCALE 0.325 ...

  3. c语言基础表达式, 关系运算符, 逻辑运算符, 位运算符, 数据的取值范围, 分支结构(if...else, switch...case)

    1.表达式: 表达式的判断是有无结果(值), 最简单的表达式是一个常量或变量, 如:12, a, 3 + 1, a + b, a + 5 都是表达式 2.BOOL(布尔)数据类型: c语言中除了基本数 ...

  4. 【学习笔记】【C语言】关系运算符

    1. 条件判断 默认情况下,我们在程序中写的每一句正确代码都会被执行.但很多时候,我们想在某个条件成立的情况下才执行某一段代码 这种情况的话可以使用条件语句来完成,但是我们暂时不学习条件语句,先来看一 ...

  5. C语言基础学习运算符-关系运算符

    比较大小 首先,我们得先了解一下布尔类型.C语言的C99标准支持布尔类型,关键字为_Bool,用于表示逻辑值true与false.C语言用值1表示true, 用值0表示false.因此布尔类型实际上是 ...

  6. [Objective-C语言教程]关系运算符(8)

    运算符是一个符号,告诉编译器执行特定的数学或逻辑操作. Objective-C语言内置很多运算符,提供如下类型的运算符 - 算术运算符 关系运算符 逻辑运算符 按位运算符 分配运算符 其它运算符 本教 ...

  7. 《手把手教你学C语言》学习笔记(8)--- 运算符和表达式

    C语言编程的核心是指针和库,而库的核心就是函数,函数的基本组成部分就是语句. C语言合法表达式加上分号(语句结束符)构成C函数的基本部分语句.如果只有分号没有表达式就构成空语句,空语句常常用来形成占位 ...

  8. c语言中类型转换与赋值运算符、算术运算符、关系运算符、逻辑运算符。原码、反码、补码。小解。

    类型转换 自动转换 小范围的类型能够自动转换成大范围的类型.short->int->long->float->double 强制类型转换 (类型名)变量或数值 #include ...

  9. C语言运算符(关系运算符)+(逻辑运算符)

    下表显示了 C 语言支持的所有关系运算符.假设变量 A 的值为 10,变量 B 的值为 20,则: 实列: 1 #include <stdio.h> 2 3 int main() 4 { ...

  10. c语言学习笔记 if语句执行流程和关系运算符

    回想现实生活中,我们会遇到这样的情况,如果下雨了就带伞上班,如果没下雨就不带伞上班,这是很正常的逻辑.程序是解决生活中的问题的,那么自然在程序中也需要这样的判断,当满足某个条件的时候做一件事情,这种东 ...

随机推荐

  1. 内存模型和名称空间复习题(c++ prime plus )

    第一题 注意到setgolf()被重载,可以这样使用其第一个版本: golf ann; setgolf(ann, "Ann Birdfree", 24); 上述函数调用提供了存储在 ...

  2. 2.21(html)

  3. 最短路算法之 Dijkstra

    部分内容参考了李煜东的<算法竞赛进阶指南>,在此声明. 单源最短路径 单源最短路径问题,是说,给定一张有向图(无向图)\(G=(V,E)\) ,\(V\) 是点集,\(E\) 是边集,\( ...

  4. vue + vant 移动端适配

    1. 设置动态根字号大小,/public/phone-adapt.js,在index.html中引入 (function (doc, win) { const docEl = win.document ...

  5. 服务器安装node

    卸载步骤[未安装请忽略] 1.卸载npm sudo npm uninstall npm -g 2.卸载node yum remove nodejs npm -y 安装步骤 1.下载 wget http ...

  6. 如何确保获取的输入为整数-C语言基础

    这一篇探讨的是如何确保你输入的数据是一个整数.虽然标题用的是这个,但我其实真正想要探讨的内容是 "在程序调试的过程中,需要注意把输入缓存区中的上一次输入的残留信息清理干净,以免影响下一次的输 ...

  7. Matlab %肆

    第四章:Graph Plot form 'Data'  plot(x,y); plot(y);    %x = [1-n], n = length(y) EG1: plot(cos(0:pi/20:2 ...

  8. weblogic session timed out

    How to Configure Session Timeout in Weblogic Server (WLS) ?

  9. Spring bean注入问题:NoUniqueBeanDefinitionException解决方案归纳

    引言 spring实现的bean自动注入在项目开发中是一个经常使用到的功能,但自动装配两个或多个bean时,会抛出NoUniqueBeanDefinitionException:No qualifyi ...

  10. windows代码获取系统硬件信息的两种方式

    欢迎访问我的个人博客:xie-kang.com 原文地址 目前windows有两种方式获取系统硬件信息: 1)通过GetSystemFirmwareTable API获取SMBIOS信息,一段含丰富信 ...