一、循环语句
1、while循环
(1)、while循环的执行流程
while循环是当条件成立时进入循环体,当条件不成立则结束,不在进入到循环当中去。
值得注意的是,while循环在第一次执行时,会先判断循环条件是否为真。如果条件为真,则进入循环体执行语句;如果条件为假,则跳过循环体,直接执行循环后面的语句。
(2)、while循环中break的作用
可以看出来在while循环中只要遇到break,就停止后期的所有的循环,直接终止循环。所以:while中的break是用于永久终止循环的。
(3)、while循环中的continue
可以看到输出到4之后不再有输出了,是因为当运行到i加到5就进入了if语句,运行了continue,结束了本次循环进入下一次循环此时i依然还是5所以还是进入if语句,这样就是光标一直闪着,由于i一直是5,没有达到while循环结束,就一直在运行。continue是用于终止本次循环的,也就是本次循环中continue后边的代码不会再执行, 而是直接跳转到while语句的判断部分。进行下一次循环的入口判断
2、for循环语句
(1)、for循环的执行流程
在for循环的第一次执行中,初始化表达式会被执行,用于设置循环的起始条件。例如,在for (int i = 0; i < 10; i++)这个循环中,int i = 0就是初始化表达式,它会在循环开始前执行一次,设置变量i的初始值为0。
接着是条件表达式的判断,它决定了循环是否继续执行。如果条件表达式为真(true),则执行循环体;如果为假(false),则退出循环。在上面的例子中,i < 10是条件表达式,只要i小于10,循环就会继续。
如果条件满足,则执行循环体,即循环中需要重复执行的代码块。循环体执行完毕后,会回执行i++进行变量修改,然后在到条件表达式进行下一次判断。
之后,每次循环都会跳过初始化表达式,因为初始化只在循环开始前执行一次。然后直接从条件表达式开始判断,如果条件仍然满足,则再次执行循环体,如此反复,直到条件不满足为止。
在上面的例子中,当i的值增加到10时,i < 10的条件不再满足,循环停止执行。
int i = 0;
//实现相同的功能,使用while
i=1;//初始化部分
while(i<=10)//判断部分
{
printf("hehe\n");
i = i+1;//调整部分
}
//实现相同的功能,使用for
for(i=1; i<=10; i++)
{
printf("hehe\n");
}
(2)、for循环的语法
for(表达式1; 表达式2; 表达式3)
循环语句;
表达式1
表达式1为初始化部分,用于初始化循环变量的。
表达式2
表达式2为条件判断部分,用于判断循环时候终止。
表达式3
表达式3为调整部分,用于循环条件的调整。
(3)、for循环中break和continue的作用
需要注意的是,如果循环体内有break
语句,循环会立即终止,不再执行后续的迭代。如果有continue
语句,则会跳过当前迭代的剩余部分,直接进入下一次迭代 。
(4)、for循环的省略
#include <stdio.h>
int main()
{
//代码1(for循环中的初始化部分,判断部分,调整部分是可以省略的。)
for(;;)
{
printf("hello\n");
}
//代码2(这里打印100个hello)
int i = 0;
int j = 0;
for(i=0; i<10; i++)
{
for(j=0; j<10; j++)
{
printf("hello\n");
}
}
//代码3(这里打印10个hello)
int i = 0;
int j = 0;
//如果省略掉初始化部分,这里打印10个hello,当第一次的j变量的for循环运行结束进行下一次的时候,由于初始化部分被省略,所以j还是10,就跳出循环,直到i变量的for循环结束后,运行终止。
for(; i<10; i++)
{
for(; j<10; j++)
{
printf("hello\n");
}
}
//代码4:使用多余一个变量控制循环
int x, y;
for (x = 0, y = 0; x<2 && y<5; ++x, y++)
{
printf("hello\n");
}
return 0;
}
3、do...while()循环
(1)、do...while()循环的语法
do{
循环语句;
}while(表达式);
do循环中表达式成真则继续运行下一轮循环,当表达式为假,则循环结束。可见do...while循环至少执行一次
(2)、 do...while()循环中break和continue的作用
break结束循环,continue结束本轮循环进入到下一轮(几乎所有的循环情况中,这两者的作用都是如此)。
四、转向语句
1、goto语句
goto语句最常见的用法就是终止程序在某些深度嵌套的结构的处理过程。下方举例:
for(...)
for(...)
{
for(...)
{
if(disaster)
goto error;
}
}
…
error:
if(disaster)
// 处理错误情况
如果不使用goto语句则需要定义一个辅助变量,用break语句依次跳出对应for循环,直到跳出到最外层。效率显而易见的低于goto语句。
但是goto语句属于无条件跳转语句,用于改变语句执行顺序。一旦滥用goto语句将会导致逻辑混乱,导致系统崩溃等问题!!!
2、return语句
int function(int a, int b)
{
if (a > 0)return a;
else if (b < 0)return b;
else return;
}
return的作用就是结束,跳转:结束本函数,跳转到外函数调用本函数的地方并带回返回值。
今天的分享就到这啦
标签:语句,int,C语言,while,循环,奥秘,执行,表达式 From: https://blog.csdn.net/2402_88991786/article/details/143927702