当前位置:文章写作网 >日记 >日记 >c语言循环语句之for

c语言循环语句之for

2008-06-25 15:28 作者:tshfang 阅读量:5949 推荐17次 | 我要投稿

在目前的面向对象的语言中c++,java,c#都能发现c语言中的for循环的影子。

for的一般形式:

for(初始化语句;循环控制;关系表达式)

语句或者语句块;

初始化语句:一般是赋值语句,为循环变量赋初始值。

循环控制:确定如何退出循环。

关系表达式:每次重复循环时候怎样修改变量。

例如:在屏幕中输出1-10

int main(void)

{

int x;

for(x=1; x <= 10; x++) printf("%d ", x);

getch();

return 0;

}

首先x赋值为1,然后和10比较,小于10。然后执行printf语句,然后x加1,直到x大于

10,退出循环。

程序执行结果:

1 2 3 4 5 6 7 8 9 10

嵌套for循环例如打印乘法表:

int main(void)

{

int i,j;

for(i=1;i<=9;i++)

{

for (j=1;j<=i;j++)

{

printf("%d*%d=%d ",j,i,i*j);

}

printf("\n") ;

}

getch();

return 0;

}

程序执行结果:

1*1=1

1*2=2 2*2=4

1*3=3 2*3=6 3*3=9

1*4=4 2*4=8 3*4=12 4*4=16

1*5=5 2*5=10 3*5=15 4*5=20 5*5=25

1*6=6 2*6=12 3*6=18 4*6=24 5*6=30 6*6=36

1*7=7 2*7=14 3*7=21 4*7=28 5*7=35 6*7=42 7*7=49

1*8=8 2*8=16 3*8=24 4*8=32 5*8=40 6*8=48 7*8=56 8*8=64

1*9=9 2*9=18 3*9=27 4*9=36 5*9=45 6*9=54 7*9=63 8*9=72 9*9=81

for的循环的其它形式

1、通过,操作符用于多变量循环例如:

int main(void)

{

int i,j;

for(i=0,j=50;j-i>=40;i++,j--)

{

printf("j-i=%d\n",j-i);

}

getch();

return 0;

}

程序运行结果:

j-i=50

j-i=48

j-i=46

j-i=44

j-i=42

j-i=40

2、for循环的三个部分可以是任何有效的c表达式。例如:由三个函数组成for语句

int incr(void);

int con(void);

int init(void);

void fun1(int x);

int main(void)

{

int t;

for(init();t=con();incr())

{

fun1(t);

}

return 0;

}

int init(void)

{

printf("Enter a number:\n ");

return 0;

}

int con(void)

{

int y;

scanf("%d",&y);

return y;

}

int incr(void)

{

printf("exit input 0\n");

return 0;

}

void fun1(int x)

{

printf("t is %d\n",x);

}

比如输入5,然后输入3,程序输出:

Enter a number:

5

t is 5

exit input 0

3

t is 3

exit input 0

直到输入0,循环结束程序退出。

3、循环定义的部分可以省略,全部省略就是无限循环,上篇文章的菜单形式就是无限

循环的例子。

例如:

int main(void)

{

char s;

for(;;)

{

printf("input a char\n");

s=getchar();

printf("s is %c\n",s);

if(s=='q') break;

}

}

当输入的字符不是q的时候,输出字符,当输入的是q,结束循环,退出程序。

4、没有循环体的for循环

此类一般是应用在延时还有一些其它的方面。

其他人在看啥

    《c语言循环语句之for》的评论 (共 0 条)

    • Guest::manfen
    • Guest::ding
    • Guest::ding
    • Guest::ding