5.3 for循环(课件)-高二《程序设计基础》同步教学(人民邮电版)
2023-07-24
|
21页
|
287人阅读
|
0人下载
普通
内容正文:
5.3 for循环
在C语言中,for循环使用最为灵活,也最为普遍。它不仅可以用于循环次数已经确定的场合,而且可以用于循环次数不确定而只给出循环结束条件的场合。
(1)for循环的基本格式为
for(表达式1;表达式2;表达式3) 语句
(3)for循环的执行过程如下。
· 先求解“表达式1”的值(一般为赋初值),接着计算“表达式2”的值(一般为一个条件判断),若其值为“非0”则执行循环体。
· 然后计算“表达式3”(一般为修改循环变量),并根据对“表达式2”的结果判断决定是否进行下一次循环。
· 在每一次循环中,一旦“表达式2”的值为“假”,则终止循环。
(4)for循环一般形式中的“表达式1”可以省略,此时应在for语句之前给循环变量赋初值。注意,在省略“表达式1”时,其后的分号不能省略。例如:
for(n=1;n<10;n++)
s=s+n;
等效于:
n=1;
for(;n<10;n++)
s=s+n;
(5)for语句一般形式中的“表达式3”可以省略,此时分号同样不能省略。此外,还必须设法保证循环变量的增值。例如:
for(n=1;n<10;n++)
s=s+n;
等效于:
for(n=1;n<10;)
{
s=s+n;
n++;
}
(6)for语句一般形式中的“表达式1”和“表达式3”均可以省略,只保留“表达式2”和两个分号。此时既要在for语句之前给循环变量赋初值,又要设法保证循环变量的增值。例如:
for(n=1;n<10;n++)
s=s+n;
等效于:
n=1;
for(;n<10;)
{
s=s+n;
n++;
}
(7)“表达式2”也可省略,如果省略“表达式2”,不会造成语法上的错误。但是,如果循环体内没有循环趋于结束的语句,程序将进入死循环。一般不提倡这种省略,尤其对于初学者更是如此。
(8)在使用for循环时,必须注意以下要点。
· for语句的圆括号后没有“;”如果在for语句的圆括号后添加“;”虽然不会发生语法错误,但是此时的循环体将变为1个空语句,可能使程序不能获得正确的结果。
· “表达式1”、“表达式2”和“表达式3”通常称为for循环的3个分量,均可以为任意表达式,相互之间使用“;”分开。for语句中的圆括号内有且只有两个“;”,第3个表达式后没有“;”。
· 3个表达式的用途各不相同:“表达式1”在循环前对循环控制变量进行初始化;“表达式2”用来判断循环条件是否成立;“表达式3”用来修改循环变量的值。
· for语句中的循环体语句可以是一个单独的语句,也可以是一个复合语句。当是复合语句时,一定要用大括号将其括起来,否则将会出现算法上的错误。
· 3个表达式中的某一个或几个可以省略,但是相应的分号必须保留,例如:
for(; ;)
· 循环控制变量赋初值只进行1次,一旦循环体被执行,立即进行修改循环变量的操作。
5.4 循环的嵌套
在C语言中,经常需要把一个循环结构作为另一个循环结构的循环体,从而构成循环的嵌套结构。在实际的程序设计中,循环的嵌套绝大多数由for语句来完成。因此,本节着重介绍由for循环构成的循环嵌套。循环的嵌套包括二重循环以及二重以上的多重循环,本书重点介绍二重循环,多重循环的用法可以类推。
(1)由for语句构成的二重循环结构的格式为
for(表达式1;表达式2;表达式3)
{
语句1;
for(表达式4;表达式5;表达式6)
语句2;
语句3;
}
(2)二重循环的执行顺序如下。
· 以第1层for循环为入口,通过“表达式1”对循环控制变量赋初值,接着使用“表达式2”进行条件判断。若“表达式2”为“真”,则执行语句1、第2层for循环和语句3(注意:语句2是第2层for语句的循环体)。
· 当第2层for循环规定的循环次数全部执行完后,执行语句3。至此,第1层for循环的第1次循环结束。接下来进行第1层for循环的下1次循环,一直到“表达式2”的值为“假”为止。
(3)在使用二重循环时应注意以下几点。
· 语句1、第2层for循环和语句3以复合语句的形式作为第1层for循环的循环体。
· 语句1、第2层for循环和语句3是并行的,程序运行时按顺序执行。
· 语句1和语句3可以省略。当没有语句1和语句3时,可以省略大括号。当有语句1或语句3时,必须要用大括号将其括起来作为1个复合语句;否则,将会出现算法上的错误。
5.5 break语句与continue语句
5.5.1 break语句
5.5.2 continue语句
在循环结构中,“break”与“continue”是两个用于控制循环流程的重要关键字,两者在用法上既有联系又有区别,下面分别进行介绍。
5.5.1 break语句
在第4章的学习中,我们已在switch语句中使用过bre
由于学科网是一个信息分享及获取的平台,不确保部分用户上传资料的 来源及知识产权归属。如您发现相关资料侵犯您的合法权益,请联系学科网,我们核实后将及时进行处理。