C語言輸入數(shù)據(jù)函數(shù) c語言輸入數(shù)據(jù)函數(shù)怎么寫

在C語言中標(biāo)準(zhǔn)輸入輸出語句應(yīng)該如何編寫操作?

Turbo C 2.0標(biāo)準(zhǔn)庫提供了兩個(gè)控制臺(tái)格式化輸入、輸出函數(shù) scanf();和printf();這兩個(gè)函數(shù)可以在標(biāo)準(zhǔn)輸入輸出設(shè)備上以各種不同的格式讀寫數(shù)據(jù)。scanf()函數(shù)用來從標(biāo)準(zhǔn)輸入設(shè)備(鍵盤)上讀數(shù)據(jù),printf()函數(shù)用來向標(biāo)準(zhǔn)輸出設(shè)備(屏幕)寫數(shù)據(jù)。下面詳細(xì)介紹這兩個(gè)函數(shù)的用法。

創(chuàng)新互聯(lián)公司自2013年創(chuàng)立以來,是專業(yè)互聯(lián)網(wǎng)技術(shù)服務(wù)公司,擁有項(xiàng)目網(wǎng)站設(shè)計(jì)、網(wǎng)站制作網(wǎng)站策劃,項(xiàng)目實(shí)施與項(xiàng)目整合能力。我們以讓每一個(gè)夢想脫穎而出為使命,1280元皮山做網(wǎng)站,已為上家服務(wù),為皮山各地企業(yè)和個(gè)人服務(wù),聯(lián)系電話:028-86922220

1.標(biāo)準(zhǔn)輸入語句

scanf()函數(shù)是格式化輸入函數(shù),它從標(biāo)準(zhǔn)輸入設(shè)備(鍵盤)讀取輸入的信息。其調(diào)用格式為:scanf(<格式化字符串>,<地址表>);

格式化字符串包括以下三類不同的字符;

(1).空白字符:空白字符會(huì)使scanf()函數(shù)在讀操作中略去輸入中的一個(gè)或多個(gè)空白字符。

(2).非空白字符:一個(gè)非空白字符會(huì)使scanf()函數(shù)在讀入時(shí)剔除掉與這個(gè)非空白字符相同的字符。

(3).格式化說明符:以%開始,后跟一個(gè)或幾個(gè)規(guī)定字符,用來確定輸出內(nèi)容格式。

c語言有哪些輸入輸出函數(shù)

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

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)zhi輸入流中獲取dao參數(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,所以我們在寫程序時(shí),可以通過

語句if(scanf("%s,%d",str,icount) != 2){...}來判斷用戶輸入是否正確.

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é)束的語句為:(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)中指定終止字符,如下面的語句:

while ((c = getchar()) != '#')這是以#來結(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語言中的scanf 函數(shù)的用法

scanf 函數(shù)最主要的用法是:

scanf("輸入控制符", 輸入?yún)?shù));

功能:將從鍵盤輸入的字符轉(zhuǎn)化為“輸入控制符”所規(guī)定格式的數(shù)據(jù),然后存入以輸入?yún)?shù)的值為地址的變量中。

用scanf()函數(shù)以%s格式讀入的數(shù)據(jù)不能含有空白符時(shí),所有空白符都被當(dāng)做數(shù)據(jù)結(jié)束的標(biāo)志。所以題中函數(shù)輸出的值只有空格前面的部分。

如果想要輸出包括空格在內(nèi)的所有數(shù)據(jù),可以使用gets()函數(shù)讀入數(shù)據(jù)。gets()函數(shù)的功能是讀取字符串,并存放在指定的字符數(shù)組中,遇到換行符或文件結(jié)束標(biāo)志時(shí)結(jié)束讀入。換行符不作為讀取串的內(nèi)容,讀取的換行符被轉(zhuǎn)換為字符串結(jié)束標(biāo)志'\0'。

擴(kuò)展資料:

