接着上一章,我们该继续说剩下的操作符了

六.关系操作符 > >= < <= != ==

> >= < <=

这些我们学数学应该很常见

分别是大于、大于等于、小于、小于等于

这些经常用在while和if语句中,并且这些操作符产生的结果值是一个整型。

如果条件符合,结果是真的,操作符表达结果是1.

如果条件不符合。结果是假,则操作符表达结果是0.

我们可以写以下程序验证。

int a = 1, b = 2, c = 3, d = 3;printf("%d\n", a > b);printf("%d\n", a < b);printf("%d\n", c >= d);printf("%d\n", c <= d);

我们看到程序输出结果如下:

这很好验证了我们的说法。

由于a<b,所以第一个式子a>b不符合条件,结果是假,为0.

同理,下面三个式子也是如此。

!= ==

!=这个符号我们读作不等于,在我们数学中,不等于是用≠这个表示,在c语言中,不等于则用!=表示。

其实很好理解,没什么可以多说的

比如

int a=1,b=2;

那么a!=b.

在写程序中也常作为一个判断语句。

==

这个是和上面那个相反,是一个进行比较两个数是否相等的操作符

但是一切记一点,千万不要和=这个号混淆

你可以理解为==是进行一个比较,比较两个数是否相等,和上面讲的一样,若结果为真则为1,若结果为假则是0.

而=是一个赋值操作符,是将一个值赋值给变量。

来写一个例子对比两个的区别

首先定义一个变量a

eg1:

int a=2;

printf("%d",a==3);

我们看输出结果:

通过这个结果我们可以知道,==是先将2和3比较是否相等,结果为不等,所以最后的输出结果是0.

和我们刚才所说的一致。

eg2:

int a=2;

prirntf("%d",a=3);

我们来看输出结果:

可以发现结果是3.

这是因为我们等于号(=)是赋值操作符。

我们将输出的时候将3赋值给了a,所以最后输出a时是3.

关系操作符至此结束。

七.逻辑操作符   &&   ||

大家还记得上一节讲的 & 和 | 吗?分别是按位与,按位或的意思。

那这个 && 和 || 是成对了,和那个有什么区别呢?

&& 和 || 这两个意思是与,或。

看出区别了吧,前面的是按位与和按位或,这个少了按位这两个字。

以前那个是按二进制位进行与和或操作的。

今天这个 && 和 || 是直接进行与,或操作。

我来这么表述一下看下是否明白

&&

两个不为0的数进行&&操作结果是1.

两个数中其中有一个数或两个数都是0,结果为0.

||

只要两个数都不是0,那么这两个数进行 || 的结果就是1

所以只有当两个数都是0的时候,那这两个数进行||的结果才是0.

我们可以举例理解一下

输入以下代码:

int a=1,b=2,c=0,d=0;
printf("%d\n",a&&b);
printf("%d\n",a&&c);
printf("%d\n",c&&d);
printf("%d\n",a||b);
printf("%d\n",a||c);
printf("%d\n",c||d);

很简单是不是?

看第一行,由于a和b都是不为0的数,所以&&的结果是1

再看第二行和第三行:

由于两个数中分别有0的存在(第2行有一个0,第3行有2个0),所以输出结果是0

看第四、五行:

由于两个数都不是0,所以||结果为1

最后一行两个数都是0,所以||结果是0。

逻辑操作符至此结束。

八.条件操作符(三目操作符)

正如其名,有三个操作数。

格式如下:

exp1?exp2:exp3

执行流程如下:

先判断exp1是真还是假

若结果是真,则执行exp2,不执行exp3.

若结果为假,则执行exp3,不执行exp2.                                                                                            举例说明:

int a=1,b=2;
int c=3,d=4;
printf("%d",a<b?c:d);

我们依据流程

先判断a<b,结果为真

执行c,结果为3

看输出结果:

符合我们的猜想。

条件操作符至此结束。

九、逗号表达式 

格式如下:

exp1,exp2,exp3,.....expN

逗号表达式

表达式从左向右依次计算,整个表达式的结果是最后一个表达式的结果

举例说明:

int a=3;
int b=20;
int c=0;
int d=(a-=3,b+=a,c=a-b,b=a-4);
printf("%d",d);

首先从左向右执行,a-=3等价于a=a-3,此时a=0.

执行下一条语句:

b+=a等价于b=b+a,即20+0;此时a=0,b=20。

继续执行

c=a-b,即0-20=-20,所以此时a=0,b=20,c=-20。

最后执行

b=a-4,即0-4=-4.

因为逗号表达式结果是最后一个式子,所以最后结果是-4

我们来验证:

结果正确!

逗号表达式至此结束。

十.下表引用,函数调用和结构成员   [ ], () , . , ->

[ ] --- 下标引用操作符

例如:

arr[10]=0;

arr[5]=9;// [ ] ---下标引用操作符,操作时:数组名, [下标]

() --- 函数调用操作符

int m =fun(3,5);// () --- 函数调用操作符,它的操作数是函数名以及参数

.   ->

