1.分支结构程序
程序不会一直执行同样的处理,像在执行过程中程序通过条件判断的结果选择将进入执行某条语句的情况是非常多见的。本节就来引领大家学习根据条件改变程序流程的基本方法。
1.1分支结构逻辑图
分支结构就是有多个分支语句,但只有当该分支语句对应的条件成立后,才会执行该语句
1.2if语句
形式:if(表达式)语句;判断表达式的值,若不为零则执行相应语句!
而if语句又可以分为单分支语句、多分支语句、多条语句
1.2.1单分支语句
![](https://img-blog.csdnimg.cn/ebaf55e18b49478b8c72662544af9113.png)
由上图可知,当条件成立后,进入语句1,不再进入下一分支,反之进入下一分支。让我们上个实例来观察一下吧!
int main()
{
int a = 5;
if (a)
printf("%d", a);//语句1
else
printf("sorry");//语句2
return 0;
}
我们来看看,逻辑上当a不为零时,执行第一条语句,否则进入第二条。来观察运行结果吧
1.2.2多分支语句
![](https://img-blog.csdnimg.cn/0820ef38b8d1425b8baaa1d816801341.png)
形如这般的语句结构就是多分支语句,让我用一个实例来为大家阐述一下;
int main()
{
int a = 5;
if (a)
printf("%d", a);//语句1
else if (a == 4)
printf("helllo");//语句2
else
printf("sorry");//语句3
return 0;
}
当满足第一条件时进入语句1;当不满足第一条件若满足第二条件时进入语句2;若都不满足进入语句3
1.2.3多条语句
其实呢,这个在c语言里没有这个说法。因为他指的就是在单分支语句或者多分支语句里面的分支并不仅仅包含一条语句,而是用大括号包含起来的语句列表
![](https://img-blog.csdnimg.cn/ef020eb9a47442ad8c0b7f089e7350dd.png)
1.2.4if语句的细节和重点
1.else只和它本身离得最近的if匹配,所以在存在多个if语句互相嵌套使用时,要注意if和else的匹配问题。
2.条件判断表达式多种多样,一般常用的运算符有逻辑运算符、关系运算符。
1.3switch语句
if语句是根据对某个条件的判断结果将程序分为两分支,而本小节的switch语句将会把程序分为多个分支。
如上图所示, 每种情况(case)的标签都必须是常量,不可为变量。而且每种情况下的语句末必须添加break,否则当程序进入某一分支时进行运行完语句后,将继续向下运行其他分支。
break(脱离,跳出):执行break后程序就会跳出来将它围起来的switch语句。
default(默认):若表达式结果不满足任一情况,则进入default语句执行。
switch(表达式):表达式必须是整型变量或字符型变量。
来看看一个实例!
int main()
{
int a = 5;
switch (a)
{
case 1:
printf("haha");
break;
default:
printf("hello");
break;
}
return 0;
}
分析代码,如果a为1,则输出haha,否则将输出hello。我们将a初始化为5,所以理应输出hello
2.循环结构程序
循环结构就是当一条件成立,对语句列表进行循环执行
![](https://img-blog.csdnimg.cn/69d10b331f1c41369730047af4b1b893.png)
2.1while循环
来让我们上个实例来为大家剖析while循环
int main()
{
int a = 10;
while (a > 0)
{
printf("1314\n");
a--;
}
return 0;
}
我们对while(表达式a)进行判断,当a大于0时,输出1314,继而a自身减一;当a不满足条件时结束循环,终止程序。分析代码应当输出十次1314,来看看结果
2.2continue和break转向语句
代码中也可嵌套使用if或者switch语句,也可以嵌套使用while语句。
需要强调的一点就是break和continue的作用和区别。
break:终止自身所处最近一层循环或者switch语句
continue:终止本次循环,进行下一次循环
2.3for循环
for循环相对while实现循环更简洁易懂,本小节来引领大家学习
表达式1作为for循环预处理部分首先执行,表达式2作为执行条件控制决定是否循环;进入循环执行循环体后,由表达式3进行收尾处理,再次回到表达式2。
来一个实例!
int main()
{
for (int i = 0; i < 5; i++)
{
printf("521\n");
}
return 0;
}
来分析代码:预处理->初始化i为0;控制条件:i<5,满足-》输出521;收尾处理->i自身加一结果应该是5行521,来验证
2.4do循环
在了解while循环后,其实do循环和它大同小异,因为do循环又称为do while循环。
其意思就是先执行一遍循环体,再进行while判断是否接着执行。
3.语句程序使用说明
在进行程序语言的编写时,少不了使用分支结构和循环结构。要明白的是,这些结构适合于什么样的场合?要了解这些结构的嵌套使用,要了解怎样给出循环和分支的判断条件。这些都是需要读者和作者一起向未来更努力!