章节
问答
课签
笔记
评论
占位
占位

循环结构之for循环(二)

在for循环中,表达式1是一个或多个赋值语句,它用来控制变量的初始值表达式2是一个关系表达式,它决定什么时候退出循环;表达式3是循环变量的步进值,定义控制循环变量每循环一次后按什么方式变化。这三部分之间用分号(;)分开

使用for语句应该注意

1、for循环中的“表达式1、2、3”均可可以缺省,但分号(;)不能缺省

2、省略“表达式1(循环变量赋初值)”,表示不对循环变量赋初始值。如:

3、省略“表达式2(循环条件)”,不做其它处理,循环一直执行(死循环)。如:

4、省略“表达式3(循环变量增量)”,不做其他处理,循环一直执行(死循环)。如:

注:死循环可以使用后面即将讲到的break解决

5、表达式1可以是设置循环变量的初值的赋值表达式,也可以是其他表达式。如:

6、表达式1和表达式3可以是一个简单表达式也可以是多个表达式以逗号分割。如:

运行结果为

7、表达式2一般是关系表达式或逻辑表达式,但也可是数值表达式或字符表达式,只要其值非零,就执行循环体。

8、各表达式中的变量一定要在for循环之前定义。如:

任务

输出所有水仙花数字。

所谓“水仙花数”是指一个三位数,其各位数字立方和等于该数,如:153就是一个水仙花数,153=1*1*1+5*5*5+3*3*3。

在代码编辑器中:

第7、10、12、14、16行完善代码

运行结果为

?不会了怎么办

1、循环条件是不是应该从100开始循环知道1000结束?

2、判断是不是水仙花数的条件是什么?

3、参考代码:

||
1
#include <stdio
    .h>
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
提交
重置代码
||

请验证,完成请求

由于请求次数过多,请先验证,完成再次请求

加群二维码

打开微信扫码自动绑定

您还未绑定服务号

绑定后可得到

  • · 粉丝专属优惠福利
  • · 大咖直播交流干货
  • · 课程更新,问题答复提醒
  • · 账号支付安全提醒

收藏课程后,能更快找到我哦~

使用 Ctrl+D 可将课程添加到书签

邀请您关注公众号
关注后,及时获悉本课程动态

举报

0/150
提交
取消
全部 精华 我要发布

最新回答 / AI小慕
解答 关于 if 中使用 == 而不是 = 的原因 在 C 语言中,= 是赋值操作符,用于将一个值赋给一个变量。例如,x = 5; 将整数 5 赋值给变量 x。 而 == 是比较操作符,用于比较两个值是否相...

最新回答 / AI小慕
根据你的描述,你在学习C语言的for循环时遇到了一个问题,关于第七个例子中的for循环的表达式2为什么与上1 (num &语言中= 3 &一般形式&下: < sum &(表达= 5 &2; 表&式3)  1;)。这个问题的核心在于理解for循环的三个...

最新回答 / AI小慕
你的代码中存在几个关键问题,主要是关于如何正确地从一个三位数中提取百位、十位和个位数字的方法。你当前的计算方法是不正确的。正确的做法应该使用除法和取模运算来分别获取这三个位...

最新回答 / qq_慕斯卡6092036
????

最新回答 / 小机灵鬼er
在for循环里定义一个变量并初始化,这个变量有可能是为了做循环限制而定义的,而此时变量只做为for循环的局部变量。循环结束后就不能再使用i这个变量。这是C99规定了一种新的for循环语法,这种语法也是从C++借鉴的,考虑到兼容性不建议使用这种写法。

最新回答 / weixin_慕移动8172792
死循环了吧 goto loop位置是不是写到循环前面了

已采纳回答 / DKLost
num =< 1000 num <= 1000

最新回答 / weixin_慕移动0098203
因为中间还会有无数个小数,你可以给他增加一个限制,只有整数就可以了

最新回答 / weixin_慕沐8475785
第13行你打成了“num--hd......”,应该是num==“后续内容”,你现在的代码就是在每次++之后又在循环体里--了,所以会死循环

最新回答 / 慕九州3242935
num/100 除了之后取的是整数商,比如5/3=1num%100 除了之后取的是余数,比如6%4=2

最新回答 / zbw须臾zbw
一个=号是赋值运算符,两个等号是关系运算符

最新回答 / weixin_慕仰6374546
#include <stdio.h>int main(){    //定义三位数num,个位数sd,十位数td,百位数hd    int num, sd, td, hd;    //循环所有三位数    for(   num=100  ;  num<1000   ;    num++  )    {        //获取三位数字num百位上的数字        hd =  num/100               ;        //获取三位数字num十位上的数字        t...

最新回答 / linksphoto
因为你的i没有设置初始值 所以就 不对循环变量

最新回答 / 孤独的笨蛋爱闲逛
#include <stdio.h>int main(){    //定义四位数num,个位数sd,十位数td,百位数hd,千位数rd    int num, sd, td, hd, rd;    //循环所有四位数    for (num = 1000; num < 10000; num++)    {        //获取四位数字num千位上的数字        rd = num / 1000;        //获取四位数字num百位上的数字        hd = num % ...
全部 我要发布
最热 最新
只看我的

本次提问将花费2个积分

你的积分不足,无法发表

为什么扣积分?

本次提问将花费2个积分

继续发表请点击 "确定"

为什么扣积分?

账号登录 验证码登录

遇到问题
忘记密码

代码语言