第四章循环结构总结
知识点
while do-while for
一、语句格式
while
while(表达式){
循环体
}
do-while
do{
循环体
}while(表达式)
for
for(表达式1 ; 表达式2 ;表达式3){
循环体
}
二、注意事项
1、变量赋初值
例如在使用 i++等运算中需要给i赋初值。
2、变量初始化
在进行第一个循环语句后,进行第二个循环的时候,有一些变量会发生变换,若想继续使用初值应在是变量初始化。
3、使用break语句减少循环次数,提高程序效率。
4、将代码打的尽量条理方便调试查错。
break使用
根据break的用法,是在循环体内,强行结束循环的执行,也就是结束整个循环的过程,不再执行循环的条件是否成立,直接转向循环语句下面的语句。
其包括两点:
-
break结束一个循环体,即一个for循环。倘若break镶嵌在内循环中,则只结束内部循环体
-
在执行break后,循环体内其他条件不在执行
程序调试
1.静态调试,瞪着眼瞅认为自己所有语句全都出现问题一句一句仔细看
2.插入输出语句看是否出错。
应用示例
1、openjudge 1003
输入一行,包括四个参数:前两个参数为整数,依次代表矩形的高和宽(高不少于3行不多于10行,宽不少于5列不多于10列);第三个参数是一个字符,表示用来画图的矩形符号;第四个参数为1或0,0代表空心,1代表实心。
#include <iostream>
using namespace std;
int main(){
int x,y,n,l,p;
char ch;
cin>>n>>l>>ch>>p;
x = 1;
y = 1;
while(x<=n){
y = 1;
while(y<=l){
if(x!=1&&x!=n&&y!=1&&y!=l&&p==0)
cout<<" ";
else
cout<<ch;
y++;
}
cout<<endl;
x++;
}
return 0;
}
在画矩阵或者图形的时候,做一个坐标系,一行一行进行填充。
2、openjudge 1001
输入两行,第一行为整数n(1 <= n < 100),表示参加这次考试的人数.第二行是这n个学生的成绩,相邻两个数之间用单个空格隔开。所有成绩均为0到100之间的整数。
#include <iostream>
using namespace std;
int main(){
int n,a,c;
c = 0;
cin>>n;
while(n!=0)
{
cin>>a;
if(a>c)
c = a;
else
c = c;
n--;
}
cout<<c<<endl;
return 0;
}
在记录最大或最小值时,将数输入然后将其记录下,下一次循环时下一个数与其比较留最大或最小的。
感受
调试循环语句的时候,可以发现一些很复杂的问题可以用循环解决,但是循环语句很容易出现一些小错误,例如初始值,循环次数,赋值等等。