C语言中的for循环与逗号表达式
目录
1 for循环
1.1 格式
1.2 break与continue在三种循环之间的区别
1.3 关于for循环的两点建议
1.4 关于for循环的死循环
2 逗号表达式
1 for循环
1.1格式
for(表达式1;表达式2;表达式3){
循环语句
};
即:for(条件设置;条件判定;条件更新) {
循环语句
};
代码示例:
#include<stdio.h>
#include<windows.h>
int main()
{
//int i = 0;
//for (; i < 10; i++)//这种for格式也行,这里定义的i在循环体外面也能用,在循环体内部也能用
for (int i = 0; i < 10; i++)//这种格式也支持,这里的i只能在循环体内部用
{
printf("i=%d\n", i);
Sleep(100);
}
system("pause");
return 0;
}
1.2break与continue在三种循环之间的区别
- 在for循环中,break代表直接结束此程序,跳出此循环,而continue代表直接跳到条件更新这块。
代码示例:
#include<stdio.h>
#include<windows.h>
int main()
{
//int i = 0;
//for (; i < 10; i++)//这种for格式也行,这里定义的i在循环体外面也能用,在循环体内部也能用
for (int i = 0; i < 10; i++)//这种格式也支持,这里的i只能在循环体内部用
{
if (i ==5){
printf("out\n");
//break;//它代表直接结束此程序,跳出此循环,所以运行结果为0 1 2 3 4 out
continue;//它代表直接跳到i++这块,所以运行结果为0 1 2 3 4 out 6 7 8 9
}
printf("i=%d\n", i);
Sleep(100);
}
system("pause");
return 0;
}
- 在while循环和do whlie循环中,break代表直接结束此程序,跳出此循环,而continue代表直接跳到条件判定这块。
代码示例:
#include<stdio.h>
#include<windows.h>
int main()
{
int i = 0;
while (i<10){
if (i == 5){
printf("out\n");
//continue;//它代表直接跳到i<10这块,所以运行结果为0 1 2 3 4 out out.....死循环
break;//它代表直接结束此程序,跳出此循环,所以运行结果为0 1 2 3 4 out
}
printf("i=%d\n", i);
Sleep(100);
i++;
}
system("pause");
return 0;
}
代码示例:
② #include<stdio.h>
#include<windows.h>
int main()
{
int i = 0;
do{
if (i == 5){
printf("out\n");
//break;//它代表直接结束此程序,跳出此循环,所以运行结果为0 1 2 3 4 out
Continue;//它代表直接跳到i<10这块,所以运行结果为0 1 2 3 4 out out.....死循环
}
printf("i=%d\n", i);
i++;
Sleep(100);
} while (i < 10);
system("pause");
return 0;
}
1.3关于for循环的两点建议
- 不可在for循环体内进行条件更改,防止for循环失去控制。
- 建议for语句的循环体控制变量的取值采用“前闭后开区间”写法。尤其是在数组判断下标部分用的比较方便。
示例代码:
#include<windows.h>
int main()
{
int i = 0;
for (int i = 0; i != 10; i++)//这种格式也支持,这里的i只能在循环体内部用
{
if (i ==5){
printf("out\n");
i += 100;//这样就是在for循环体内进行了条件更改,因为变量负的值大于了判断条件,所以出现了死循环,for循环失去控制。
}
printf("i=%d\n", i);
Sleep(100);
}
system("pause");
return 0;
}
1.4关于for循环的死循环
for(;;){
循环语句
//break;可以用来跳出死循环
}
2 逗号表达式
逗号表达式:用逗号隔开的多个表达式集合就称为逗号表达式。
特性:a.从左向右全部会被执行。
b.表达式最终结果以最后一个表达式的结果为准。
例如:int a=(printf(“hello\n”),x=200,x==100);
代码示例:
#include<stdio.h>
#include<windows.h>
int main()
{
int x = 100;
int a = (printf("hello\n"), x = 200, x == 100);
printf("%d,%d\n", x, a);
system("pause");
return 0;
}
运行结果就会为:hello
200 0