循环结构程序设计
- while语句
在程序设计中,经常需要反复执行某一条语句或一个语句块,这种结构称为“循环结构”或者“重复结构”。
在C++中,循环结构有三种实现语句:while语句、do-while语句和for语句。
1.while语句的格式:
while (表达式){
循环体
}
2. 在while语句中,一定要注意“循环条件表达式”的书写,以及循环体中“循环控制变量”的更新,从避免死循环。同时,循环条件表达式和循环控制变量的变化也决定了循环体被执行的次数。
- do-while语句
1.do-while语句是C++中用于解决至少一次重复操作(循环体)的循环语句。
2.语句的格式:
do{
循环体
}while(表达式)
先执行一次循环体,然后判断表达式是否成立,如果成立,则返回继续执行循环体,直到表达式不成立,才退出循环。
3.例题:求数字和
#include<cstdio>
using namespace std;
int main(){
int n,s=0;
scanf ("%d",&n);
do{
s+=n%10;
n/=10;
}while(a!=0);
printf("%d/n",s);
return 0;
}
4.while语句是先判断循环条件,再执行循环体;do-while语句是先执行一次循环体,再判断循环条件。
- for语句
1.在实际应用中,如果重复执行的操作(循环体)次数是固定的、已知的,那么一般使用for语句。
2.for语句的格式:
for(表达式1;表达式2;表达式3){
循环体
}
3.循环变量可以在循环语句中定义,但只有在循环体中起作用,离开循环语句不起作用。
- 循环嵌套
1.循环结构也可以在一个循环语句的循环体中出现另一个循环语句,不管是while语句、do-while语句还是for语句。这样的循环结构称为“循环嵌套”。
2.eg:
#include<cstdio>
using namespace std;
int main(){
int n, m;
scanf("%d%d",&n,&m);
for(int i=1;i=n;i++){------------外循环
for(int j=1;j<=m;j++) printf("*") ;-----------内循环
printf("\n");--------回车换行
return 0;
}
#include<iostream>
using namespace std;
int main(){
int n, ans=0;
cin>>n;
for(int i=1;i<=n;i++)
int flag1=1,flag2=2;-----标记变量的使用,标记与7无关
if(i%7==0)flag1=0;
int x=i;
while(x&&flag2){------------x不为零且flag2不为0
if(i%10==7)fag2=0;--------与7有关
x=×/10;
}
if(flag1&&flag2)ans++;
}
cout<<and<<endl;
return 0;
}
- break与continue语句
1.在循环结构中,有时需要提前跳出循环体,或着忽略本次循环的后续语句而去行下一次循环。为此,C++提供了break语句和continue语句。
2.break语句(结束循环)
在循环体中遇到break语句,就会立刻跳出循环体,执行循环结构后面的语句。
3.continue语句
在循环体中遇到continae语句,就会忽略本次循环的后续语句而去执行下一次循环。
- 程序的调试与跟踪
1.静态查错
程序写好后,首先要从头至尾通读程序,检查是否存在下面几个问题:语句的顺序、思路、逻辑是否有误;语法是否有误,如关键字是否录入错误、变量是否没有定义就使用、变量的大小写问题、用错标点符号等。其他常见的错误还有以下几个方面。
①变量未赋初值
②中间运算结果越界
③if-else语句混乱
④实数比较出错
2.使用添加输出语句调试程序
注:使用这种方法调试程序结束后,一定要删除或者注解掉“调试输出信息”的语句。
3.借助IDE的调试工具实施单步跟踪
- 感想
结束了分支机构的学习,开始学习循环结构,在听老师讲课的时候感觉好像不是很难,但当自己写程序做题的时候,我才发现循环程序是真的难的要死,感觉分支机构简单多了。在这章学习中,我学会了使用while语句,do-while语句和for语句,虽然不是很会用,但是学习到了更多的新知识,在做题的过程中,对这些语句更熟悉了些。还是应该多做些题,多看点书,加深一下记忆。