c語(yǔ)言函數(shù)式 c語(yǔ)言函數(shù)式編程

c語(yǔ)言中有哪些函數(shù)

C語(yǔ)言輸入輸出函數(shù)有很多,標(biāo)準(zhǔn)I/O函數(shù)中包含了如下幾個(gè)常用的函數(shù):

在紹興等地區(qū),都構(gòu)建了全面的區(qū)域性戰(zhàn)略布局,加強(qiáng)發(fā)展的系統(tǒng)性、市場(chǎng)前瞻性、產(chǎn)品創(chuàng)新能力,以專(zhuān)注、極致的服務(wù)理念,為客戶(hù)提供做網(wǎng)站、成都網(wǎng)站制作 網(wǎng)站設(shè)計(jì)制作按需網(wǎng)站設(shè)計(jì),公司網(wǎng)站建設(shè),企業(yè)網(wǎng)站建設(shè),品牌網(wǎng)站設(shè)計(jì),全網(wǎng)整合營(yíng)銷(xiāo)推廣,外貿(mào)網(wǎng)站制作,紹興網(wǎng)站建設(shè)費(fèi)用合理。

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寫(xiě)到文件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ò)在屏幕上敲上回車(chē)鍵,然后將回車(chē)前的字符串放在緩沖區(qū)中,getchar就是在緩沖區(qū)中一個(gè)一個(gè)的讀字符.當(dāng)然也可以在while循環(huán)中指定終止字符,如下面的語(yǔ)句:while

((c

=

getchar())

!=

'#')這是以#來(lái)結(jié)束的.

int

putchar(int

ch)

putchar(ch)主要是把字符ch寫(xiě)到標(biāo)準(zhǔn)流stdout中去.

char

*

gets(char

*str)

gets主要是從標(biāo)準(zhǔn)輸入流讀取字符串并回顯,讀到換行符時(shí)退出,并會(huì)將換行符省去.

int

puts(char

*str)

puts主要是把字符串str寫(xiě)到標(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寫(xiě)入fp.fputs與puts的不同之處是fputs在打印時(shí)并不添加換行符.

int

fgetc(FILE

*fp)

fgetc從fp的當(dāng)前位置讀取一個(gè)字符.

int

fputc(int

ch,

file

*fp)

fputc是將ch寫(xiě)入fp當(dāng)前指定位置.

int

fscanf(FILE

*fp,

char

*format,

輸入列表)

fscanf按照指定格式從文件中出讀出數(shù)據(jù),并賦值到參數(shù)列表中.

int

fprintf(FILE

*fp,

char

*format,

輸出列表)

fprintf將格式化數(shù)據(jù)寫(xiě)入流式文件中.

數(shù)據(jù)塊讀寫(xiě)函數(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:

要讀寫(xiě)的字節(jié)數(shù)。

count:

要進(jìn)行讀寫(xiě)多少個(gè)size字節(jié)的數(shù)據(jù)項(xiàng)。

fp:

文件型指針。

c語(yǔ)言十個(gè)基本函數(shù)

main函數(shù)——主函數(shù);

printf函數(shù)——格式輸出函數(shù);

scanf函數(shù)——格式輸入函數(shù);

getchar函數(shù)——字符輸入函數(shù);

putchar函數(shù)——字符輸出函數(shù);

gets函數(shù)——字符串輸入函數(shù);

puts函數(shù)——字符串輸出函數(shù);

strlen函數(shù)——求字符串長(zhǎng)度的函數(shù);

strcmp函數(shù)——比較字符串的函數(shù);

sqrt函數(shù)——求開(kāi)平方值的函數(shù)。

你說(shuō)要十個(gè)的,所以我就寫(xiě)了十個(gè)!!這些,本人認(rèn)為都是基礎(chǔ)的函數(shù)??!

C語(yǔ)言-函數(shù)式宏

函數(shù)式宏(function-like macro)較之對(duì)象式宏可以進(jìn)行更復(fù)雜的代換。

函數(shù)式宏 sqr 是在編譯時(shí)展開(kāi)并填入程序的,因此 只要是能用雙目運(yùn)算符 * 進(jìn)行乘法計(jì)算的數(shù)據(jù)類(lèi)型,都能使用函數(shù)式宏 。

函數(shù)定義則需為每個(gè)形參都定義各自的數(shù)據(jù)類(lèi)型,返回值的類(lèi)型也只能為一種。就這點(diǎn)而言,函數(shù)較為嚴(yán)格。

函數(shù)為我們默默無(wú)聞地進(jìn)行了一些復(fù)雜處理,如:

而函數(shù)式宏所做的工作只是宏展開(kāi)和填入程序,并不進(jìn)行上述處理。

根據(jù)以上特征, 函數(shù)式宏或許能使程序的運(yùn)行速度稍微提高一點(diǎn),但是程序自身卻有可能變得臃腫 。

函數(shù)式宏在使用上必須小心謹(jǐn)慎。例如, sqr(a++) 展開(kāi)后 ((a++) * (a++)) 。每次展開(kāi), a 的值都會(huì)自增兩次。在不經(jīng)意間表達(dá)式被執(zhí)行了兩次,導(dǎo)致程序出現(xiàn)預(yù)料之外的結(jié)果,我們稱(chēng)這種情況為宏的 副作用(side effect) 。

c語(yǔ)言 if()函數(shù)式如何實(shí)現(xiàn)的?

if語(yǔ)句的一般形式如下:

if(表達(dá)式)語(yǔ)句1

[else語(yǔ)句2]

if語(yǔ)句中的“表達(dá)式”可以是關(guān)系表達(dá)式、邏輯表達(dá)式,甚至是數(shù)值表達(dá)式。其中最直觀、最容易理解的是關(guān)系表達(dá)式。所謂關(guān)系表達(dá)式就是兩個(gè)數(shù)值進(jìn)行比較的式子。

例如:

if(xy)

printf("%d",x);

else

printf("%d",y);

擴(kuò)展資料

if-else語(yǔ)句引入了一種二義性問(wèn)題稱(chēng)為空懸else(dangling-else)問(wèn)題,這種問(wèn)題出現(xiàn)在當(dāng)if子句多于else子句時(shí)。問(wèn)題是這些else子句分別和哪一個(gè)if子句匹配。

例如:

if(minVal=ivec[i])

if(minVal==ivec[i])

++occurs;

else

{

minVal=ivec[i];

occurs=1;

}

網(wǎng)站標(biāo)題:c語(yǔ)言函數(shù)式 c語(yǔ)言函數(shù)式編程
網(wǎng)站路徑:http://muchs.cn/article20/hjscjo.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供關(guān)鍵詞優(yōu)化、網(wǎng)站收錄用戶(hù)體驗(yàn)、品牌網(wǎng)站建設(shè)、微信小程序、品牌網(wǎng)站設(shè)計(jì)

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶(hù)投稿、用戶(hù)轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請(qǐng)盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如需處理請(qǐng)聯(lián)系客服。電話(huà):028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來(lái)源: 創(chuàng)新互聯(lián)

網(wǎng)站建設(shè)網(wǎng)站維護(hù)公司