- C語(yǔ)言算法和三種基本程序結構 推薦度:
- 相關(guān)推薦
C語(yǔ)言算法和三種基本程序結構
C語(yǔ)言傳遞參數均是以值傳遞(pass by value),另外也可以傳遞指針(a pointer passed by value)。以下是小編為大家搜索整理的C語(yǔ)言算法和三種基本程序結構,歡迎閱讀!更多精彩內容請及時(shí)關(guān)注我們應屆畢業(yè)生考試網(wǎng)!
算法
做任何事情都有一定的步驟。為解決一個(gè)問(wèn)題而采取的方法和步驟,就稱(chēng)為算法。
算法是一個(gè)基本的概念,但也是一門(mén)深奧的學(xué)問(wèn),小到如何輸出九九乘法表,如何對一組數據進(jìn)行排序,大到如何控制飛行器的姿態(tài),如何讓無(wú)人機壁障。
這里主要是向大家闡述一下算法的概念,對于初學(xué)者,涉及到的算法都很簡(jiǎn)單,一般不會(huì )成為學(xué)習的障礙,我們會(huì )在后面的實(shí)例中逐漸向大家滲透具體的算法。
請大家思考一個(gè)問(wèn)題:如何求1×2×3×4×5的值。
最原始方法:
步驟1:先求1×2,得到結果2。
步驟2:將步驟1得到的乘積2乘以3,得到結果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,返回重新執行步驟S3以及其后的S4和S5;否則,算法結束。
如果計算100!只需將“S5:若i≤5”改成“i≤100”即可。
如果改成求1×3×5×7×9×11,算法也只需做很少的改動(dòng):
S1:1 -> t
S2:3 -> i
S3:t×i -> t
S4:i+2 -> i
S5:若i≤11,返回S3;否則,結束。
該算法不僅正確,而且是計算機較好的算法,因為計算機是高速運算的自動(dòng)機器,實(shí)現循環(huán)輕而易舉。
三種基本程序結構
幾乎所有編程語(yǔ)言,包括C語(yǔ)言,都會(huì )有三種基本的程序結構:順序結構、選擇結構和循環(huán)結構。
順序結構
順序結構就是一條一條地從上到下執行語(yǔ)句,所有的語(yǔ)句都會(huì )被執行到,執行過(guò)的語(yǔ)句不會(huì )再次執行。
例如,求1+2+3+4+5的和,就可以一個(gè)數一個(gè)數地依次累加。
選擇結構
選擇結構就是根據條件來(lái)判斷執行哪些語(yǔ)句,如果給定的條件成立,就執行相應的語(yǔ)句,如果不成立,就執行另外一些語(yǔ)句。
例如,根據用戶(hù)輸入的年齡來(lái)輸出不同的內容:
年齡 小于18 你還未成年,應該好好學(xué)習
大于等于18,小于等于30 珍惜青春,多做有益的事情
大于30,小于60 社會(huì )中堅力量,工作的同時(shí)注意身體
大于等于60 請您安享晚年,我們會(huì )記得您對社會(huì )的貢獻
用戶(hù)輸入年齡,程序會(huì )做出判斷,根據不同的年齡輸出不同的內容。這四個(gè)輸出語(yǔ)句,只有一個(gè)被執行,其他三個(gè)被跳過(guò),沒(méi)有執行。
循環(huán)結構
循環(huán)結構就是在達到指定條件前,重復執行某些語(yǔ)句。
例如,上面說(shuō)到的計算 100! 的值,就會(huì )重復執行 S3、S4。
最后,我們用雙重循環(huán)結構來(lái)輸出九九乘法表:
#include
int main(){
int i, j;
for(i=1; i<=9; i++){
for(j=1; j<=i; j++){
printf("%-3d ", i*j); // -3d 表示輸出整數,寬度為3(占3個(gè)字符),左對齊
}
printf("\n");
}
return 0;
}
運行結果:
【C語(yǔ)言算法和三種基本程序結構】相關(guān)文章:
C語(yǔ)言算法和三種基本程序結構06-05
C語(yǔ)言算法及三種基本程序結構09-30
C語(yǔ)言基本算法09-09
c語(yǔ)言的排序算法07-22
C語(yǔ)言的四種程序結構05-06
c語(yǔ)言排序的幾種算法10-16
C語(yǔ)言奇偶排序算法08-05
最常用的c語(yǔ)言算法07-18