当我们需要每次运行程序时都允许进行多次算数运算时,我们引入一种新的程序结构–循环控制结构,如果是给定条件控制循环次数,我们称为条件控制;如果是重复处理次数已知问题,可以使用计数控制来对循环进行控制。
首先介绍三种循环语句,举一个简单的例子来具体表示三种语句的用法。例子是计算并输出1+2+3+……+n的值,下面只写循环部分。
(1)for循环语句:
for(初始化循环变量;循环条件;更新循环变量) for(i=1;i<=n;i++)
{ {
循环体; sum=sum+i;
} }
(2)while循环语句:当型循环–当循环条件成立时,执行体。
while(条件) while(i<=n)
{ {
循环体; sum=sum+i;
} i++;
}
(3)do–while循环语句:直到型循环-先执行循环体,再判断循环条件是否成立。
do do
{ {
循环体; sum=sum+i;
}while(循环条件) i++;
}while(i<=n)
接下来说一下嵌套问题,我感觉不用刻意的去考虑是否要用嵌套循环,当只用一套循环完不成任务的时候,就考虑嵌套循环。嵌套循环,即一个语句的循环体内又包含循环语句。各种循环语句都可以相互嵌套。例子如作业3金中的蛋糕裱花、画矩形等等。
注意一下,for和while语句后一般没有分号,加上分号后会造成死循环。对于一些没有啥思路的问题,可以利用暴力法,但要注意超时。break语句,结束循环,直接执行下面的语句。continue语句,结束本次循环,直接进行下一次的循环。exit(0),终止整个程序运行,强制返回操作系统。为变量赋初值要放在循环语句之前,紧挨着循环语句的地方。while语句与for语句后面的复合语句不要忘了加花括号。
最后写一下判定素数的程序,老师说过要记下。
#include<stdio.h>
using namespace std;
int main()
{
long long m;
cin>>m;
double sqrtm=sqrt(m);
for(int i=2;i<=sqrtm;i++)
{
if(m%i==0)
break;
if(sqrt m<=i)
cout<<m<<"is prime"<<endl;
else
cout<<m<<"is not prime"<<endl;
}
return 0;
}