C 函式一(標準庫函式,自定義函式)

2022-06-17 13:48:11 字數 3010 閱讀 6385

下面以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

;pow(x, y);

cout

<< result;

執行結果result=9.0

pow函式始終返回 double型別的值,而不是int型別。還要注意,函式pow需要兩個實參。乙個函式可以有任意多個實參。每個實參位置都具有指定的型別。函式呼叫中使用的實參應該具有這一指定型別。

我們自己編寫了乙個函式,即這個函式是存在的,這叫作函式的宣告(declaration)。其次,我們要告訴電腦這個函式是怎麼運作的,這叫作函式的定義(definition)。關於這點我是這樣認為的函式的宣告就相當於告訴你後面有個帥哥,函式的定義就相當於告訴你那個帥哥到底長什麼樣子。

作用:告訴編譯器函式名稱及如何呼叫函式。函式的實際主體可以單獨定義。

函式的宣告可以多次,但是函式的定義只能有一次

函式原型的結構就是:

返回值型別    函式名(參數列);

函式宣告同變數的宣告一樣,是一句語句。所以在語句結束要加上分號。

呼叫函式將導致函式的執行。函式 main 在程式啟動時自動呼叫,但所有其他函式必須由函式呼叫語句執行。當乙個函式被呼叫時,程式分支到該函式並執行其主體中的語句。

語法:函式名(引數)

在宣告乙個函式的時候,引數是沒有實際值的,只是起到乙個佔位的作用,所以稱為形式引數,簡稱「形參」;

在主調函式中呼叫乙個函式時,函式名後面括號中的引數(可以是乙個表示式)稱為實際引數(actual parameter,簡稱實參)。

實參是主調函式賦給被調函式的特定值。

實參可以是常量、變數或複雜的表示式,不管是哪種情況,在呼叫時實參必須是乙個確定的值。

說明:

1. 實參變數對形參變數的資料傳遞是"值傳遞",即單向傳遞,只由實參傳給形參,而不能由形參傳回來給實參。在記憶體中實參、形參分佔不同的單元。實參與形參一一對應,型別應相同或賦值相容。

2. 不同的函式中可以使用相同的變數名和形參名,他們是不同的變數。

語法:

返回值型別

函式名(引數列表)

沒有分號結尾的函式原型

返回值型別

:乙個函式可以返回乙個值。

在函式定義中函式名:給函式起個名稱。

引數列表:使用該函式時,傳入的資料。

函式體語句:花括號內的**,函式內需要執行的語句。

return表示式: 和返回值型別掛鉤,函式執行完後,返回相應的資料

【例項】

includeusing

namespace 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 庫...