c语言 判断一个图是否全连通_【连载】(判断执行语句)乐创DIY C语言讲义——3.8节(2)...
2 判断执行语句
判断执行语句,执行时候会有一个条件判断,一旦当条件判断为真,即True的时候,就执行相应的语句,满足条件被执行的语句用大括号“{}”括起来。由于在C语言中没有用于表示布尔类型的变量(即逻辑变量),因此在C语言中只要判断条件为0,就认定为假(False),非0,就认定为真(True)。
判断执行语句的关键词用“if”表示,一般形式为:if(判断条件) {执行语句}。
举一个例子来说,写一段程序,当变量值大于100,就打印出“Greater than 100”。那这个程序可以写成如图3-8-2所示。
图3-8-2 判断执行语句
在图3-8-2所示的代码中,分别对number1和number2两个变量用“if”进行判断,这里“if”的判断条件就是一个关系运算语句,一旦当“number1 > 100”这个条件成立,就执行“{}”里面的打印语句,而由于“number1 > 100”条件不成立,因此这个表达式的结果其实是为0,即“if”里面的条件不满足,因此不执行打印语句。同样的,由于“number2 > 100”这个条件满足,因此进入到“if”语句的“{}”里面来,执行打印语句。
接下来,我们来做一个复杂一点的函数,在键盘上输入一个按键,判断它是否为数字,如果为数字,就将它打印出来。这里要介绍到一个“getchar();”函数,这个函数也是C语言的标准输入输出库提供给我们的,因此我们在使用的时候,也要包含“stdio.h”。一旦“getchar();”函数被调用到,终端或者控制台会等待用户在键盘上输入一个字符,等到用户输入完成之后,这个函数将会获得输入的字符,返回给我们所定义的变量。具体实现代码如图3-8-3所示。
图3-8-3 判断一个输入字符是否是数字
图3-8-3主要的一句判断语句为“if((c_to_input >= '0') && (c_to_input<= '9'))”,我们之前讲到,一个字符输入之后,实际上计算机获得到的是其ASCII码,而计算机中数字的ASCII码是按照顺序排下去的,“0”的ASCII码最小,接着顺序排列“1”,“2”……“9”,因此我们只需要判断输入的字符是否在“0”到“9”之间,如果在这个范围内,就表示输入的字符是个数字,因此就可以执行大括号里面的打印语句了。还有一点需要注意下,有时候if的判断条件用一条判断语句完全不够,就如我们的图3-8-3例子中所示,因此需要用到复合的表达式,在用复合表达式的时候,尽量使用括号语句显示地指明其优先级,这样就不容易出错,虽然用运算符自身的优先级也能正常运行,但有时候写的清晰一点比较易读,直观。
我们测试的结果为,当输入字符“5”的时候,为数字,因此打印出“5”,而第二次输入的字符为小写的“c”,因此程序直接跳过if语言不执行。还有一种方法大家可以尝试下,直接利用ASCII码去做判断,这里就不再赘述。
“if”除了单独使用外,还可以和“else”连用,但这种形式与其说是判断执行语句,还不如说是选择执行语句,我们放到下面再说。这里还要说明的是,if语句可以嵌套使用,如我们要判断一个输入的字符是否为数字,如果是数字就打印出来,同时还要判断这个字符是否是小于5的数字,如果是,再打印一遍。这时候,就可以使用if的嵌套语句了,如图3-8-4所示。
图3-8-4数字判断
图3-8-4中,第一个if判断的条件和图3-8-3中一样,是判断输入字符的是否为数字,而在if满足之后的程序里面,再一次判断了一次,这个数字是否大于5,如果是大于5,那么就输出这个数字是大于5的。这就是if的嵌套,我们可以总结如图3-8-5的程序结构。
图3-8-5 if程序结构
其实,每个程序运行的主要顺序,是我们前一小节里面讲到的顺序执行,只不过在我们需要去让程序改变顺序执行的方式时,在需要的地方增加一个“if”。当然一个程序里面,允许存在多个“if”,我们可以举一个例子来看,还是基于字符判断的程序,输入一个字符,判断其为,数字,小写字母,大写字母,写出一个程序,分别对输入的字符进行判断,程序实现的代码如图3-8-6所示。
图3-8-6多个判断条件
c语言 判断一个图是否全连通_【连载】(判断执行语句)乐创DIY C语言讲义——3.8节(2)...相关推荐
- c语言 判断一个图是否全连通_基于云平台的全链路大规模网络连通性检测系统详解...
虚拟网络排查问题困难,传统的traceroute等工具很难起到太大作用,大部分情况下都需要到宿主机.混合云网关上抓包来troubleshooting,耗时又费力.有些场景中包的传送路径比较长(如跨域. ...
- c语言 判断一个图是否全连通_C语言:程序运行流程图与顺序结构语句
程序运行流程图 流程图是描述问题处理步骤的一种常用图形工具,它是由一些图框和流程线组成的.流程图描述问题的处理步骤,形象直观,便于阅读.画流程图时必须按照功能选用相应的流程图符号,常用的流程图符号如下 ...
- java 判断一个数字是2倍数_如何判断语言发育迟缓的原因|一个2岁半不会说话的案例...
前段时间,有邻居向我咨询,说自家孩子已经2岁半多了,还是不会说话,让我看看要不要紧.我就在小区和她儿子玩了一会儿. 小男孩长得白白嫩嫩胖乎乎,活泼可爱.他也挺喜欢我,会把捡到的树叶小树枝送给我.他要走 ...
- 判断一个图是否为树(有向图以及无向图)
整理的算法模板合集: ACM模板 目录 判断一个图是否为树 1. 无向图(hdu 1272 小希的迷宫) 2. 有向图(hdu 1325 Is It A Tree?) 判断一个图是否为树 1. 无向图 ...
- (HDU4324)判断一个图中是否存在两点的出度相同
题目:Triangle LOVE 因为每两个点一定有且仅有一条指向边,那么先假定点按顺序1,2,....n,每个点一定指向后面的点,即1指向2,3,4.....n,2指向3,4,5....n..... ...
- 程序实现switch语句判断年龄_【回顾】(选择执行语句if else和switch)乐创DIY C语言讲义——3.8节(4)...
文 | Edward 4 选择执行语句有些时候,我们希望程序既不顺序执行,也不只做单一的判断(代码运行还是不运行),很多时候,我们往往只希望对某一个条件的不同状态分别执行不同的语句,这样就 ...
- 图论--拓扑排序--判断一个图能否被拓扑排序
拓扑排序的实现条件,以及结合应用场景,我们都能得到拓扑排序适用于DAG图(Directed Acyclic Graph简称DAG)有向无环图, 根据关系我们能得到一个线性序列,实现的方式是DFS,具体 ...
- C语言中判断一个三位数是否是水仙花数,判断三位数是否为水仙花数
用C语言写出判断一个三位数是否为水仙花数的程序 请给正确的答案,不懂的别进 1.一个主程序,输出所有的水仙花数程序,可参考如下: #include int main(int argc, char *a ...
- 判断图有无环_【转】判断一个图是否有环 无向图 有向图
无向图: 法1: 如果存在回路,则必存在一个子图,是一个环路.环路中所有顶点的度>=2. n算法: 第一步:删除所有度<=1的顶点及相关的边,并将另外与这些边相关的其它顶点的度减一. 第二 ...
最新文章
- Java 抖音授权登录
- oracle 里面定时执行任务,比如存储过程内容等
- mysql查看比较大的数据表_mysql 如何查看哪些表数据量比较大
- python需要变量命名规则_和孩子一起学习python之变量命名规则
- android 会话 java_java – Android会话管理
- 用Python标准库turtle画一头金牛,祝您新年牛气冲天!
- 【译】你不知道的 Chrome 调试工具技巧 第二十天:Workspace的黑魔法
- 使用Tensorflow Lite创建一个Android AI应用
- 程序员如何勇敢说“不”!
- 秒杀的倒计时按钮实现
- pythonATM,购物车项目实战_补充6-lib模块
- 深入学习GridBagLayout
- 千兆网卡为什么慢_宽带300M,光猫是千兆的,电脑网卡和无线路由器都是千兆的。但是速度仍是100M。这是为什么?...
- [游戏开发]iOS 游戏开发教程资源
- Android记账本APP开发进阶版
- C语言程序设计-翁恺(初学者日记)
- ocmt:高维固定效应模型的变量筛选问题
- 把图片压缩成指定大小,释放你的内存空间
- 六【 SpringMVC框架】
- Grid Control一些术语GC、OMS、OMR、OMA的概念