函數是C源碼程序中最基本的功能單位,是一個可以從程序其它地方調用執行的語句塊

創新互聯建站堅持“要么做到,要么別承諾”的工作理念,服務領域包括:網站設計、網站制作、企業官網、英文網站、手機端網站、網站推廣等服務,滿足客戶于互聯網時代的牟平網站設計、移動媒體設計的需求,幫助企業找到有效的互聯網解決方案。努力成為您成熟可靠的網絡建設合作伙伴!
C語言是一種結構化程序設計語言,結構化程序設計思想是“分解”大問題,依次解決小問題,通過小問題解決實現大問題的解決,描述“小問題”解決方法的工具即是函數。
函數的定義格式如下:
type name ( argument1, argument2, ...) statement說明:
type
是函數返回的數據的類型
name
是函數被調用時使用的名
argument
是函數調用需要傳入的參量(可以聲明任意多個參量)。每個參量(argument)由一個數據類型后面跟一個標識名稱組成,就像變量聲明中一樣(例如,int
x)。參量僅在函數范圍內有效,可以和函數中的其它變量一樣使用,
它們使得函數在被調用時可以傳入參數,不同的參數用逗號(comma)隔開.
statement
是函數的內容。它可以是一句指令,也可以是一組指令組成的語句塊。如果是一組指令,則語句塊必須用花括號{}括起來,這也是我們最常見到情況。其實為了使程序的格式更加統一清晰,建議在僅有一條指令的時候也使用花括號,這是一個良好的編程習慣。
字符處理函數
本類別函數用于對單個字符進行處理,包括字符的類別測試和字符的大小寫轉換
頭文件 ctype.h
函數列表
函數類別 函數用途 詳細說明
字符測試 是否字母和數字 isalnum
是否字母 isalpha
是否控制字符 iscntrl
是否數字 isdigit
是否可顯示字符(除空格外) isgraph
是否可顯示字符(包括空格) isprint
是否既不是空格,又不是字母和數字的可顯示字符 ispunct
是否空格 isspace
是否大寫字母 isupper
是否16進制數字(0-9,A-F)字符 isxdigit
字符大小寫轉換函數 轉換為大寫字母 toupper
轉換為小寫字母 tolower
地區化
本類別的函數用于處理不同國家的語言差異。
頭文件 local.h
函數列表
函數類別 函數用途 詳細說明
地區控制 地區設置 setlocale
數字格式約定查詢 國家的貨幣、日期、時間等的格式轉換 localeconv
數學函數
本分類給出了各種數學計算函數,必須提醒的是ANSI C標準中的數據格式并不符合IEEE754標準,一些C語言編譯器卻遵循IEEE754(例如frinklin C51)
頭文件 math.h
函數列表
函數類別 函數用途 詳細說明
錯誤條件處理 定義域錯誤(函數的輸入參數值不在規定的范圍內)
值域錯誤(函數的返回值不在規定的范圍內)
三角函數 反余弦 acos
反正弦 asin
反正切 atan
反正切2 atan2
余弦 cos
正弦 sin
正切 tan
雙曲函數 雙曲余弦 cosh
雙曲正弦 sinh
雙曲正切 tanh
指數和對數 指數函數 exp
指數分解函數 frexp
乘積指數函數 fdexp
自然對數 log
以10為底的對數 log10
浮點數分解函數 modf
冪函數 冪函數 pow
平方根函數 sqrt
整數截斷,絕對值和求余數函數 求下限接近整數 ceil
絕對值 fabs
求上限接近整數 floor
求余數 fmod
本分類函數用于實現在不同底函數之間直接跳轉代碼。 頭文件 setjmp.h io.h
函數列表
函數類別 函數用途 詳細說明
保存調用環境 setjmp
恢復調用環境 longjmp
信號處理
該分類函數用于處理那些在程序執行過程中發生例外的情況。
頭文件 signal.h
函數列表
函數類別 函數用途 詳細說明
指定信號處理函數 signal
發送信號 raise
可變參數處理
本類函數用于實現諸如printf,scanf等參數數量可變底函數。
頭文件 stdarg.h
函數列表
函數類別 函數用途 詳細說明
可變參數訪問宏 可變參數開始宏 va_start
可變參數結束宏 va_end
可變參數訪問宏 訪問下一個可變參數宏 va_arg
輸入輸出函數
該分類用于處理包括文件、控制臺等各種輸入輸出設備,各種函數以“流”的方式實現
頭文件 stdio.h
函數列表
函數類別 函數用途 詳細說明
文件操作
刪除文件 remove
修改文件名稱 rename
生成臨時文件名稱 tmpfile
得到臨時文件路徑 tmpnam
文件訪問 關閉文件 fclose
刷新緩沖區 fflush
打開文件 fopen
將已存在的流指針和新文件連接 freopen
設置磁盤緩沖區 setbuf
設置磁盤緩沖區 setvbuf
格式化輸入與輸出函數 格式輸出 fprintf
格式輸入 fscanf
格式輸出(控制臺) printf
格式輸入(控制臺) scanf
格式輸出到緩沖區 sprintf
從緩沖區中按格式輸入 sscanf
格式化輸出 vfprintf
格式化輸出 vprintf
格式化輸出 vsprintf
字符輸入輸出函數 輸入一個字符 fgetc
字符串輸入 fgets
字符輸出 fputc
字符串輸出 fputs
字符輸入(控制臺) getc
字符輸入(控制臺) getchar
字符串輸入(控制臺) gets
字符輸出(控制臺) putc
字符輸出(控制臺) putchar
字符串輸出(控制臺) puts
字符輸出到流的頭部 ungetc
直接輸入輸出 直接流讀操作 fread
直接流寫操作 fwrite
文件定位函數 得到文件位置 fgetpos
文件位置移動 fseek
文件位置設置 fsetpos
得到文件位置 ftell
文件位置復零位 remind
錯誤處理函數 錯誤清除 clearerr
文件結尾判斷 feof
文件錯誤檢測 ferror
得到錯誤提示字符串 perror
實用工具函數
本分類給出了一些函數無法按以上分類,但又是編程所必須要的。
頭文件 stdlib.h
函數列表
函數類別 函數用途 詳細說明
字符串轉換函數 字符串轉換為整數 atoi
字符串轉換為長整數 atol
字符串轉換為浮點數 strtod
字符串轉換為長整數 strtol
字符串轉換為無符號長整型 strtoul
偽隨機序列產生函數 產生隨機數 rand
設置隨機函數的起動數值 srand
存儲管理函數 分配存儲器 calloc
釋放存儲器 free
存儲器分配 malloc
重新分配存儲器 realloc
環境通信 中止程序 abort
退出程序執行,并清除環境變量 atexit
退出程序執行 exit
讀取環境參數 getenv
程序掛起,臨時執行一個其他程序 system
搜索和排序工具 二分查找(數據必須已排序) bsearch
快速排序 qsort
整數運算函數 求絕對值 abs
div
得到除法運算底商和余數
求長整形底絕對值 labs
求長整形除法的商和余數 ldiv
多字節字符函數 得到多字節字符的字節數 mblen
得到多字節字符的字節數 mbtowc
多字節字符轉換 wctomb
多字節字符的字符串操作 將多字節串轉換為整數數組 mbstowcs
將多字節串轉換為字符數組 mcstowbs
字符串處理
本分類的函數用于對字符串進行合并、比較等操作
頭文件 string.h
函數列表
函數類別 函數用途 詳細說明
字符串拷貝 塊拷貝(目的和源存儲區不可重疊) memcpy
塊拷貝(目的和源存儲區可重疊) memmove
串拷貝 strcpy
按長度的串拷貝 strncpy
字符串連接函數 串連接 strcat
按長度連接字符串 strncat
串比較函數 塊比較 memcmp
字符串比較 strcmp
字符串比較(用于非英文字符) strcoll
按長度對字符串比較 strncmp
字符串轉換 strxfrm
字符與字符串查找 字符查找 memchr
字符查找 strchr
字符串查找 strcspn
字符串查找 strpbrk
字符串查找 strspn
字符串查找 strstr
字符串分解 strtok
雜類函數 字符串設置 memset
錯誤字符串映射 strerror
求字符串長度 strlen
日期和時間函數
本類別給出時間和日期處理函數
頭文件 time.h
函數列表
函數類別 函數用途 詳細說明
時間操作函數 得到處理器時間 clock
得到時間差 difftime
設置時間 mktime
得到時間 time
時間轉換函數 得到以ASCII碼表示的時間 asctime
得到字符串表示的時間 ctime
得到指定格式的時間 strftime
函數庫未來的發展方向
本部分用于說明各類別函數庫在將來如何發展。
序號 庫類別 頭文件 詳細說明
1 錯誤處理 errno.h
2 字符處理 ctype.h
3 地區化 local.h
4 數學函數 math.h
5 信號處理 signal.h
6 輸入輸出 stdio.h
7 實用工具程序 stdlib.h
8 字符串處理 string.h
函數寫的有些繁瑣,功能很簡單,將一個字符串s去掉末尾的星號后賦值給參數a。
指針p是為了找到最后一個不是星號的字符位置,先到末尾(第一個while),再反向找到最后一個不是星號的字符位置(第二個while)。
最后一個while是賦值。
C語言中的函數的作用是可以將一段經常需要使用的代碼封裝起來,在需要使用時可以直接調用。
示例:
語言的函數定義和函數聲明
#includestdio.h
//使用函數前,需要在main函數前對使用的函數進行聲明
int getMax(int, int);
void main() {
int t=getMax(12, 21);
printf("%d\n", t);
getchar();
}
int getMax(int a, int b) {
if (a b) {
return a;
}
else {
return b;
}
}
擴展資料
scanf 函數
函數原型:int scanf(char *format [,argument,...])
功能:從標準輸入設備(一般指鍵盤)實現格式化輸入
返回值:成功返回讀入的數據項個數
函數參數:format 格式化字符串
argument 輸入數據項的地址列表
常用格式類型參考printf函數的個格式類型
用法舉例:
從標準輸入設備中輸入一個整數到整形變量a中,輸入一個浮點數到浮點型變量b中
int a=0;
float b=0;
scanf("%d%f",a,b);
上面程序執行后,從鍵盤輸入: 19 18.6 ,程序將 19賦值給變量a, 18.6賦值給變量b 。
本文名稱:c語言分析函數功能 c語言中函數的功能
網址分享:http://www.yijiale78.com/article20/hhiico.html
成都網站建設公司_創新互聯,為您提供靜態網站、定制開發、App設計、網站策劃、App開發、電子商務
聲明:本網站發布的內容(圖片、視頻和文字)以用戶投稿、用戶轉載內容為主,如果涉及侵權請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網站立場,如需處理請聯系客服。電話:028-86922220;郵箱:631063699@qq.com。內容未經允許不得轉載,或轉載時需注明來源: 創新互聯