07、C语言——函数
函數
1、函數定義
函數返回值類型 函數名(形式參數列表)
{
函數體;
}
注意:
定義有參函數時,形參的定義可以采用傳統方式或現代方式兩種
1)傳統方式:
int max(x,y)
int x,y;不能定義形參以外的其它變量
{}
2)現代方式:?
int max(intx,inty)
{}
2、函數返回值類型
形式1:
int fun(int x, int y)
{
return 表達式;
}
注意:返回的值是給調用函數整體的形式,表達式是先計算后返回值
形式2:
void fun (int x)
{
一定不要加return語句;
}
注意:void沒有預留存放返回值的空間
3、函數調用
3個一致:個數、類型、位置
方式1:非void型
變量名=函數名(實參列表);
方式2:void型
函數名(實參列表);
4、函數原型聲明
形式1:函數類型 函數名(形參類型1 形參1,形參類型2 形參2...);
形式2:函數類型 函數名(形參類型1 ,形參類型2...);
5、變量三屬性
變量三屬性:類型——定義、作用范圍——空間、存儲類別——時間
1)類型
類型名 變量名列表;
2)作用范圍—— 局部變量和全局變量
A、局部變量(或稱內部變量)
定義:在一個函數內部定義的變量
a、局部變量只能在它所在的函數內有效
b、在不同的函數中可以出現同名的變量,它們分別屬于不同的變量
c、復合語句中定義的變量只能在此復合語句中有效
d、所有形式參數都是局部變量
?B、全局變量(或稱外部變量)
定義:在函數外部定義的變量
a、全局變量的有效范圍是在本文件內從定義該變量的位置開始到本文件的結束
b、 全局變量可以在它的有效范圍內被每個函數引用
c、在同一文件中若全局變量與局部變量同名,局部變量“屏蔽”全局變量
3)存儲類別格式:
A、auto類別變量(可以省略)
定義同時說明類別:
(存儲類別) 類型名 變量名
a、auto類別變量用完后釋放所占用空間
b、局部變量默認為,無初始化時,初值為隨機值auto類別
c、使用時間短,一般都為auto類別變量
B、static類別變量
定義同時說明類別:
存儲類別 類型名 變量名
a、static類別從定義到程序運行結束均占用存儲空間
b、全局變量默認為static類別,無初始化時,初值為0
c、static類別變量只進行一次初始化
C、register類別變量
定義同時說明類別:
存儲類別 類型名 變量名
a、register類別只能是局部變量才能被說明
b、一般不能直接使用
D、extern類別變量
格式1:定義同時說明類別:
存儲類別 類型名 變量名;
格式2:分別定義、說明
類型名 變量名;
存儲類別 變量名;
a、extern類別變量可以加大變量的作用范圍
b、兩種說明格式
6、預編譯命令
預編譯命令
文件包含(include)
#include<>——在指定的目錄下庫文件的搜索
#include""——在指定標準的搜索路徑下,在當前的工作目錄或者子目錄下進行搜索
7、宏
第一種:無參宏定義
格式:
#define 宏名 宏內容
功能:用一個指定的標識符(宏名)來代表一串字符(宏內容)
注意:
1)宏名我們一般用大寫字母表示,遵守用戶自定義標識符命名規則
2)#define可以在函數外定義也可以在函數內定義,但該命令應該在單獨一行上
#undef命令可以提親終止宏名的作用域
3)在進行宏定義時,可以引用已經定義的宏名進行層層置換
4)在進行宏替換時,必須先替換完所有的宏名再運算,同時體化過程中不能亂加括號
原模原樣替換然后按著優先級別計算,不要亂加括號
第二種:帶參宏定義
格式:
? #define 宏名(參數列表)宏內容
功能:提供了一種更加靈活的替換方式
注意:
1)在定義有參宏時,參數列表必須用一對小括號括起且小括號和宏名之間不能有空格
2)對有參宏名進行替換時,需要將形參改成相應的實參,并且之一分清形參和實參的對應關系
8、小知識匯總?
1)一個源程序文件可由一個或多個函數組成
函數是C語言的基本單位
main()函數由操作系統OS來調用的
main()函數可以調用其他子函數,子函數可以調用其他子函數,子函數也可以自己調用自己
?2)一個C語言程序可以由一個或多個源程序文件組成
?3)C程序執行總是從main()開始,結束于main()結束;可調用其它函數
?4)函數不能嵌套定義,但可以互相調用,不能調用main()函數的分類
嵌套定義:在一個函數中不能自己再定義一個函數
?5)類型區別
原型聲明——此時有函數返回值類型標識,有函數名,有參數類型,有分號
調用函數——有函數名,有參數
定義調用函數——有函數返回值類型標識,有函數名,有參數類型,無分號
?6)三大口訣
口訣1:表達式—看其合法性,有短路優先考慮(與、或),挑運算符先計算運算級別高,同級情況下考慮結合性
口訣2:找配對,找控制,標語句
口訣3:遇到return或者}返回到被函數調用處
?
轉載于:https://www.cnblogs.com/wxt19941024/p/6939565.html
總結
以上是生活随笔為你收集整理的07、C语言——函数的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: m3电动车小猴子到底是什么价位
- 下一篇: SparkSQL 与 Spark Cor