最美情侣中文字幕电影,在线麻豆精品传媒,在线网站高清黄,久久黄色视频

歡迎光臨散文網 會員登陸 & 注冊

第6講 函數

2023-05-19 14:29 作者:踏月隨舟盡西風  | 我要投稿

函數讓代碼變得更加簡潔。

結構化程序設計:

????????基本思想是采用自頂向下、逐步細化的設計方法和單入單出的控制結構。

????????理念是將大型程序分解成小型、便于管理的任務,如果其中的一項任務仍然過大,則將它分解成為更小的任務,直到將程序劃分為小型的、易于編寫的模塊。

1. 函數基礎

一個典型的函數定義包括以下部分:返回類型、函數名字、由0個或多個形參組成的列表以及函數體。

1.1 編寫函數

我們來編寫一個求階乘的程序。程序如下所示:

函數名字是fact,它作用于一個整型參數,返回一個整型值。return語句負責結束fact并返回ret的值。

1.2 調用函數

函數的調用完成兩項工作:一是用實參初始化函數對應的形參,二是將控制權轉移給被調用函數。此時,主調函數的執(zhí)行被暫時中斷,被調函數開始執(zhí)行。

1.3 形參和實參

實參是形參的初始值。第一個實參初始化第一個形參,第二個實參初始化第二個形參,依次類推。形參和實參的類型和個數必須匹配。

形參也可以設置默認值,但所有默認值必須是最后幾個。當傳入的實參個數少于形參個數時,最后沒有被傳入值的形參會使用默認值。

1.4 函數的形參列表

函數的形參列表可以為空,但是不能省略。

形參列表中的形參通常用逗號隔開,其中每個形參都是含有一個聲明符的聲明。即使兩個形參的類型一樣,也必須把兩個類型都寫出來:

1.5 函數返回類型

大多數類型都能用作函數的返回類型。一種特殊的返回類型是void,它表示函數不返回任何值。函數的返回類型不能是數組類型或函數類型,但可以是指向數組或者函數的指針。

1.6 局部變量、全局變量與靜態(tài)變量

局部變量只可以在函數內部使用,全局變量可以在所有函數內使用。當局部變量與全局變量重名時,會優(yōu)先使用局部變量。靜態(tài)變量static等于在函數內部開了一個只有該函數能使用的全局變量。

2. 參數傳遞

2.1 傳值參數

當初始化一個非引用類型的變量時,初始值被拷貝給變量。此時,對變量的改動不會影響初始值。

2.2 傳引用參數

當函數的形參為引用類型時,對形參的修改會影響實參的值。使用引用的作用:避免拷貝、讓函數返回額外信息。

2.3 數組形參

在函數中對數組中的值的修改,會影響函數外面的數組。

一維數組形參的寫法:

多維數組形參的寫法:

2.4 默認參數: int foo(int a, int b = 10) //默認參數不能出現在前面,無傳值就用默認值

3. 返回類型和return語句

return語句終止當前正在執(zhí)行的函數并將控制權返回到調用該函數的地方。return語句有兩種形式:

3.1 無返回值函數

沒有返回值的return語句只能用在返回類型是void的函數中。返回void的函數不要求非得有return語句,因為在這類函數的最后一句后面會隱式地執(zhí)行return。

通常情況下,void函數如果想在它的中間位置提前退出,可以使用return語句。return的這種用法有點類似于我們用break語句退出循環(huán)。

3.2 有返回值的函數

只要函數的返回類型不是void,則該函數內的每條return語句必須返回一個值。return語句返回值的類型必須與函數的返回類型相同,或者能隱式地轉換函數的返回類型。

4. 函數遞歸(遞歸不能說是一種算法,只能說是函數調用自己的一種形式)

在一個函數內部,也可以調用函數本身。

遞歸:遞推+回溯,循環(huán)可以用遞歸寫,遞歸不一定能用循環(huán)(不知道循環(huán)多少層)

備注:

  1. inline fact() 內聯函數,相當于調用時將函數體展開,無法進行函數遞歸

  2. 常用函數:

    向下取整 floor(x) 向上取整 ceil(x) 四舍五入 round(x)

    自然對數 log(x) 平方根 sqrt(x) 實數絕對值 fabs(x)


第6講 函數的評論 (共 條)

分享到微博請遵守國家法律
理塘县| 鄂州市| 丰原市| 普兰店市| 乐陵市| 河池市| 乌鲁木齐县| 肇州县| 时尚| 黄石市| 张家川| 岫岩| 和平县| 呈贡县| 富民县| 公主岭市| 平舆县| 墨玉县| 沂水县| 平顶山市| 临西县| 清远市| 曲沃县| 乡宁县| 保靖县| 彩票| 瑞金市| 清流县| 顺平县| 壤塘县| 南漳县| 阳朔县| 四平市| 剑河县| 武穴市| 山东| 应用必备| 桂阳县| 西城区| 阿拉善盟| 雅安市|