c語(yǔ)言用什么函數(shù)輸出數(shù)據(jù) c語(yǔ)言輸出函數(shù)是什么

C語(yǔ)言中,輸出函數(shù)有哪些?

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

創(chuàng)新互聯(lián)長(zhǎng)期為1000多家客戶提供的網(wǎng)站建設(shè)服務(wù),團(tuán)隊(duì)從業(yè)經(jīng)驗(yàn)10年,關(guān)注不同地域、不同群體,并針對(duì)不同對(duì)象提供差異化的產(chǎn)品和服務(wù);打造開放共贏平臺(tái),與合作伙伴共同營(yíng)造健康的互聯(lián)網(wǎng)生態(tài)環(huán)境。為海滄企業(yè)提供專業(yè)的成都網(wǎng)站設(shè)計(jì)、成都做網(wǎng)站、外貿(mào)網(wǎng)站建設(shè)海滄網(wǎng)站改版等技術(shù)服務(wù)。擁有十載豐富建站經(jīng)驗(yàn)和眾多成功案例,為您定制開發(fā)。

scanf,printf,getc,putc,getchar,putchar,gets,puts,fgets,fputs,fgetc,fputc,fscanf,fprintf等.

int

scanf(const

char

*format,

arg_list)

scanf主要從標(biāo)準(zhǔn)輸入流中獲取參數(shù)值,format為指定的參數(shù)格式及參數(shù)類型,如scanf("%s,%d",str,icount);

它要求在標(biāo)準(zhǔn)輸入流中輸入類似"son

of

bitch,1000"這樣的字符串,同時(shí)程序會(huì)將"son

of

bitch"給str,1000給icount.

scanf函數(shù)的返回值為int值,即成功賦值的個(gè)數(shù),在上例中如果函數(shù)調(diào)用成功,則會(huì)返回2,所以我們?cè)趯懗绦驎r(shí),可以通過

語(yǔ)句if(scanf("%s,%d",str,icount)

!=

2){...}來(lái)判斷用戶輸入是否正確.

int

printf(const

char

*format,

arg_list)

printf主要是將格式化字符串輸出到標(biāo)準(zhǔn)輸出流中,在stdio.h頭文件中定義了標(biāo)準(zhǔn)的輸入和輸出,分別是stdin,stdout.

arg_list可以是變量名,也可以是表達(dá)式,但最終都會(huì)以值的形式填充進(jìn)format中.

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í)又

涉及到緩沖的問題,所以并不是在屏幕中敲上一個(gè)字符程序就會(huì)運(yùn)行,一般是通過在屏幕上敲上回車鍵,然后將回車前的字符

串放在緩沖區(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ù)寫入流式文件中.

在C語(yǔ)言里,什么時(shí)候用scanf函數(shù)?

scanf 的意思是把輸入的值給送到地址,因此,如果參數(shù)已經(jīng)是地址了,那么不需要 ,否則 需要用取一下地址

scanf 格式輸入函數(shù)

函數(shù)作用:按照變量在內(nèi)存的地址將變量值存進(jìn)去。

一般格式:scanf(格式控制,地址表列)

其中,格式控制:

%d:以帶符號(hào)的十進(jìn)制形式輸出整數(shù)

%o:以八進(jìn)制無(wú)符號(hào)形式輸出整數(shù)

%x:以十六進(jìn)制無(wú)符號(hào)形式輸出整數(shù)

%u:以無(wú)符號(hào)十進(jìn)制形式輸出整數(shù)

%c:以字符形式輸出,只輸出一個(gè)字符

%s:輸出字符串

%f:以小數(shù)形式輸出單,雙精度數(shù),隱含輸出六位小數(shù)

%e:以指數(shù)形式輸出實(shí)數(shù)

%g:選用%f或%e格式中輸出寬度較短的一種格式,不輸

出無(wú)意義的0

在格式控制的字母前面可以用幾種常見的格式符的修飾符,作用如下:

L:用于長(zhǎng)整型整數(shù),可加在格式符d,o,x,u前面

M(代表一個(gè)正整數(shù)):數(shù)據(jù)最小寬度

N(代表一個(gè)正整數(shù)):對(duì)實(shí)數(shù),表示輸出n位小數(shù);

對(duì)字符串,表示截取的字符個(gè)數(shù)

地址列表:是由若干個(gè)地址組成的表列,可以是變量的地址,或字符串的首地址

舉例:

用scanf函數(shù)輸入數(shù)據(jù)。

#includestdio.h

void main()

{

int a,b,c;

scanf(“%d%d%d”,a,b,c);

printf(“%d,%d,%d\n”,a,b,c);

}

運(yùn)行情況:3 4 5 (回車) (輸入a,b,c的值)3,4,5 (輸出a,b,c的值)

使用scanf函數(shù)時(shí)應(yīng)注意的問題 :

(1)scanf函數(shù)中的“格式控制”后面應(yīng)當(dāng)是變量地址,而不應(yīng)

