C++中基本的輸入輸出函數(shù)使用指南
在C語(yǔ)言中是用printf函數(shù)進(jìn)行輸出,用scanf函數(shù)進(jìn)行輸入的。C++保留了C語(yǔ)言的這一用法。
scanf函數(shù)一般格式是:
scanf(格式控制, 輸出表列)
printf函數(shù)的一般格式是
scanf(格式控制, 輸出表列)
scanf(格式控制, 輸出表列)
【例】用scanf和printf函數(shù)進(jìn)行輸入和輸出。
#include <iostream> using namespace std; int main( ) { int a; float b; char c; scanf("%d %c %f",&a,&c,&b); //注意在變量名前要加地址運(yùn)算符& printf("a=%d,b=%f,c=%c\n",a,b,c); return 0; }
運(yùn)行情況如下:
12 A 67.98↙(本行為輸入,輸入的3個(gè)數(shù)據(jù)間以空格相間) a=12,b=67.980003,c=A(本行為輸出)
輸入的整數(shù)12送給整型變量a,字符'A'送給字符變量c,67.98送給單精度變量b。
C++還保留了C語(yǔ)言中用于輸入和輸出單個(gè)字符的函數(shù),使用很方便。其中最常用的有g(shù)etchar函數(shù)和putchar函數(shù)。
putchar函數(shù)(字符輸出函數(shù))
putchar函數(shù)的作用是向終端輸出一個(gè)字符。例如:
putchar(c);
它輸出字符變量c的值。
【例】輸出單個(gè)字符。
#include <iostream> //或者包含頭文件stdio.h:#include <stdio.h> using namespace std; int main( ) { char a,b,c; a='B';b='O';c='Y'; putchar(a);putchar(b);putchar(c);putchar('\n'); putchar(66);putchar(79);putchar(89);putchar(10); return 0; }
運(yùn)行結(jié)果為
BOY BOY
可以看到:用putchar可以輸出轉(zhuǎn)義字符,putchar('\n')的作用是輸出一個(gè)換行符,使輸出的當(dāng)前位置移到下一行的開頭。putchar(66)的作用是將66作為ASCII碼轉(zhuǎn)換為字符輸出,66是字母'B'的ASCII碼,因此putchar(66)輸出字母'B'。其余類似。putchar(10)中的10是換行符的ASCII碼,putchar(10)輸出一個(gè)換行符,作用與putchar('\n') 相同。
也可以輸出其他轉(zhuǎn)義字符,如
- putchar('\101'); (輸出字符'A',八進(jìn)制的101是'A'的ASCII碼)
- putchar('\''); (輸出單引號(hào)字符')
- putchar('\015'); (輸出回車,不換行,使輸出的當(dāng)前位置移到本行開頭)
getchar函數(shù)(字符輸入函數(shù))
此函數(shù)的作用是從終端(或系統(tǒng)隱含指定的輸入設(shè)備)輸入一個(gè)字符。getchar函數(shù)沒(méi)有參數(shù),其一般形式為getchar( )函數(shù)的值就是從輸入設(shè)備得到的字符。
【例】輸入單個(gè)字符。
#include <iostream> using namespace std; int main( ) { char c; c=getchar( ); putchar(c+32); putchar('\n'); return 0; }
在運(yùn)行時(shí),如果從鍵盤輸入大寫字母'A'并按回車鍵,就會(huì)在屏幕上輸出小寫字母'a'。
請(qǐng)注意,getchar( )只能接收一個(gè)字符。getchar函數(shù)得到的字符可以賦給一個(gè)字符變量或整型變量,也可以不賦給任何變量,作為表達(dá)式的一部分。例如,第5行可以用下面一行代替:
putchar(getchar()+32);putchar('\n');
因?yàn)間etchar( )讀入的值為'A','A'+32是小寫字母'a'的ASCII碼,因此putchar函數(shù)輸出'a'。此時(shí)不必定義變量c。
也可用cout輸出getchar函數(shù)得到字符的ASCII的值:
cout<<getchar( );
這時(shí)輸出的是整數(shù)97,因?yàn)橛胓etchar( )讀入的實(shí)際上是字符的ASCII碼,現(xiàn)在并未把它賦給一個(gè)字符變量,cout就按整數(shù)形式輸出。如果改成
cout<<(c=getchar( )); //設(shè)c已定義為字符變量
則輸出為字母'a',因?yàn)橐筝敵鲎址兞縞的值。
可以看到用putchar和getchar函數(shù)輸出和輸入字符十分靈活方便,由于它們是函數(shù)所以可以出現(xiàn)在表達(dá)式中,例如
cout<<(c=getchar( )+32);
相關(guān)文章
基于C語(yǔ)言實(shí)現(xiàn)高級(jí)通訊錄的示例代碼
這篇文章主要為大家詳細(xì)介紹了如何利用C語(yǔ)言實(shí)現(xiàn)一個(gè)高級(jí)通訊錄的功能,文中的示例代碼講解詳細(xì),具有一定的借鑒價(jià)值,需要的小伙伴可以參考一下2023-01-01C++ const的使用及this指針常方法(面試最愛(ài)問(wèn)的this指針)
這篇文章主要介紹了C++ const的使用,this指針,常方法(面試最愛(ài)問(wèn)的this指針),本文給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2021-04-04C++文件相關(guān)函數(shù)CreateFile|ReadFile|WriteFile用法詳解
這篇文章主要為大家詳細(xì)介紹了c++有關(guān)文件創(chuàng)建、讀取和寫入的api:CreateFile、ReadFile、WriteFile的具體使用,需要的可以參考下2023-04-04C語(yǔ)言時(shí)間函數(shù)之strftime()詳解
這篇文章主要為大家詳細(xì)介紹了C語(yǔ)言時(shí)間函數(shù)之strftime(),文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下,希望能夠給你帶來(lái)幫助2022-02-02C++ OpenCV制作黑客帝國(guó)風(fēng)格的照片
這篇文章主要介紹了如何通過(guò)C++ OpenCV制作出黑客帝國(guó)風(fēng)格的照片,文中的示例代碼講解詳細(xì),對(duì)我們學(xué)習(xí)OpenCV有一定幫助,需要的可以參考一下2022-01-01C++ boost::asio編程-異步TCP詳解及實(shí)例代碼
這篇文章主要介紹了C++ boost::asio編程-異步TCP詳解及實(shí)例代碼的相關(guān)資料,需要的朋友可以參考下2016-11-11