当前位置:首页 » 编程语言 » c语言4个for循环讲解
扩展阅读
webinf下怎么引入js 2023-08-31 21:54:13
堡垒机怎么打开web 2023-08-31 21:54:11

c语言4个for循环讲解

发布时间: 2023-05-23 17:05:01

c语言 for的多重循环是怎么一回事啊 能给小弟详细讲解以下吗

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

语句:

表达式1 通常用来给循环变量赋初值,一般是赋值表达式。也允许在for语句外给循环变量赋初值,此时可以省略该表达式。

表达式2 通常是循环条件,一般为关系表达式或逻辑表达式。

表达式3 通常可用来修改循环变量的值,一般是赋值语句。

这三个表达式都可以是逗号表达式, 即每个表达式都可由多个表达式组成。三个表达式都是任选项,都可以省略。

一般形式中的“语句”即为循环体语句。for语句的语义是:

1.首先计算表达式1的值。

2.再计算表达式2的值,若值为真(非0)则执行循环体一次, 否则跳出循环。

3.然后再计算表达式3的值,转回第2步重复执行。在整个for循环过程中,表达式1只计算一次,表达式2和表达式,3则可能计算多次。循环体可能多次执行,也可能一次都不执行。for 语句的执行过程如图所示。

void main(){
int n,s=0;
for(n=1;n<=100;n++)
s=s+n;
printf("s=%d\n",s);
}

用for语句计算s=1+2+3+...+99+100

int n,s=0;
for(n=1;n<=100;n++)
s=s+n;
printf("s=%d\n",s);

本例for语句中的表达式3为n++,实际上也是一种赋值语句,相当于n=n+1,以改变循环变量的值。

void main(){
int a=0,n;
printf("\n input n: ");
scanf("%d",&n);
for(;n>0;a++,n--)
printf("%d ",a*2);
}

用for语句修改例题。从0开始,输出n个连续的偶数。

int a=0,n;
printf("\n input n: ");
scanf("%d",&n);
for(;n>0;a++,n--)
printf("%d ",a*2);

本例的for语句中,表达式1已省去,循环变量的初值在for语句之前由scanf语句取得,表达式3是一个逗号表达式,由a++,n-- 两个表达式组成。每循环一次a自增1,n自减1。a的变化使输出的偶数递增,n的变化控制循次数。

在使用for语句中要注意以下几点

1.for语句中的各表达式都可省略,但分号间隔符不能少。如:for(;表达式;表达式)省去了表达式1。for(表达式;;表达式)省去了表达式2。

for(表达式;表达式;)省去了表达式3。for(;;)省去了全部表达式。

2.在循环变量已赋初值时,可省去表达式1,如例3.27即属于这种情形。如省去表达式2或表达式3则将造成无限循环, 这时应在循环体内设法结束循环。例题即属于此情况。

void main(){
int a=0,n;
printf("\n input n: ");
scanf("%d",&n);
for(;n>0;)
{ a++;n--;
printf("%d ",a*2);
}
} int a=0,n;
printf("\n input n: ");
scanf("%d",&n);
for(;n>0;)
{ a++;n--;
printf("%d ",a*2);
}

本例中省略了表达式1和表达式3,由循环体内的n--语句进行循环变量n的递减,以控制循环次数。

void main(){
int a=0,n;
printf("\n input n: ");
scanf("%d",&n);
for(;;){
a++;n--;
printf("%d ",a*2);
if(n==0)break;
}
}
int a=0,n;
printf("\n input n: ");
scanf("%d",&n);
for(;;){
a++;n--;
printf("%d ",a*2);
if(n==0)break;
}

本例中for语句的表达式全部省去。由循环体中的语句实现循环变量的递减和循环条件的判断。当n值为0时,由break语句中止循环,转去执行for以后的程序。在此情况下,for语句已等效于while( 1)语句。如在循环体中没有相应的控制手段,则造成死循环。

3.循环体可以是空语句。

#include"stdio.h"
void main(){
int n=0;
printf("input a string:\n");
for(;getchar()!='\n';n++);
printf("%d",n);
}

