找回密碼
 立即注冊(cè)

QQ登錄

只需一步,快速開(kāi)始

搜索

新手學(xué)c51單片機(jī)編程有個(gè)疑問(wèn)?求各位老師給小弟一點(diǎn)指導(dǎo),謝謝

查看數(shù): 2703 | 評(píng)論數(shù): 15 | 收藏 0
關(guān)燈 | 提示:支持鍵盤(pán)翻頁(yè)<-左 右->
    組圖打開(kāi)中,請(qǐng)稍候......
發(fā)布時(shí)間: 2018-9-30 18:51

正文摘要:

首先,程序第一步a>0,于是就循環(huán),當(dāng)程序走到s=s+i,也就是s=0+100=100,相當(dāng)于現(xiàn)在s=100了,然后執(zhí)行下一段,也就是i=i-1,也就是i=99了,那么,程序又一個(gè)循環(huán),又到s=s+i,那么,現(xiàn)在的i值剛被減過(guò)一次了 ...

回復(fù)

ID:404479 發(fā)表于 2018-10-1 13:07
謝謝大家,你們真的一說(shuō),我全懂了!
ID:404479 發(fā)表于 2018-10-1 13:05
David---xin 發(fā)表于 2018-10-1 09:56
循環(huán)的判斷條件是i>0,當(dāng)i=1時(shí)進(jìn)入最后一次的循環(huán),此時(shí)注意是先進(jìn)行s=s+i,再進(jìn)行i=i-1,故前面s=0+100+99+.. ...

謝謝你
ID:404479 發(fā)表于 2018-10-1 13:05
丨釋然丶居士灬 發(fā)表于 2018-9-30 23:25
起初s=s+i=100,i=i-1=99,下一次循環(huán)s=100+99,再下一次循環(huán)s=100+99+98,一直運(yùn)行直到最后s=100+99+98+.. ...

謝謝你
ID:404479 發(fā)表于 2018-10-1 13:05
diy1997 發(fā)表于 2018-9-30 21:34
不知道你想表達(dá)什么。

1怎么來(lái)的?

謝謝你
ID:404479 發(fā)表于 2018-10-1 13:04
znz43a 發(fā)表于 2018-9-30 20:41
i=i-1,當(dāng)減至i=1時(shí),循環(huán)依然執(zhí)行,s=s+1。再執(zhí)行i=i-1時(shí),i=0跳出循環(huán)。
所以s=0+100+99+98+........+2+ ...

謝謝,我懂了!
ID:404479 發(fā)表于 2018-10-1 13:04
hbnpmw 發(fā)表于 2018-9-30 20:58
1+....100=5050,那么100+....1=5050同樣是成立的啊。0+100,100+99,199+98,看到?jīng)]?加號(hào)后邊的數(shù)是從100 ...

謝謝你,我弄懂了!
ID:404576 發(fā)表于 2018-10-1 09:56
循環(huán)的判斷條件是i>0,當(dāng)i=1時(shí)進(jìn)入最后一次的循環(huán),此時(shí)注意是先進(jìn)行s=s+i,再進(jìn)行i=i-1,故前面s=0+100+99+....+1
ID:386381 發(fā)表于 2018-10-1 08:39
這個(gè)確實(shí)有點(diǎn)繞,仿真調(diào)試一下,一步一步來(lái)
ID:187614 發(fā)表于 2018-10-1 07:06
單步調(diào)試一下,什么都明白了,別想像了。
ID:277550 發(fā)表于 2018-10-1 01:58

~~~~~~~~~~~~~
為何不是呢,把每一步的s打印出來(lái),和i也打印出來(lái),對(duì)比就知道了
ID:315599 發(fā)表于 2018-9-30 23:25
起初s=s+i=100,i=i-1=99,下一次循環(huán)s=100+99,再下一次循環(huán)s=100+99+98,一直運(yùn)行直到最后s=100+99+98+...+2+1,你把這一大串式子倒過(guò)來(lái)看s=1+2+...+99+100是不是圖中printf中打印的????
ID:315599 發(fā)表于 2018-9-30 23:24
起初s=s+i=100,i=i-1=99,下一次循環(huán)s=100+99,再下一次循環(huán)s=100+99+98,一直運(yùn)行直到最后s=100+99+98+...+2+1,你把這一大串式子倒過(guò)來(lái)看s=1+2+...+99.+
ID:310519 發(fā)表于 2018-9-30 21:34
不知道你想表達(dá)什么。

1怎么來(lái)的?

i =100;  當(dāng)i>0時(shí),會(huì)一直執(zhí)行 i =i -1;

當(dāng)減到 i =2 時(shí), i = i - 1 =1, 就是這么來(lái)的......
ID:277374 發(fā)表于 2018-9-30 20:58
1+....100=5050,那么100+....1=5050同樣是成立的啊。0+100,100+99,199+98,看到?jīng)]?加號(hào)后邊的數(shù)是從100一直減小到1的。明白了么?程序計(jì)算過(guò)程正好與打印信息反著的
ID:378182 發(fā)表于 2018-9-30 20:41
i=i-1,當(dāng)減至i=1時(shí),循環(huán)依然執(zhí)行,s=s+1。再執(zhí)行i=i-1時(shí),i=0跳出循環(huán)。
所以s=0+100+99+98+........+2+1=5050

小黑屋|51黑電子論壇 |51黑電子論壇6群 QQ 管理員QQ:125739409;技術(shù)交流QQ群281945664

Powered by 單片機(jī)教程網(wǎng)

快速回復(fù) 返回頂部 返回列表