if:听说,你很勇哦?
看到这个标题,相信大家很容易就知道我们今天了解的主题了吧,不错,今天带大家了解的是if语句,哎,很多同学就问了,这个if语句有什么可以讲的呢,这不是一个非常简单的知识点吗,但是真的是这样吗?
首先问大家一个问题,if后面的括号内可以跟什么?大家一想,哎,肯定是表达式啊,确实是这样,那么大家了解什么是表达式吗?表达式包括什么呢?相信很多人都给不出来一个准确且全面的答案,首先带大家了解一下什么是表达式吧。
官方定义:表达式是由一系列运算符和操作数组成的。这既是表达式的定义,也指明了表达式的组成成分。运算符指明了要进行哪一种运算和操作,而操作数则是运算符操作的对象。
大家需要注意一点,函数调用也算表达式的一种!
好像这也不是一个多么困难的点,但提起函数,相信大家都知道,函数是有返回值的,那么我们在此处为什么要提这个返回值呢?听我细细道来!
if 语句有什么功能呢?它的执行顺序是什么呢?大家有没有去深度的思考过这个问题,我们通常浅显的认为,if只有一个分支即选择功能,if的执行顺序是先进行条件判断,判断结果为真,就执行下面紧跟的语句块中的内容,否则就执行后面的语句,这样错了吗?这样并没有错,但我想跟大家说的是,这太浅显了,且是远远不够的,if语句有三个功能,执行功能,判定功能,分支功能。
首先先说为什么说if语句有执行功能呢?大家都知道,if后面跟表达式对吧,这个表达式无论最终的返回值是多少,以及最终的判定是否成立,这个表达式必然会被执行。此处讲给大家解释,为什么前面我会提及有关于返回值,大家通常只知道我们自己定义的函数我们会设立返回值,事实上,库函数也有相应的返回值,比如sizeof()和strlen()函数,其它还有很多,不再一一列举,我想给大家强调一个点,那就是,赋值语句也是有返回值的,比如a = 0;这条语句的返回值就是0,依次类推a = 1;的返回值就是1,如果是5,则返回值是5,接下来给大家上代码演示一下。
此外给大家补充一个小小的知识点,printf()函数是有返回值的,返回值为输出的字符总数,返回值类型为int型,同样的,scanf()也是有返回值的,至于scanf()返回值的类型是什么,分三种情况,我只简单告诉大家一种情况,也是最基本的一种情况,就是正确按照指定格式输入字符的个数,此时的返回值的类型同样为int型,下面给大家代码展示一下。
有的函数并没有返回值,那么就不能作为if语句的判断表达式,下面也是给大家代码展示。
总结一下,if()这段语句执行的结果得到的是一个具体的数值或者逻辑值(C语言中也有bool类型,大家有兴趣的可以自己探究这个),然后就到了if的第二个功能,即判断功能。
判断功能的实现,相信大家也已经很了解了,概括来说,就是0代表假,非0代表真,进行判断,当然,这个功能大家虽然都了解,但却从来都没有人系统的说过,大部分我们了解的还是分支功能,然后就进入了分支功能。
至于if语句的分支功能,大家已经很了解了,此处不做过多的讲解,今天的重点就是if的执行功能上,然后得到返回值,其中易错的就是赋值表达式的返回值就是我们赋的值本身,另外一个需要注意的点就是库函数中的很多函数也有相应的返回值,这是我们很容易忽略的地方,好了,今天的分享就到这了,如果觉得对你有所帮助的话,希望大家点一个小小的赞可以吗?
if:听说,你很勇哦?相关推荐
- 听说你很厉害,来试试这个...
刚在看开源中国动弹的时候,发现了这样的一条记录 很好奇这里提到的#文言#是什么项目,虽然程序员都是 直肠子, 但是这也太直白了一点.然后就点开了,这一点好像发现了新世界. 文言 项目是什么 文言(we ...
- 听说面试很少有人答出:距离最近点对问题
作者 | 梁唐 来源 | TechFlow(ID:techflow2019) 头图 | CSDN 下载自东方IC 大家好,我们今天来看一道非常非常经典的算法题--最近点对问题. 这个问题经常在各种面 ...
- Python or html爱心代码(听说最近很火)
下面第四个 最近抖音莫名很火的一个爱心❤️ 实现的方法不尽相同,重要的是心意而不是代码本身 前三种用Python来实现,最后一种较为复杂,是用HTML来实现,是笔者搜集而来 1. from turtl ...
- 【两万字】面试官:听说你很懂集合源码,接我二十道问题!
问题一:看到这个图,你会想到什么? (PS:截图自<编程思想>) 答: 这个图由Map指向Collection的Produces并不是说Map是Collection的一个子类(子接口),这 ...
- 听说Dataway 很牛逼 省去controller,service,dao 先记录下信息,后面再研究
Hasor 官方文档: https://www.hasor.net/web/index.html Dataway 官方博客.里面内容很详细,想学习这套完整框架.最好去这两个地方看 https://my ...
- 听说图像识别很难,大神十行代码进行Python图像识别
随着深度学习算法的兴起和普及,人工智能领域取得了令人瞩目的进步,特别是在计算机视觉领域.21世纪的第二个十年迅速采用卷积神经网络,发明了最先进的算法,大量训练数据的可用性以及高性能和高性价比计算的发明 ...
- C++:听说C++很难学?该怎么学习C++?
C++以其复杂的语法.指针.内存管理.泛型编程等特性难倒了一大批IT学子.小编以CSharp入门,中途转C++的时候痛苦过一段时间,不过随着业务能力的精进,已经逐渐爱上这门功能强大.灵活的语言了. 下 ...
- 为什么DOM操作很慢
转自:http://kb.cnblogs.com/page/534571/ 一直都听说DOM很慢,要尽量少的去操作DOM,于是就想进一步去探究下为什么大家都会这样说,在网上学习了一些资料,这边整理出来 ...
- 程序员结婚晚回家怕出轨吗?老婆:不怕,老公是写代码的,忙得很!
入了程序员这个坑,就不要再想有多少空闲时间了.我的一个程序员朋友和我诉苦:前端这份工作,太忙了,最近一个星期天天加班,都没时间陪家人.. 谁说不是呢,最近朋友公司刚接了一个大项目,前端项目组忙的哟,那 ...
最新文章
- 2018-3-20论文(一种新的群体智能算法--狼群算法)笔记一(引言中提到的的一些智能算法,以及自己的感想)
- Python: 大型数组运算
- Lock同步锁--线程同步
- 17:附近最大的城市
- 阿里大数据分析与应用(part3)--常用的大数据分析平台
- [机器学习] --- Getting Started With MachineLearning
- oracle导数卡死,oracle-审计导数
- java在线聊天项目 使用SWT快速制作登录窗口,可视化窗口Design 更换窗口默认皮肤(切换Swing自带的几种皮肤如矩形带圆角)...
- bitcoin转账api,python2.7
- docker本地构建kerberos单机环境
- 给Bert加速吧!NLP中的知识蒸馏Distilled BiLSTM论文解读
- Pensieve Multi_agent代码详解以及A3C强化学习代码详解
- vue导入音乐_vue-music:添加歌曲到队列add-song.vue
- python--批量离线安装python包
- 特征工程(1)特征工程的简介
- if-else过多,使用策略模式(Strategy)解决if-else乱象
- 去掉txt文件内的换行符
- Sers微服务2.1.1
- 驱动 | Linux | NVMe | 2. nvme_probe
- javaMail实现发邮件功能