C語言的發(fā)展頗為有趣,它的原型ALGOL 60語言。那么大家知道C語言函數(shù)是什么嗎?下面一起來看看!
為沙雅等地區(qū)用戶提供了全套網(wǎng)頁設(shè)計(jì)制作服務(wù),及沙雅網(wǎng)站建設(shè)行業(yè)解決方案。主營業(yè)務(wù)為網(wǎng)站設(shè)計(jì)制作、成都網(wǎng)站建設(shè)、沙雅網(wǎng)站設(shè)計(jì),以傳統(tǒng)方式定制建設(shè)網(wǎng)站,并提供域名空間備案等一條龍服務(wù),秉承以專業(yè)、用心的態(tài)度為用戶提供真誠的服務(wù)。我們深信只要達(dá)到每一位用戶的要求,就會(huì)得到認(rèn)可,從而選擇與我們長期合作。這樣,我們也可以走得更遠(yuǎn)!
函數(shù)(Function)是一段可以重復(fù)使用的代碼,這是從整體上對(duì)函數(shù)的認(rèn)識(shí)。
C語言本身帶了很多庫函數(shù),并分門別類地放在了不同的頭文件中,使用時(shí)只要引入對(duì)應(yīng)的頭文件即可。
除了C語言自帶的.函數(shù),我們也可以編寫自己的函數(shù),稱為自定義函數(shù)(User-Defined Function)。自定義函數(shù)和庫函數(shù)沒有本質(zhì)的區(qū)別,表現(xiàn)形式和使用方法一樣,只是開發(fā)者不同而已。
這一章我們就來講解如何編寫和使用自己的函數(shù)。
參數(shù)
函數(shù)的一個(gè)明顯特征就是使用時(shí)帶括號(hào)( ),必要的話,括號(hào)中還要包含數(shù)據(jù)或變量,稱為參數(shù)(Parameter)。參數(shù)是函數(shù)需要處理的數(shù)據(jù),例如:
strlen(str1)用來計(jì)算字符串的長度,str1就是參數(shù)。
puts("C語言中文網(wǎng)")用來輸出字符串,"C語言中文網(wǎng)"就是參數(shù)。
返回值
既然函數(shù)可以處理數(shù)據(jù),那就有必要將處理結(jié)果告訴我們,所以很多函數(shù)都有返回值(Return Value)。所謂返回值,就是函數(shù)的執(zhí)行結(jié)果。例如:
char str1[] = "C Language";
int len = strlen(str1);
strlen() 的處理結(jié)果是字符串 str1 的長度,是一個(gè)整數(shù),我們通過 len 變量來接收。
函數(shù)返回值有固定的數(shù)據(jù)類型(int、char、float等),用來接收返回值的變量類型要一致。
c語言符號(hào)有三種含義:
1、符號(hào)是指取地址符,是單目運(yùn)算符。
當(dāng)你定義一個(gè)變量a,那想知道變量在內(nèi)存中的地址,就可以使用這個(gè)符號(hào)。這個(gè)符號(hào)就是指取址,在C語言指針這一章中非常常用。
2、符號(hào)是位運(yùn)算符,表示“按位與”,是雙目運(yùn)算符。
符號(hào)還可以表示“按位與”。在計(jì)算地址的時(shí)候,都是二進(jìn)制數(shù)了,如果兩個(gè)操作數(shù)該位上的值均為1,那結(jié)果計(jì)算的位置上結(jié)果就是1,否則結(jié)果就是為0。
3、當(dāng)兩個(gè)符號(hào)同時(shí)使用,即符號(hào),代表邏輯運(yùn)算中的邏輯與。
符號(hào)可以代表邏輯運(yùn)算中的邏輯與。在“與或非”中,就是指兩個(gè)比較的對(duì)象,如果一真一假,那結(jié)果就是0,如果兩個(gè)比較都是真,那就是1,如果兩個(gè)都是假的,那結(jié)果就是0。
c語言基礎(chǔ)知識(shí):
main函數(shù):每個(gè)C語言程序中main函數(shù)是有且只有一個(gè)。讀程序都要從main()入口,然后從最上面順序往下讀(碰到循環(huán)做循環(huán),碰到選擇做選擇)。
存儲(chǔ)形式:計(jì)算機(jī)的數(shù)據(jù)在電腦中是以二進(jìn)制的形式保存。最低的存儲(chǔ)單元是bit(位),位是由為0或者1構(gòu)成。
32個(gè)關(guān)鍵字及其含義:
auto :聲明自動(dòng)變量 一般不使用
double :聲明雙精度變量或函數(shù)
int: 聲明整型變量或函數(shù)
struct:聲明結(jié)構(gòu)體變量或函數(shù)
break:跳出當(dāng)前循環(huán)
else :條件語句否定分支(與 if 連用)
long :聲明長整型變量或函數(shù)
switch :用于開關(guān)語句
case:開關(guān)語句分支
enum :聲明枚舉類型
register:聲明積存器變量
typedef:用以給數(shù)據(jù)類型取別名(當(dāng)然還有其他作用)
char :聲明字符型變量或函數(shù)
extern:聲明變量是在其他文件正聲明(也可以看做是引用變量)
return :子程序返回語句(可以帶參數(shù),也看不帶參數(shù))
union:聲明聯(lián)合數(shù)據(jù)類型
const :聲明只讀變量
float:聲明浮點(diǎn)型變量或函數(shù)
short :聲明短整型變量或函數(shù)
unsigned:聲明無符號(hào)類型變量或函數(shù)
continue:結(jié)束當(dāng)前循環(huán),開始下一輪循環(huán)
for:一種循環(huán)語句(可意會(huì)不可言傳)
signed:生命有符號(hào)類型變量或函數(shù)
void :聲明函數(shù)無返回值或無參數(shù),聲明無類型指針(基本上就這三個(gè)作用)
default:開關(guān)語句中的“其他”分支
goto:無條件跳轉(zhuǎn)語句
sizeof:計(jì)算數(shù)據(jù)類型長度
volatile:說明變量在程序執(zhí)行中可被隱含地改變
do :循環(huán)語句的循環(huán)體
while :循環(huán)語句的循環(huán)條件
static :聲明靜態(tài)變量
if:條件語句
優(yōu)先級(jí) 運(yùn)算符 含義 要求運(yùn)算對(duì)象的個(gè)數(shù) 結(jié)合方向
1 ( ) 圓括號(hào) 自左至右
[ ] 下標(biāo)運(yùn)算符
- 指向結(jié)構(gòu)體成員運(yùn)算符
? 結(jié)構(gòu)體成員運(yùn)算符
2 ! 邏輯非運(yùn)算符 1
(單目運(yùn)算符) 自右至左
? 按位取反運(yùn)算符
++ 自增運(yùn)算符
― ― 自減運(yùn)算符
- 符號(hào)運(yùn)算符
(類型) 類型轉(zhuǎn)換運(yùn)算符
* 指針運(yùn)算符
取地址運(yùn)算符
sizeof 長度運(yùn)算符
3 * 乘法運(yùn)算符 2
(雙目運(yùn)算符) 自左至右
/ 除法運(yùn)算符
% 求余運(yùn)算符
4 + 加法運(yùn)算符 2
(雙目運(yùn)算符) 自左至右
- 減法運(yùn)算符
5 左移運(yùn)算符 2
(雙目運(yùn)算符) 自左至右
右移運(yùn)算符
6 = = 關(guān)系運(yùn)算符 2
(雙目運(yùn)算符) 自左至右
7 == 等于運(yùn)算符 2
(雙目運(yùn)算符) 自左至右
!= 不等于運(yùn)算符
8 按位與運(yùn)算符 2
(雙目運(yùn)算符) 自左至右
9 ^ 按位異或運(yùn)算符 2
(雙目運(yùn)算符) 自左至右
10 | 按位或運(yùn)算符 2
(雙目運(yùn)算符) 自左至右
11 邏輯與運(yùn)算符 2
(雙目運(yùn)算符) 自左至右
12 || 邏輯或運(yùn)算符 2
(雙目運(yùn)算符) 自左至右
13 ? : 條件運(yùn)算符 3
(三目運(yùn)算符) 自右至左
14 = += -= *= /= %= = =
= ^= 賦值運(yùn)算符 2
(雙目運(yùn)算符) 自右至左
15 , 逗號(hào)運(yùn)算符
(順序求值運(yùn)算符) 自左至右