頭文件是擴(kuò)展名為?.h?的文件,包含了 C 函數(shù)聲明和宏定義,被多個(gè)源文件中引用共享。有兩種類(lèi)型的頭文件:程序員編寫(xiě)的頭文件和編譯器自帶的頭文件。
成都創(chuàng)新互聯(lián)專(zhuān)業(yè)IDC數(shù)據(jù)服務(wù)器托管提供商,專(zhuān)業(yè)提供成都服務(wù)器托管,服務(wù)器租用,遂寧聯(lián)通機(jī)房,遂寧聯(lián)通機(jī)房,成都多線服務(wù)器托管等服務(wù)器托管服務(wù)。
在程序中要使用頭文件,需要使用 C 預(yù)處理指令?#include?來(lái)引用它。前面我們已經(jīng)看過(guò)?stdio.h?頭文件,它是編譯器自帶的頭文件。
引用頭文件相當(dāng)于復(fù)制頭文件的內(nèi)容,但是我們不會(huì)直接在源文件中復(fù)制頭文件的內(nèi)容,因?yàn)檫@么做很容易出錯(cuò),特別在程序是由多個(gè)源文件組成的時(shí)候。
A simple practice in C 或 C++ 程序中,建議把所有的常量、宏、系統(tǒng)全局變量和函數(shù)原型寫(xiě)在頭文件中,在需要的時(shí)候隨時(shí)引用這些頭文件。
擴(kuò)展資料:
引用頭文件的語(yǔ)法
使用預(yù)處理指令?#include?可以引用用戶(hù)和系統(tǒng)頭文件。它的形式有以下兩種:
#include file
這種形式用于引用系統(tǒng)頭文件。它在系統(tǒng)目錄的標(biāo)準(zhǔn)列表中搜索名為 file 的文件。在編譯源代碼時(shí),您可以通過(guò) -I 選項(xiàng)把目錄前置在該列表前。
#include "file"
這種形式用于引用用戶(hù)頭文件。它在包含當(dāng)前文件的目錄中搜索名為 file 的文件。在編譯源代碼時(shí),您可以通過(guò) -I 選項(xiàng)把目錄前置在該列表前。
庫(kù)函數(shù)(Library function)是把函數(shù)放到庫(kù)里,供別人使用的一種方式。.方法是把一些常用到的函數(shù)編完放到一個(gè)文件里,供不同的人進(jìn)行調(diào)用。調(diào)用的時(shí)候把它所在的文件名用#include加到里面就可以了。一般是放到lib文件里的。
一般是指編譯器提供的可在c源程序中調(diào)用的函數(shù)。可分為兩類(lèi),一類(lèi)是c語(yǔ)言標(biāo)準(zhǔn)規(guī)定的庫(kù)函數(shù),一類(lèi)是編譯器特定的庫(kù)函數(shù)。
由于版權(quán)原因,庫(kù)函數(shù)的源代碼一般是不可見(jiàn)的,但在頭文件中你可以看到它對(duì)外的接口
庫(kù)函數(shù)簡(jiǎn)介。
C語(yǔ)言的語(yǔ)句十分簡(jiǎn)單,如果要使用C語(yǔ)言的語(yǔ)句直接計(jì)算sin或cos函數(shù),就需要編寫(xiě)頗為復(fù)雜的程序。因?yàn)镃語(yǔ)言的語(yǔ)句中沒(méi)有提供直接計(jì)算sin或cos函數(shù)的語(yǔ)句。又如為了顯示一段文字,我們?cè)贑語(yǔ)言中也找不到顯示語(yǔ)句,只能使用庫(kù)函數(shù)printf。
C語(yǔ)言的庫(kù)函數(shù)并不是C語(yǔ)言本身的一部分,它是由編譯程序根據(jù)一般用戶(hù)的需要編制并提供用戶(hù)使用的一組程序。C的庫(kù)函數(shù)極大地方便了用戶(hù),同時(shí)也補(bǔ)充了C語(yǔ)言本身的不足。事實(shí)上,在編寫(xiě)C語(yǔ)言程序時(shí),應(yīng)當(dāng)盡可能多地使用庫(kù)函數(shù),這樣既可以提高程序的運(yùn)行效率,又可以提高編程的質(zhì)量。
這里調(diào)用的是靜態(tài)庫(kù)。
函數(shù)庫(kù):函數(shù)庫(kù)是由系統(tǒng)建立的具有一定功能的函數(shù)的集合。庫(kù)中存放函數(shù)的名稱(chēng)和對(duì)應(yīng)的目標(biāo)代碼,以及連接過(guò)程中所需的重定位信息。用戶(hù)也可以根據(jù)自己的需要建立自己的用戶(hù)函數(shù)庫(kù)。
庫(kù)函數(shù):存放在函數(shù)庫(kù)中的函數(shù)。庫(kù)函數(shù)具有明確的功能、入口調(diào)用參數(shù)和返回值。
連接程序:將編譯程序生成的目標(biāo)文件連接在一起生成一個(gè)可執(zhí)行文件。
頭文件:有時(shí)也稱(chēng)為包含文件。C語(yǔ)言庫(kù)函數(shù)與用戶(hù)程序之間進(jìn)行信息通信時(shí)要使用的數(shù)據(jù)和變量,在使用某一庫(kù)函數(shù)時(shí),都要在程序中嵌入(用#include)該函數(shù)對(duì)應(yīng)的頭文件。
由于C語(yǔ)言編譯系統(tǒng)應(yīng)提供的函數(shù)庫(kù)尚無(wú)國(guó)際標(biāo)準(zhǔn)。不同版本的C語(yǔ)言具有不同的庫(kù)函數(shù),用戶(hù)使用時(shí)應(yīng)查閱有關(guān)版本的C的庫(kù)函數(shù)參考手冊(cè)。我們以Turbo C為例簡(jiǎn)介一下C的庫(kù)函數(shù),并附錄中給出了Turbo C的部分常用庫(kù)函數(shù)。
C語(yǔ)言中,strlwr函數(shù)和strupr函數(shù)的用法都是直接傳入字符串調(diào)用,strlwr函數(shù)的作用是將字符串參數(shù)轉(zhuǎn)換為小寫(xiě)形式。strupr函數(shù)的作用是將字符串參數(shù)轉(zhuǎn)換為大寫(xiě)形式。
1、strlwr函數(shù)
原型:extern char *strlwr(char *s);
用法:#include string.h
功能:將字符串s參數(shù)轉(zhuǎn)換為小寫(xiě)形式
說(shuō)明:只轉(zhuǎn)換s參數(shù)中出現(xiàn)的大寫(xiě)字母,不改變其它字符。返回指向s參數(shù)的指針。
兼容性說(shuō)明:strlwr和strupr不是標(biāo)準(zhǔn)C庫(kù)函數(shù),只能在VC中使用。linux gcc環(huán)境下需要自行定義這個(gè)函數(shù)。
2、strupr函數(shù)
原型:extern char *strupr(char *s);
用法:#include string.h
功能:將字符串s轉(zhuǎn)換為大寫(xiě)形式
說(shuō)明:只轉(zhuǎn)換s中出現(xiàn)的小寫(xiě)字母,不改變其它字符。返回指向s的指針。
兼容性說(shuō)明:strupr不是標(biāo)準(zhǔn)C庫(kù)函數(shù),只能在VC中使用。在linux gcc環(huán)境下需要自行定義這個(gè)函數(shù)。
擴(kuò)展資料:
C語(yǔ)言常用函數(shù):
1、int abs(int i):返回整型參數(shù)i的絕對(duì)值。
2、double cabs(struct complex znum):返回復(fù)數(shù)znum的絕對(duì)值。
3、double fabs(double x):返回雙精度參數(shù)x的絕對(duì)值。
4、long labs(long n):返回長(zhǎng)整型參數(shù)n的絕對(duì)值。
5、double exp(double x):返回指數(shù)函數(shù)ex的值。
6、double frexp(double value,int *eptr):返回value=x*2n中x的值,n存貯在eptr中。
7、double ldexp(double value,int exp):返回value*2exp的值。
8、double log(double x):返回logex的值。
9、double log10(double x):返回log10x的值。
10、double pow(double x,double y):返回x^y的值。
參考資料來(lái)源:百度百科-strlwr
參考資料來(lái)源:百度百科-strupr
C語(yǔ)言庫(kù)函數(shù),常用庫(kù)函數(shù)有:
1、scanf格式輸入函數(shù)
2、printf格式輸出函數(shù)
3、systemdos命令函數(shù)
4、sort排序
5、main主函數(shù)
6、fgets文件讀取字符串函數(shù)
7、fputs文件寫(xiě)入字符串函數(shù)
8、fscanf文件格式讀取函數(shù)
9、fprintf文件格式寫(xiě)入函數(shù)
10、fopen打開(kāi)文件函數(shù)
11、getchar輸入字符函數(shù)
12、putchar輸出字符函數(shù)
13、malloc動(dòng)態(tài)申請(qǐng)內(nèi)存函數(shù)
14、free釋放內(nèi)存函數(shù)
15、abs求絕對(duì)值數(shù)學(xué)函數(shù)
16、sqrt求平方根數(shù)學(xué)函數(shù)
擴(kuò)展資料
語(yǔ)言組成:
1、數(shù)據(jù)類(lèi)型
C的數(shù)據(jù)類(lèi)型包括:整型、字符型、實(shí)型或浮點(diǎn)型(單精度和雙精度)、枚舉類(lèi)型、數(shù)組類(lèi)型、結(jié)構(gòu)體類(lèi)型、共用體類(lèi)型、指針類(lèi)型和空類(lèi)型。
2、常量與變量
常量其值不可改變,符號(hào)常量名通常用大寫(xiě)。
變量是以某標(biāo)識(shí)符為名字,其值可以改變的量。標(biāo)識(shí)符是以字母或下劃線開(kāi)頭的一串由字母、數(shù)字或下劃線構(gòu)成的序列,請(qǐng)注意第一個(gè)字符必須為字母或下劃線,否則為不合法的變量名。變量在編譯時(shí)為其分配相應(yīng)存儲(chǔ)單元。
3、數(shù)組
如果一個(gè)變量名后面跟著一個(gè)有數(shù)字的中括號(hào),這個(gè)聲明就是數(shù)組聲明。字符串也是一種數(shù)組。它們以ASCII的NULL作為數(shù)組的結(jié)束。要特別注意的是,方括內(nèi)的索引值是從0算起的。
4、指針
如果一個(gè)變量聲明時(shí)在前面使用 * 號(hào),表明這是個(gè)指針型變量。換句話說(shuō),該變量存儲(chǔ)一個(gè)地址,而 *(此處特指單目運(yùn)算符 * ,下同。C語(yǔ)言中另有 雙目運(yùn)算符 *) 則是取內(nèi)容操作符,意思是取這個(gè)內(nèi)存地址里存儲(chǔ)的內(nèi)容。指針是 C 語(yǔ)言區(qū)別于其他同時(shí)代高級(jí)語(yǔ)言的主要特征之一。
參考資料來(lái)源:百度百科-函數(shù)
system(系統(tǒng))函數(shù)
windows操作系統(tǒng)下system () 函數(shù)詳解(主要是在C語(yǔ)言中的應(yīng)用)
功 能: 發(fā)出一個(gè)DOS命令
用 法: int system(char *command);
system函數(shù)已經(jīng)被收錄在標(biāo)準(zhǔn)c庫(kù)中,可以直接調(diào)用
程序例:
#include stdlib.h
#include stdio.h
int main(void)
{
printf("About to spawn and run a DOS command\n");
system("dir");
return 0;
}
又如:system("pause")可以實(shí)現(xiàn)凍結(jié)屏幕,便于觀察程序的執(zhí)行結(jié)果;system("CLS")可以實(shí)現(xiàn)清屏操作。而調(diào)用color函數(shù)可以改變控制臺(tái)的前景色和背景,具體參數(shù)在下面說(shuō)明。
例如,用 system("color 0A"); 其中color后面的0是背景色代號(hào),A是前景色代號(hào)。各顏色代碼如下:
0=黑色 1=藍(lán)色 2=綠色 3=湖藍(lán)色 4=紅色 5=紫色 6=黃色 7=白色 8=灰色 9=淡藍(lán)色 A=淡綠色 B=淡淺綠色 C=淡紅色 D=淡紫色 E=淡黃色 F=亮白色
(注意:Microsoft Visual C++6.0 支持system)
舉例
看了下面實(shí)例,相信你會(huì)對(duì)學(xué)到更多system在C程序設(shè)計(jì)中的應(yīng)用。
例一:
C語(yǔ)言調(diào)用DOS命令實(shí)現(xiàn)定時(shí)關(guān)機(jī):
#includestdio.h
#includestring.h
#includestdlib.h
int print()
{
printf(" ╪╪╪╪╪╪╧╧╧╧╧╧╧╧╪╪╪╪╪╪\n");
printf("╔═══╧╧C語(yǔ)言關(guān)機(jī)程序 ╧╧═══╗\n");
printf("║※1.實(shí)現(xiàn)10分鐘內(nèi)的定時(shí)關(guān)閉計(jì)算機(jī) ║\n");
printf("║※2.立即關(guān)閉計(jì)算機(jī) ║\n");
printf("║※3.注銷(xiāo)計(jì)算機(jī) ║\n");
printf("║※0.退出系統(tǒng) ║\n");
printf("╚═══════════════════╝\n");
return 0;
}
void main()
{
system("title C語(yǔ)言關(guān)機(jī)程序");//設(shè)置cmd窗口標(biāo)題
system("mode con cols=48 lines=25");//窗口寬度高度
system("color 0B");
system("date /T");
system("TIME /T");
char cmd[20]="shutdown -s -t ";
char t[5]="0";
print();
int c;
scanf("%d",c);
getchar();
switch(c)
{
case 1:printf("您想在多少秒后自動(dòng)關(guān)閉計(jì)算機(jī)?(0~600)\n");scanf("%s",t);system(strcat(cmd,t));break;
case 2:system("shutdown -p");break;
case 3:system("shutdown -l");break;
case 0:break;
default:printf("Error!\n");
}
system("pause");
exit(0);
}
例二:
用C語(yǔ)言刪除文件,例如文件的位置是d:\123.txt
用system()函數(shù)執(zhí)行windows命令。
#include stdlib.h
#include stdio.h
int main(void)
{
system("del d:\\123.txt");
return 0;
}