每個(gè)人都曾試圖在平淡的學(xué)習(xí),、工作和生活中寫一篇文章,。寫作是培養(yǎng)人的觀察,、聯(lián)想,、想象、思維和記憶的重要手段。那么我們該如何寫一篇較為完美的范文呢?以下是我為大家搜集的優(yōu)質(zhì)范文,,僅供參考,一起來看看吧
c語言算法和三種基本程序結(jié)構(gòu)的區(qū)別 c語言算法的基本概念篇一
c語言傳遞參數(shù)均是以值傳遞(pass by value),,另外也可以傳遞指針(a pointer passed by value),。以下是小編為大家搜索整理的c語言算法和三種基本程序結(jié)構(gòu),歡迎閱讀!更多精彩內(nèi)容請及時(shí)關(guān)注我們應(yīng)屆畢業(yè)生考試網(wǎng)!
算法
做任何事情都有一定的步驟,。為解決一個(gè)問題而采取的方法和步驟,,就稱為算法。
算法是一個(gè)基本的概念,,但也是一門深奧的學(xué)問,,小到如何輸出九九乘法表,如何對一組數(shù)據(jù)進(jìn)行排序,,大到如何控制飛行器的姿態(tài),,如何讓無人機(jī)壁障。
這里主要是向大家闡述一下算法的概念,,對于初學(xué)者,,涉及到的算法都很簡單,,一般不會成為學(xué)習(xí)的障礙,我們會在后面的實(shí)例中逐漸向大家滲透具體的.算法,。
請大家思考一個(gè)問題:如何求1×2×3×4×5的值,。
最原始方法:
步驟1:先求1×2,得到結(jié)果2,。
步驟2:將步驟1得到的乘積2乘以3,,得到結(jié)果6。
步驟3:將6再乘以4,,得24,。
步驟4:將24再乘以5,得120,。
這樣的算法雖然正確,,但太繁。
改進(jìn)的算法:
s1:使t=1
s2:使i=2
s3:使 t×i,,乘積仍然放在在變量t中,,可表示為 t×i -> t
s4:使i的值+1,即 i+1 -> i
s5:如果i≤5,,返回重新執(zhí)行步驟s3以及其后的s4和s5;否則,,算法結(jié)束。
如果計(jì)算100!只需將“s5:若i≤5”改成“i≤100”即可,。
如果改成求1×3×5×7×9×11,算法也只需做很少的改動:
s1:1 -> t
s2:3 -> i
s3:t×i -> t
s4:i+2 -> i
s5:若i≤11,,返回s3;否則,,結(jié)束。
該算法不僅正確,,而且是計(jì)算機(jī)較好的算法,,因?yàn)橛?jì)算機(jī)是高速運(yùn)算的自動機(jī)器,實(shí)現(xiàn)循環(huán)輕而易舉,。
三種基本程序結(jié)構(gòu)
幾乎所有編程語言,,包括c語言,都會有三種基本的程序結(jié)構(gòu):順序結(jié)構(gòu),、選擇結(jié)構(gòu)和循環(huán)結(jié)構(gòu),。
順序結(jié)構(gòu)
順序結(jié)構(gòu)就是一條一條地從上到下執(zhí)行語句,所有的語句都會被執(zhí)行到,,執(zhí)行過的語句不會再次執(zhí)行,。
例如,求1+2+3+4+5的和,,就可以一個(gè)數(shù)一個(gè)數(shù)地依次累加,。
選擇結(jié)構(gòu)
選擇結(jié)構(gòu)就是根據(jù)條件來判斷執(zhí)行哪些語句,如果給定的條件成立,就執(zhí)行相應(yīng)的語句,,如果不成立,,就執(zhí)行另外一些語句。
例如,,根據(jù)用戶輸入的年齡來輸出不同的內(nèi)容:
年齡 小于18 你還未成年,,應(yīng)該好好學(xué)習(xí)
大于等于18,小于等于30 珍惜青春,,多做有益的事情
大于30,,小于60 社會中堅(jiān)力量,工作的同時(shí)注意身體
大于等于60 請您安享晚年,,我們會記得您對社會的貢獻(xiàn)
用戶輸入年齡,,程序會做出判斷,根據(jù)不同的年齡輸出不同的內(nèi)容,。這四個(gè)輸出語句,,只有一個(gè)被執(zhí)行,其他三個(gè)被跳過,,沒有執(zhí)行,。
循環(huán)結(jié)構(gòu)
循環(huán)結(jié)構(gòu)就是在達(dá)到指定條件前,重復(fù)執(zhí)行某些語句,。
例如,,上面說到的計(jì)算 100! 的值,就會重復(fù)執(zhí)行 s3,、s4,。
最后,我們用雙重循環(huán)結(jié)構(gòu)來輸出九九乘法表:
#include
int main(){
int i, j;
for(i=1; i<=9; i++){
for(j=1; j<=i; j++){
printf("%-3d ", i*j); // -3d 表示輸出整數(shù),,寬度為3(占3個(gè)字符),,左對齊
}
printf("\n");
}
return 0;
}
運(yùn)行結(jié)果:
s("content_relate");
【c語言算法和三種基本程序結(jié)構(gòu)】相關(guān)文章:
1.c語言算法及三種基本程序結(jié)構(gòu)
2.c語言中三種常見排序算法分析
3.c語言的排序算法
4.c語言的四種程序結(jié)構(gòu)
5.c語言冒泡排序算法實(shí)例
6.c語言排序的幾種算法
7.c語言中實(shí)現(xiàn)kmp算法實(shí)例
8.pid算法的c語言實(shí)現(xiàn)
9.c語言快速排序算法及代碼