第10章C語言的常用函數(shù)庫ppt課件_第1頁
第10章C語言的常用函數(shù)庫ppt課件_第2頁
第10章C語言的常用函數(shù)庫ppt課件_第3頁
第10章C語言的常用函數(shù)庫ppt課件_第4頁
第10章C語言的常用函數(shù)庫ppt課件_第5頁
已閱讀5頁,還剩25頁未讀 繼續(xù)免費閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)

文檔簡介

1、第第10章章 C語言的常用函數(shù)庫語言的常用函數(shù)庫10-1 字串與字元處理函數(shù)10-2 時間及日期函數(shù) 10-3 數(shù)學函數(shù)10-4 亂數(shù)函數(shù) 10-5 本章綜合練習 10-1 字串與字元處理函數(shù)l 首先要為讀者介紹一些C語言中所提供字串與字元的根本處理方法,包括如何計算字串長度、複製、連接、搜尋、字元判斷等方法,在本節(jié)中將分別為您介紹。字元處理函數(shù) 函數(shù)原型說明int isalpha(int c)如果c是一個英文字母字元則傳回1(True),否則傳回 0(False)。int isdigit(int c)如果c是一個數(shù)字字元則傳回1(True),否則傳回 0(False)。int isspace

2、(int c)如果c是空白字元則傳回1(True),否則傳回 0(False)。int isalnum(int c)如果c是英文字母或數(shù)字字元則傳回1(True),否則傳回 0(False)。int iscntrl(int c)如果c是控制字元則傳回1(True),否則傳回 0(False)。int isprint(int c)如果c是一個可以列印的字元則傳回1(True),否則傳回 0(False)。int isgraph(int c)如果c不是空白的可列印字元則傳回1(True),否則傳回 0(False)。int ispunct(int c)如果c是空白、英文或數(shù)字字元以外的可列印字元則

3、傳回1(True),否則傳回 0(False)int islower(int c)如果c是一個小寫的英文字母則傳回1(True),否則傳回 0(False)int isupper(int c)如果c是一個大寫的英文字母則傳回1(True),否則傳回 0(False)。int isxdigit(int c)如果c是一個16進位數(shù)字則傳回1(True),否則傳回 0(False)int tolower(int c)如果c是一個大寫的英文字母則傳回小寫字母,否則直接傳回cint toupper(int c)如果c是一個小寫的英文字母則傳回大寫字母,否則直接傳回c字元處理函數(shù)的說明與應用:CH10_1

4、l程式範例是利用標頭檔中的字元處理函數(shù)來判斷所輸入的字元是英文字母、數(shù)字或其它符號。字串處理函數(shù)表(一)函數(shù)原型說明size_t strlen(char *str)傳回字串 str 的長度。char *strcpy(char *str1, char *str2)將str2 字串複製到 str1字串,並傳回 str1 位址。char *strncpy(char *d, char *s, int n)複製 str2 字串的前 n 個字元到 str1字串,並傳回 str1位址。char *strcat(char *str1, char *str2)將 str2 字串連結(jié)到字串 str1,並傳回 st

5、r1位址。char *strncat(char *str1, char *str2,int n)連結(jié) str2 字串的前 n 個字元到 str1字串,並傳回 str1位址。int strcmp(char *str1, char *str2)比較 str1 字串與 str2 字串。如果 str1 str2,傳回正值 str1 = str2,傳回0 str1 str2,傳回正值str1 = str2,傳回0 str1 str2,傳回負值char *strchr(char *str, char c)搜尋字元 c 在 str 字串中第一次出現(xiàn)的位置,如果有找到則傳回該位置的位址,沒有找到則傳回 NUL

6、L。char *strrchr(char *str, char c)搜尋字元 c 在 str 字串中最後一次出現(xiàn)的位置,如果有找到則傳回該位置的位址,沒有找到則傳回 NULL。char *strstr(char *str1, char *str2)搜尋str2 字串在 str1 字串中第一次出現(xiàn)的位置,如果有找到則傳回該位置的位址,沒有找到則傳回 NULL。字串處理函數(shù)的實作與應用:CH10_2l程式範例是利用標頭檔中的各種字串處理函數(shù)來判斷所輸入字串大小,並列印比較結(jié)果。 字串轉(zhuǎn)換函數(shù)l在標頭檔中,也提供了將字串轉(zhuǎn)為數(shù)字資料型態(tài)的函數(shù)。l運用這些函數(shù)的條件,必需是由數(shù)字字元所組成的字串,假設

