4--輸出函數(shù)和輸入函數(shù)

本節(jié)要掌握的內(nèi)容:

? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? 1、字符輸出函數(shù) putchar ()?

? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ????????????2愧杯、 格式化輸出函數(shù) printf ()?

? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ????????????? ?3棕兼、字符輸入函數(shù) getchar()

? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?4涛酗、 格式化輸入 scanf ()?

? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? 5忌怎、字符串輸出函數(shù) puts()

? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? 6、字符串輸入函數(shù) ?gets()

我們把輸出函數(shù)酪夷、輸入函數(shù)分開來看榴啸。

本節(jié)講的函數(shù)使用時(shí)需要導(dǎo)入<stdio.h>庫文件。

輸出函數(shù)

? ??? ??1晚岭、putchar ()

? ? ? ? ? ? ? ? ? ? ?函數(shù)原型:int ?putchar ( int c)鸥印。

? ? ? ? ? ? ? ? ? ? ?功能:在標(biāo)準(zhǔn)輸出上顯示一個(gè)字符。

? ? ? ? ? ? ? ? ? ? ? 返回值:輸出的字符坦报。

? ? ? ? ? ? ? ? ? ? ?示例:int ?i = 65; ??

? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? char ?c='A';

? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ???putchar ?(a);

? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?putchar ?(b);

? ? ? ? ? ? ? ? ? ? ? 程序兩個(gè)?putchar ?()輸出都是“A”库说,65是“A”的ASCII碼。putchar ?( )是輸出字符片择。

? ??? ??2潜的、指定輸出?printf ()?

? ??????????????????printf ( ) 能輸出若干個(gè)數(shù)據(jù),且為任意類型字管。

? ???????????????????函數(shù)原型:int printf (const char ?*format,輸出的參數(shù))啰挪。

????????????????????函數(shù)參數(shù):format指定輸出格式,“ 嘲叔,”后面為不定參亡呵,是要輸出的內(nèi)容。

? ??????????????????函數(shù)返回值:成功返回輸出的字節(jié)數(shù)硫戈,失敗返回-1(EOF)锰什。

????????????????????函數(shù)功能:格式化字符串輸出。

? ? ? ? ? ? ? ? ? ? printf ( )支持的輸出格式如下:

? ? ? ? ? ? ? ? ? ? 示例一:int ?a =10 ; ?char ?b ='a' ; ?float ?c =3.14159 ; char ?d [ ] ="abcdef!" ;

? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? printf ( "%d", a); ?輸出 int型 a 的值。

? ???????????????????????????????????printf ( "%c", b); ?輸出 char 型 b 的值汁胆。

? ? ? ? ? ? ? ? ? ?示例二: 還可以多種數(shù)據(jù)類型一起輸出:???printf ( "%c梭姓,%d,%f嫩码,%s", b ,a ,c,d ); ? 輸出結(jié)果是:a誉尖, 10,3.141590谢谦,abcdef ?释牺。

? ? ? ? ? ? ? ? ? ? 示例三:用 轉(zhuǎn)義字符輸出,有有特定效果回挽,??printf ( "%s\t %.2f\n", d ,c );? 這里 “\t” 是縮進(jìn)没咙,“\n” 是換行,“%.2f” ?是保留兩位小數(shù)千劈。 效果如下:

? ? ? ? ? ?? ??? ? 示例四:還可以直接輸出漢字和其他字符祭刚, printf ( "你好!Hi墙牌!");??這里沒有要輸出參數(shù)涡驮。直接原樣輸出

? ? ? ? ? ? ? ? ? ? printf ( ) 格式有很多我就講著幾種了,其他的可以自己嘗試看效果喜滨,不明白轉(zhuǎn)義字符的朋友可以去看之前 寫的數(shù)據(jù)類型捉捅。

? ??? ??3、字符串輸出puts ( )

? ? ? ? ????????????函數(shù)原型:int puts(const char *s)虽风。

? ? ? ? ? ? ? ?????功能:在標(biāo)準(zhǔn)輸出上顯示字符串棒口。

????????????????????參數(shù):s為需要輸出的字符串。

? ??????????????????返回值:成功返回一個(gè)非0的數(shù)字辜膝;失敗返回-1或EOF无牵。

? ? ? ? ????????????示例:char c [ ]="abcdefgh!";

? ? ? ? ? ? ? ? ? ? ????????????puts ( c);

