for基本语法
✔格式
for(表达式1;表达式2;表达式3)
循环体语句;
✔执行过程
①首先计算表达式1
②判断表达式2,若其值为真(非0),则执行循环体语句,然后执行第③步;若值为假(0),结束循环,转到第⑤步执行。
③计算表达式3。
④返回第②步继续执行。
⑤循环结束,继续执行for语句的下一条语句。
✔例子
int sum = 0;
int i;
for(i=0;i<=n;i++)
sum = sum+i;
这样就可以实现从0-n的累加计算
其他格式
省略表达式1
格式如下:
for(;表达式2;表达式3)
循环体语句;
省略表达式1时,可以将循环遍历赋初值放在for之前,注意此时不能省略第一个“;”
比如上面的例子,等价于
int sum = 0;
int i=0;
for(;i<=n;i++)
sum = sum+i;
省略表达式2
格式如下:
for(表达式1;;表达式3)
循环体语句;
省略表达式2时,表示不对循环进行控制,这时如果没有其他处理的话,会形成死循环。应避免这样使用for结构。
省略表达式3
格式如下:
for(表达式1;表达式2;)
循环体语句;
省略表达式3时,可以在循环体语句中加入修改循环变量的值的语句。
其他注意事项
for语句的一般形式中表达式1和表达式3也可以是逗号表达式
for语句的一般形式中表达式2的值只要非0,就执行循环体
for语句的一般形式中循环体语句可以省略
编程例题
编写程序,输入10个数,输出其中的最大数
思路:定义变量max存放最大数,将输入的第一个数赋给max作为最大数,在后续循环中,没输入一个数,都与max进行比较,若比max大,则将其赋给max,循环结束后,变量max中即为最大数。
intmain() { inti; folatx,max; printf("请输入第1个数:"); scanf("%f",&x); max=x; for(i=1;i<=9;i++) { printf("请输入第%d个数:",i+1); scanf("%f",&x); if(x>max) max=x; } printf("10个数的最大数是:%.0f",max); return0; }