c语言for循环怎么学,c语言学习for 循环

在c语言中,for语句的使用最为灵活,它完全可以取代while 语句。它的一般形式为:

for(表达式1;表达式2;表达式3)

{

语句;

}

它的执行过程如下:

(1)先求解表达式1。

(2)求解表达式2,若其值为真(成立),则执行for语句中指定的内嵌语句(for语句后大括号中的内容),然后执行下面第3步;若其值为假(即不成立),则结束循环,转到第5步。

(3)求解表达式3。

(4)转回上面执行第2步。

(5)循环结束,顺序执行for语句外的内容。

for(循环变量赋初值;循环条件;循环变量增量)

{

语句;

}

循环变量赋初值总是一个赋值语句,它用来给循环变量赋初值;

循环条件是一个关系表达式,它决定什么时候退出循环;

循环变量增量,定义循环控制变量每循环一次后按什么方式变化。

这三部分之间用分号(;)分隔开。

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

{

sum=sum+i;

}

先给i赋初值1,判断i是否小于等于100,若是则执行语句,之后值增加1。再重新判断,直到条件为假,即i>100时,结束循环。

注意:

1)for循环括号中的3个表达式都可省略,但;不能缺少

2)省略表达式1,表示不对循环控制变量赋初值。

3)省略表达式2,则不做其它处理时变成为死循环。

4)省略表达式3,则不对循环控制变量进行操作,这时可在语句体中加入修改循环控制变量的语句。

5)省略表达式1和表达式3

例:

for(;i<=100;)

{

sum=sum+i;

i++;

}

练习:用for循环打印1~10的和。

#include

int main()

{

int i,s=0;

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

{

s=s+i;

}

printf("%d",s);

return 0;

}

用for循环求任意数字以内的奇数和

# include

int main()

{

int i,s=0,n;

printf("请输入任意数字求其奇数和:");

scanf("%d",&n);

for(i=1;i<=n;i=i+2)

{

s=s+i;

}

printf("%d以内的奇数和为:%d",n,s);

return 0;

}

水仙花数

153=13+53+33=111+555+333 水仙花数是指一个 3 位数,它的每个位上的数字的 3次幂之和等于它本身

# include

int main()

{

int i,indiv,ten,hundred;

for(i=100;i<1000 ;i++)

{

indiv=i%10;

ten=i/10%10;

hundred=i/100;

if(i==indiv*indiv*indiv+ten*ten*ten+

hundred*hundred*hundred)

printf("%d ",i);

}

return 0;

}

for循环的嵌套

for循环打印图形

打印*横向20竖向10个

af4d94e4026b

image.png

//打印横向20个*纵向10行*

#include

int main()

{

int i,j;

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

{

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

{

printf("*");

}

printf("\n");

}

return 0;

}

输出每位数字各不相同的3位数字

①第一种方法

# include

int main()

{

int i,indiv,ten,hundred,n=0;

for(i=100;i<=999;i++)

{

indiv=i%10;

ten=i/10%10;

hundred=i/100;

if(indiv != ten)

{

if(indiv != hundred)

{

if(ten != hundred)

{

n=n+1;

printf("%d ",i);

}

}

}

}

printf("一共有%d个数",n);

return 0;

}

②第二种方法

af4d94e4026b

image.png

# include

int main()

{

int i,j,k,n=0;

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

{

for(j=0;j<=9;j++)

{

if(i!=j)

{

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

{

if(i!=k && j != k)

{

n=n+1;

printf("%d ",(i+10*j+100*k));

}

}

}

}

}

printf("一共有%d个数",n);

return 0;

}

猴子第一天摘了若干桃子,第一天吃了一半多一个,第二天吃了剩下的一半多一个,···,第十天剩下一个桃子,求猴子摘了多少桃子?

十:1

九:(1+1)2=4

八:(4+1)2=10

七:(10+1)2=22

n:n=(n+1)2

#include

int main()

{

int i,s=1;

for(i=9;i>=1;i--)

{

s=(s+1)*2;

}

printf("共有桃子%d个",s);

return 0;

}

张丘建《算经》

百钱买百鸡

鸡翁一钱五

鸡母一钱三

鸡雉三钱一

100钱,买多少鸡?

#include

int main()

{

int i,j,k,n;

for(i=0;i<=20;i++)

{

for(j=0;j<=33;j++)

{

for(k=0;k<=99;k=k+3)

{

if((100==(5*i+3*j+k/3))&&(100==i+j+k))

{

printf("鸡翁:%d,鸡母:%d,鸡雉:%d\n",i,j,k);

}

}

}

}

return 0;

}

鸡兔同笼:168脚,70头

//168腿,70头

#include

int main()

{

int i,n;

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

{

if(2*i+4*(70-i)==168)

{

printf("鸡:%d,兔:%d\n",i,70-i);

}

}

return 0;

}

for循环打印九九乘法表

af4d94e4026b

九九乘法表.png

//九九乘法表

#include

int main()

{

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");

}

return 0;

}

打印等腰三角形

//for循环打印符号

// *

// ***

// *****

//*******

#include

int main()

{

int i,j,k,n;

printf("请输入打印的行数:");

scanf("%d",&n);

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

{

for(k=1;k<=n-i;k++ )

{

printf(" ");

}

for(j=1;j<=2*i-1;j++)

{

printf("*");

}

printf("\n");

}

return 0;

}

显示直角在左下方的任意边长等腰直角三角形

#include

int main()

{

int i,j,len;

printf("边长:");

scanf("%d",&len);

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

{

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

printf("*");

printf("\n");

}

return 0;

}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值