c语言for语句中的条件问题
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了c语言for语句中的条件问题相关的知识,希望对你有一定的参考价值。
仔细看(1)(2)(3)(4)(5)这样,你应该能了解了吧。c语言中的for循环语句使用最为灵活,不仅可以用于循环次数已经确定的情况,而且可以用于循环次数不确定而只给出循环结束条件的情况,它完全可以代替while语句.for(表达式
1;表达式
2;表达式
3)语句
它的执行过程如下:
(1)先求表达式
1.
(2)求表达式2,若其值为真(值为非0),则执行for语句中指定的内嵌语句,然后执行下面第三步
做若为假(值为0),则结束循环,转到第5步.
(3)求解表达式3
(4)转回上面第(2)步骤继续执行;
(5)结束循环,执行for语句下面的一个语句;
for(循环变量赋初值;循环条件;循环变量增值)语句
如
for(i=1;i<=100;i++)sum=sum+i;
它的执行相当于
i=1;
while(i<=100)
sum=sum+i;
i++;
显然,用for语句更简单、方便。
说明:
(1)for语句的一般形式中的"表达式1"可以省略,此时应在for语句之前给循环变量赋初值.注意省略表达式1时,其后的分号不能省略.如for(;i<=100;i++)....;
(2)如果表达式2省略
即不判断循环条件,循环无终止地循环下去,也就是认为表达式2始终为真.
例如:for(i=1;;i++).....;
相当于i=1;
while(1)
sum=sum+1;
i++;
(3)表达式3也可以省略,但此时程序设计者应另外设法保证循环能正常结束.如:
for(i=1;i<=100;)
sum=sum+1;
i++;
这个例子的循环增量没有放在表达式三的位置
而是作为循环体的一部分
其效果是一样的.
(4)可以省略表达式1和表达式3,只有表达式2
即只给循环条件.
如for(;i<=100;)
sum=sum+i;
i++;
这个相当于
whlie(i<=100)
sum=sum+i;
i++;
(5)三个表达式都可以省略,如:
for(;;)语句
相当于
while(1)语句
即不设初值
不判断条件(认为表达式2为真值)循环变量不增值,无终止的执行循环体.
(6)表达式1也可以是设置循环变量初值的赋值表达式,也可以是与循环变量无关的其他表达式.如:
for(sum=0;i<=100;i++)
sum=sum+i;
for(sum=0,i=0;i<=100;i++)
sum=sum+i;
等等写法. 参考技术A 1、for是C语言中的一个关键字,主要用来控制循环语句的执行。
2、举例说明for语句的使用方法:
int i;
for(i=0; i<3; i++)
// i=0是初始化部分;i<3是循环判断条件部分(当满足此条件时才进入执行for循环中的语句);i++是执行完循环体语句后的操作
printf("HelloWorld");
// 上面的for语句就是控制输出3次HelloWorld本回答被提问者采纳
C语言中for循环怎么理解?
比如:
for(i=0;i<10;i++)
a+=i;
是怎么循环的,详解。
for循环是编程语言中一种开界的循环语句,而循环语句由循环体及循环的终止条件两部分组成,for循环其在各种编程语言中的实现与表达有所出入,但基本为以C语言和pascal语言代表的两种形式。
程序解读:
开始i=0,i<10,执行for循环的内部语句,然后回到i++,i=2,i<10,执行for循环的内部语句,……,直到i++后变成11,11<10,不成立,返回0,循环结束。
扩展资料:
注意事项
1、for循环中的变量可以是一个也可以是多个,不要局限于一个变量处理到底,那样有时会很单调,当程序适合把多个变量组成循环时,用多个for语句来表示就是有些浪费了!
2、for循环中语句可以为语句体, 语句体外加大括号""将参加循环的语句括起来。 for循环的三个表达式都是逗号表达式,这样来说,其实每个分号表达式可以由几个逗号表达式构成,中间用",”隔开,最后以“;”结束。
3、 for循环中的"单次表达式"、"条件表达式"和"循环体语句"都是选择项, 即可以缺省成只剩下“;”的空语句, ";"不能缺省的原因是编译格式如此,缺省了编译器不认识而会报错。
省略了用来初始化的单次表达式时, 表示不对循环控制变量赋初值。
省略了条件表达式, 若不做其它处理则成为死循环。
省略了所有循环体, 则for语句不被其它形式处理时不产生任何作用。
参考资料:for循环–百度百科
参考技术Afor循环是编程语言中一种开界的循环语句,而循环语句由循环体及循环的终止条件两部分组成,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\\n", 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。
扩展资料
for循环注意事项:
1、for循环的代码不仅可以写一句,也可以写多句(保证第二部分的返回值是布尔值)
2、for循环的三个部分都可以省略。第一部分省略表示不初始化;第二部分省略表示不判断,默认值为true;第三部分省略表示省略后什么也不执行。
3、小循环在外,大循环在内、
4、如果for循环有条件判断,可以将条件放到for循环外。
5、 for循环中的"单次表达式"、"条件表达式"和"循环体语句"都是选择项, 即可以缺省成只剩下“;”的空语句, ";"不能缺省的原因是编译格式如此,缺省了编译器不认识而会报错。
参考资料来源:百度百科——for循环
参考技术B以题目中的程序为例子:
for(i=0;i<10;i++)
a+=i;
for循环里面的三个参数为三个表达式:
第一个控制表达式”i=1“在循环开始时执行,且只执行一次。
第二个控制表达式必须是一个逻辑表达式,且在每次循环迭代开始重复前计算。
第三个控制表达式”i++“在每一次循环迭代结束时执行。
只有第二个逻辑表达式为真时,语句块内的语句才执行。
扩展资料:
for循环是编程语言中一种开界的循环语句,而循环语句由循环体及循环的终止条件两部分组成,for循环其在各种编程语言中的实现与表达有所出入,但基本为以C语言和pascal语言代表的两种形式。
第一个是初始化,第二个是条件语句,第三个是自处理语句;
循环时第一个语句只使用一次,然后判断是否满足第二个语句,满足则进入循环体运行a+=i,然后i自加1,再判断是否满足第二个语句,满足则进入循环体运行a+=i,一直到i不满足i<10了,循环跳出。
开始时,i=0,开始循环。假设a初始化为0,
第一步:a+=i;然后i++,a=0,i变成1,1<10,继续循环;
第二步:a+=i;然后i++,a=1,i变成2,2<10,继续循环;
。。。
第九步:a+=i;然后i++,a=36,i变成9,9<10,继续循环;
第十步:a+=i;然后i++,a=45,i变成10,10<10不成立,循环结束追问
每一次循环是上一次循环结果累加的吗?
追答这里有+=这个符合运算符啊,a +=i就是 a = a+i, 你先了解一下吧
本回答被提问者采纳 参考技术D1、for是C语言中的一个关键字,主要用来控制循环语句的执行。
2、下面举例说明for语句的使用方法:
for(i=0; i<3; i++)
// i=0是初始化部分;i<3是循环判断条件部分(当满足此条件时才进入执行for循环中的语句);i++是执行完循环体语句后的操作
printf("HelloWorld");
// 上面的for语句就是控制输出3次HelloWorld
以上是关于c语言for语句中的条件问题的主要内容,如果未能解决你的问题,请参考以下文章
c语言中while 、for、switch、case的用法?