本例中,省去了for语句的表达式1,表达式3也不是用来修改循环变量,而是用作输入字符的计数。这样, 就把本应在循环体中完成的计数放在表达式中完成了。因此循环体是空语句。应注意的是,空语句后的分号不可少,如缺少此分号,则把后面的printf 语句当成循环体来执行。反过来说,如循环体不为空语句时, 决不能在表达式的括号后加分号, 这样又会认为循环体是空语句而不能反复执行。这些都是编程中常见的错误,要十分注意。

4.for语句也可与while,do-while语句相互嵌套,构成多重循环。以下形成都合法的嵌套。

(1)for(){…
while()
{…}

}
(2)do{

for()
{…}

}while();
(3)while(){

for()
{…}

}
(4)for(){

for(){

}
}
void main(){
int i,j,k;
for(i=1;i<=3;i++)
{
for(j=1;j<=3-i+5;j++)
printf(" ");
for(k=1;k<=2*i-1+5;k++)
{
if(k<=5) printf(" ");
else printf("*");
}
printf("\n");
}
}

❷ C语言中for循环怎么理解

for循环是编程语言中一种开界的循环语句,而循环语句由循环体及循环的终止条件两部分组成,for循环一般形式为:for(单次表达式;条件表达式;末尾循环体){中间循环体;}。

执行的中间循环体可以为一个语句,也可以为多个语句,当中间循环体只有一个语句时,其大括号{}可以省略,执行完中间循环体后接着执行末尾循环体 。执行末尾循环体后将再次进行条件判断,若条件还成立,则继续重复上述循环,当条件不成立时则跳出当下for循环。

for循环实例:

# include <stdio.h>

int main(void)

{int n = 0;

int i = 0;

int m = 1;

int sum=0;

printf("请输入n的值:");

scanf("%d", &n);

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

m = m * i;

sum = sum +m;}

printf ("sum = %d ", sum);

return 0;}

假如 n=4,当 i=1 时,m=1,sum=1。当 i=2 时,m=1×2,sum=1+1×2。当 i=3 时,m=1×2×3,sum=1+1×2+1×2×3。当 i=4 时,m=1×2×3×4sum=1+1×2+1×2×3+1×2×3×4。

(2)c语言4个for循环讲解扩展阅读

for循环注意事项:

1、for循环的代码不仅可以写一句,也可以写多句(保证第二部分的返回值是布尔值)

2、for循环的三个部分都可以省略。第一部分省略表示不初始化;第二部分省略表示不判断,默认值为true;第三部分省略表示省略后什么也不执行。

3、小循环在外,大循环在内、

4、如果for循环有条件判断,可以将条件放到for循环外。

5、for循环中的"单次表达式"、"条件表达式"和"循环体语句"都是选择项, 即可以缺省成只剩下“;”的空语句, ";"不能缺省的原因是编译格式如此,缺省了编译器不认识而会报错。

❸ 关于c语言for循环里有4个表达式该怎么理解,程序如下:

1.相当于
for(i=0;i<10;i++,)
{ printf("%d"前庆慎慧敬,p++);
p++;}
你原来的理解也可以

2.printf("%d",p++);相当于:

printf("%d"差孙,p);

p++;

❹ C语言4种循环语句用法

