下面以sqrt函式為例,解說下標準函式:
sqrt函式用於計算乙個數的平方根。sqrt函式從乙個數(如9.0)開始,計算出它的平方根(如3.0)。函式開始時使用的值稱為該函式的實參,它計算後得到的值稱為返回值。有的函式可能有多個實參,但函式的返回值不能超過1個。如果將函式視為小程式,那麼實參就相當於輸入,返回值則相當於輸出在程式中使用函式時,例如:
the_root=sqrt(9.0);這裡,表示式sqr(9.0)稱為乙個函式呼叫。函式呼叫中的實參可以是乙個常量,也可以是乙個變數,甚至可以是乙個複雜的表示式。函式呼叫本身是乙個表示式,可像他任何表示式那樣使用。可以在任何位置使用函式呼叫,只要它能返回指定型別的值。
如果要使用sqrt函式時,要使用標頭檔案cmath,即#include。其中include預編譯指令。尖括號一內的名稱是標頭檔案的名稱。乙個庫的標頭檔案為編譯器提供了關於這個庫的特定資訊, include預編譯指令將這些資訊傳遞給編譯器。這樣一來,鏈結器( linker)就能在庫中找到函式的目標碼,以便將庫正確地鏈結到使用者的程式。例如, iostream庫包含了cin和cout的定義,而且這個庫的標頭檔案稱為 iostream;math庫包含了sqrt以及其他大量數學函式的定義,而且這個庫的標頭檔案稱為 cmath。如果在程式中使用了某個庫的標準函式,就必須包含一條預編譯指令,指定那個庫的標頭檔案。
下表總結了幾個標準庫函式:
名稱說明
實參型別
返回值型別示例值
庫的標頭檔案
sqrt
平方根double
double
sqrt(4.0)
2.0cmath
pow乘方
double
double
pow(2.0,3.0)
8.0cmath
abs取int值的絕對值
intint
abs(-7)
7cstdlib
abs(7)
7labs
取long值的絕對值
long
long
labs(-70000)
70000
cstdlib
labs(70000)
70000
fabs
取double值的絕對值
double
double
fabs(-7.5)
7.5cmath
fabs(7.5)
7.5cell
向上取整
double
double
cell(3.2)
4.0cmath
cell(3.9)
4.0floor
向下取整
double
double
floor(3.2)
3.0cmath
floor(3.9)
3.0【例如】
double result, x=3.0, y=2.0執行結果result=9.0;pow(x, y);
cout
<< result;
pow函式始終返回 double型別的值,而不是int型別。還要注意,函式pow需要兩個實參。乙個函式可以有任意多個實參。每個實參位置都具有指定的型別。函式呼叫中使用的實參應該具有這一指定型別。
我們自己編寫了乙個函式,即這個函式是存在的,這叫作函式的宣告(declaration)。其次,我們要告訴電腦這個函式是怎麼運作的,這叫作函式的定義(definition)。關於這點我是這樣認為的函式的宣告就相當於告訴你後面有個帥哥,函式的定義就相當於告訴你那個帥哥到底長什麼樣子。
作用:告訴編譯器函式名稱及如何呼叫函式。函式的實際主體可以單獨定義。
函式的宣告可以多次,但是函式的定義只能有一次
函式原型的結構就是:
返回值型別 函式名(參數列);
函式宣告同變數的宣告一樣,是一句語句。所以在語句結束要加上分號。
呼叫函式將導致函式的執行。函式 main 在程式啟動時自動呼叫,但所有其他函式必須由函式呼叫語句執行。當乙個函式被呼叫時,程式分支到該函式並執行其主體中的語句。
語法:函式名(引數)
在宣告乙個函式的時候,引數是沒有實際值的,只是起到乙個佔位的作用,所以稱為形式引數,簡稱「形參」;
在主調函式中呼叫乙個函式時,函式名後面括號中的引數(可以是乙個表示式)稱為實際引數(actual parameter,簡稱實參)。
實參是主調函式賦給被調函式的特定值。
實參可以是常量、變數或複雜的表示式,不管是哪種情況,在呼叫時實參必須是乙個確定的值。
說明:
1. 實參變數對形參變數的資料傳遞是"值傳遞",即單向傳遞,只由實參傳給形參,而不能由形參傳回來給實參。在記憶體中實參、形參分佔不同的單元。實參與形參一一對應,型別應相同或賦值相容。
2. 不同的函式中可以使用相同的變數名和形參名,他們是不同的變數。
語法:
返回值型別
函式名(引數列表)
沒有分號結尾的函式原型
返回值型別
:乙個函式可以返回乙個值。
在函式定義中函式名:給函式起個名稱。
引數列表:使用該函式時,傳入的資料。
函式體語句:花括號內的**,函式內需要執行的語句。
return表示式: 和返回值型別掛鉤,函式執行完後,返回相應的資料
【例項】
includeusingnamespace std;
int max(int x, int y);//
函式的宣告 ,x,y是形參
int main()
}int max(int x, int y)//
函式的定義
python高階 自定義庫函式
在python使用過程中,在不同的專案裡,常常會出現頻繁地自定義同乙個函式的情況。為了解決這個問題,我們可以選擇建立乙個自定義的庫,並將其新增到系統路徑中 具體操作如下 在任意位置新建乙個專案my libs,並在其中新建python檔案my lib1和my lib2,將需要自定義的函式在my lib...
C 標準庫函式
有許多不同的案件中,陣列排序的可能是有用的。演算法 如搜尋看看一些存在於乙個陣列 通常可以變得更簡單和 或更有效時,輸入的資料進行排序。此外,排序是非常有用的可讀性,如當列印列表按字母順序排列的名字。排序通常是通過反覆比較的陣列元素對進行的,和交換他們如果他們滿足一些標準。為了在這些元素進行比較根據...
C 標準庫函式
c 程式通常可以呼叫標準c 庫中的大量函式。這些函式完成一些基本的服務,如輸入和輸出等,同時也為一些經常使用的操作提供了高效的 實現 這些函式中含有大量的函式和類定義,以幫助程式設計師更好地使用標準c 庫。標準c 庫包含以下內容 和 標準c 庫的詳細訊息均在其對應的標頭檔案進行了說明。主要標準c 庫...