十月二十二日记录。
三大循环语句
while语句
简单使用
//计算从1加到100的和
#include<stdio.h>
int main()
{
int iNum = 1,iSum = 0;
while(iNum<=100)
{
iSum = iSum + iNum;
iNum++;
}
printf("%d",iSum);
return 0;
}
注意while(...)括弧中的表达式若为数字,则0表示假,非0表示真,这将直接导致死循环。
while是先判断后执行,我们可以反过来:
do...while语句
简单使用
#include<stdio.h>
int main()
{
int i = 1;
do
{
i++;
}
while(i<20);
printf("%d\n",i);
return 0;
}
//用do...while实现1加到100
#include<stdio.h>
int main()
{
int iNum = 1,iSum = 0;
do
{
iSum += iNum;
iNum++;
}
while(iNum<=100);
printf("%d\n",iSum);
return 0;
}
注意while语句后应加分号;。
for语句
一般形式
for(表达式1;表达式2;表达式3)
{
循环语句;
}
在这里for中表达式2用于判断是否进入循环,若是则执行循环语句,然后才执行表达式3。
简单使用
//求平方和倒数序列的部分和
#include<stdio.h>
#include<math.h>
int main()
{
double m,n;
scanf("%lf %lf",&m,&n); //输入m、n
double sum=0;
for(double i=m;i<=n;i++)
{
sum = sum + pow(i,2) + 1/i; //求m^2+1/(m)^2+(m+1)^2+1/(m+1)^2+...+n^2+1/(n)^2
}
printf("sum = %.6f",sum);
return 0;
}
注意用for语句求解问题是需仔细考虑循环思路。
for语句中表达式1有时候可以省略。
循环嵌套
for语句与while语句dowhile语句可以嵌套使用。
//用循环语句输出金字塔形状
todo
//用循环语句打印乘法口诀表
todo
转移语句
goto语句
goto 标识符;
......
标识符:
......
goto 可以往前跳也可以往后跳,也可以跳出一个循环也可以跳入一个循环。
break语句
break;
只能用在循环语句和switch语句中。
while(1)
{
printf("sth");
break;
}
上述break作用不同于switch语句中的break。
continue语句
continue;
continue用于结束本次循环,然后执行下一次循环。
不同于break,break是直接结束整个循环过程。