分支语句有:if.....else , switch 循环语句有:do while 、while 、for循环
if-else介绍
if ()括号里放的是条件表达式;如果条件为真则执行里if()最近的一条以分号结尾的语句;如果需要执行多条则需要用花括号”{ }“包含多条语句,为假的话执行else后的语句;同样是以分号结尾或者花括号包含的语句块。
switch呢虽然不难但是小细节比较多;虽然通过看程序错误信息能知道那里的缺失但这不利于我们写出优质代码,下面详细介绍switch、case、break、default的搭配。
首先我们得先知道switch的代码形式:
在上面的代码中,expression
是一个表达式,根据它的值决定了执行哪个代码块。如果没有匹配的case
,则执行default
部分的代码。并且表达式必须是一个整形表达式即char、int.....等。case后面跟一个整型类型的常量表达式,注意万万不能用变量作为case后面的标签。并且在标签后面有“:”号,这里需要小伙伴们细心一点。在这里我们还差一个break,它的作用是什么呢?
- 在 switch 语句中,
break
用于终止当前分支的执行并跳出整个 switch 代码块。如果没有使用break
,程序将会继续执行下一个分支的代码而不做判断。意思就是没有break代码会从第一个case1 执行下去直到最后一个然后输出最后一个case的内容或者default。 - 他在循环语句里用于提前终止循环的执行,并跳出整个循环代码块。(后面介绍)
while、do while、for循环
首先,我们得先知道什么是循环,循环是一种重复执行特定代码块的控制结构。它允许在满足特定条件的情况下多次执行相同或类似的代码。
while的格式:
while(条件)
{
循环体;
} 当条件满足时,花括号里的循环体;会一直执行直达条件不满足或者遇见break、goto等后结束循环
do while的格式:
do
{
循环体;
}while(条件);
do while相比较while和 for 它无论条件是否成立都会执行一次循环体,每次循环结束后,检查条件是否满足,如果满足则继续执行循环。当条件不满足或者遇见break、goto等后结束循环
for循环的格式:
for(初始化 ; 条件 ;更新)
{
循环体;
}
for循环流程怎么走的呢?下面我先介绍他的流程
int main ()
{
int i = 0;
for(i= 0 ; i<10; i++)
{
循环体;
}
}
首先进入for循环先初始化,再用初始化的内容进入条件进行判断,如果为真就执行循环体,循环体执行完后进入到自增式子里进行更新,更新后进入判断条件判断,当条件不满足或者遇见break、goto等后结束循环。
通过上面的介绍我们发现结束循环体我们暂时提到两种方法 1.条件不满足 2.遇见break、goto等。
我们先介绍break,前面我们说他在循环语句里用于提前终止循环的执行,并跳出整个循环代码块。那么我们现在通过一个简单的代码验证。
while条件里为1 即为真(0为假非0为真),当条件一直为真的时候我们的while循环应该是死循环,但是我们的打印结果却只有三个hello,这就是break发挥作用了我们在复习一遍:他在循环语句里用于提前终止循环的执行,并跳出整个循环代码块。for 、do while一样!
同样 还有一个continue下面开始介绍
continue它的作用是跳过当前迭代中剩余的代码,并继续下一次迭代。当满足某个条件时,可以使用 continue
来提前结束当前迭代,跳过剩余的代码,直接开始下一次迭代。
具体意思就是执行循环体时遇见continue后在他后面的语句不执行了跳过后面的语句,直接跳到下一次循环并开始执行。
goto
goto
是一种跳转语句,用于无条件地将程序的控制转移到指定的标签或行号处。它通常被称为"跳转语句"或"无条件跳转语句"。
使用 goto
跳转到了标签 my_label
处。因此,循环部分的代码将被跳过,直接跳转到标签处打印 "Jumped to the label!"
。 goto可以直接跳出多重循环,相比break更方便,但是使用goto容易产生代码错误。使用时必须小心避免跳入死循环,如果使用错误可能会导致控制流变得混乱逻辑错误。