使用scanf()函數(shù)需要注意的問題:

1.對(duì)于字符串?dāng)?shù)組或字符串指針變量,由于數(shù)組名可以轉(zhuǎn)換為數(shù)組和指針變量名本身就是地址,因此使用scanf()函數(shù)時(shí),不需要在它們前面加上""操作符。

2.可以在格式化字符串中的"%"各格式化規(guī)定符之間加入一個(gè)整數(shù),表示任何讀操作中的最大位數(shù)。

3.scanf函數(shù)中沒有類似printf的精度控制。

如:scanf("%5.2f",a); 是非法的。不能企圖用此語句輸入小數(shù)為2位的實(shí)數(shù)。

4.scanf中要求給出變量地址,如給出變量名則會(huì)出錯(cuò)

如:scanf("%d",a);是非法的,應(yīng)改為scanf("%d",a);才是合法的。

5.在輸入多個(gè)數(shù)值數(shù)據(jù)時(shí),若格式控制串中沒有非格式字符作輸入數(shù)據(jù)之間的間隔,則可用空格,TAB或回車作間隔。

C編譯在碰到空格,TAB,回車或非法數(shù)據(jù)(如對(duì)“%d”輸入“12A”時(shí),A即為非法數(shù)據(jù))時(shí)即認(rèn)為該數(shù)據(jù)結(jié)束。

6.在輸入字符數(shù)據(jù)(%c)時(shí),若格式控制串中無非格式字符,則認(rèn)為所有輸入的字符均為有效字符。

參考資料:

百度百科-scanf()函數(shù)

百度百科-gets()函數(shù)

scanf怎么用?

scanf用途:從鍵盤輸入數(shù)據(jù),從鍵盤得到字符,放到某個(gè)變量里。

格式:scanf()是C語言中的一個(gè)輸入函數(shù)。與printf函數(shù)一樣,都被聲明在頭文件stdio.h里,因此在使用scanf函數(shù)時(shí)要加上#include stdio.h。(在有一些實(shí)現(xiàn)中,printf函數(shù)與scanf函數(shù)在使用時(shí)可以不使用預(yù)編譯命令#include stdio.h。)它是格式輸入函數(shù),即按用戶指定的格式從鍵盤上把數(shù)據(jù)輸入到指定的變量之中。

擴(kuò)展資料:

1、int?scanf(const?char?*?restrict?format,...);

函數(shù) scanf() 是從標(biāo)準(zhǔn)輸入流stdio (標(biāo)準(zhǔn)輸入設(shè)備,一般指向鍵盤)中讀內(nèi)容的通用子程序,可以說明的格式讀入多個(gè)字符,并保存在對(duì)應(yīng)地址的變量中。

函數(shù)的第一個(gè)參數(shù)是格式字符串,它指定了輸入的格式,并按照格式說明符解析輸入對(duì)應(yīng)位置的信息并存儲(chǔ)于可變參數(shù)列表中對(duì)應(yīng)的指針?biāo)肝恢?。每一個(gè)指針要求非空,并且與字符串中的格式符順次對(duì)應(yīng)。

空白字符會(huì)使scanf函數(shù)在讀操作中略去輸入中的一個(gè)或多個(gè)空白字符。一個(gè)非空白字符會(huì)使scanf()函數(shù)在讀入時(shí)剔除掉與這個(gè)非空白字符相同的字符。

參考資料:scanf-百度百科

分享文章:C語言輸入數(shù)據(jù)函數(shù) c語言輸入數(shù)據(jù)函數(shù)怎么寫
本文路徑:http://www.muchs.cn/article12/ddihgdc.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供品牌網(wǎng)站設(shè)計(jì)、電子商務(wù)、微信公眾號(hào)、App開發(fā)、網(wǎng)站營銷、手機(jī)網(wǎng)站建設(shè)

廣告

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

手機(jī)網(wǎng)站建設(shè)