同学们大家好,我是酒点,咱们这一节内容讲循环语句当中的for语句。
- 在程序中需要反复执行某个功能而设置的一种程序结构,可以看成是一个条件判断语句和一个回转向语句的组合。
for语句:
for(表达式1;表达式2;表达式3){statements;}
1.求解表达式;
2.求解表达式2,若为真,则执行循环体,然后执行步骤3,若为假,则执行步骤5;
3.求解表达式3;
4.转回执行步骤2;
5.执行for下面的语句。
我们来看一个例子,这个例子当中for=1,i<100,i++.你看我加了那么多颜色的空格是希望你在符号之间可以加上空格。且我们可以看一下它的流程图下面我们可以来看一下练习结果来看一下
#include<stdio.h>
int main()
{
int i,sum;
for(i=1,i<=100,i++)
{
sum +=1;
}
printf("sum=%d\n",sum,i);
return 0;
}
- 循环结构由三个要素组成:循环变量,循环终止条件和循环体。
- 循环变量:用来控制循环是否继续进行的变量
- 循环终止条件:决定了循环执行多次,何时结束循环
- 循环体:被反复执行的程序段
#include<stdio.h>
int main()
{
int n,i;
scanf("%d",&n);
for(i=0;i<n;i++)
{
printf("*\n");
}
return 0;
}
- for语句的扩展
for(表达式1;表达式2;表达式3){
statements;}
在这个条件当中这个循环体不能省的,要是省了就没玩没了了。
- for语句构成循环
- 表达式1可以省略,但循环之前给循环变量赋值
- 表达式2可以省略。将陷入死循环
- 表达式3可以省略。但在循环体中增强使循环变量值改变的语句。
#include<stdio.h>
int main()
{
int i,sum;
i=1;
for(;i<=100;){
for(;i<=100;){
sum+=i;
i++;
}
}
printf
return 0;
}
你会发现你把条件删了就会进入一个死循环
练习:打印50——100间的奇数,并打印奇数的个数。
#include<stdio.h>
int main()
{
int i;
for(i=50;i<=100;i++)
{
if(i%2!=0)
{
printf("%d",i);
sum++;
}
}
printf(""\nsum=%d\n",sum);
return 0;
}
- for循环的嵌套
练习:打印5行,每行m个*号
假如m=5
#include<stdio.h>
int main()
{
int m;
printf("input m:");
scanf("%d",&m);
for(i=0;i<m;i++)
{
putchar('*');
}
for(i=0;i<m;i++)
{
putchar('*');
}
for(i=0;i<m;i++)
{
putchar('*');
}
for(i=0;i<m;i++)
{
putchar('*');
}
for(i=0;i<m;i++)
{
putchar('*');
}
putchar('\n');
return 0;
}
看到这么多的重复,才5个,如果m变成了50,100,那还这样就会特别麻烦。所以我们就引出了嵌套for循环
for()初始动作1;条件1;每轮动作1)
{ ......
for(初始动作2;条件2;每轮动作2) {
循环语句块
}
}
练习:打印n行,每行m个*号
假如n=4,m=5
#include<stdio.h>
int main()
{
int n,m,i,j;
printf("input n m:");
scanf("%d%d",&n,&m);
for(i=0 i<n;i++)
{for(j=0;j<m;j++)
{putchar('*');}
putchar('\n');
}
return 0;
}
- for语句应用
练习:输入大写字母,假如输入F,利用for循环打印下面的图案
#include<dtdio.h>
int main()
{
char ch;
int i,j;
ch=getchar();
if(ch>='A'&&ch<='Z')
{
for(i=0;i<ch-'A';i++)
{for(j=0;j<i;j++){
putchar(ch-j)}
}
putchar('\n');
}
else
{printf("input inval\n");
return 0;
}
return 0;
}
- 应用99乘法表的打印
我们来温习一下小学数学什么叫99惩罚表,我们来看一下规律
我们假设每一行的第一个数为i,第二个数为j.每一行其实就是一个循环体。
#include<stdio.h>
int main()
{n
intn,j;
for(i=1;1<=9;i++){
for(j=1; j<=i;j++){
printf("%d%d%d\n",j,i,j*i);
}
putchar('\n');
}
return 0;
}
好啦,小伙伴们。咱们for循环语句的内容和应用就讲到这里喽,咱们要多练习哦,多敲代码。