C語言標(biāo)準(zhǔn)庫的基本使用_第1頁
C語言標(biāo)準(zhǔn)庫的基本使用_第2頁
C語言標(biāo)準(zhǔn)庫的基本使用_第3頁
C語言標(biāo)準(zhǔn)庫的基本使用_第4頁
C語言標(biāo)準(zhǔn)庫的基本使用_第5頁
免費(fèi)預(yù)覽已結(jié)束,剩余1頁可下載查看

下載本文檔

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

文檔簡介

第第頁C語言標(biāo)準(zhǔn)庫的基本使用寫出看起來專業(yè)的C代碼,除了規(guī)范的變量/函數(shù)命名,還需要熟練使用(C語言)的標(biāo)準(zhǔn)庫。當(dāng)為了數(shù)組拷貝自己編寫一個(gè)f(or)循環(huán)的時(shí)候(可以用memcpy),其他讀者看到這種代碼,肯定會(huì)感嘆(程序員)的C語言基礎(chǔ)不行(為了優(yōu)化空間除外)。

在本文中,我們將深入研究C語言標(biāo)準(zhǔn)庫的不同部分,包括、,以及頭文件中包含的函數(shù)。我們將介紹這些函數(shù)的功能、用途,以及提供的C代碼示例,以便更好地理解和利用這些功能。

頭文件

是C語言標(biāo)準(zhǔn)庫中最重要的頭文件之一,提供了輸入和輸出功能。以下是中常見的一些函數(shù):

1、printf:將格式化的數(shù)據(jù)輸出到標(biāo)準(zhǔn)輸出。

intprintf(constchar*format,...);這個(gè)函數(shù)允許您以指定的格式將數(shù)據(jù)輸出到控制臺(tái)。printf("Hello,%s!","world");2、s(can)f:從標(biāo)準(zhǔn)輸入中讀取格式化的數(shù)據(jù)。intscanf(constchar*format,...);這個(gè)函數(shù)允許您從鍵盤等輸入設(shè)備讀取數(shù)據(jù),并按照指定格式進(jìn)行解析。intage;scanf("%d",

3、fprin(tf):將格式化的數(shù)據(jù)輸出到文件。

intfprintf(FILE*stream,constchar*format,...);

這個(gè)函數(shù)與printf類似,但將輸出定向到文件而不是標(biāo)準(zhǔn)輸出。

4、fscanf:從文件中讀取格式化的數(shù)據(jù)。

intfscanf(FILE*stream,constchar*format,...);這個(gè)函數(shù)從文件中讀取數(shù)據(jù),并按照指定格式進(jìn)行解析。

5、fopen:打開文件以進(jìn)行讀寫操作。

FILE*fopen(constchar*filename,constchar*mode);這個(gè)函數(shù)用于打開文件,以便進(jìn)行讀取或?qū)懭氩僮?。FILE*file=fopen("example.txt","r");6、fclose:關(guān)閉文件。intfclose(FILE*stream);這個(gè)函數(shù)用于關(guān)閉已打開的文件。

7、fgets:從文件中讀取一行數(shù)據(jù)。

char*fgets(char*s,intsize,FILE*stream);

這個(gè)函數(shù)從文件中讀取一行文本數(shù)據(jù)。

8、fputs:將字符串寫入文件。

intfputs(constchar*s,FILE*stream);

這個(gè)函數(shù)將字符串寫入文件。

9、fgetc:從文件中讀取一個(gè)字符。

intfgetc(FILE*stream);

這個(gè)函數(shù)用于逐字符讀取文件內(nèi)容。

10、fputc:將一個(gè)字符寫入文件。

intfputc(intc,FILE*stream);

這個(gè)函數(shù)將一個(gè)字符寫入文件。

11、rewind:將文件指針移動(dòng)到文件的開頭。

voidrewind(FILE*stream);

這個(gè)函數(shù)用于將文件指針重新設(shè)置到文件的開頭。

12、feof:檢查文件結(jié)束標(biāo)志。

