第三章 函式 課堂筆記

2021-10-11 02:38:12 字數 1605 閱讀 1603

函式的定義與使用:

呼叫前先宣告函式:

▫若函式定義在呼叫點之前,則無需另外宣告;

▫若函式定義在呼叫點之後,則需要在呼叫函式前按如下形式宣告函式原型:

型別識別符號  被呼叫函式名(含型別說明的形參表);

•呼叫形式   函式名(實參列表)

•巢狀呼叫 

▫在乙個函式的函式體中,可以呼叫另一函式,稱為巢狀呼叫。

•遞迴呼叫

▫函式直接或間接呼叫自身。

內聯函式:

•宣告時使用關鍵字inline。

•編譯時在呼叫處用函式體進行替換,節省了引數傳遞、控制轉移等開銷。

•注意:

▫ 內聯函式體內不能有迴圈語句和switch語句。

▫內聯函式的宣告必須出現在內聯函式第一次被呼叫之前

▫對內聯函式不能進行異常介面宣告。 

帶預設引數值的函式

預設引數值的說明次序

•有預設引數的形參必須在形參列表的最後,也就是說預設引數值的右面不能有無預設值的引數。因為呼叫時實參與形參的結合是從左向右的順序。

•例:int add(int x, int y = 5, int z = 6);//正確

int add(int x = 1, int y = 5, int z);//錯誤

int add(int x = 1, int y, int z = 6);//錯誤543.3

預設引數值與函式的呼叫位置

•如果乙個函式有原型宣告,且原型宣告在定義之前,則預設引數值必須在函式原型宣告中給出;

而如果只有函式的定義,或函式定義在前,則預設引數值需在函式定義中給出。

函式過載

c++允許功能相近的函式在相同的作用域內以相同函式名宣告,從而形成過載。方便使用,便於記憶。

形參型別不同int add(int x,int y);float add(float x, floaty);

形參個數不同int add(int x, int y);int add(int x, int y, int z);

▫過載函式的形參必須不同:個數不同或型別不同,編譯程式將根據實參和形參的型別及個數的最佳匹配來選擇呼叫哪乙個函式

例題一,二進位制轉十進位制:

#include#define endl '\n'

#define _for(i,a,b) for(int i=a;i>a; while(a) cout《求解分段函式

#include#define endl '\n'

#define _for(i,a,b) for(int i=a;iesp );

return res;

} int main()

else

cout《模擬擲骰子,判斷勝負

#include#define endl '\n'

#define _for(i,a,b) for(int i=a;i>n;

srand(n);

while(1)

void hanoi(int n, char src, char medium, char dest)

}int main()

第三章 函式

函式是模組劃分的基本單位,是對外處理的一種抽象 c和c 的子程式體現為函式 呼叫其他函式的被稱為主函式 被其他行數呼叫的稱為被調函式 函式的語法形式 型別說明符 函式名 含型別說明的形式參數列 語句序列 形式引數 形式參數列 簡稱形參 表的內容如下 type1 name1,type2 name2,t...

第三章筆記

第三章預習筆記 一 高階語言和機器指令中的運算 1,按位運算 符號 按位or運算 符號 按位and運算 符號 表示按位not運算 符號 按位xor運算。實現掩碼操作 通過與給定的乙個位模式進行按位與,可以提取所需要的位,對這些位進行 置1 清0 等。2,符號 按位or運算 符號 表示and運算 符號...

Oracle第三章 函式

第三章 函式 單值函式 針對每一行查詢內容給出乙個結果 組函式 把查詢的所有行按照某個標準分組,每乙個組給出乙個輸出 單值函式 注意 單值函式可以隨意巢狀,但是潛逃之後先執行最裡層的,在執行外層的 字元函式 lower將字串轉化成小寫 select lower hello from dual 查詢名...