亚洲精品中文字幕无乱码_久久亚洲精品无码AV大片_最新国产免费Av网址_国产精品3级片

C語言

C語言算法及三種基本程序結(jié)構(gòu)

時間:2024-09-30 06:23:02 C語言 我要投稿
  • 相關(guān)推薦

C語言算法及三種基本程序結(jié)構(gòu)

  大家知道C語言都有哪些算法嗎?這些算法的程序結(jié)構(gòu)是怎么樣的呢?下面小編為大家整理了C語言算法及三種基本程序結(jié)構(gòu),希望能幫到大家!

  算法

  做任何事情都有一定的步驟。為解決一個問題而采取的方法和步驟,就稱為算法。

  算法是一個基本的概念,但也是一門深奧的學(xué)問,小到如何輸出九九乘法表,如何對一組數(shù)據(jù)進(jìn)行排序,大到如何控制飛行器的姿態(tài),如何讓無人機(jī)壁障。

  這里主要是向大家闡述一下算法的概念,對于初學(xué)者,涉及到的算法都很簡單,一般不會成為學(xué)習(xí)的障礙,我們會在后面的實例中逐漸向大家滲透具體的算法。

  請大家思考一個問題:如何求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é)束。

  如果計算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ī)是高速運算的自動機(jī)器,實現(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的和,就可以一個數(shù)一個數(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社會中堅力量,工作的同時注意身體
大于等于60請您安享晚年,我們會記得您對社會的貢獻(xiàn)

  用戶輸入年齡,程序會做出判斷,根據(jù)不同的年齡輸出不同的內(nèi)容。這四個輸出語句,只有一個被執(zhí)行,其他三個被跳過,沒有執(zhí)行。

  循環(huán)結(jié)構(gòu)

  循環(huán)結(jié)構(gòu)就是在達(dá)到指定條件前,重復(fù)執(zhí)行某些語句。

  例如,上面說到的計算 100! 的值,就會重復(fù)執(zhí)行 S3、S4。

  最后,我們用雙重循環(huán)結(jié)構(gòu)來輸出九九乘法表:

  #includeint main(){int i, j;for(i=1; i<=9; i++){for(j=1; j<=i; j++){printf("%-3d ", i*j); // -3d 表示輸出整數(shù),寬度為3(占3個字符),左對齊}printf(" ");}return 0;}

【C語言算法及三種基本程序結(jié)構(gòu)】相關(guān)文章:

c語言的基本特性03-20

C語言的基本要點12-04

C語言的基本構(gòu)成12-05

PID算法的C語言實現(xiàn)12-04

C語言基本知識06-27

最常用的c語言算法有哪些12-05

C語言三種循環(huán)語句04-02

C語言選擇排序算法及實例代碼11-25

10個經(jīng)典的C語言面試基礎(chǔ)算法及代碼12-05