本节内容:
while循环
do-while循环
for循环
循环中的嵌套
循环中的break和continue
第一节 while语句(超过上万次的成为死循环)
while(表达式)
语句;(循环体)
执行过程:首先判断表达式的值,如果为真,就执行循环体,执行后再次判断表达式的值,如果为真就再执行,再判断,直到表达式的值为假,就退出循环。
#include <stdio.h> main() {int i=1,sum=0; while(i<=100) {sum=sum+i;i=i+1;} printf("sum=%d\n",sum); }
注意:先定义再赋值
int i,sum;
i=1;sum=0;
同时定义和赋值
int i=1,sum=0;
使用while语句注意一下几点:
1)while语句中的表达式一般是关系表达式或者逻辑表达式,只要表达式的值(常量或者变量)非0即可继续循环。
2)循环体如果包含一个以上的语句,则必须用{}扩起来,组成符合语句。
第二节 do-while循环一般形式如下:
do
语句:(至少执行一次)
while(循环条件);
执行过程:·首先无条件的执行循环体1次,然后判断表达式的值,如果为真,在执行循环体,再判断,再执行,直到表达式的值为假,退出循环。
第三节 for循环一般形式如下:
for (初值表达式;结束条件;循环表达式)
{
语句1;
· 语句2;
...
语句n;
}
语句b;
....
执行过程:首先执行表达式1,然后判断表达式2的值,如果为真,就执行循环体,执行后执行表达式3,然后再判断表达式的2,如果为真,再执行,再判断,直到表达式2为假退出循环。
注意:
1)for循环中的“表达式1”(循环变量赋初值),表达式(循环条件),和表达式3(循环变量增值)都是选择项,即可以缺省,“;”不能缺省。
2)表达式1和表达式3都是一个简单的表达式也可以是逗号表达式。
即for(sum=0,i=1;i<=100;i++)
sum=sum+1;
或者for(i=0,j=100;i<=100;j++,i++)k=i+j;
3)表达2一般是关系表达式或者逻辑表达式,但也可以是数值表达式或者字符表达式,只要非0就执行循环体。
总结:while和do-while循环一般用于条件比较明显的循环(字符串处理),而for循环通常是循环次数比较明显的循环(数字处理)。
#include<stdio.h> mian() { int i=0; for(i=0,prinitf("A");i<9&&printf("B");i++,printf("C\n")) { printf("循环体"); } printf("循环结束"); getchar(); }
九九乘法表:
#include <stdio.h> int main(void) { int i,j; for (i=1;i<=9;i++) { for(j=1;j<=i;j++) { printf("%d*%d=%2d ",i,j,i*j); } printf("\n"); } getchar(); return 0; }
循环嵌套
for (表达式;条件1;表达式) { 代码段;//可以没有 for (表达式;条件2;表达式) { 代码段;//可以没有 for (表达式;条件3;表达式) { 代码段;//可以没有 .... } } } ---------------------------------------------------------------------------- while(条件) { 代码段;//可以没有 while(条件) { 代码段;//可以没有 while(条件) { 代码段;//可以没有 .......... } } } ------------------------------------------------------------------------- while(条件) { 代码段;//可以没有 for(表达式;条件;表达式) { 代码段;//可以没有 while(条件) { 代码段;//可以没有 .......... } } }