第六章:循环结构
本章的循环结构由多项累加求和问题引入,因为逐个数字输入会造成不便,从而引入了循环结构,所谓循环就是输入重复同样类型的数据。在本章中着重介绍了三种循环结构。分别是计数循环,条件控制的循环,标记控制的循环。
首先介绍一下由计数循环控制的循环语句。典型代表:当型循环语句for循环语句。
for(初始化循环变量;循环条件;更新循环变量)
{
循环体
}
for循环语句主要适用于循环次数已知的由计数循环控制的循环。在循环的题组中,典型例题有:敲七含k个3的数。其都结合if条件语句。除此之外,还有一个等比数列求末项的问题,采用了一个新的函数pow(a,n)(代表a的n次方),if条件语句和循环语句的联合使用是本章的主要内容,运用此循环的时候需要注意以下几点:
1.循环体最好用花括号。
2.for语句括号后面没有分号,括号内有且仅有两个分号。
3.int i和int j只能在for循环语句中使用,若在其他地方使用会造成语句的混乱。
第二,介绍条件控制的循环语句。
条件控制的循环语句主要适用于循环次数未知由条件控制的循环。这种循环,主要涉及当型循环语句while语句。
while(条件)
{
循环体
}
在循环题组的题目中数字反转和不多于五位数的正整数的处理和求最大公约数,
解析:
采用辗转相除法。
都采用了while语句。在处理while语句的问题时注意以下几点:
1.保证输入数据的有效性。
while(cin>>a)
while(scanf("%d",&a)==1)
while(scanf("%d",&a)!=EOF)
2.while语句括号后面没有分号。
3.循环体最好加上花括号。
第三标记循环
即在程序中加入一个新的函数。(例如:在课本例题韩信点兵和服务员和房门取反操作中新加了一个find函数只有两种可能。)
其实本章的循环语句一共讲了三种,最后一种是直到型语句。其与当型循环语句之间的差别在于do-while语句中无论变量是否满足循环条件,其都至少循环一次。但do-while语句一般都可用for语句和while语句来代替,所以此处不详细解释。
前面的三种循环语句都是在为循环嵌套语句做预备。所谓嵌套语句就是一个循环语句,包含另一个循环语句。应用最广泛的就是for语句嵌套for语句的类型。例如循环题目中的金币问题,矩形问题,都采用了循环嵌套和if条件语句的合用。采用这类循环时需要注意:
1.采用不同名的变量名称。
2.变量初值与循环条件要对应。
3.理解不同变量代表的含义。
4.注意换行问题。
除此之外还有什么蛋糕裱花的问题,要注意行列和空格之间的关系。
最后讲了两种语句。
分别是break与continue语句。两者兼有终止循环的作用,但两者又有差别。break终止整个循环语句的运行,而continue语句,则只终止本次循环,但不影响下次循环。在编写程序时注意注意使用break和continue语句有助于减少运行次数。
以上及时本章学习的主要内容。
在我看来,本章所讲述的循环语句主要解决了以下几种问题:
1.如何画出一些简单的图形。
2.累加和问题。
3.有关数字的位数,各项和顺序倒序输出问题。
3.求某个数中某位数的出现次数。
4.一组数中与某个数相关的项的问题。