【C语法学习】for循环语句 您所在的位置:网站首页 generate语句中的循环控制变量应该定义为 【C语法学习】for循环语句

【C语法学习】for循环语句

2023-12-27 01:54| 来源: 网络整理| 查看: 265

文章目录 1 语法结构2 示例2.1 示例12.2 示例2 3 总结与建议3.1 for与while的不同3.2 建议

1 语法结构

for语句的语法结构如下图所示:

for(表达式1;表达式2;表达式3) 循环语句;

语法结构说明:

表达式1:可以是任意有效的C表达式,一般是对循环变量赋初值,甚至可以为空,为空时分号不能省略;表达式2:可以是任意有效的C表达式,一般是对循环条件表达式求值;表达式3:可以是任意有效的C表达式,一般是更新循环变量的值,甚至可以为空;

循环执行流程图:

在这里插入图片描述 循环执行过程:

循环变量赋初值,整个for循环执行期间只执行一次;循环条件表达式求值;如果循环条件表达式求值结果为假,则结束整个for循环;如果循环条件表达式求值结果为真,则执行循环语句;更新循环变量的值;跳到第2步继续执行;如果循环语句中有break,则结束整个for循环;如果循环语句中有continue,则跳过continue后面的所有语句,跳到第5步继续执行。

常见使用情况:

for语句非常灵活: 1. 向上计数 for(i = 0; i statements; } 3. 表达式1为空,分号不可省略 i = 0; for( ; i statements; } 5. 表达式3为空,循环变量的更新放在循环语句中 for(i = 0; i statements; } 7. 表达式1和表达式3可以是逗号表达式 for(i = 0, j = 9; i ; } 9. for循环支持嵌套 for(i = 0; i statements; } } 10. 表达式2不能为空,否则程序会认为循环条件恒成立,从而进入死循环状态 for(;;) { statements; } 2 示例 2.1 示例1

希望打印数字1-10,代码如下图所示:

int main() { int i = 0; for (i = 1; i int i = 0; for (i = 1; i break; } printf("i = %d\n", i); } return 0; }

代码执行结果如下图所示: 在这里插入图片描述 如果希望跳过打印数字5,在循环语句中加入continue,代码如下图所示:

int main() { int i = 0; for (i = 1; i continue; } printf("i = %d\n", i); } return 0; }

代码执行结果如下图所示: 在这里插入图片描述 注意:for循环遇到continue会跳到表达式3继续执行,所以不会像while循环一样进入死循环跳不出来。

2.2 示例2

使用嵌套for循环打印9次"hello",代码如下图所示:

int main() { int i = 0; int j = 0; for (i = 0; i printf("hello\n"); } } return 0; }

代码执行结果如下图所示: 在这里插入图片描述 假如我们将循环变量的初始化放在循环外边,省略表达式1,代码如下图所示:

int main() { int i = 0; int j = 0; for (; i printf("hello\n"); } } return 0; }

代码执行结果如下图所示: 在这里插入图片描述 省略表达式1后,只打印3次"hello",不满足要求。原因是:

外层for循环第1次执行完成之后,内层for循环执行3次,打印3次"hello",循环变量i=1,j=3;外层for循环第2次执行开始之时,内层for循环因缺少循环变量初始化语句,以至j=3始终保持不变,循环条件j


【本文地址】

公司简介

联系我们

今日新闻

    推荐新闻

    专题文章
      CopyRight 2018-2019 实验室设备网 版权所有