这是刚入门的新手小白常会疑惑的问题,也包括我,什么是分支???什么是循环???先一个个的认识一下。
1. 分支语句(选择结构)
首先,什么是分支?分支其实通俗一点讲,就是选择题,在列出来的选项中,选择一项。
例如; 1. 先好好学习,毕业后再找个好工作;
2. 放弃学业,直接找工作;
3. 半工半读;
这就是选择。
而 C语言中的分支语句有 :“ if ” 和 “ switch ”。
1.1 if语句
if语句是分支语句,分为单分支,双分支和多分支。这里问题来了,if的语法结构是什么??
这些就是if的语法结构,if要分成两条或多条语句就必须要配合 else 和 else if 来使用。
就用年龄来举例,小于18岁是未成年,18岁以上是成年人,18岁和30岁中间是青年,30和50岁中间是中年,50和80岁中间是老年,80岁以上都是老寿星。这个问题怎么用 if 语句来解决呢?下面我用代码来举例:
单分支:
可输入自己想要的值,其中的{}为代码块,用来输出多条语句,如果只有一条语句,可以不使用。
双分支:
跟单分支不同之处在于,单分支如果表达式为假的话便会直接结束,而双分支如果表达式为假的话便会进入else,打印语句2,也就是成年人。
多分支:
多分支是由一条if和多条else if 组成的,其中else if 和 if 的用法大致相同,一条不行就判断下一条。代码里的 && 是逻辑与运算符,是并且的意思。
1.2 悬空else
在 if 分支语句中有一个需要注意的知识点,就是悬空else。在if 语句中 else 会和最近的 if 进行匹配。代码举例:
这段代码的输出结果是 “ hello word ” 还是 “ hello C ” ? 让我们来看看输出结果:
这里我们发现,这段代码什么都没有输出。这是因为 else在匹配时只会跟最近的 if 进行匹配,图片中最下面的 else 是跟第二个 if 进行匹配的。这里我们看到第一个 if 语句时 ,变量 i 为 0 ,表达式为 1 == i ,所以为假,不需要判断第二个 if ,这里第二个if 和 else 相匹配,所以也不用去输出。
改正:
这样就好理解很多。
2.循环语句
C语言提供了三个循环语句, while 就是其中的一个,接下来介绍一下这个while循环。循环语句,顾名思义就是不停的循环,循环往复的打印一个字或字符串。
语法结构:
while(表达式)
语句;
这里我们发现,while循环语句的结构跟 if 语句非常相似,我们可以来做个对比:
这是if 语句的结果。
这里可以看到 while 语句的结果,while是无限死循环,如果想要打印多条语句就用代码块 {}。
来一道练习题:在屏幕上打印 1 ~ 10 的值
参考代码:
这里给了 a 的初始化为 1,也就是说从 1 开始打印,1满足<=10 的条件,开始打印,每次打印完 a加上一个1,变成 2 ,此时已经循环了一遍,2依旧 <=10,所以条件依然满足,所以不断循环,直到大于10 为止。
(本人的第一篇技术博客,有哪里不对的,多指教,多包涵)