7、輸入字串不是由數(shù)字字元組成,則輸出結(jié)果將會是數(shù)字型態(tài)的0。 函數(shù)原型說明double atof(const char *str)把字串 str 轉(zhuǎn)為倍精準浮點數(shù)(double float)數(shù)值。int atoi(const char *str)把字串 str 轉(zhuǎn)為整數(shù)(int)數(shù)值。long atol(const char *str)把字串 str 轉(zhuǎn)為長整數(shù)(long int)數(shù)值。字串轉(zhuǎn)換函數(shù)的說明與應用:CH10_3l程式範例是利用標頭檔中的字串轉(zhuǎn)換函數(shù)來將一個字串轉(zhuǎn)為倍精度浮點數(shù),並求其立方值。 時間及日期函數(shù) lC語言中也所提供了與時間日期相關(guān)的函數(shù),定義於time.h標頭檔中,包含

8、了顯示與設定系統(tǒng)目前的時間、程式處理時間函數(shù)、計算時間差等等。時間及日期函數(shù)簡介 函數(shù)原型說明time_t time(time_t *systime);傳回系統(tǒng)目前的時間,而time_t為time.h中所定義的時間資料型態(tài),是以長整數(shù)型態(tài)表示。time()會回應從1970年1月1日 00:00:00 到目前時間所經(jīng)過的秒數(shù)。如果沒有指定time_t型態(tài),就使用NULL,表示傳回系統(tǒng)時間。不過如果想這個長整數(shù)轉(zhuǎn)換為時間格式,必須利用其它的轉(zhuǎn)換函數(shù)。char *ctime(const time_t *systime);將t_time長整數(shù)轉(zhuǎn)換為字串,以我們可了解的時間型式表現(xiàn)。struct tm

9、*localtime(const time_t *timer);取得當?shù)貢r間,並傳回tm結(jié)構(gòu),而tm為time.h中所定義的結(jié)構(gòu)型態(tài),包含年、月、日等資訊。char* asctime(const struct tm *tblock);傳入tm結(jié)構(gòu)指標,將結(jié)構(gòu)成員以我們可了解的時間型式呈現(xiàn)。struct tm *gmtime(const time_t *timer);取得格林威治時間,並傳回tm結(jié)構(gòu)。clock_t clock(void);取得程式從開始執(zhí)行到此函數(shù),所經(jīng)過的時脈數(shù)。clock_t型態(tài)定義於time.h中,為一長整數(shù),另外也定義了CLK_TCK來表示每秒的滴答數(shù),所以經(jīng)過秒數(shù)必須

10、將clock()函數(shù)值/CLK_TCK。double difftime(time_t t2,time_t t1)傳回t2與t1的時間差距,單位為秒。time()函數(shù)、localtime()函數(shù)的說明與應用:CH10_4l程式範例將分別利用time()函數(shù)、localtime()函式來獲得目前系統(tǒng)時間,並透過ctime()與asctime()函數(shù)轉(zhuǎn)換為日常通用的時間格式。clock()與difftime()函數(shù)的說明與應用:CH10_5l程式範例則利用clock()與difftime()函數(shù)來計算從程式開始執(zhí)行,到運用者輸入恣意鍵時所經(jīng)過的時間。數(shù)學函數(shù)l數(shù)學函數(shù)定義在表頭檔裡,包括有三角函數(shù)、

11、雙曲線函數(shù)、指數(shù)與對數(shù)函數(shù)和一些數(shù)學計算上的根本函數(shù)。 三角函數(shù)與雙曲線函數(shù)函數(shù)原型說明double sin(double 徑度);徑度(radian)=角度*/180,而回傳值則為正弦值。double cos(double 徑度);傳遞的參數(shù)為徑度,而回傳值則為餘弦值。double tan(double 徑度);傳遞的參數(shù)為徑度,而回傳值則為正切值。double asin(double 正弦值);傳遞的參數(shù)為必須介於-11,而回傳值則為反正弦值。double acos(double 餘弦值);傳遞的參數(shù)為必須介於-11,而回傳值則為反餘弦值。double atan(double 正切值)回傳

