目录?
在上文中我们提到了:
C语言中的三种结构:顺序结构、选择结构、循环结构
而这三种结构是在9种控制语句的基础上完成的
9种控制语句也可以分为三类
?1. 条件判断语句(也叫分支语句):if语句、switch语句
?2. 循环执行语句:do...while语句、while语句、for语句
?3. 转向语句:break语句、go to语句、continue语句、return语句?
那请各位来听我一一介绍吧!!!
1.if语句
首先是他的格式
这里的表达式就是进入这个if语句的条件,只有满足了这个条件才可以运行if语句中的内容
这里的语句就是当满足该if语句的条件后你想要做的事情
这里的语句可以是很丰富,可以多条的,我是因为能看起来简单点所以只写了一句
if( 表达式 )
{
语句;
}
这里的n < 8 就是条件
printf("缺少睡眠") 就是我想让他做的事
我输入的是4,小于8,所以这个程序能执行
那只有一个if的话,这也太少了吧?如果我希望面临的是两个选择呢?
所以就有了
if( 表达式 )
{
语句;
}
else
{
语句;
}
这次多了一个选择了,不再只受限于n<8
但是两者之间还是有区别的,else语句中没有条件的限制。
那也不太好呀!这范围太大了,总不能我睡8小时的健康睡眠你说我睡得多吧?
所以就有了更多的选择
这个else if 也要设置条件
if( 表达式 )
{
语句;
}
else if( 表达式 )
{
语句;
}
else
{
语句;
}
看吧看吧,这多了几个选择之后是不是让这个程序能更灵活的运行了
而且这个else if 是有条件限制的 这大大提高了程序的灵活性
这个else if 可以是0个,也可以是多个,你喜欢就好。
值得一提的是:这个if语句是可以嵌套的
就是可以在if语句里面再来一次if语句
就拿上面的例子来说,婴儿,成人,老年人的睡眠时间要求是不一样的,所以我们可以先对年龄进行一个判断,再根据这个年龄需求来对睡眠时间进行判断。
简单的例如:
关于if语句还有几个注意的点是:
1.在if语句中,最好都使用{ }将要实现的内容框起来,否则只会读取到一条离其最近的语句。
像这种情况下,就只会执行 printf("hehe"); 。
2.在if语句中,else是与离得最近的,且尚未匹配的if进行匹配的。
2.switch语句
switch语句需要搭配case、default、break使用
首先,上来先了解一下该语句的格式
switch(整形表达式)
{
case (整形常量表达式):
语句;
break;
case (整形常量表达式):
语句;
break;
default:
语句;
break;
}
以下便是例子,要注意switch后的表达式是整形表达式,所以如果换成浮点型的就不行了哟
以及case后的n是整形常量表达式,注意得是常量
注意case后面的符号是: 而不是;
从上面的图可以看到每一个case的语句之后都搭配了一个break;
如果没搭配会发生什么大事呢?
如果没有搭配那么就会像上图一样,在输入5,程序来到5的语句之后,会把后面的语句6、7的语句都执行。
上面的例子当中,你会发现星期1-5都是工作日,星期6-7是休息日,好像有的重复了很多
那么这个时候我们是否可以省略一部分呢? 当然可以
从上图中你可以发现,这么操作能帮助我们节省大量的工作量
那么default呢?
default 的使用类似于if语句中的else 就是其它情况
拿下图来说,当我们输入的不是1-7,是在case 情况以外的数时
那么就可以用到default了。
3.do...while语句
该语句的使用情况比较少,与while相比,区别就是do...while无论能不能满足循环条件,都至少能执行一次。
格式:
表达式便是循环的条件
do
{
语句;
}while(表达式);
在下图中,循环的条件是i < 3,,但是i的初始值是5,但是仍然能被执行一次。
如果执行一次后,满足循环条件,那么便会正常进行循环
4.while语句
表达式是循环条件
while(表达式)
{
语句;
}
当不满足条件后便不再循环
虽然while循环的语句不一定需要用{ }才能执行,但是要执行多个语句时还是需要加上{ }。
有助于养成良好习惯,避免出现错误。
5.for语句
for语句可以说是最常使用的一个循环语句了。
格式:
for(表达式1;表达式2;表达式3)
{
语句;
}
表达式1:变量的初始化
表达式2:循环的执行判断条件
表达式3:为调整部分
注意for语句的执行顺序:表达式1——>表达式2——>语句 ——>表达式3
和while循环一样,多条语句时需要使用{ }。所以要习惯使用 { }
6.break语句
目前学习到的break就是用于程序的跳出。
如上面提到的switch的用法。
以及在for循环配合if语句使用
当i++变成了3时,直接跳出了程序,不再执行for循环
break语句只能跳出一个{ }的范围
7.go to语句
该语句使用较少
go to 语句能实现在同一个函数内跳转到设置好的标号处
从下图可以看到goto后就没有执行打印3的程序
注意goto后的符号是 ;? 标号处的符号是 :
其作用是当有多个嵌套时,能够很快地跳出这个程序
8.continue语句
与break语句相比,两者都是终止程序的语句,但是continue的程度较轻
它的作用主要是当满足执行条件时终止一次在其后面的程序运行
如下图 当i = 3时,终止了printf("%d",i); 的运行,但是for循环还在进行,i++进行调整后,i=4,则可以继续执行
9.return语句
现在对return语句的了解还不是很清楚(太菜了不好意思)
return就是返回一个值,自定义了一个ADD函数后,在主函数中使用并将3,4两个值传给了这个函数,然后在这个自定义函数中进行了处理之后返回到主函数当中。
返回的形式可以是一个值,也可以是表达式
总结:
以上就是9种控制语句的大概说明了,这肯定是不够完整与完善的,具体需要各位在使用中慢慢体会和发现。
希望有错误的话能及时帮我指出,因为我也有很多不懂的,也希望各位能够多多支持。谢谢啦!!