这些是结构体经常用到的,以后我将结构体和指针的时候会对此进行详细说明,这里只要知道有这个符号即可。

下标引用,函数调用和结构成员至此结束。

所有操作符至此也讲完了。

如果有哪里不会,欢迎可以讨论或私信我哦。

操作符的相关知识(二)相关推荐

  1. 直播相关知识之二 采集、处理、编码和封装

    直播相关知识之二 采集.处理.编码和封装 总体流程图 一. 采集 采集是整个视频推流过程中的第一个环节,它从系统的采集设备中获取原始视频数据,将其输出到下一个环节.视频的采集涉及两方面数据的采集:音频 ...

  2. 【Python之pymysql库学习】二.游标cursor的相关知识(保姆级图文+实现代码)

    目录 读取的数据类型 读取的数据转为字典类型效果 读取的数据转为字典类型实现思路 读取的数据转为字典类型实现代码 关于游标的重置 总结 欢迎关注 『Python之pymysql库学习』 系列,持续更新 ...

  3. 工业视觉系统相关知识和选型介绍(二):镜头篇

    工业视觉系统相关知识和选型介绍(二):镜头篇 一.工业镜头介绍 二. 关键名词解释 二.图解镜头基本参数 三.镜头选型 四.常用工业镜头品牌 一.工业镜头介绍 镜头的基本功能就是实现光束变换(调制), ...

  4. 使用Nginx+uwsgi在亚马逊云服务器上部署python+django项目完整版(二)——部署配置及相关知识...

    ---恢复内容开始--- 一.前提: 1.django项目文件已放置在云服务器上,配置好运行环境,可正常运行 2.云服务器可正常连接 二.相关知识 1.python manage.py runserv ...

  5. SQL注入 基础概述及相关知识

    SQL注入 基础概述及相关知识 SQL注入概述 SQL注入攻击简介 SQL注入攻击原理 SQL注入攻击来源 SQL注入攻击主要特点 SQL注入攻击危害 SQL注入攻击 SQL注入攻击基础概述 SQL注 ...

  6. Linux相关知识的第四回合

    Linux相关知识的第四回合 文章目录 Linux相关知识的第四回合 文本处理各种工具的过招 shell脚本的过招 vim编辑工具的过招 文本处理各种工具的过招 统计出/etc/passwd文件中其默 ...

  7. 工业相机参数之帧率相关知识详解

    点击上方"小白学视觉",选择加"星标"或"置顶"重磅干货,第一时间送达 工业相机是机器视觉系统的重要组成部分之一,在机器视觉系统中有着非常重 ...

  8. shell的相关知识(变量、脚本定义)

    一.shell的相关知识: 1.对于shell编程语言大体分为:机器语言.汇编语言.高级语言 2.shell变量类型:事先确定数据的存储格式和长度 shell变量分为:字符型.数值型 数值型又分为:整 ...

  9. 视频压缩算法的相关知识

    视频压缩算法的相关知识 MPEG-1 MPEG 视频压缩编码后包括三种元素:I帧(I-frames).P帧(P-frames)和B帧(B-frames).在MPEG编码的过程中,部分视频帧序列压缩成为 ...

最新文章

  1. XGBoost算法原理解释(转载)
  2. 计算机应用基础上机操作,计算机应用基础上机操作试题
  3. liunx使用ssh免密登录
  4. KVM脚本批量添加删除虚拟机
  5. Android钢琴滑动代码,android 钢琴界面实现
  6. javascript --- 使用ajax与服务器进行通信
  7. 快速替换图片的组合-AE-样片!
  8. 「源码分析」CopyOnWriteArrayList 中的隐藏知识,你Get了吗?
  9. java查找字符串是否有单词_java – 用于搜索单词/字符串是否包含在实...
  10. Oracle 存储方式大比拼
  11. 高中二年级会考计算机考试试题,高中二年级学考是怎么回事 和会考的区别是什么...
  12. 插槽作用域渲染按钮开关 ~ 满满的干货哦
  13. PDFsam Basic for mac(合并拆分PDF文档)支持m1
  14. 选择所在城市html按字母,移动端根据字母定位到指定的城市【原创】
  15. 【DirectX3D - 5】渲染多路视频(单一窗口)
  16. 利用人工智能分析视频行为
  17. html 打印 a4 像素,精确打印A4纸张排版HTML
  18. 一年中最后一个月的最后一天说说_一年最后一天的说说
  19. 《C++ SYNTAX》第1章 基础知识
  20. Faulty Robot-(dfs或者dijkstra)

热门文章

  1. cmake导入so库_通过CMake方式生成动态库so文件
  2. 电子烟行业再现巨头大战
  3. 13年前联想笔记本V570升级改造记
  4. 题目1482:玛雅人的密码
  5. C#类似仪表盘数据显示的制作
  6. Eclipse显示空白符,如空格、制表符、换行符等
  7. Carla:ROS bridge installation for ROS 1
  8. 视频教程-Excel高效办公必会技巧(Excel系列课程)-Office/WPS
  9. html5制作大小写转换,JavaScript中如何实现大小写转换
  10. 强大的Flutter App升级功能