12、值為反正切值。double sinh(double 徑度);徑度(radian)=角度*/180,而回傳值則為雙曲線的正弦值。double cosh(double 徑度);傳遞的參數(shù)為徑度,而回傳值則為雙曲線的餘弦值。double tanh(double 徑度);傳遞的參數(shù)為徑度,而回傳值則為雙曲線的正切值。三角函數(shù)與雙曲線函數(shù)的輸出說明與應用:CH10_6 l程式範例則是輸入角度,並將角度轉(zhuǎn)換成徑度,並求出三角函數(shù)與雙曲線函數(shù)的輸出。指數(shù)與對數(shù)函數(shù) 函數(shù)原型說明double exp(double x);傳遞一個實數(shù)為參數(shù),計算後傳回e的次方值。double log(double x);傳遞正

13、數(shù)(大於零)為參數(shù),計算後傳回該數(shù)的自然對數(shù)。double log10(double x); 傳遞正數(shù)為參數(shù),計算後傳回該數(shù)以10為底的自然對數(shù)。double pow(double x,double y);傳回底數(shù)x的y次方,其中當x0且y不是整數(shù),或x為0且y=0時,會發(fā)生錯誤。double sqrt(double x);傳回x的平方根,x不可小於0。double fmod(double x,double y);計算x/y的餘數(shù),其中x,y皆為double型態(tài)。指數(shù)與對數(shù)函數(shù)的說明與應用:CH10_7l程式範例是簡單說明指數(shù)與對數(shù)函數(shù)的輸出功能。其他數(shù)學函數(shù) l在這部分的數(shù)學函數(shù)是關(guān)於數(shù)值的

14、轉(zhuǎn)換部分,包括有絕對值,無條件捨去法和無條件進入法的數(shù)值相關(guān)函數(shù),以下是這些函數(shù)的相關(guān)說明: 函數(shù)原型說明double fabs(double number);傳回number數(shù)值的絕對值。double ceil(double number);傳回不小於number數(shù)值的最小整數(shù),相當於無條件進入法。double floor(double number);傳回不大於number數(shù)值的最大整數(shù),相當於無條件捨去法。其他數(shù)學函數(shù)的輸出說明與應用:CH10_8l程式範例是簡單說明絕對值,無條件捨去法和無條件進入法的數(shù)值相關(guān)函數(shù)的輸出功能。 亂數(shù)函數(shù) l亂數(shù)函數(shù)定義於的表頭檔中,其功能是能隨機產(chǎn)生數(shù)字

15、提供程式做應用,像是猜數(shù)字遊戲、猜拳遊戲或是其它與機率相關(guān)的遊戲程式需求運用到亂數(shù)函數(shù)。亂數(shù)函數(shù)簡介 函數(shù)原型說明int rand(void);產(chǎn)生的亂數(shù)基本上是介於0RAND_MAX之間的整數(shù)。void srand(unsigned seed); 設定亂數(shù)種子來初始化rand()的起始點產(chǎn)生亂數(shù)的函數(shù),範圍一樣介於0RAND_MAX之間的整數(shù)。#define random(num) (rand() % (num)為一巨集展開,可以產(chǎn)生0num之間的亂數(shù)。rand()函數(shù)的運用說明與應用:CH10_9 l程式範例的輸出結(jié)果兩次,會發(fā)現(xiàn)兩次rand()函數(shù)所產(chǎn)生的亂數(shù)都一樣。亂數(shù)種子 lrand

16、()函數(shù)的傳回值是藉由亂數(shù)公式所產(chǎn)生,因此每次重新產(chǎn)生亂數(shù)的起點都一樣,假設可以隨機設定亂數(shù)的起點,每次所得到的亂數(shù)順序就不會一樣。srand()函數(shù)的運用說明與應用:CH10_10l程式範例的輸出結(jié)果兩次,會發(fā)現(xiàn)兩次srand()函數(shù)所產(chǎn)生的亂數(shù)都不會一樣。密碼設定程式的說明與示範:CH10_11 l程式範例是利用字元處理函數(shù)來檢查運用者設定的名稱與密碼能否符合規(guī)定,其中運用者名稱可以輸入英文或數(shù)字字元,但密碼中則必需含有數(shù)字字元。strstr()字串替換函數(shù):CH10_12l程式範例是利用strstr()函數(shù)與strncy()函數(shù),將原始字串中的小字串替換成另一字串。蒙地卡羅法l蒙地卡羅法是運用機率的方式來求解某些數(shù)值。例如可以隨意產(chǎn)生亂數(shù)座標,座標值介於(0,0)與(1,1)這個正方

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
  • 6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論