C语言循环结构
for循环的用法
for(单次表达式;条件表达式;自变表达式)
{
中间循环体
}
其中,表达式皆可以省略,但分号不可省略,因为“;”可以代表一个空语句,省略了之后语句减少,即为语句格式发生变化,则编译器不能识别而无法进行编译。
for循环小括号里第一个“;”号前为一个为不参与循环的单次表达式,其可作为某一变量的初始化赋值语句, 用来给循环控制变量赋初值; 也可用来计算其它与for循环无关但先于循环部分处理的一个表达式。
俩“;”号之间的条件表达式是一个关系表达式, 其为循环的正式开端,当条件表达式成立时执行中间循环体。
执行的中间循环体可以为一个语句,也可以为多个语句,当中间循环体只有一个语句时,其大括号{}可以省略,执行完中间循环体后接着执行末尾循环体。
执行末尾循环体后将再次进行条件判断,若条件还成立,则继续重复上述循环,当条件不成立时则跳出当下for循环
#include<stdio.h>
#include<stdlib.h>
int main()
{
int i; //定义一个整型变量
for(i = 0;i < 10;i++) //先给i附初值i = 0,然后判断是否i是否符合条件i < 10,不满足就跳出循环,i++自加;
{
printf("%d ",i); //输出i的值
}
printf("\n"); //换行
i= 0; //给i赋值为0
for(;i < 10;) //只有判断条件,其他为空语句
{
printf("%d ",i);
i = i + 1; //i自加
}
printf("\n");
for(i = 0;;i++)
{
if(i == 10) //判断条件
break;
printf("%d ",i);
}
system("pause");
return 0;
}
以上情况等效!!!
使用for循环打印菱形
方法:分上下两部分分别打印
#include<stdio.h>
#include<stdlib.h>
int main()
{
int i,j,k,n;
scanf("%d",&n);
for(i = 1;i < n;i++) //菱形上半部分
{
for(j = i;j < n - 1;j++)
{
printf(" ");
}
for(k = 1;k <= 2*i-1;k++)
{
printf("*");
}
printf("\n");
}
for(i = 1;i < n-1;i++) //菱形下半部分
{
for(j = 1;j <= i;j++)
{
printf(" ");
}
for(k = i;k <= 2*(n-2) - i;k++)
{
printf("*");
}
printf("\n");
}
system("pause");
return 0;
}
☝☝☝