1.基本结构
for语句是循环控制程序中相当好用的一种循环控制语句(我是很喜欢用的),特别适合用于已知循环次数的情况。它的一般格式为:
for(表达式1;表达式2;表达式3;)
语句;
其中for语句的要求如下:
- for语句后面的括号()不能省略
- 表达式1:一般为赋值表达式,用于给循环控制变量赋初值
- 表达式2:一般为关系表达式或逻辑表达式,作为循环控制条件
- 表达式3:一般为赋值表达式,用于改变循环控制变量的值
- 表达式直接用分号分隔,分号不可省略
- 语句部分称为循环体,当需要执行多条语句时,应当用复合语句
这里举例说明:
int a;
for(a=1;a<=10;a++)
在这个程序中,for语句中的括号对整型变量 a 赋予了初始值 1 ,然后开始判断 a 是否符合条件“a<=10” ,在执行完循环体的语句后对 a 自加 1 。在for再次循环时,会再次判断 a 是否符合条件然后选择执行与否。
因为for语句在一个括号中就规定了循环控制变量的初始值,循环控制条件和变化的值,所以显得相当简洁,这也是我特别喜欢用它的原因(while不如for一根(doge))
2.注意事项
(1)表达式1,表达式2和表达式3可以是任何类型的表达式。例如,这三个表达式都可以是逗号表达式,即每个表达式都可由多个表达式组成。例如:
int i,j;
for(i=1,j=2;i<=99;i=i+2,j=j+2)
(2)表达式1,表达式2和表达式3都是可以任选省略,可以省略其中的一个,两个或全部,但是用于间隔的分号一个也不能省略。而这个省略也不是说你可以不写这个代码了,而是要将相应的代码写在别的地方。
(3)如果表达式2为空(for语句中省略且循环体中没有涉及),那么就相当于表达式2的值始终为真,因此会陷入死循环
(4)当for语句中省略了表达式1(初始化循环控制变量),可以在for语句前单独初始化循环变量
(5)当for语句中省略了表达式3(改变循环控制变量的值),可以在循环体中对循环控制变量的值进行改变
(6)for语句和while语句一样,也可以嵌套循环
(7)循环体可以是空语句,即不需要执行其他程序,只需在for语句后面直接加上分号;就行
例如:
#include <stdio.h>
int main()
{
int n=0;
printf("Input a string:\n");
for( ; getchar()!='\n';n++);
printf("%d",n);
return 0;
}
此程序是用于统计用户输入了几个字符。在此程序中,只要用户输入的不是回车,那么 变量 n 就会自加 1,直到用户输入回车,停止循环(停止计数),然后输入用户输入的字符总数。
或者说,for语句本身也可以作为一个语句使用
标签:语句,循环体,省略,循环,控制变量,程序设计,表达式 From: https://blog.csdn.net/2402_88427700/article/details/143377639