C语言循环语句用法有三种主要形式:
for()循环
while()循环
do
{}
while();循环
for()循环用法:
for( e1 ; e2 ; e3 ) //注意三个区域间用分号来分隔,而不是逗号!!
{
for_statements ; //多条语句用{}括起来,单条语句可以不用,建议也使用,一:代码清楚,二:便于查错。 其它循环也是这样。
}
//说明:
//e1:变量初始化区,只执行一次
//e2:循环控制区,每次都要先检查e2表达式的结果是否为真,为真则进入循环区,否则,结束循环
//e3:循环变量变化区,每次执行完for_statements ;则转到这里,执行e3,然后转到e2
例:
int i;
for( i=0; i<10; i++ )
{
printf("%d ", i );
}
while()循环用法:
循环控制变量初始化
while(e)
{
while_statements ; //包括循环控制变量 变化
}
//说明:
//e 循环控制条件,e为真则进入循环区,否则,结束循环 执行完while_statements ;后转到这里继续判断
例:
int i;
i=0;
while( i<10 )
{
printf("%d ", i );
i++; //循环控制变量变化
}
do
{}
while();循环用法:
do {
do_while_statements ; //包括循环控制变量 变化
} while(e); //注意尾部有分号
//说明:
//与while()不同的是,这里可以没有循环变量的初始化,先进行循环语句的操作,然后,再判断是否继续进行,所以,这种循环,至少要执行一次do_while_statements ;而前两种,有可能一次都不执行循环语句。
例:
int i;
do {
printf("input number " );
scanf("%d", &i ); //循环控制变量 变化
printf("%d\n", i );
} while ( i<10 );
到这里,一定能得到一个大于10的i. 一般我们在要求输入一个数据必须符合规定时,这样写代码。

❺ c语言中的for循环是怎么理解的能够具体一点更好理解

展开全部
for.
循环里必须有两个分号,for(1;2;3)
.1表示初值,2表示循环条件,3表示步长。
for后跟一条语句,如果有多条需用
大括号
,该语句称为
循环体
,第一次循环执行1-2-4(循环体)-3,以后执行2-4-3直到循环结束。

❻ C语言for循环的使用和讲解有哪些

for(表达式1;表达式2;表达式3)
{
内容
}
比如
for(int i=0;i<100;i++)
{
sum=sum+i
}
意思是先定义一个整型i给他赋初值0,在判断i是否小于100,是的话执行sum=sum+1;之后i在加1;一直循环到i>=100的时候这个循环就结束了。

❼ C语言for循环的使用和讲解,希望详细点,初学者

c有四种循环方式
for,while,do-while,goto

一、for,这个最灵活
for(表达式1;表达式2;表达式3)
循环体
1、表达式1:一般是初始化变量用的。这个只运行一次,在进入for的时候
2、表达式2:一般是一个逻辑判断表达式,也可以是别的,他的作用是如果这个表达式返回值是非零,那么进入循环,是零,则退出循环。
这个一定是最后运行,如果是零,就退出循环。

3、表达式3:一般是改变循环条件用的,要不然无法退出循环
4、循孝滑环体,就是要做的事情了。注意的是只能是一句话,如果多句,要用{}括起来,当成一句话
注意:
1、这四个地方可以都有,也可以都没有,也可以由任意的一项两项三项
2、这个for是个不完整的句子,不能在后面加分号,否则就是空循环了,因为他只管后面一句话的循环体纯掘,如果加了分号,那么这个分号就是一句话了,所以说是空循环
3、运算顺序,先表达式1,初始化变量;再表达式2,判断是否进入循环;接着是循环体,进行相关运算;接着是表达式3,改变循环条件;接着是表达式2,判断是否进入循环,如果是零,则结束循环。
4、因为表达式3在表达式2前面运行,那么退出循环的时候,控制循环的变量的值根据表达式2来确定。
如for(i=0;i<9;i++)
s+=i;
那么退出循环后,i的值是9,因为9不满足i<9这个表达式退出循环,而不是8
这里是需要注意的

二、while
表达式1

while(表达式2)
{ 循环体;
表达式3}

几个表达式的意思和for相同,不多说了
注意:
while后面不能有分号,因为while不是一个完整的句子

三、do--while
表达式1
do{
循环体;
表达式3

}while(表达式2);
几个表达式的意思和for相同,不多说了
注意:
1、while后面必须有分号
2、这个循环至少运行一次

四、goto
表达式1
标记:
循环体
表达式3
if(表达式2)
goto 标记
几个表达式的意思和for相同,不多说了

注意:
1、标记:可以是一做慎核个字符串,不是变量,常量,后面有一个冒号

2、goto后面的标记不能有冒号,以分号结尾,是一句话

这就是循环的四种方式,for最好用,也最容易出错

❽ C语言for循环详细讲解

