一、知识点总结
1、循环控制结构有两种类型:当型循环与直到型循环;
2、循环结构由for、while、do-while三种循环语句来实现;
3、for语句使用频率最高,一般形式为(初始化表达式;循环控制表达式;增值表达式);
4、for循环的三个表达式均可省略,但是里面的两个分号必须存在;
5、while语句的一般形式为while(循环控制表达式);
6、do-while语句的一般形式为do
{
语句序列
}while(循环控制表达式); ;
7、while先判断条件再执行语句,do-while先执行语句再判断条件,除此之外,二者无差别;
8、do-while语句至少执行一次语句;
9、嵌套循环先由外层循环进入内层循环,并在内层循环终止之后接着执行外层循环,再有外层循环进入内层循环,外层循环全部终止时,程序结束;
10、对于双重循环的嵌套,总的循环次数等于外层循环次数和内层循环次数的乘积;
11、求余运算rand()%b将函数rand()生成的随机数变化到[0,b-1]之间;
12、rand()%b+a将随机数的取值平移到[a,a+b-1]之间;
13、break语句可以停止循环,从循环语句后面的第一条语句开始继续执行;
14、循环体中遇到continue语句时,程序跳过continue语句后面尚未执行的语句,开始下一次循环,并不终止整个循环的进行;
15、嵌套循环情况下,break和continue语句只对包含他们的最内层循环语句起作用,不能用break语句跳出多重循环。
二、解决的问题
1、累加求和问题可以通过循环简单解决,当循环次数较多时,注意怎样写才不会超时,即Time Limit Exceeded;
2、累乘求积问题也可解决;
3、打印图形问题用循环来写比较简单;
4、求各位数也适合用循环语句;
除以上问题,其他多次重复性的问题基本都可用循环来解决。
三、学习体会
前面学习了顺序结构、选择结构,再加上刚学习的循环结构,程序设计的三种基本结构已经完全讲完了。讲真的,前两种结构学习完做题的时候,我并未受到太大的阻力。然而,循环结构的题目却让我卡了又卡,多次停滞不前,甚至是一个题能卡三四天,这是我万万没想到的。因为循环的知识点并不是特别多,而且我也掌握,但老是wrong,着实让人心塞。
比如余数相同问题,我真心觉得我每一次写的都挺对,可就是AC不了,嗯,好吧,多组输入对我来说确实有待加强,其他的蛋糕裱花啊,也给我造成了不小的困扰。
经过这一轮题目的洗礼,我觉得关键是题意理解以及解题思路的问题,当解题思路解决之后,写代码就如行云流水一般,所以需要多见识一些题,从题中找到共性,以便提升自己。