C語(yǔ)言

網(wǎng)站建設(shè)哪家好,找創(chuàng)新互聯(lián)!專注于網(wǎng)頁(yè)設(shè)計(jì)、網(wǎng)站建設(shè)、微信開發(fā)、重慶小程序開發(fā)、集團(tuán)企業(yè)網(wǎng)站建設(shè)等服務(wù)項(xiàng)目。為回饋新老客戶創(chuàng)新互聯(lián)還提供了臨翔免費(fèi)建站歡迎大家使用!
函數(shù):C語(yǔ)言里執(zhí)行的就是函數(shù),函數(shù)里有很多執(zhí)行語(yǔ)句,這個(gè)函數(shù)并不是數(shù)學(xué)里面的函數(shù),可以理解成一個(gè)容器,這個(gè)容器里有很多可以執(zhí)行的語(yǔ)句。C語(yǔ)言從main函數(shù)開始執(zhí)行。
頭文件:就是寫在開頭用#include寫的語(yǔ)句,如
#includestdio.h
#includemath.h
#includestring.h
里面的英文就是“庫(kù)函數(shù)”,函數(shù)里的執(zhí)行語(yǔ)句都是需要從庫(kù)函數(shù)里調(diào)用,這個(gè)調(diào)用行為不用咱們管。比如:printf函數(shù)、scanf函數(shù)就需要頭文件包含stdio.h這個(gè)庫(kù)函數(shù)。
pow(求冪函數(shù))就需要頭文件包含math.h。
返回值:就是一個(gè)函數(shù)返回的值,任何一個(gè)沒(méi)有定義成void型的函數(shù)都有返回值,定義void型的函數(shù)沒(méi)有返回值。如:
int hanshu()
{
return 1;
}
這個(gè)hanshu函數(shù)的返回值就是1。
如果再有語(yǔ)句,如下:
int a;
a=hanshu();
那么a的值就是1
本人純?cè)瓌?chuàng),拒絕復(fù)制。如有疑問(wèn)請(qǐng)您追問(wèn),滿意的話記得采納哦~~~
頭文件就是你寫的函數(shù)包含在這個(gè)文件中,必須包含了這個(gè)頭文件函數(shù)才能調(diào)用,執(zhí)行。像基本的輸入輸出函數(shù)printf和scanf就是包含在stdio.h中的。主函數(shù)是程序的入口函數(shù),一個(gè)C程序開始運(yùn)行的第一個(gè)函數(shù)就是主函數(shù)。
stdlib.h
是一個(gè)頭文件,在文件里包含許多的函數(shù),比如說(shuō)如果你要?jiǎng)討B(tài)分配空間,就要用到
malloc()
等函數(shù),它都是包含在stdlib.h
這個(gè)頭文件中的。當(dāng)然不同的頭文件中包涵的函數(shù)的功能是不同的,所以才會(huì)在需要的時(shí)候?qū)攵鄠€(gè)頭文件,比如如果你要用到許多數(shù)學(xué)上的函數(shù)
,如sqrt(x),這是一個(gè)求一個(gè)數(shù)平方的函數(shù),要用這個(gè)函數(shù)你必須引入頭文件
“
math.h”,因?yàn)樗?/p>
這個(gè)頭文件中。
stdio.h是c的頭文件,包含了對(duì)你使用的函數(shù)的聲明。
當(dāng)你決定使用某個(gè)函數(shù)的時(shí)候,你去查它的幫助信息,都會(huì)看到這個(gè)函數(shù)的聲明是包含在哪個(gè)頭文件的,這樣你就可以把它包含進(jìn)來(lái),從而使用這個(gè)函數(shù)。
具體請(qǐng)查閱c語(yǔ)言對(duì)于include的講解,還有對(duì)于函數(shù),變量的聲明部分。 include stdio.h 是C的輸入輸出函數(shù),但在C++中使用可以省略.
#include math.h 是數(shù)學(xué)函數(shù),譬如你要用到squar()函數(shù)時(shí)就必須添加這個(gè)頭文件.
#include string.h是字符竄函數(shù).
#include stdlib.h呵呵,這個(gè)有點(diǎn)忘記了,好久沒(méi)有用了,不好意思啊
反正這幾個(gè)是常用的,其他還有很多很多,呵呵,自己可以看書后面的幾頁(yè)都有介紹的呢!~ #includeiostream.h:此頭文件申明了所有I/O操作所需的基本服務(wù),即支持流的輸入輸出操作,譬如程序中有cin ,cout
#includeiomanip.h:此頭文件說(shuō)明可以使用控制數(shù)據(jù)的輸出格式,如設(shè)置數(shù)制、填充字符、精度、數(shù)據(jù)寬度等等,譬如使用setw()、setfill() 、setprecision()等
#include string.h是字符竄處理函數(shù)
#includeafx.h程序中要使用CString類
#include stdlib.h程序中要使用C語(yǔ)言系統(tǒng)提供的庫(kù)函數(shù)gets和puts函數(shù)
回答者:雨之淚1988 - 助理 二級(jí) 2-6 08:35
stdio.h是輸入輸出頭文件,所有有關(guān)輸入輸出的語(yǔ)句如"printf","scanf","putchar","getchar"等,都要用該頭文件,頭文件其實(shí)就是定義了這些函數(shù)的文件,它是系統(tǒng)提供給我們的接口
math.h是再進(jìn)行數(shù)學(xué)運(yùn)算時(shí)要包含的頭文件,它提供了取絕對(duì)值,開方,求冪等數(shù)學(xué)運(yùn)算
#includeconio.h與#includestdio.h 一樣,是頭文件包含。
這個(gè)頭文件包含有許多庫(kù)函數(shù)像#includestdio.h包含printf與
scanf一樣,getch()也是其中一個(gè)函數(shù),它的功能是無(wú)回顯得到一
字符,常用這個(gè)函數(shù)做密碼之類的程序。在TC中編譯不需要加頭文件
可以,編譯器默認(rèn)包含。就像在TC是不用加#includestdio.h一樣。
但在VC中編譯就要加了。否則系統(tǒng)認(rèn)為你的函數(shù)沒(méi)有定義。
其它頭文件你只要再TC文件夾中看看include這個(gè)文件夾里面的文件就可以了
在C語(yǔ)言家族程序中,頭文件被大量使用。一般而言,每個(gè)C程序通常由頭文件(header files)和定義文件(definition files)組成。頭文件作為一種包含功能函數(shù)、數(shù)據(jù)接口聲明的載體文件,主要用于保存程序的聲明(declaration),而定義文件用于保存程序的實(shí)現(xiàn) (implementation)。 .c就是你寫的程序文件。
頭文件是用戶應(yīng)用程序和函數(shù)庫(kù)之間的橋梁和紐帶。在整個(gè)軟件中,頭文件不是最重要的部分,但它是C語(yǔ)言家族中不可缺少的組成部分。編譯時(shí),編譯器通過(guò)頭文件找到對(duì)應(yīng)的函數(shù)庫(kù),進(jìn)而把已引用函數(shù)的實(shí)際內(nèi)容導(dǎo)出來(lái)代替原有函數(shù)。進(jìn)而在硬件層面實(shí)現(xiàn)功能。
頭文件一般由四部分內(nèi)容組成:
(1)頭文件開頭處的版權(quán)和版本聲明;
(2)預(yù)處理塊;
(3)inline函數(shù)的定義;
(4)函數(shù)和類結(jié)構(gòu)聲明等。
在頭文件中,用 ifndef/define/endif結(jié)構(gòu)產(chǎn)生預(yù)處理塊,用 #include 格式來(lái)引用庫(kù)的頭文件。頭文件的這種結(jié)構(gòu),是利用C語(yǔ)言進(jìn)行開發(fā)軟件所通常具備的,屬于公有知識(shí)。
#include 的本質(zhì)就是把對(duì)應(yīng)的文件直接拷貝到這一行里面
要理解頭文件,主要是要理解“聲明”
C/C++中,所有使用到得變量、函數(shù)、類都要是聲明過(guò)得,就是說(shuō),要有一行語(yǔ)句來(lái)告訴編譯器,我有一個(gè)名字叫XXX的???類型的變量(函數(shù)、類)。
然后還有一個(gè)因素就是,在編譯的時(shí)候,程序是按照每個(gè).C或.CPP文件單獨(dú)編譯的。
也就是說(shuō),對(duì)于每個(gè)C文件中,如果都用到了同一個(gè)函數(shù)(比如printf),那么,我在每個(gè)對(duì)應(yīng)文件中寫一遍printf的聲明明顯是很麻煩的。所以我把這個(gè)聲明單獨(dú)寫了一個(gè)文件,為了區(qū)別,我把擴(kuò)展名記做.h,在需要使用對(duì)應(yīng)的函數(shù)(類)的時(shí)候,我就不需要去拷貝函數(shù)的聲明,而只需要#include對(duì)應(yīng)頭文件就可以了,系統(tǒng)自動(dòng)幫你拷貝進(jìn)來(lái)——C語(yǔ)言提供的頭文件,按照函數(shù)功能分類好了,比如數(shù)學(xué)函數(shù)就都寫在了math.h里面,一包含就全包含,不管你用沒(méi)用到cos()這個(gè)函數(shù)或者其他什么。
當(dāng)然,由于.h文件中也可以包含其他.h文件,所以為了不重復(fù)聲明或定義,需要用宏做相應(yīng)的處理,這個(gè)不是要理解的東西,而是照著寫。
看到你的補(bǔ)充,在這里我也補(bǔ)充下答案
對(duì)于自己定義的函數(shù),首先,肯定的是,你至少需要在一個(gè)C文件中定義它,否則鏈接會(huì)出錯(cuò)。當(dāng)你想在任何一個(gè)文件中使用的時(shí)候,你只需要讓這個(gè)文件包函數(shù)聲明所在的頭文件即可。
具體來(lái)說(shuō):
a.h中聲明了了
int a( int x);
a.c中實(shí)現(xiàn)這個(gè)函數(shù),需要有類似代碼
#include "a.h"
//.....其他代碼
int a(int x)
{
return x*x;
}
如果在b.c中想使用這個(gè),則只要在b.c中這樣就可以:
#include "a.h"
//....其他代碼
x = a(x);
//...其他代碼
名稱欄目:c語(yǔ)言函數(shù)頭文件是什么 c語(yǔ)言的頭文件是什么
分享鏈接:http://www.yijiale78.com/article6/doddhog.html
成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供Google、靜態(tài)網(wǎng)站、網(wǎng)站改版、手機(jī)網(wǎng)站建設(shè)、網(wǎng)站內(nèi)鏈、微信公眾號(hào)
聲明:本網(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í)需注明來(lái)源: 創(chuàng)新互聯(lián)
網(wǎng)頁(yè)設(shè)計(jì)公司知識(shí)