是變量名。

(2) 如果在“格式控制”字符串中除了格式說明以外還有其他字符,

則在輸入數(shù)據(jù)時(shí)在對(duì)應(yīng)位置應(yīng)輸入與這些字符相同的字符。

(3) 在用“%c”格式輸入字符時(shí),空格字符和“轉(zhuǎn)義字符”都作為

有效字符輸入

(4) 在輸入數(shù)據(jù)時(shí),遇以下情況時(shí)認(rèn)為該數(shù)據(jù)結(jié)束。

① 遇空格,或按“回車”或“跳格”(Tab)鍵;

② 按指定的寬度結(jié)束,如“%3d”,只取3列;

③ 遇非法輸入。

C語(yǔ)言中的格式化輸出函數(shù)和格式化輸入函數(shù)分別是什么?

格式化輸出函數(shù)指的是printf(),用來(lái)在屏幕上打印輸出字符串和變量等內(nèi)容

格式化輸入函數(shù)指的是scanf(),其功能是實(shí)現(xiàn)和用戶的交互,由用戶輸入相應(yīng)的值然后給變量

下面是個(gè)判斷一個(gè)數(shù)有幾位的一段代碼,希望能幫助到你

C語(yǔ)言中有哪幾個(gè)輸入輸出函數(shù)簡(jiǎn)述他們的用途?

2.putchar() getchar() 輸出輸入函數(shù)只針對(duì)單個(gè)字符的操作。3.puts(),gets() 輸出輸入函數(shù)可以單個(gè)字符操作(但是功能有限的),主要是針對(duì)字符串操作。 下面我們定義int a用scanf("%d",a)可以獲取整型a的值,a=getchar(),gets(a)無(wú)法從鍵盤獲取數(shù)字用printf("%d",a)可以打印數(shù)字a的值,putchar(a),puts(a)沒法打印數(shù)字方面:printf()和scanf()勝char a用scanf("%c",a) 可以獲取字符a的值,用a=getchar()能獲取a的值,用gets(a)不能獲取用printf("%c",a)可以打印字符a的值 用a=getchar()可以打印a的值,用puts(a)不能打印字符方面:getchar()和putchar()第1 scanf()和printf()第2 gets和puts()敗補(bǔ)充:puts()和gets()能接收和打印單個(gè)字符只限制變量是數(shù)組變量例如 char a[50]; gets(a); put(a);你輸入一個(gè)字符就會(huì)打印一個(gè)字符但如果是字符變量 char a='x'; char a; puts(a); 或 gets(a); puts(a);就無(wú)法運(yùn)行char a[50]用scanf("%s",a)能獲取數(shù)組a的值,用a=getchar()無(wú)法獲取,用gets(a)能獲取a的值用printf("%s",a)能打印數(shù)組a的值 用putchar(a)無(wú)法打印,用puts(a)能打印a的值字符串(數(shù)組)方面:gets()和puts()第一,scanf()和printf()第2,getchar()和putchar()敗可見scanf()和printf()什么都能實(shí)現(xiàn),但對(duì)字符和字符串操作沒有其他兩種好getchar()和putchar()對(duì)字符操作優(yōu)勢(shì)明顯,但不能操作數(shù)字變量,字符數(shù)組變量gets()和puts()對(duì)字符串操作優(yōu)勢(shì)明顯,但也不能操作數(shù)字變量,字符變量scanf()和printf()格式輸入輸出能同時(shí)按格式一起輸入輸出字符,數(shù)字,字符串這是其他兩種不能比的所以程序以scanf()和printf()為主,其他兩種作為輔助,發(fā)揮各自的長(zhǎng)處。最后來(lái)個(gè)總結(jié),用程序表示#include stdio.hmain(){ char a,b[50]; printf("請(qǐng)輸入第一個(gè)字符:\n"); scanf(" %c",a); getchar(); //獲取前面的回車 printf("第一個(gè)的字符為:%c\n",a); printf("請(qǐng)輸入第二個(gè)字符:\n"); a=getchar(); printf("第二個(gè)字符為:"); putchar(a); putchar('\n'); printf("請(qǐng)輸入第一個(gè)字符串:\n"); scanf(" %s",b); getchar(); //獲取前面的回車 printf("第一個(gè)的字符為:%s\n",b); puts("請(qǐng)輸入第二個(gè)字符串:"); gets(b); puts("第二個(gè)字符串為:"); puts(b); }

網(wǎng)頁(yè)題目:c語(yǔ)言用什么函數(shù)輸出數(shù)據(jù) c語(yǔ)言輸出函數(shù)是什么
網(wǎng)站URL:http://muchs.cn/article26/hjsccg.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供品牌網(wǎng)站建設(shè)App開發(fā)、電子商務(wù)、網(wǎng)站設(shè)計(jì)商城網(wǎng)站、ChatGPT

廣告

聲明:本網(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)站建設(shè)