十月二十二日记录。
三大循环语句
while语句
简单使用
//计算从1加到100的和 #includeint main() { int iNum = 1,iSum = 0; while(iNum<=100) { iSum = iSum + iNum; iNum++; } printf("%d",iSum); return 0; }
注意while(...)括弧中的表达式若为数字,则0表示假,非0表示真,这将直接导致死循环。
while是先判断后执行,我们可以反过来:
do...while语句
简单使用
#includeint main() { int i = 1; do { i++; } while(i<20); printf("%dn",i); return 0; }
//用do...while实现1加到100 #includeint main() { int iNum = 1,iSum = 0; do { iSum += iNum; iNum++; } while(iNum<=100); printf("%dn",iSum); return 0; }
注意while语句后应加分号;。
for语句
一般形式
for(表达式1;表达式2;表达式3)
{
循环语句;
}
在这里for中表达式2用于判断是否进入循环,若是则执行循环语句,然后才执行表达式3。
简单使用
//求平方和倒数序列的部分和 #include#include 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是直接结束整个循环过程。