一般情况下for循环里包含3条语句,第一句是为循环变量赋初始值值,第二句是循环条件,第三句是给循环变量重新赋值,例如:
for(i=0;i<num;i++){
//
}
这个循环的循环变量是i,i的初始值是0,循环条件是i<num,i以自增的方式赋新值,也可以写出i+=10,即i=i+10。就拿上面这个例子来说,执行的过程是先给给i赋初值,再判断i是否小于num,若是则执行for循环里的语句,执行完之后再执行i++,然后再判断i是否小于num,若是则仍执行for循环里的语句,否则退出循环。

❾ C语言中for循环怎么理解

for循环是编程语言中一种开界的循环语句,而循环语句由循环体及循环的终止条件两部分组成,for循环一般形式为:for(单次表达式;条件表达式;末尾循环体){中间循环体;}。

执行的中间循环体可以为一个语句,也可以为多个语句,当中间循环体只有一个语句时,其大括号{}可以省略,执行完中间循环体后接着执行末尾循环体 。执行末尾循环体后将再次进行条件判断,若条件还成立,则继续重复上述循环,当条件不成立时则跳出当下for循环。

for循环实例:

# include <stdio.h>

int main(void)

{int n = 0;

int i = 0;

int m = 1;

int sum=0;

printf("请输入n的值:");

scanf("%d", &n);

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

m = m * i;

sum = sum +m;}

printf ("sum = %d ", sum);

return 0;}

假如 n=4,当 i=1 时,m=1,sum=1。当 i=2 时,m=1×2,sum=1+1×2。当 i=3 时,m=1×2×3,sum=1+1×2+1×2×3。当 i=4 时,m=1×2×3×4sum=1+1×2+1×2×3+1×2×3×4。

(9)c语言4个for循环讲解扩展阅读

for循环注意事项:

1、for循环的代码不仅可以写一句,也可以写多句(保证第二部分的返回值是布尔值)

2、for循环的三个部分都可以省略。第一部分省略表示不初始化;第二部分省略表示不判断,默认值为true;第三部分省略表示省略后什么也不执行。

3、小循环在外,大循环在内、

4、如果for循环有条件判断,可以将条件放到for循环外。

5、for循环中的"单次表达式"、"条件表达式"和"循环体语句"都是选择项, 即可以缺省成只剩下“;”的空语句, ";"不能缺省的原因是编译格式如此,缺省了编译器不认识而会报错。

❿ C语言for循环嵌套讲解

循环的过程是先执行第一个大循环for(i=0;i<3;i++),此句中先给i赋值0,在判断条件i<3是否成立赋值后的i=0了,所以条件成立,成立则做下面一条语句,就是for(j=0;j<4;j++),同样这个循环还是先赋值j=0,在进行判断j<4是否成立,成立就再做下一句。
此时scanf语句后面已经没有语句了,所以程序就会跳上去到第二个循环中,即for(j=0;j<4;j++)这句话中,可能你会问为什么不是第一句
(因为在循环嵌套中只有循环体执行完成所以的任务后才执行下面的语句,就是for(j=0;j<4;j++)
要全部执行完毕才能执行后面的语句。即j<4条件为假时跳出)跳到for(j=0;j<4;j++)这个循环体以后。就会自动加一,就是执行j++(注:在这个for里面的j=0不再执行),这个赋值过程只在开始时执行。所以
j
这个循环要执行到条件不满足时停止,即最后j的值要>=4.。
这样
j
这个循环就结束了。结束后又跳到了第一句。因为第二个for是包含在第一个for
里的。只有第一个for
里包含的语句全部执行完后第一个for就再一次执行i++,i
变成了2,判断条件i<3成立,就再执行下一句,所以下面的for(j=0;j<4;j++)又要再一次执行。执行完后就在回到第一个for执行。
原理:
i=0,j
执行4次,给a[0][0],a[0][1],a[0][2],a[0][3]赋值
i=1,j
执行4次,给a[1][0],a[1][1],a[1][2],a[1][3]赋值
i=2,j
执行4次,给a[2][0],a[2][1],a[2][2],a[2][3]赋值
i=3跳出.
还有不懂再问