
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; <br>i++; <br>}(3)表达式3也可以省略,但此时程序设计者应另外设法保证循环能正常结束如:
for(i=1;i<=100;)
{sum=sum+1; <br>i++; <br>}这个例子的循环增量没有放在表达式三的位置 而是作为循环体的一部分 其效果是一样的
(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;
}
#include <stdioh>//少头文件引用
void main() // 不打算返回值,要写void
{
int mark, n = 0, sum = 0;
int max = 0 , min = 100;
for( ; ; )// 行尾多了个分号
{
scanf("%d", &mark); //参数应该是mark的地址
if ( mark == -999 ) break; //比较 *** 作符是==
if ( mark > 100)
{
printf("mark>100, Reinput!\n");
continue;//break; 只是不计录,不应中断
}
if ( mark < 0)// 小于0时也要判断呀
{
printf("mark<0, Reinput!\n");
continue;
}
n++; sum += mark;
if ( mark>max )
max = mark;//少分号
//else min = mark; 显然逻辑不对
if (mark < min)
min = mark;
}
sum /= n; // 这里是求平均数吧, 应该用/=
printf("%d,%d,%d,%d\n", max,min,n,sum);
}
分类: 电脑/网络 >> 程序设计 >> 其他编程语言
问题描述:
最好在今天晚上能有答案
解析:
int i,sum=0;
for(i=0;i<11;i++)
sum+=i;
printf("sum=%d\n",sum);
计算sum=1+2++9+10
分析
定义整型 i 用来做循环计数,sum=0表示sum值等于0
如果i小于11 那么i就自动+1 运行下面的语句:
sum+=i;表示sum=sum+1 意思是累加sum的值
printf("sum=%d\n",sum);表示输出sum=的值
选我,选我哈哈楼上的不好意思!
循环指令共有两条:循环区起点指令FOR,编号为FNC08,占3个程序步;循环结束指令NEXT,编号为FNC09,占用1个程序步,无 *** 作数。在程序运行时,位于FOR~NEXT间的程序反复执行n次(由 *** 作数决定)后再继续执行后续程序。循环的次数n=1~32767。如果N=-32767~0之间,则当作n=1处理。使用循环指令时应注意:1)FOR和NEXT必须成对使用;2)FX2N系列PLC可循环嵌套5层;3)在循环中可利用CJ指令在循环没结束时跳出循环体;4)FOR应放在NEXT之前,NEXT应在FEND和END之前,否则均会出错。例子:1)[C]的程序执行4次,向NEXT指令3以后的程序转移2)在[C]的程序执行1次期间,如果数据寄存器D0Z的内容为6,则[B]的程序执行6次;因此,[B]的程序总共执行24次。3)不执行FOR~NEXT的程序时,利用Cj指令实现跳转 (X010=ON) X010断开时,如果K1X000的内容为7,在[B]的程序执行1次时,[A]的程序执行7次,总共执行 4×6×7=168次
#include"stdioh"
#include"conioh"
main()
{ int i,n,sum=0;
printf("input n:");
scanf("%d",&n);
for(i=1;i<=n;i++)
{
sum=sum+i;
}
printf("1+2+ +%d=%d",n,sum);
getch();
}
以上就是关于一个c语言中for循环的例题全部的内容,包括:一个c语言中for循环的例题、用for编程序、用C语言for语句编出一条程序等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!
欢迎分享,转载请注明来源:内存溢出
微信扫一扫
支付宝扫一扫
评论列表(0条)