C語言的表現能力和處理能力極強。它不僅具有豐富的運算子和資料型別,便於實現各類複雜的資料結構。下面是yjbys小編收集一些關於C程式的三種基本控制結構,希望大家認真閱讀!
演算法
做任何事情都有一定的步驟。為解決一個問題而採取的方法和步驟,就稱為演算法。
演算法是一個基本的概念,但也是一門深奧的學問,小到如何輸出九九乘法表,如何對一組資料進行排序,大到如何控制飛行器的姿態,如何讓無人機壁障。
這裡主要是向大家闡述一下演算法的概念,對於初學者,涉及到的演算法都很簡單,一般不會成為學習的障礙,我們會在後面的例項中逐漸向大家滲透具體的演算法。
請大家思考一個問題:如何求1×2×3×4×5的值。
最原始方法:
步驟1:先求1×2,得到結果2。
步驟2:將步驟1得到的乘積2乘以3,得到結果6。
步驟3:將6再乘以4,得24。
步驟4:將24再乘以5,得120。
這樣的演算法雖然正確,但太繁。
改進的演算法:
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,演算法也只需做很少的改動:
S1:1 -> t
S2:3 -> i
S3:t×i -> t
S4:i+2 -> i
S5:若i≤11,返回S3;否則,結束。
該演算法不僅正確,而且是計算機較好的演算法,因為計算機是高速運算的自動機器,實現迴圈輕而易舉。
三種基本程式結構
幾乎所有程式語言,包括C語言,都會有三種基本的程式結構:順序結構、選擇結構和迴圈結構。
順序結構
順序結構就是一條一條地從上到下執行語句,所有的語句都會被執行到,執行過的語句不會再次執行。
例如,求1+2+3+4+5的`和,就可以一個數一個數地依次累加。
選擇結構
選擇結構就是根據條件來判斷執行哪些語句,如果給定的條件成立,就執行相應的語句,如果不成立,就執行另外一些語句。
例如,根據使用者輸入的年齡來輸出不同的內容:
年齡 | 小於18 | 你還未成年,應該好好學習 |
大於等於18,小於等於30 | 珍惜青春,多做有益的事情 | |
大於30,小於60 | 社會中堅力量,工作的同時注意身體 | |
大於等於60 | 請您安享晚年,我們會記得您對社會的貢獻 |
使用者輸入年齡,程式會做出判斷,根據不同的年齡輸出不同的內容。這四個輸出語句,只有一個被執行,其他三個被跳過,沒有執行。
迴圈結構
迴圈結構就是在達到指定條件前,重複執行某些語句。
例如,上面說到的計算 100! 的值,就會重複執行 S3、S4。
最後,我們用雙重迴圈結構來輸出九九乘法表:
#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個字元),左對齊
}
printf("n");
}
return 0;
}