? ? ? ? ????????????這里輸出了字符串 c,輸出結(jié)果:abcdefgh厂抖!


輸入函數(shù)

? ? ? ? 1茎毁、讀取一個(gè)字符getchar ( )

? ??????????????函數(shù)原型:int getchar(void)。

? ? ? ? ? ? ? ? 函數(shù)功能:讀取鍵盤上的一個(gè)字符忱辅。

????????????????函數(shù)返回值:成功七蜘,返回讀到的字符,失敗或讀到結(jié)束符返回EOF(-1)耕蝉。

? ? ? ? ? ? ? ? 示例一:char c;?

? ? ? ? ? ? ? ? ? ? ? ? ? ? c=getchar ( ) ; ?讀取鍵盤輸入的一個(gè)字符崔梗。

? ? ? ? ? ? ? ? ? ? ? ? ? ? putchar( c) ; 輸出驗(yàn)證

? ? ? ? ? ? ? ? ? ?????????這里注意,getchar ( ) 返回值是 int類型垒在,返回的是ASCII碼。如果返回的字符太大超過了char范圍會(huì)報(bào)錯(cuò),char 范圍(-128 ~ 127场躯。ASCII碼范圍(0 ~ 255)谈为。

? ? ? ? ? ? ? ? ? 示例二:返回ASCII碼超出char范圍,用無符號踢关。

? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? unsigned char ? c;

? ??????????? ? ? ? ? ? ? ? ? ? ? ? c=getchar ( ) ; ?讀取鍵盤輸入的一個(gè)字符伞鲫。

? ? ? ? ? ? ? ? ? ? ? ? ? ????????? putchar( c) ; 輸出驗(yàn)證

? ? ? ? ? ? ? ? ? ? 數(shù)據(jù)范圍不明白的朋友,可以去看之前寫的數(shù)據(jù)類型签舞。

? ? ? ? 2秕脓、格式化輸入scanf ( )

? ??????????????函數(shù)原型:int scanf (const char *format, …)

????????????????函數(shù)參數(shù):format指定輸入格式,后面跟要輸入的變量的地址表儒搭,為不定參吠架,用”…”代表。

????????????????函數(shù)返回值:成功返回輸入的變量的個(gè)數(shù)搂鲫,失敗返回-1(EOF)傍药。

????????????????函數(shù)功能:按指定格式從鍵盤讀入數(shù)據(jù),存入地址表指定存儲(chǔ)單元中魂仍,并按回車鍵結(jié)束拐辽。

? ???????????????scanf ( )能讀到若干個(gè)數(shù)據(jù),且為任意類型擦酌。下圖是輸入格式:

? ? ? ? ? ? ? ? ? ? 示例:?int a, b; ?char c; char char s [ ];

??? ????????????????????????????scanf("%d", &a);--十進(jìn)制俱诸。

??? ????????????????????????????scanf("%x", &b);--十六進(jìn)制。

? ???????????????????????????????scanf("%c", &c); --輸入字符赊舶。

? ???????????????????????????????scanf("%s", &s);--輸入字符串睁搭。

? ? ? ? ? ? ? ? ? ? ????輸入是注意要寫”&“,這是個(gè)小問題锯岖,容易寫漏介袜。scanf 還可以連續(xù)輸入幾個(gè)字符,只要寫多個(gè)占位符就行出吹。

????????????????輸入數(shù)據(jù)時(shí)遇伞,遇到以下情況認(rèn)為該數(shù)據(jù)結(jié)束:

????????????????-? 空格、TAB或回車

????????????????-? 寬度結(jié)束

????????????????-? 非法輸入

? ? ? ? 3捶牢、字符串輸入gets ( )

????????????????函數(shù)原型:char *gets(char *s)

????????????????功能:從鍵盤輸入一以回車結(jié)束的字符串放入字符數(shù)組中鸠珠,并自動(dòng)加'\0'

????????????????參數(shù):s為字符數(shù)組,存儲(chǔ)輸入的字符串

????????????????返回值:成功返回字符數(shù)組的起始地址秋麸,失敗或輸入結(jié)束返回NULL渐排。

? ? ? ? ? ? ? ? 示例:char s[20];

? ? ? ? ? ? ? ? ? ? ? ? ? ? gets( s);--輸入字符串

? ? ? ? ? ? ? ? ? ? ? ? ? ? puts( s);--輸出驗(yàn)證

? ? ? ? ? ? ? ? 需要注意:輸入字符時(shí),這里只能輸入19個(gè)字符(留一個(gè)位置存字符串的結(jié)束符\0)灸蟆。假如輸入字符超過了19驯耻,則多余的符號也會(huì)被存到字符數(shù)組中,這樣就會(huì)造成內(nèi)存的訪問越界,結(jié)果是不可預(yù)料的可缚。

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末霎迫,一起剝皮案震驚了整個(gè)濱河市,隨后出現(xiàn)的幾起案子帘靡,更是在濱河造成了極大的恐慌知给,老刑警劉巖,帶你破解...
    沈念sama閱讀 219,490評論 6 508
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件描姚,死亡現(xiàn)場離奇詭異涩赢,居然都是意外死亡,警方通過查閱死者的電腦和手機(jī)轩勘,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 93,581評論 3 395
  • 文/潘曉璐 我一進(jìn)店門筒扒,熙熙樓的掌柜王于貴愁眉苦臉地迎上來,“玉大人赃阀,你說我怎么就攤上這事霎肯。” “怎么了榛斯?”我有些...
    開封第一講書人閱讀 165,830評論 0 356
  • 文/不壞的土叔 我叫張陵观游,是天一觀的道長。 經(jīng)常有香客問我驮俗,道長懂缕,這世上最難降的妖魔是什么? 我笑而不...
    開封第一講書人閱讀 58,957評論 1 295
  • 正文 為了忘掉前任王凑,我火速辦了婚禮搪柑,結(jié)果婚禮上,老公的妹妹穿的比我還像新娘索烹。我一直安慰自己工碾,他們只是感情好,可當(dāng)我...
    茶點(diǎn)故事閱讀 67,974評論 6 393
  • 文/花漫 我一把揭開白布百姓。 她就那樣靜靜地躺著渊额,像睡著了一般。 火紅的嫁衣襯著肌膚如雪垒拢。 梳的紋絲不亂的頭發(fā)上旬迹,一...
    開封第一講書人閱讀 51,754評論 1 307
  • 那天,我揣著相機(jī)與錄音求类,去河邊找鬼奔垦。 笑死,一個(gè)胖子當(dāng)著我的面吹牛尸疆,可吹牛的內(nèi)容都是我干的椿猎。 我是一名探鬼主播惶岭,決...
    沈念sama閱讀 40,464評論 3 420
  • 文/蒼蘭香墨 我猛地睜開眼,長吁一口氣:“原來是場噩夢啊……” “哼鸵贬!你這毒婦竟也來了俗他?” 一聲冷哼從身側(cè)響起脖捻,我...
    開封第一講書人閱讀 39,357評論 0 276
  • 序言:老撾萬榮一對情侶失蹤阔逼,失蹤者是張志新(化名)和其女友劉穎,沒想到半個(gè)月后地沮,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體嗜浮,經(jīng)...
    沈念sama閱讀 45,847評論 1 317
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 37,995評論 3 338
  • 正文 我和宋清朗相戀三年摩疑,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了危融。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片。...
    茶點(diǎn)故事閱讀 40,137評論 1 351
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡雷袋,死狀恐怖吉殃,靈堂內(nèi)的尸體忽然破棺而出,到底是詐尸還是另有隱情楷怒,我是刑警寧澤蛋勺,帶...
    沈念sama閱讀 35,819評論 5 346
  • 正文 年R本政府宣布,位于F島的核電站鸠删,受9級特大地震影響抱完,放射性物質(zhì)發(fā)生泄漏。R本人自食惡果不足惜刃泡,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 41,482評論 3 331
  • 文/蒙蒙 一巧娱、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧烘贴,春花似錦禁添、人聲如沸。這莊子的主人今日做“春日...
    開封第一講書人閱讀 32,023評論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽。三九已至馒闷,卻和暖如春酪捡,著一層夾襖步出監(jiān)牢的瞬間,已是汗流浹背纳账。 一陣腳步聲響...
    開封第一講書人閱讀 33,149評論 1 272
  • 我被黑心中介騙來泰國打工逛薇, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留,地道東北人疏虫。 一個(gè)月前我還...
    沈念sama閱讀 48,409評論 3 373
  • 正文 我出身青樓永罚,卻偏偏與公主長得像啤呼,于是被迫代替她去往敵國和親。 傳聞我的和親對象是個(gè)殘疾皇子呢袱,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 45,086評論 2 355

推薦閱讀更多精彩內(nèi)容