C语言分支和循环
一、什么是语句?
C语言中由一个分号 ; 隔开的就是一条语句。
比如:
printf(“hehe \n”);
int a = 3+5;
;
以分号结尾,就是一句语句
二、分支语句(选择结构)
如果你好好写代码,以后找到好工作。、
如果不好好写代码,以后就找不到工作,就家里蹲。
这就是选择!!!
2.1、if语句
语法结构:
在C语言中如何表示真假?
0表示假,非0表示真。
代码示例:
2.1.1、else 悬空
当你写了这样一个代码,else 只会和第二个if匹配(和最近的if匹配)
所以这样写会导致代码的阅读性降低,不建议这样去写代码。
可以改成下面的写法,增加代码的可阅读性(这是一个建议),下面两种写法都是一样的
2.2、switch语句
switch语句也是一种分支语句。
常常用于多分支的情况
那我没写成 if…else if …else if 的形式太复杂,那我们就得有不一样的语法形式。
这就是switch 语句。
2.2.1、在switch语句中的 break
在switch语句中,我们没法直接实现分支,搭配break使用才能实现真正的分支
2.2.2 default子句
如果表达的值与所有的case标签的值都不匹配怎么办?
其实也没什么,结构就是所有的语句都被跳过而已。
程序并不会终止,也不会报错,因为这种情况在C中并不认为适合错误。
但是,如果你并不想忽略不匹配所有标签的表达式的值时该怎么办呢?
你可以在语句列表中增加一条default子句,把下面的标签
default:
写在任何一个case标签可以出现的位置。
当 switch表达式的值并不匹配所有case标签的值时,这个default子句后面的语句就会执行。
所以,每个switch语句中只能出现一条default子句。
但是它可以出现在语句列表的任何位置,而且语句流会像贯穿一个case标签一样贯穿default子句
三、循环语句
while
for
do while
3.1、while 循环
我们已经知道if语句,可是这样只能执行一次。但是生活中许多事情是一直循环的:
比如说:我一直写代码,一直读书,一直上班……
同一件事情我们需要完成很多次,那又该怎么办呢????
C语言中就引入了循环语句:while 语句就可以实现循环
语法结构
while (表达式)
{
循环语句:
}
代码示例:在屏幕上打印1——10的数字
这个语法我们基本掌握了,我们在了解一下:
3.1.1、while 中的break 和 continue
break 介绍
代码示例:这里我们可以看到,当i==5的时候,就结束了循环,说明break 是结束整个循环,
总结:
break在while循环中的作用:
其实在循环中只要遇到break,就停止后期的所有的循环,直接终止循环。
所以:while中的break是用于永久终止循环的
continue 介绍
为什么会出现死循环呢????
因为当i==5的时候执行continue就结束了本次循环,执行下一次循环去了,可是下一次循环中i的值还是为5 ,所以会死循环。
总结:
continue在while循环中的作用就是:
continue是用于终止本次循环的,也就是本次循环中continue后边的代码不会再执行,而是直接
跳转到while语句的判断部分。进行下一次循环的入口判断
3.2、for 循环
3.2.1、语法结构
for(表达式1;表达式2;表达式3)
{
循环语句
}
表达式1
表达式1为初始化部分,用于初始化循环变量的。
表达式2
表达式2为条件判断部分,用于判断循环时候终止。
表达式3
表达式3为调整部分,用于循环条件的调整
代码示例:在屏幕上打印1–10的数字
3.2.2 break和continue在for循环中
break 使用:当执行到break的时候就直接跳出循环了
continue使用:当执行到continue 的时候就跳出了本次循环就执行下一次循环了
当 i5 的时候就进入for循环在i++ ,此时 i6了,就继续执行下面的代码
3.2.4 一些for循环的变种
一直循环打印hehe
3.3 do…while()循环
3.3.1 do语句的语法:
do
循环语句;
while(表达式);
3.3.2、do语句的特点
循环至少执行一次,使用的场景有限,所以不是经常使用
3.3.3 do while循环中的break和continue
break使用
continue使用
4、goto 语句
C语言中提供了可以随意滥用的 goto语句和标记跳转的标号。
从理论上 goto语句是没有必要的,实践中没有goto语句也可以很容易的写出代码。
但是某些场合下goto语句还是用得着的,最常见的用法就是终止程序在某些深度嵌套的结构的处理过
程,例如一次跳出两层或多层循环。
这种情况使用break是达不到目的的。它只能从最内层循环退出到上一层的循环。
下面是使用goto语句的一个例子: