1. 程式人生 > >【基礎】函數的聲明&返回值

【基礎】函數的聲明&返回值

com 高效率 ima tar 函數類 pac inf mage ase

以加減乘除運算為例

/*
函數的一般形式: 
類型標示符 函數名(形式參數,形式參數...){
    函數體 
} 
類型表示符 為 該函數返回值的類型
不返回任何值的函數,返回值類型可以用void表示

void 函數名(){
    
}
*/

/*
函數的聲明及調用:

引用空間; 

函數名(形式參數,形式參數...);//聲明函數 

主函數(){
    函數名(實際參數,實際參數...);//在主函數中調用函數 
} 

函數名(形式參數,形式參數...) {
    函數體 
}//聲明函數 

函數聲明時可以省略變量名 
int Demo(int, int, double) 

函數的參數的聲明順序:
左邊聲明無默認值的參數,右邊聲明有默認值的參數,
有默認值的參數只能在無默認值參數的右邊 
*/ //有的函數可變參數,比如 printf 函數 /* return & 函數的返回值 return 表達式; 返回與函數類型標識符相同的值給函數 當返回的值與函數類型標識符的類型不符時,返回的值 會被強制轉換為函數類型標識符的類型 int division(int a, int b){ int c; c = a / b; return c;//將c的值返回給函數,若 c 的類型 不是 int 型的話會被強制轉換為 int 型 retun 後也可以不加表達式,用以立即結束當前函數 就像循環的 break 一樣 } */ #include <iostream> using
namespace std; void sum(int a, int b); void m(int a, int b = 2);//設置形式參數的默認值,默認值的參數不能出現在無默認值參數的左邊 void mult(int, int);//省略變量名的形參 int division(int a, int b); int main(){ int a, b; char sign; cin >> a >> sign >> b; switch (sign){ case +: sum(a,b);
break; case -: m(a,b); break; case *: mult(a,b); break; case /: division(a,b); cout << "function value:" << division(a,b) << endl; break; } return 0; } void sum(int a, int b){ int c; c = a + b; cout << c << endl; } void m(int a, int b){ int c; c = a - b; cout << c << endl; } void mult(int a, int b){ int c; c = a * b; cout << c << endl; } int division(int a, int b){ int c; c = a / b; return c;//將c的值 cout << "c value:" << c << endl; }

個人理解:

函數就像一個模板,裏面有需要用到的操作,要用時按約定填入數據就好了

就像一元二次計算器

技術分享圖片

把一元二次計算器當成我們定義好的函數,那麽

三個空白的框就是三個形式參數(形參)

按約定在三個空白處填數字就是把函數實例化,

我們填的三個函數就是實際參數(實參)

技術分享圖片

如果這個計算一元二次方程的函數有返回值的話,那麽

計算出來的結果就是函數的返回值

技術分享圖片

Of course,按我們現在學到的,只能暫時性認為一個函數只能有一個返回

(畢竟我們只有條件判斷、循環語句以及這裏的知識,苦笑)

按照函數的作用

我們在程序裏有很多要計算一元二次函數的地方,

所以寫了個一元二次計算的函數出來,可以代碼重用,提高效率

而不是每解一個方程就從頭寫一次解方程的代碼,

大大提高了效率

                                    2018-02-19

                                      水汐音

【基礎】函數的聲明&返回值