找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索

新手学c51单片机编程有个疑问?求各位老师给小弟一点指导,谢谢

查看数: 1818 | 评论数: 15 | 收藏 0
关灯 | 提示:支持键盘翻页<-左 右->
    组图打开中,请稍候......
发布时间: 2018-9-30 18:51

正文摘要:

首先,程序第一步a>0,于是就循环,当程序走到s=s+i,也就是s=0+100=100,相当于现在s=100了,然后执行下一段,也就是i=i-1,也就是i=99了,那么,程序又一个循环,又到s=s+i,那么,现在的i值刚被减过一次了 ...

回复

ID:404479 发表于 2018-10-1 13:07
谢谢大家,你们真的一说,我全懂了!
ID:404479 发表于 2018-10-1 13:05
David---xin 发表于 2018-10-1 09:56
循环的判断条件是i>0,当i=1时进入最后一次的循环,此时注意是先进行s=s+i,再进行i=i-1,故前面s=0+100+99+.. ...

谢谢你
ID:404479 发表于 2018-10-1 13:05
丨释然丶居士灬 发表于 2018-9-30 23:25
起初s=s+i=100,i=i-1=99,下一次循环s=100+99,再下一次循环s=100+99+98,一直运行直到最后s=100+99+98+.. ...

谢谢你
ID:404479 发表于 2018-10-1 13:05
diy1997 发表于 2018-9-30 21:34
不知道你想表达什么。

1怎么来的?

谢谢你
ID:404479 发表于 2018-10-1 13:04
znz43a 发表于 2018-9-30 20:41
i=i-1,当减至i=1时,循环依然执行,s=s+1。再执行i=i-1时,i=0跳出循环。
所以s=0+100+99+98+........+2+ ...

谢谢,我懂了!
ID:404479 发表于 2018-10-1 13:04
hbnpmw 发表于 2018-9-30 20:58
1+....100=5050,那么100+....1=5050同样是成立的啊。0+100,100+99,199+98,看到没?加号后边的数是从100 ...

谢谢你,我弄懂了!
ID:404576 发表于 2018-10-1 09:56
循环的判断条件是i>0,当i=1时进入最后一次的循环,此时注意是先进行s=s+i,再进行i=i-1,故前面s=0+100+99+....+1
ID:386381 发表于 2018-10-1 08:39
这个确实有点绕,仿真调试一下,一步一步来
ID:187614 发表于 2018-10-1 07:06
单步调试一下,什么都明白了,别想像了。
ID:277550 发表于 2018-10-1 01:58

~~~~~~~~~~~~~
为何不是呢,把每一步的s打印出来,和i也打印出来,对比就知道了
ID:315599 发表于 2018-9-30 23:25
起初s=s+i=100,i=i-1=99,下一次循环s=100+99,再下一次循环s=100+99+98,一直运行直到最后s=100+99+98+...+2+1,你把这一大串式子倒过来看s=1+2+...+99+100是不是图中printf中打印的????
ID:315599 发表于 2018-9-30 23:24
起初s=s+i=100,i=i-1=99,下一次循环s=100+99,再下一次循环s=100+99+98,一直运行直到最后s=100+99+98+...+2+1,你把这一大串式子倒过来看s=1+2+...+99.+
ID:310519 发表于 2018-9-30 21:34
不知道你想表达什么。

1怎么来的?

i =100;  当i>0时,会一直执行 i =i -1;

当减到 i =2 时, i = i - 1 =1, 就是这么来的......
ID:277374 发表于 2018-9-30 20:58
1+....100=5050,那么100+....1=5050同样是成立的啊。0+100,100+99,199+98,看到没?加号后边的数是从100一直减小到1的。明白了么?程序计算过程正好与打印信息反着的
ID:378182 发表于 2018-9-30 20:41
i=i-1,当减至i=1时,循环依然执行,s=s+1。再执行i=i-1时,i=0跳出循环。
所以s=0+100+99+98+........+2+1=5050

手机版|小黑屋|51黑电子论坛 |51黑电子论坛6群 QQ 管理员QQ:125739409;技术交流QQ群281945664

Powered by 单片机教程网

快速回复 返回顶部 返回列表