函數(shù)是數(shù)學(xué)名詞,代數(shù)式中,凡相關(guān)的兩數(shù)X與Y,對(duì)于每個(gè)X值,都只有一個(gè)Y的對(duì)應(yīng)值。這種對(duì)應(yīng)關(guān)系就表示Y是X的函數(shù)。
成都創(chuàng)新互聯(lián)公司堅(jiān)持“要么做到,要么別承諾”的工作理念,服務(wù)領(lǐng)域包括:網(wǎng)站設(shè)計(jì)、網(wǎng)站建設(shè)、企業(yè)官網(wǎng)、英文網(wǎng)站、手機(jī)端網(wǎng)站、網(wǎng)站推廣等服務(wù),滿足客戶于互聯(lián)網(wǎng)時(shí)代的萬(wàn)安網(wǎng)站設(shè)計(jì)、移動(dòng)媒體設(shè)計(jì)的需求,幫助企業(yè)找到有效的互聯(lián)網(wǎng)解決方案。努力成為您成熟可靠的網(wǎng)絡(luò)建設(shè)合作伙伴!
函數(shù)(function)的定義通常分為傳統(tǒng)定義和近代定義,函數(shù)的兩個(gè)定義本質(zhì)是相同的,只是敘述概念的出發(fā)點(diǎn)不同,傳統(tǒng)定義是從運(yùn)動(dòng)變化的觀點(diǎn)出發(fā),而近代定義是從集合、映射的觀點(diǎn)出發(fā)。
函數(shù)的近代定義是給定一個(gè)數(shù)集A,假設(shè)其中的元素為x,對(duì)A中的元素x施加對(duì)應(yīng)法則f,記作f(x),得到另一數(shù)集B,假設(shè)B中的元素為y,則y與x之間的等量關(guān)系可以用y=f(x)表示,函數(shù)概念含有三個(gè)要素:定義域A、值域B和對(duì)應(yīng)法則f。其中核心是對(duì)應(yīng)法則f,它是函數(shù)關(guān)系的本質(zhì)特征。
函數(shù),最早由中國(guó)清朝數(shù)學(xué)家李善蘭翻譯,出于其著作《代數(shù)學(xué)》。之所以這么翻譯,他給出的原因是“凡此變數(shù)中函彼變數(shù)者,則此為彼之函數(shù)”,也即函數(shù)指一個(gè)量隨著另一個(gè)量的變化而變化,或者說一個(gè)量。
函數(shù)是C源碼程序中最基本的功能單位,是一個(gè)可以從程序其它地方調(diào)用執(zhí)行的語(yǔ)句塊
C語(yǔ)言是一種結(jié)構(gòu)化程序設(shè)計(jì)語(yǔ)言,結(jié)構(gòu)化程序設(shè)計(jì)思想是“分解”大問題,依次解決小問題,通過小問題解決實(shí)現(xiàn)大問題的解決,描述“小問題”解決方法的工具即是函數(shù)。
函數(shù)的定義格式如下:
type name ( argument1, argument2, ...) statement說明:
type
是函數(shù)返回的數(shù)據(jù)的類型
name
是函數(shù)被調(diào)用時(shí)使用的名
argument
是函數(shù)調(diào)用需要傳入的參量(可以聲明任意多個(gè)參量)。每個(gè)參量(argument)由一個(gè)數(shù)據(jù)類型后面跟一個(gè)標(biāo)識(shí)名稱組成,就像變量聲明中一樣(例如,int
x)。參量?jī)H在函數(shù)范圍內(nèi)有效,可以和函數(shù)中的其它變量一樣使用,
它們使得函數(shù)在被調(diào)用時(shí)可以傳入?yún)?shù),不同的參數(shù)用逗號(hào)(comma)隔開.
statement
是函數(shù)的內(nèi)容。它可以是一句指令,也可以是一組指令組成的語(yǔ)句塊。如果是一組指令,則語(yǔ)句塊必須用花括號(hào){}括起來,這也是我們最常見到情況。其實(shí)為了使程序的格式更加統(tǒng)一清晰,建議在僅有一條指令的時(shí)候也使用花括號(hào),這是一個(gè)良好的編程習(xí)慣。
程序執(zhí)行總是從main函數(shù)開始,如果有有其他函數(shù),則完成對(duì)其他函數(shù)的調(diào)用后再返回到主函數(shù),最后由main函數(shù)結(jié)束整個(gè)程序。
main()函數(shù)作為整個(gè)程序的一個(gè)打開窗口,所有的函數(shù)無論如何執(zhí)行,都必須返回到main()函數(shù)中。同樣的,main()函數(shù)也是整個(gè)程序的關(guān)閉窗口,main()函數(shù)的結(jié)束意味著程序的結(jié)束。main()函數(shù),既是開始也是結(jié)束。
擴(kuò)展資料:
函數(shù)的定義是一個(gè)完整的函數(shù)單元:
1,包含函數(shù)類型、函數(shù)名、形參及形參類型、函數(shù)體等
2,在程序中,函數(shù)的定義只能有一次
3,函數(shù)首部與花括號(hào)間不加分號(hào)
函數(shù)聲明只是對(duì)編譯系統(tǒng)的一個(gè)說明:
1,函數(shù)聲明是對(duì)定義的函數(shù)的返回值的類型說明,以通知系統(tǒng)在本函數(shù)中所調(diào)用的函數(shù)是什么類型。
2,不包含函數(shù)體(或形參)
3,調(diào)用幾次該函數(shù)就應(yīng)在各個(gè)主調(diào)函數(shù)中做相應(yīng)聲明
4,函數(shù)聲明是一個(gè)說明語(yǔ)句,必須以分號(hào)結(jié)束
參考資料來源:百度百科-main
c語(yǔ)言以函數(shù)為程序的基本單位主要是為了程序便于調(diào)試,以及程序更趨于結(jié)構(gòu)化,增強(qiáng)了程序的可讀性和可移植性,減少代碼冗余。c提供標(biāo)準(zhǔn)函數(shù)庫(kù)給用戶,這些函數(shù)可方便的調(diào)用,可以減少用戶不必要的開發(fā)工作量。
字符處理函數(shù)
本類別函數(shù)用于對(duì)單個(gè)字符進(jìn)行處理,包括字符的類別測(cè)試和字符的大小寫轉(zhuǎn)換
頭文件 ctype.h
函數(shù)列表
函數(shù)類別 函數(shù)用途 詳細(xì)說明
字符測(cè)試 是否字母和數(shù)字 isalnum
是否字母 isalpha
是否控制字符 iscntrl
是否數(shù)字 isdigit
是否可顯示字符(除空格外) isgraph
是否可顯示字符(包括空格) isprint
是否既不是空格,又不是字母和數(shù)字的可顯示字符 ispunct
是否空格 isspace
是否大寫字母 isupper
是否16進(jìn)制數(shù)字(0-9,A-F)字符 isxdigit
字符大小寫轉(zhuǎn)換函數(shù) 轉(zhuǎn)換為大寫字母 toupper
轉(zhuǎn)換為小寫字母 tolower
地區(qū)化
本類別的函數(shù)用于處理不同國(guó)家的語(yǔ)言差異。
頭文件 local.h
函數(shù)列表
函數(shù)類別 函數(shù)用途 詳細(xì)說明
地區(qū)控制 地區(qū)設(shè)置 setlocale
數(shù)字格式約定查詢 國(guó)家的貨幣、日期、時(shí)間等的格式轉(zhuǎn)換 localeconv
數(shù)學(xué)函數(shù)
本分類給出了各種數(shù)學(xué)計(jì)算函數(shù),必須提醒的是ANSI C標(biāo)準(zhǔn)中的數(shù)據(jù)格式并不符合IEEE754標(biāo)準(zhǔn),一些C語(yǔ)言編譯器卻遵循IEEE754(例如frinklin C51)
頭文件 math.h
函數(shù)列表
函數(shù)類別 函數(shù)用途 詳細(xì)說明
錯(cuò)誤條件處理 定義域錯(cuò)誤(函數(shù)的輸入?yún)?shù)值不在規(guī)定的范圍內(nèi))
值域錯(cuò)誤(函數(shù)的返回值不在規(guī)定的范圍內(nèi))
三角函數(shù) 反余弦 acos
反正弦 asin
反正切 atan
反正切2 atan2
余弦 cos
正弦 sin
正切 tan
雙曲函數(shù) 雙曲余弦 cosh
雙曲正弦 sinh
雙曲正切 tanh
指數(shù)和對(duì)數(shù) 指數(shù)函數(shù) exp
指數(shù)分解函數(shù) frexp
乘積指數(shù)函數(shù) fdexp
自然對(duì)數(shù) log
以10為底的對(duì)數(shù) log10
浮點(diǎn)數(shù)分解函數(shù) modf
冪函數(shù) 冪函數(shù) pow
平方根函數(shù) sqrt
整數(shù)截?cái)啵^對(duì)值和求余數(shù)函數(shù) 求下限接近整數(shù) ceil
絕對(duì)值 fabs
求上限接近整數(shù) floor
求余數(shù) fmod
本分類函數(shù)用于實(shí)現(xiàn)在不同底函數(shù)之間直接跳轉(zhuǎn)代碼。 頭文件 setjmp.h io.h
函數(shù)列表
函數(shù)類別 函數(shù)用途 詳細(xì)說明
保存調(diào)用環(huán)境 setjmp
恢復(fù)調(diào)用環(huán)境 longjmp
信號(hào)處理
該分類函數(shù)用于處理那些在程序執(zhí)行過程中發(fā)生例外的情況。
頭文件 signal.h
函數(shù)列表
函數(shù)類別 函數(shù)用途 詳細(xì)說明
指定信號(hào)處理函數(shù) signal
發(fā)送信號(hào) raise
可變參數(shù)處理
本類函數(shù)用于實(shí)現(xiàn)諸如printf,scanf等參數(shù)數(shù)量可變底函數(shù)。
頭文件 stdarg.h
函數(shù)列表
函數(shù)類別 函數(shù)用途 詳細(xì)說明
可變參數(shù)訪問宏 可變參數(shù)開始宏 va_start
可變參數(shù)結(jié)束宏 va_end
可變參數(shù)訪問宏 訪問下一個(gè)可變參數(shù)宏 va_arg
輸入輸出函數(shù)
該分類用于處理包括文件、控制臺(tái)等各種輸入輸出設(shè)備,各種函數(shù)以“流”的方式實(shí)現(xiàn)
頭文件 stdio.h
函數(shù)列表
函數(shù)類別 函數(shù)用途 詳細(xì)說明
文件操作
刪除文件 remove
修改文件名稱 rename
生成臨時(shí)文件名稱 tmpfile
得到臨時(shí)文件路徑 tmpnam
文件訪問 關(guān)閉文件 fclose
刷新緩沖區(qū) fflush
打開文件 fopen
將已存在的流指針和新文件連接 freopen
設(shè)置磁盤緩沖區(qū) setbuf
設(shè)置磁盤緩沖區(qū) setvbuf
格式化輸入與輸出函數(shù) 格式輸出 fprintf
格式輸入 fscanf
格式輸出(控制臺(tái)) printf
格式輸入(控制臺(tái)) scanf
格式輸出到緩沖區(qū) sprintf
從緩沖區(qū)中按格式輸入 sscanf
格式化輸出 vfprintf
格式化輸出 vprintf
格式化輸出 vsprintf
字符輸入輸出函數(shù) 輸入一個(gè)字符 fgetc
字符串輸入 fgets
字符輸出 fputc
字符串輸出 fputs
字符輸入(控制臺(tái)) getc
字符輸入(控制臺(tái)) getchar
字符串輸入(控制臺(tái)) gets
字符輸出(控制臺(tái)) putc
字符輸出(控制臺(tái)) putchar
字符串輸出(控制臺(tái)) puts
字符輸出到流的頭部 ungetc
直接輸入輸出 直接流讀操作 fread
直接流寫操作 fwrite
文件定位函數(shù) 得到文件位置 fgetpos
文件位置移動(dòng) fseek
文件位置設(shè)置 fsetpos
得到文件位置 ftell
文件位置復(fù)零位 remind
錯(cuò)誤處理函數(shù) 錯(cuò)誤清除 clearerr
文件結(jié)尾判斷 feof
文件錯(cuò)誤檢測(cè) ferror
得到錯(cuò)誤提示字符串 perror
實(shí)用工具函數(shù)
本分類給出了一些函數(shù)無法按以上分類,但又是編程所必須要的。
頭文件 stdlib.h
函數(shù)列表
函數(shù)類別 函數(shù)用途 詳細(xì)說明
字符串轉(zhuǎn)換函數(shù) 字符串轉(zhuǎn)換為整數(shù) atoi
字符串轉(zhuǎn)換為長(zhǎng)整數(shù) atol
字符串轉(zhuǎn)換為浮點(diǎn)數(shù) strtod
字符串轉(zhuǎn)換為長(zhǎng)整數(shù) strtol
字符串轉(zhuǎn)換為無符號(hào)長(zhǎng)整型 strtoul
偽隨機(jī)序列產(chǎn)生函數(shù) 產(chǎn)生隨機(jī)數(shù) rand
設(shè)置隨機(jī)函數(shù)的起動(dòng)數(shù)值 srand
存儲(chǔ)管理函數(shù) 分配存儲(chǔ)器 calloc
釋放存儲(chǔ)器 free
存儲(chǔ)器分配 malloc
重新分配存儲(chǔ)器 realloc
環(huán)境通信 中止程序 abort
退出程序執(zhí)行,并清除環(huán)境變量 atexit
退出程序執(zhí)行 exit
讀取環(huán)境參數(shù) getenv
程序掛起,臨時(shí)執(zhí)行一個(gè)其他程序 system
搜索和排序工具 二分查找(數(shù)據(jù)必須已排序) bsearch
快速排序 qsort
整數(shù)運(yùn)算函數(shù) 求絕對(duì)值 abs
div
得到除法運(yùn)算底商和余數(shù)
求長(zhǎng)整形底絕對(duì)值 labs
求長(zhǎng)整形除法的商和余數(shù) ldiv
多字節(jié)字符函數(shù) 得到多字節(jié)字符的字節(jié)數(shù) mblen
得到多字節(jié)字符的字節(jié)數(shù) mbtowc
多字節(jié)字符轉(zhuǎn)換 wctomb
多字節(jié)字符的字符串操作 將多字節(jié)串轉(zhuǎn)換為整數(shù)數(shù)組 mbstowcs
將多字節(jié)串轉(zhuǎn)換為字符數(shù)組 mcstowbs
字符串處理
本分類的函數(shù)用于對(duì)字符串進(jìn)行合并、比較等操作
頭文件 string.h
函數(shù)列表
函數(shù)類別 函數(shù)用途 詳細(xì)說明
字符串拷貝 塊拷貝(目的和源存儲(chǔ)區(qū)不可重疊) memcpy
塊拷貝(目的和源存儲(chǔ)區(qū)可重疊) memmove
串拷貝 strcpy
按長(zhǎng)度的串拷貝 strncpy
字符串連接函數(shù) 串連接 strcat
按長(zhǎng)度連接字符串 strncat
串比較函數(shù) 塊比較 memcmp
字符串比較 strcmp
字符串比較(用于非英文字符) strcoll
按長(zhǎng)度對(duì)字符串比較 strncmp
字符串轉(zhuǎn)換 strxfrm
字符與字符串查找 字符查找 memchr
字符查找 strchr
字符串查找 strcspn
字符串查找 strpbrk
字符串查找 strspn
字符串查找 strstr
字符串分解 strtok
雜類函數(shù) 字符串設(shè)置 memset
錯(cuò)誤字符串映射 strerror
求字符串長(zhǎng)度 strlen
日期和時(shí)間函數(shù)
本類別給出時(shí)間和日期處理函數(shù)
頭文件 time.h
函數(shù)列表
函數(shù)類別 函數(shù)用途 詳細(xì)說明
時(shí)間操作函數(shù) 得到處理器時(shí)間 clock
得到時(shí)間差 difftime
設(shè)置時(shí)間 mktime
得到時(shí)間 time
時(shí)間轉(zhuǎn)換函數(shù) 得到以ASCII碼表示的時(shí)間 asctime
得到字符串表示的時(shí)間 ctime
得到指定格式的時(shí)間 strftime
函數(shù)庫(kù)未來的發(fā)展方向
本部分用于說明各類別函數(shù)庫(kù)在將來如何發(fā)展。
序號(hào) 庫(kù)類別 頭文件 詳細(xì)說明
1 錯(cuò)誤處理 errno.h
2 字符處理 ctype.h
3 地區(qū)化 local.h
4 數(shù)學(xué)函數(shù) math.h
5 信號(hào)處理 signal.h
6 輸入輸出 stdio.h
7 實(shí)用工具程序 stdlib.h
8 字符串處理 string.h
不是C語(yǔ)言中要調(diào)用函數(shù),是任何語(yǔ)言都要做的.
函數(shù)是對(duì)問題描述的最基本的分解方式,最簡(jiǎn)單的它可以使問題逐層簡(jiǎn)化,使工作可以分工協(xié)作.
的確某些非常簡(jiǎn)單的操作是沒必要再細(xì)化成函數(shù),但并不是說該編譯系統(tǒng)就只處理非常簡(jiǎn)單的操作,它還考慮到更復(fù)雜情況,所以加上強(qiáng)制使用函數(shù)方式編程也是合情合理的。
網(wǎng)站標(biāo)題:函數(shù)在c語(yǔ)言中的作用,c語(yǔ)言中函數(shù)有什么用
文章轉(zhuǎn)載:http://muchs.cn/article30/phieso.html
成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供網(wǎng)站制作、軟件開發(fā)、Google、企業(yè)建站、靜態(tài)網(wǎng)站、定制開發(fā)
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請(qǐng)盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如需處理請(qǐng)聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來源: 創(chuàng)新互聯(lián)