這篇文章主要講解了“C語言如何求1到100的和”,文中的講解內(nèi)容簡單清晰,易于學(xué)習(xí)與理解,下面請大家跟著小編的思路慢慢深入,一起來研究和學(xué)習(xí)“C語言如何求1到100的和”吧!
創(chuàng)新互聯(lián)的客戶來自各行各業(yè),為了共同目標(biāo),我們在工作上密切配合,從創(chuàng)業(yè)型小企業(yè)到企事業(yè)單位,感謝他們對我們的要求,感謝他們從不同領(lǐng)域給我們帶來的挑戰(zhàn),讓我們激情的團(tuán)隊(duì)有機(jī)會用頭腦與智慧不斷的給客戶帶來驚喜。專業(yè)領(lǐng)域包括成都網(wǎng)站制作、網(wǎng)站建設(shè)、外貿(mào)網(wǎng)站建設(shè)、電商網(wǎng)站開發(fā)、微信營銷、系統(tǒng)平臺開發(fā)。
題目:求1+2+3+……+98+99+100
(1)用數(shù)學(xué)方法求解
(2)編寫C語言程序求解
解:
(1)數(shù)學(xué)方法
S = 1+2+3+……+98+99+100 = (1+100) + (2+99) + (3+98) + …… + (49+52) + (50+51) = 101 * 50 = 5050
(2)C語言編程
#includeint main() { int sum = 0; // 賦初值 for(int i = 1; i <= 100; i++) { sum = sum + i; } printf("total is %d\n", sum); }
運(yùn)行結(jié)果:
total is 5050
分析:
(1)第一次循環(huán)
i = 1, sum = sum + i = 0 + 1 = 1,這里右邊的sum的值為初值0,將1賦給左邊的sum后,sum的最新值變成了1
(2)第二次循環(huán)
i = 2, sum = sum + i = 1 + 2 = 3, 這里右邊的sum的值已經(jīng)通過上一步的計(jì)算變成了1。把3賦值給左邊的sum后,sum的最新值
就成了3
(3)第三次循環(huán)
i = 3, sum = sum + i = 3 + 3 = 6, 這里右邊的sum的值已經(jīng)通過上一步的計(jì)算變成了3。把計(jì)算結(jié)果6賦值給左邊的sum后,sum的最新值就成了6
(4)第四次循環(huán)
i = 4, sum = sum + i = 6 + 4 = 10, 這里右邊的sum的值已經(jīng)通過上一步的計(jì)算變成了6。把計(jì)算結(jié)果10賦值給左邊的sum后,sum的最新值就成了10
(5)……這樣執(zhí)行一百次后,得到的結(jié)果為5050
新知識點(diǎn):
sum = sum + i可以寫成sum += i,都是讓sum和i相加后,把新的值賦給sum。
以后編程盡量使用+=這種方式。
理由:C語言要通過編譯器編譯,在編譯器沒開啟優(yōu)化的情況下,兩種寫法是完全等價(jià)的;編譯器開啟了優(yōu)化后,+=的執(zhí)行速度可能會快一點(diǎn)。(這個(gè)先有點(diǎn)印象即可,目前不用深入了解)
作業(yè):
(1)調(diào)試上面的程序。每次運(yùn)行到右大括號時(shí),把鼠標(biāo)懸在sum上面,觀察sum的值。
上面的程序會循環(huán)100次,調(diào)試的時(shí)候,循環(huán)10次左右就可以step out了。
(2)
把sum = sum + i改成sum += i,運(yùn)行結(jié)果
#includeint main() { int sum = 0; // 賦初值 for(int i = 1; i <= 100; i++) { sum += i; } printf("total is %d\n", sum); }
(3)在紙上默寫這個(gè)程序。
感謝各位的閱讀,以上就是“C語言如何求1到100的和”的內(nèi)容了,經(jīng)過本文的學(xué)習(xí)后,相信大家對C語言如何求1到100的和這一問題有了更深刻的體會,具體使用情況還需要大家實(shí)踐驗(yàn)證。這里是創(chuàng)新互聯(lián),小編將為大家推送更多相關(guān)知識點(diǎn)的文章,歡迎關(guān)注!