intfeof(FILE*stream);這個(gè)函數(shù)用于檢查文件是否已經(jīng)到達(dá)了文件末尾。頭文件是另一個(gè)重要的C語言標(biāo)準(zhǔn)庫頭文件,它包含了一組通用的實(shí)用函數(shù),用于內(nèi)存分配、隨機(jī)數(shù)生成、排序等任務(wù)。以下是中常見的一些函數(shù):1、malloc:分配動(dòng)態(tài)內(nèi)存。void*malloc(size_tsize);這個(gè)函數(shù)用于在堆上分配一塊指定大小的內(nèi)存。int*arr=(int*)malloc(5*sizeof(int));2、calloc:分配并初始化動(dòng)態(tài)內(nèi)存。void*calloc(size_tnum_elements,size_telement_size);這個(gè)函數(shù)用于分配一塊指定大小的內(nèi)存,并將所有字節(jié)初始化為零。int*arr=(int*)calloc(5,sizeof(int));3、realloc:重新分配動(dòng)態(tài)內(nèi)存的大小。void*realloc(void*ptr,size_tsize);這個(gè)函數(shù)用于更改已分配內(nèi)存塊的大小。arr=(int*)realloc(arr,10*sizeof(int));4、free:釋放動(dòng)態(tài)分配的內(nèi)存。voidfree(void*ptr);這個(gè)函數(shù)用于釋放先前分配的內(nèi)存塊。free(arr);5、rand:生成偽隨機(jī)數(shù)。intrand(void);這個(gè)函數(shù)用于生成一個(gè)偽隨機(jī)整數(shù)。intrandom_number=rand();6、srand:設(shè)置隨機(jī)數(shù)生成的種子。voidsrand(unsignedintseed);這個(gè)函數(shù)用于設(shè)置偽隨機(jī)數(shù)生成的種子值。srand(42);7、abs:計(jì)算整數(shù)的絕對(duì)值。intabs(intn);這個(gè)函數(shù)用于計(jì)算整數(shù)的絕對(duì)值。intabsolu(te)_value=abs(-5);8、atoi:將字符串轉(zhuǎn)換為整數(shù)。intatoi(constchar*str);這個(gè)函數(shù)用于將字符串轉(zhuǎn)換為整數(shù)。intnumber=atoi("42");9、atof:將字符串轉(zhuǎn)換為浮點(diǎn)數(shù)。doubleatof(constchar*str);這個(gè)函數(shù)用于將字符串轉(zhuǎn)換為浮點(diǎn)數(shù)。double(pi)=atof("3.14159");10、exit:終止程序的執(zhí)行。voidexit(intstatus);這個(gè)函數(shù)用于正?;虍惓=K止程序的執(zhí)行。exit(0);//正常退出

11、system:執(zhí)行系統(tǒng)命令。

intsystem(constchar*command);這個(gè)函數(shù)用于執(zhí)行(操作系統(tǒng))命令。system("ls-l");12、qsort:對(duì)數(shù)組進(jìn)行快速排序。voidqsort(void*base,size_tnum_elements,size_telement_size,int(*compare_func(ti)on)(constvoid*,constvoid*));這個(gè)函數(shù)用于對(duì)數(shù)組進(jìn)行快速排序。intcompare(constvoid*a,constvoid*b){return(*(int*)a-*(int*)b);}intarr[]={5,2,9,1,5};qsort(arr,5,sizeof(int),compare);

頭文件中的函數(shù)

頭文件提供了處理字符串的函數(shù),包括字符串復(fù)制、連接、比較等操作。以下是中常見的一些函數(shù):

1、strcpy:將一個(gè)字符串復(fù)制到另一個(gè)字符串。

char*strcpy(char*dest,constchar*src);這個(gè)函數(shù)用于將一個(gè)字符串復(fù)制到另一個(gè)字符串。chardestination[20];charsource[]="Hello,world!";strcpy(destination,source);

2、strcat:將一個(gè)字符串附加到另一個(gè)字符串。

char*strcat(char*dest,constchar*src);這個(gè)函數(shù)用于將一個(gè)字符串附加到另一個(gè)字符串。charstr1[20]="Hello,";charstr2[]="world!";strcat(str1,str2);

3、strlen:計(jì)算字符串的長度。

size_tstrlen(constchar*s);這個(gè)函數(shù)用于計(jì)算字符串的長度。charstr[]="Hello";size_tlength=strlen(str);4、strcmp:比較兩個(gè)字符串。intstrcmp(constchar*s1,constchar*s2);這個(gè)函數(shù)用于比較兩個(gè)字符串。charstr1[]="apple";charstr2[]="banana";intresult=strcmp(str1,str2);5、strncmp:比較兩個(gè)字符串的前n個(gè)字符。intstrncmp(constchar*s1,constchar*s2,size_tn);這個(gè)函數(shù)用于比較兩個(gè)字符串的前n個(gè)字符。charstr1[]="apple";charstr2[]="appetizer";intresult=strncmp(str1,str2,3);6、strchr:在字符串中查找指定字符的第一次出現(xiàn)。char*strchr(constchar*s,intc);這個(gè)函數(shù)用于在字符串中查找指定字符的第一次出現(xiàn)。charstr[]="Hello,world!";char*result=strchr(str,'w');7、st(rs)tr:在字符串中查找指定子字符串的第一次出現(xiàn)。char*strstr(constchar*hayst(ac)k,constchar*needle);這個(gè)函數(shù)用于在字符串中查找指定子字符串的第一次出現(xiàn)。charstr[]="Thequ(ic)kbrownfox";char*result=strstr(str,"brown");8、strtok:將字符串拆分為標(biāo)記。char*strtok(char*str,constchar*delimiters);這個(gè)函數(shù)用于將字符串拆分為標(biāo)記。char

str[]

=

"apple,banana,grape";char*token=strtok(str,",");while(token!=NULL){printf("%s",token);

溫馨提示

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

最新文檔

評(píng)論

0/150

提交評(píng)論