一種是用戶自定義函數(shù),就是自己根據(jù)功能的需要自己編寫的函數(shù);另一種是系統(tǒng)自帶的函數(shù),如sqrt(x)函數(shù) (就是求x的二次方根),這樣的可以直接用,前提是得在頭文件中把它們包含進(jìn)去。
成都創(chuàng)新互聯(lián)公司是創(chuàng)新、創(chuàng)意、研發(fā)型一體的綜合型網(wǎng)站建設(shè)公司,自成立以來(lái)公司不斷探索創(chuàng)新,始終堅(jiān)持為客戶提供滿意周到的服務(wù),在本地打下了良好的口碑,在過(guò)去的10年時(shí)間我們累計(jì)服務(wù)了上千家以及全國(guó)政企客戶,如隧道混凝土攪拌車等企業(yè)單位,完善的項(xiàng)目管理流程,嚴(yán)格把控項(xiàng)目進(jìn)度與質(zhì)量監(jiān)控加上過(guò)硬的技術(shù)實(shí)力獲得客戶的一致贊美。
在編程領(lǐng)域中,C語(yǔ)言的運(yùn)用非常之多,它兼顧了高級(jí)語(yǔ)言的匯編語(yǔ)言的優(yōu)點(diǎn),相較于其它編程語(yǔ)言具有較大優(yōu)勢(shì)。計(jì)算機(jī)系統(tǒng)設(shè)計(jì)以及應(yīng)用程序編寫是C語(yǔ)言應(yīng)用的兩大領(lǐng)域。同時(shí),C語(yǔ)言的普適較強(qiáng),在許多計(jì)算機(jī)操作系統(tǒng)中都能夠得到適用,且效率顯著。
擴(kuò)展資料:
C語(yǔ)言包含有各種控制語(yǔ)句僅有9種,關(guān)鍵字也只有32 個(gè),程序的編寫要求不嚴(yán)格且多以小寫字母為主,對(duì)許多不必要的部分進(jìn)行了精簡(jiǎn)。
實(shí)際上,語(yǔ)句構(gòu)成與硬件有關(guān)聯(lián)的較少,且C語(yǔ)言本身不提供與硬件相關(guān)的輸入輸出、文件管理等功能,如需此類功能,需要通過(guò)配合編譯系統(tǒng)所支持的各類庫(kù)進(jìn)行編程,故c語(yǔ)言擁有非常簡(jiǎn)潔的編譯系統(tǒng)。
如果一個(gè)變量名后面跟著一個(gè)有數(shù)字的中括號(hào),這個(gè)聲明就是數(shù)組聲明。字符串也是一種數(shù)組。它們以ASCII的NULL作為數(shù)組的結(jié)束。要特別注意的是,方括內(nèi)的索引值是從0算起的。
參考資料來(lái)源:百度百科-c語(yǔ)言
參考資料來(lái)源:百度百科--C語(yǔ)言函數(shù)
【C語(yǔ)言常用的函數(shù)】有:
C語(yǔ)言庫(kù)函數(shù),常用庫(kù)函數(shù)有:scanf格式輸入函數(shù)、printf格式輸出函數(shù)、systemdos命令函數(shù)、sort排序、main主函數(shù)、fgets文件讀取字符串函數(shù)、fputs文件寫入字符串函數(shù)、fscanf文件格式讀取函數(shù)等。
語(yǔ)言組成:
1、數(shù)據(jù)類型
C的數(shù)據(jù)類型包括:整型、字符型、實(shí)型或浮點(diǎn)型(單精度和雙精度)、枚舉類型、數(shù)組類型、結(jié)構(gòu)體類型、共用體類型、指針類型和空類型。
2、常量與變量
常量其值不可改變,符號(hào)常量名通常用大寫。變量是以某標(biāo)識(shí)符為名字,其值可以改變的量。標(biāo)識(shí)符是以字母或下劃線開頭的一串由字母、數(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算起。
想了解更多有關(guān)C語(yǔ)言的詳情,推薦咨詢達(dá)內(nèi)教育。達(dá)內(nèi)教育是引領(lǐng)行業(yè)的職業(yè)教育公司,致力于面向IT互聯(lián)網(wǎng)行業(yè),培養(yǎng)軟件開發(fā)工程師、系統(tǒng)管理員、UI設(shè)計(jì)師、網(wǎng)絡(luò)營(yíng)銷工程師、會(huì)計(jì)等職場(chǎng)人才,擁有強(qiáng)大的師資力量,實(shí)戰(zhàn)講師對(duì)實(shí)戰(zhàn)經(jīng)驗(yàn)傾囊相授,部分講師曾就職于IBM、微軟、Oracle-Sun、華為、亞信等企業(yè),其教研團(tuán)隊(duì)更是有獨(dú)家26大課程體系,助力學(xué)生系統(tǒng)化學(xué)習(xí),同時(shí)還與各大高校進(jìn)行合作,助力學(xué)生職業(yè)方向的發(fā)展。感興趣的話點(diǎn)擊此處,免費(fèi)學(xué)習(xí)一下
1、庫(kù)函數(shù):是由C語(yǔ)言系統(tǒng)提供的函數(shù),這類函數(shù)用戶可以直接在程序中調(diào)用,從而完成一定的功能,這類函數(shù)也被稱為“標(biāo)準(zhǔn)函數(shù)”。
2、用戶自定義函數(shù):是由用戶在程序中定義的函數(shù),是由用戶根據(jù)應(yīng)用程序的需要而定義、用以完成特定功能的程序模塊。
共八種:分類函數(shù),數(shù)學(xué)函數(shù),目錄函數(shù),進(jìn)程函數(shù),診斷函數(shù),接口子程序,操作函數(shù),時(shí)間日期函數(shù) 你可以在百度文庫(kù)里查看各函數(shù)的詳細(xì)信息及用法
int。C語(yǔ)言規(guī)定:在定義函數(shù)時(shí),若其返回值類型為int,則可以默認(rèn)。
C語(yǔ)言函數(shù)有三類,分為外部函數(shù)、靜態(tài)函數(shù)、內(nèi)聯(lián)函數(shù),其中前兩種是C89標(biāo)準(zhǔn)支持,第三種是C99標(biāo)準(zhǔn)增加的。
1、外部函數(shù)
這類函數(shù)是默認(rèn)的函數(shù)類型,基本上平時(shí)我們使用的就是這種函數(shù),聲明有以下兩種方式,例如:
// 使用extern關(guān)鍵字,顯示聲明
extern int add(int a, int b);
// 或省略關(guān)鍵字extern,編譯器也會(huì)自動(dòng)認(rèn)為是extern
int add(int a, int b);
外部函數(shù)表明在當(dāng)前聲明和定義的代碼文件中可以使用,也可以在其它代碼文件中可以通過(guò)#include指令包含使用,對(duì)外部的代碼可見(jiàn)。
2、靜態(tài)函數(shù)
這類函數(shù)其實(shí)與外部函數(shù)相對(duì)的,因?yàn)樾枰褂胹tatic關(guān)鍵字修飾,因此稱為靜態(tài)函數(shù),其實(shí)就是內(nèi)部函數(shù)。聲明方式如下,例如:
static int add(int a, int b);
靜態(tài)函數(shù)的作用域只能在當(dāng)前聲明和定義的文件中,在其它代碼文件中無(wú)法#include使用,因此在整個(gè)程序中,特別是大型程序,有多個(gè)源代碼文件時(shí),即使定義相同名稱的兩個(gè)靜態(tài)函數(shù),也不會(huì)有命名和使用沖突。
3、內(nèi)聯(lián)函數(shù)
是新增的特性,使用inline關(guān)鍵字聲明和定義,該類函數(shù)類似#define宏定義展開,編譯時(shí)會(huì)直接將函數(shù)定義代碼在調(diào)用的地方復(fù)制展開,這樣會(huì)減少函數(shù)調(diào)用的開銷,提高運(yùn)行效率。
inline int add(int a, int b);
內(nèi)聯(lián)函數(shù)適合短小的、被頻繁調(diào)用的函數(shù),對(duì)于復(fù)雜函數(shù),無(wú)法使用。
擴(kuò)展資料:
C語(yǔ)言編寫注意事項(xiàng):
1、const在聲明變量中起限制作用, 該限定變量的值不能被修改。
2、%運(yùn)算符不能應(yīng)用與float或double類型。
3、char類型轉(zhuǎn)換為int型時(shí), 無(wú)法判斷它是signed還是unsigned.這樣其結(jié)果有可能為負(fù)數(shù), 因此轉(zhuǎn)換時(shí)盡量指定signed和unsigned限制符。
4、++i與i++不同之處: ++i是先+1在使用, i++是先使用i在遞加1。
5、三元運(yùn)算符"?:" 第一個(gè)表達(dá)式的括號(hào)不是必須的,但是由于三元表達(dá)式的優(yōu)先級(jí)非常低,我們還是將第一個(gè)表達(dá)式用()括起便于閱讀和理解。
6、C語(yǔ)言中可以使用遞歸 (即函數(shù)調(diào)用自身函數(shù)), 其不節(jié)省儲(chǔ)存器開銷也不加快執(zhí)行速度, 只是使程序緊湊便于理解。
C語(yǔ)言輸入輸出函數(shù)有很多,標(biāo)準(zhǔn)I/O函數(shù)中包含了如下幾個(gè)常用的函數(shù):
scanf,printf,getc,putc,getchar,putchar,gets,puts,fgets,fputs,fgetc,fputc,fscanf,fprintf等.
int
getc(FILE
*fp)
getc主要是從文件中讀出一個(gè)字符.常用的判斷文件是否讀取結(jié)束的語(yǔ)句為
(ch
=
getc(fp))
!=
EOF.EOF為文件結(jié)束標(biāo)志,定義在stdio.h中,就像EXIT_SUCCESS,EXIT_FAILURE定義在stdlib.h中一樣,文件也可以被理解為一種流,所以當(dāng)fp為stdin時(shí),getc(stdin)就等同于getchar()了.
int
putc(int
ch,FILE
*fp)
putc主要是把字符ch寫到文件fp中去.如果fp為stdout,則putc就等同于putchar()了.
int
getchar(void)
getchar主要是從標(biāo)準(zhǔn)輸入流讀取一個(gè)字符.默認(rèn)的標(biāo)準(zhǔn)輸入流即stdio.h中定義的stdin.但是從輸入流中讀取字符時(shí)又涉及到緩沖的問(wèn)題,所以并不是在屏幕中敲上一個(gè)字符程序就會(huì)運(yùn)行,一般是通過(guò)在屏幕上敲上回車鍵,然后將回車前的字符串放在緩沖區(qū)中,getchar就是在緩沖區(qū)中一個(gè)一個(gè)的讀字符.當(dāng)然也可以在while循環(huán)中指定終止字符,如下面的語(yǔ)句:while
((c
=
getchar())
!=
'#')這是以#來(lái)結(jié)束的.
int
putchar(int
ch)
putchar(ch)主要是把字符ch寫到標(biāo)準(zhǔn)流stdout中去.
char
*
gets(char
*str)
gets主要是從標(biāo)準(zhǔn)輸入流讀取字符串并回顯,讀到換行符時(shí)退出,并會(huì)將換行符省去.
int
puts(char
*str)
puts主要是把字符串str寫到標(biāo)準(zhǔn)流stdout中去,并會(huì)在輸出到最后時(shí)添加一個(gè)換行符.
char
*fgets(char
*str,
int
num,
FILE
*fp)
str是存放讀入的字符數(shù)組指針,num是最大允許的讀入字符數(shù),fp是文件指針.fgets的功能是讀一行字符,該行的字符數(shù)不大于num-1.因?yàn)閒gets函數(shù)會(huì)在末尾加上一個(gè)空字符以構(gòu)成一個(gè)字符串.另外fgets在讀取到換行符后不會(huì)將其省略.
int
fputs(char
*str,
file
*fp)
fputs將str寫入fp.fputs與puts的不同之處是fputs在打印時(shí)并不添加換行符.
int
fgetc(FILE
*fp)
fgetc從fp的當(dāng)前位置讀取一個(gè)字符.
int
fputc(int
ch,
file
*fp)
fputc是將ch寫入fp當(dāng)前指定位置.
int
fscanf(FILE
*fp,
char
*format,
輸入列表)
fscanf按照指定格式從文件中出讀出數(shù)據(jù),并賦值到參數(shù)列表中.
int
fprintf(FILE
*fp,
char
*format,
輸出列表)
fprintf將格式化數(shù)據(jù)寫入流式文件中.
數(shù)據(jù)塊讀寫函數(shù)
fread
(buffer,size,count,fp);
fwrite(buffer,size,count,fp);
參數(shù)說(shuō)明:
buffer:是一個(gè)指針。
對(duì)fread
來(lái)說(shuō),它是讀入數(shù)據(jù)的存放地址。
對(duì)fwrite來(lái)說(shuō),是要輸出數(shù)據(jù)的地址(均指起始地址)。
size:
要讀寫的字節(jié)數(shù)。
count:
要進(jìn)行讀寫多少個(gè)size字節(jié)的數(shù)據(jù)項(xiàng)。
fp:
文件型指針。