循环结构总结
使用循环结构目的:
应对需要进行规律性的重复运算的相关问题。基本问题:累加,累乘
1.while语句(称为当型循环)
格式:while(表达式){
循环体
}
2.do-while语句(至少执行一次,称为直到型循环)
格式:do{
循环体
}while(表达式)
3.for语句(若变量初值定义在for语句内部,则只能在循环内部使用 )
基本格式:for(变量初值;循环条件;步长)
循环体
}
特殊格式;
例:
①缺省初始表达式:
int i = 1;
for( ; i <= n; i++){
sum = sum+i;
}
②把逻辑表达式省略:
for(int i = 1; ; i++){
if(i > n){
break;
}
sum = sum+i;
}
③循环后置表达式省略掉:
for(int i = 1; i <= n;){
sum = sum+i;
i++;
}
④直接把循环体省略掉:
for(int i = 1; i <= n; sum += i++);
⑤把初始表达式、逻辑表达式、循环后置表达式都给省略掉:
int i=1;
for(; ; ){
sum += i++;
if( i > n){
break;
}
}
以上这五种方式要注意观察任意一处省略的地方,是不是都会有分号在那里,所以说不管省略什么,都不可以把分号给去掉。
⑥缺省逻辑表达式和循环体:
for( int i=1; sum += i++, i<=n ; );
这个要注意的是for循环里面要用到逗号表达式。
PS:注意循环变量改变,避免死循环。
4.循环嵌套
不必刻意追求嵌套,根据实际逻辑情况,选择是否进行嵌套
5.break和continue(减少循环次数):
break语句
跳出循环体,执行循环结构后面的语句
continue语句
忽略本次循环的后续语句而去执行下一次循环
6.静态调试
①变量为赋初值
②中间运算结果越界
③if-else语句混乱
④实数比较出错
7.动态调试
增加输出变量值进行调试,提交之前把调试语句注释掉
ps:while(cin>>x>>y){
语句组}
回车后,终止符为"ctrl+z"再接回车结束循环
感想:
循环语句作为基本语句,知识点的牢固记忆是基本要求。但在实际问题中,循环嵌套队我而言是一大难点。然而,循环嵌套是需要在正确理解题目基础上,自然而然想到的一种模式。因此,为了合理使用循环嵌套,必须先充分理解题目问题,易错点及可能使用到的特殊格式。同时应合理运用break及continue语句,减少循环次数;注意不同循环语句格式的差异,避免出现初值未赋值,循环变量未改变等错误。