C 循环.docx
- 文档编号:30202964
- 上传时间:2023-08-07
- 格式:DOCX
- 页数:13
- 大小:282.83KB
C 循环.docx
《C 循环.docx》由会员分享,可在线阅读,更多相关《C 循环.docx(13页珍藏版)》请在冰豆网上搜索。
C循环
有的时候,我们可能需要多次执行同一块代码。
一般情况下,语句是按顺序执行的:
函数中的第一个语句先执行,接着是第二个语句,依此类推。
编程语言提供了更为复杂执行路径的多种控制结构。
循环语句允许我们多次执行一个语句或语句组,下面是大多数编程语言中循环语句的流程图:
循环类型
C语言提供了以下几种循环类型。
while循环
只要给定的条件为真,C语言中的while循环语句会重复执行一个目标语句。
语法
在这里,statement(s)可以是一个单独的语句,也可以是几个语句组成的代码块。
condition可以是任意的表达式,当为任意非零值时都为true。
当条件为true时执行循环。
当条件为false时,退出循环,程序流将继续执行紧接着循环的下一条语句。
在这里,while循环的关键点是循环可能一次都不会执行。
当条件为false时,会跳过循环主体,直接执行紧接着while循环的下一条语句。
实例
当上面的代码被编译和执行时,它会产生下列结果:
for循环
for循环允许您编写一个执行指定次数的循环控制结构。
语法
下面是for循环的控制流:
init会首先被执行,且只会执行一次。
这一步允许您声明并初始化任何循环控制变量。
您也可以不在这里写任何语句,只要有一个分号出现即可。
接下来,会判断condition。
如果为真,则执行循环主体。
如果为假,则不执行循环主体,且控制流会跳转到紧接着for循环的下一条语句。
在执行完for循环主体后,控制流会跳回上面的increment语句。
该语句允许您更新循环控制变量。
该语句可以留空,只要在条件后有一个分号出现即可。
条件再次被判断。
如果为真,则执行循环,这个过程会不断重复(循环主体,然后增加步值,再然后重新判断条件)。
在条件变为假时,for循环终止。
实例
当上面的代码被编译和执行时,它会产生下列结果:
do...while循环
不像for和while循环,它们是在循环头部测试循环条件。
在C语言中,do...while循环是在循环的尾部检查它的条件。
do...while循环与while循环类似,但是do...while循环会确保至少执行一次循环。
语法
请注意,条件表达式出现在循环的尾部,所以循环中的statement(s)会在条件被测试之前至少执行一次。
如果条件为真,控制流会跳转回上面的do,然后重新执行循环中的statement(s)。
这个过程会不断重复,直到给定条件变为假为止。
实例
当上面的代码被编译和执行时,它会产生下列结果:
嵌套循环
C语言允许在一个循环内使用另一个循环,下面演示几个实例来说明这个概念。
语法
C语言中 嵌套for循环 语句的语法:
C语言中 嵌套while循环 语句的语法:
C语言中 嵌套do...while循环 语句的语法:
关于嵌套循环有一点值得注意,您可以在任何类型的循环内嵌套其他任何类型的循环。
比如,一个for循环可以嵌套在一个while循环内,反之亦然。
实例
下面的程序使用了一个嵌套的for循环来查找2到100中的质数:
当上面的代码被编译和执行时,它会产生下列结果:
当上面的代码被编译和执行时,它会产生下列结果:
当上面的代码被编译和执行时,它会产生下列结果:
环控制语句
循环控制语句改变你代码的执行顺序。
通过它你可以实现代码的跳转。
C提供了下列的循环控制语句。
break语句
C语言中break语句有以下两种用法:
当break语句出现在一个循环内时,循环会立即终止,且程序流将继续执行紧接着循环的下一条语句。
它可用于终止switch语句中的一个case。
如果您使用的是嵌套循环(即一个循环内嵌套另一个循环),break语句会停止执行最内层的循环,然后开始执行该块之后的下一行代码。
语法
实例
当上面的代码被编译和执行时,它会产生下列结果:
continue语句
C语言中的continue语句有点像break语句。
但它不是强制终止,continue会跳过当前循环中的代码,强迫开始下一次循环。
对于for循环,continue语句执行后自增语句仍然会执行。
对于while和do...while循环,continue语句重新执行条件判断语句。
语法
实例
当上面的代码被编译和执行时,它会产生下列结果:
goto语句
C语言中的goto语句允许把控制无条件转移到同一函数内的被标记的语句。
注意:
在任何编程语言中,都不建议使用goto语句。
因为它使得程序的控制流难以跟踪,使程序难以理解和难以修改。
任何使用goto语句的程序可以改写成不需要使用goto语句的写法。
语法
在这里,label可以是任何除C关键字以外的纯文本,它可以设置在C程序中goto语句的前面或者后面。
实例
当上面的代码被编译和执行时,它会产生下列结果:
无限循环
如果条件永远不为假,则循环将变成无限循环。
for循环在传统意义上可用于实现无限循环。
由于构成循环的三个表达式中任何一个都不是必需的,您可以将某些条件表达式留空来构成一个无限循环。
当条件表达式不存在时,它被假设为真。
您也可以设置一个初始值和增量表达式,但是一般情况下,C程序员偏向于使用for(;;)结构来表示一个无限循环。
注意:
您可以按Ctrl+C键终止一个无限循环。
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 循环
![提示](https://static.bdocx.com/images/bang_tan.gif)