C語(yǔ)言菜鳥(niǎo)基礎(chǔ)教程之求1到100的和
題目:求1+2+3+……+98+99+100
(1)用數(shù)學(xué)方法求解
(2)編寫(xiě)C語(yǔ)言程序求解
解:
(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語(yǔ)言編程
#include <stdio.h> int 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)通過(guò)上一步的計(jì)算變成了1。把3賦值給左邊的sum后,sum的最新值
就成了3
(3)第三次循環(huán)
i = 3, sum = sum + i = 3 + 3 = 6, 這里右邊的sum的值已經(jīng)通過(guò)上一步的計(jì)算變成了3。把計(jì)算結(jié)果6賦值給左邊的sum后,sum的最新值就成了6
(4)第四次循環(huán)
i = 4, sum = sum + i = 6 + 4 = 10, 這里右邊的sum的值已經(jīng)通過(guò)上一步的計(jì)算變成了6。把計(jì)算結(jié)果10賦值給左邊的sum后,sum的最新值就成了10
(5)……這樣執(zhí)行一百次后,得到的結(jié)果為5050
新知識(shí)點(diǎn):
sum = sum + i可以寫(xiě)成sum += i,都是讓sum和i相加后,把新的值賦給sum。
以后編程盡量使用+=這種方式。
理由:C語(yǔ)言要通過(guò)編譯器編譯,在編譯器沒(méi)開(kāi)啟優(yōu)化的情況下,兩種寫(xiě)法是完全等價(jià)的;編譯器開(kāi)啟了優(yōu)化后,+=的執(zhí)行速度可能會(huì)快一點(diǎn)。(這個(gè)先有點(diǎn)印象即可,目前不用深入了解)
作業(yè):
(1)調(diào)試上面的程序。每次運(yùn)行到右大括號(hào)時(shí),把鼠標(biāo)懸在sum上面,觀察sum的值。
上面的程序會(huì)循環(huán)100次,調(diào)試的時(shí)候,循環(huán)10次左右就可以step out了。
(2)
把sum = sum + i改成sum += i,運(yùn)行結(jié)果
#include <stdio.h> int main() { int sum = 0; // 賦初值 for(int i = 1; i <= 100; i++) { sum += i; } printf("total is %d\n", sum); }
(3)在紙上默寫(xiě)這個(gè)程序。
- C語(yǔ)言菜鳥(niǎo)基礎(chǔ)教程之Hello World
- C語(yǔ)言基礎(chǔ)使用IDE快速開(kāi)發(fā)的方法
- C語(yǔ)言 map函數(shù)的基礎(chǔ)用法詳解
- C語(yǔ)言菜鳥(niǎo)基礎(chǔ)教程之單精度浮點(diǎn)數(shù)與雙精度浮點(diǎn)數(shù)
- c語(yǔ)言 樹(shù)的基礎(chǔ)知識(shí)(必看篇)
- C語(yǔ)言菜鳥(niǎo)基礎(chǔ)教程之加法
- C語(yǔ)言菜鳥(niǎo)基礎(chǔ)教程之自定義函數(shù)
- C語(yǔ)言學(xué)習(xí)基礎(chǔ)知識(shí)分享
- C語(yǔ)言基礎(chǔ)知識(shí)分享續(xù)篇
相關(guān)文章
C++深淺拷貝和string類(lèi)的兩種寫(xiě)法詳解
這篇文章主要為大家詳細(xì)介紹了C++深淺拷貝和string類(lèi)的兩種寫(xiě)法,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下,希望能夠給你帶來(lái)幫助2022-03-03C語(yǔ)言報(bào)錯(cuò):Format String Vulnerability的多種解決方案
Format String Vulnerability(格式化字符串漏洞)是C語(yǔ)言中常見(jiàn)且嚴(yán)重的安全漏洞之一,它通常在程序使用不受信任的輸入作為格式化字符串時(shí)發(fā)生,本文將詳細(xì)介紹Format String Vulnerability的產(chǎn)生原因,提供多種解決方案,需要的朋友可以參考下2024-06-06C語(yǔ)言 如何求兩整數(shù)的最大公約數(shù)與最小公倍數(shù)
這篇文章主要介紹了C語(yǔ)言中如何求兩整數(shù)的最大公約數(shù)與最小公倍數(shù),具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2022-11-11C/C++中派生類(lèi)訪(fǎng)問(wèn)屬性詳解及其作用介紹
這篇文章主要介紹了C/C++中派生類(lèi)訪(fǎng)問(wèn)屬性詳解及其作用介紹,本文給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2021-09-09基于c語(yǔ)言知識(shí)點(diǎn)的補(bǔ)遺介紹
本篇文章是對(duì)c語(yǔ)言知識(shí)點(diǎn)的一些補(bǔ)遺進(jìn)行詳細(xì)的分析介紹,需要的朋友參考下2013-05-05C語(yǔ)言實(shí)現(xiàn)簡(jiǎn)易網(wǎng)絡(luò)聊天室
這篇文章主要為大家詳細(xì)介紹了C語(yǔ)言實(shí)現(xiàn)簡(jiǎn)易網(wǎng)絡(luò)聊天室,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2021-06-06visual?studio?2022一個(gè)不易發(fā)現(xiàn)的問(wèn)題
本文主要介紹了visual?studio?2022一個(gè)不易發(fā)現(xiàn)的問(wèn)題,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧2022-07-07