什么是C++中標(biāo)準(zhǔn)輸入?
隨著時(shí)代的進(jìn)步科技的發(fā)展C++中標(biāo)準(zhǔn)輸入也快速的提升與升級(jí),下面我就對(duì)升級(jí)前和升級(jí)后的C++中標(biāo)準(zhǔn)輸入,做一下自己的解析,現(xiàn)在大家了解了什么是C++中標(biāo)準(zhǔn)輸入了嗎?
當(dāng)連續(xù)用scanf輸入兩個(gè)字符的時(shí)候,輸入第一個(gè)字符后回車(chē),結(jié)果換行符被當(dāng)作第二個(gè)字符輸入了,scanf可不會(huì)區(qū)分什么換行符還是普通字符,而當(dāng)輸入一個(gè)字符,再輸入一個(gè)整數(shù)時(shí),因?yàn)轭?lèi)型不匹配的原因。
scanf會(huì)將換行符忽略而等待輸入正確的整數(shù)后才返回,所以得到了正確的結(jié)果,哈哈,原來(lái)如此!!!不禁又想,C++中引入了新的iostream流庫(kù),它又是怎樣處理這個(gè)問(wèn)題的呢?于是做了下面的實(shí)驗(yàn):
- #include
- using namespace std;
- int main()
- ...{
- char a, b;
- cout << "Please input the first character:";
- cin >> a;
- cout << "Please input the second character:";
- cin >> b;
- cout << a << "," << b;
- return 0;
- }
當(dāng)連續(xù)輸入多個(gè)字符時(shí),運(yùn)行結(jié)果如下:
可見(jiàn),C++中的標(biāo)準(zhǔn)輸入流已經(jīng)對(duì)于換行符做了處理,看來(lái)在C++中利用標(biāo)準(zhǔn)輸入處理特殊字符要自己做一些工作了C++是一種語(yǔ)言,僅僅是它的語(yǔ)法、特性、標(biāo)準(zhǔn)類(lèi)庫(kù)就已經(jīng)是一門(mén)非常高深的課程,所以在開(kāi)始學(xué)習(xí)的時(shí)候,必須先要打好基礎(chǔ)。在市面上有很多Visual C++的書(shū),雖然其中可能會(huì)花1-2章來(lái)介紹C++的基本特性,但是那絕對(duì)
不會(huì)讓你入門(mén)。因此,初學(xué)者學(xué)習(xí)C++應(yīng)該選擇針對(duì)C++語(yǔ)言本身的書(shū)籍,而不能是針對(duì)Visual C++、MFC或者Windows API的。學(xué)習(xí)C++應(yīng)該由易至難,循序漸進(jìn)。以前經(jīng)常有人說(shuō)學(xué)習(xí)C++之前應(yīng)該學(xué)習(xí)C語(yǔ)言。事實(shí)上那不是必須的,C++和C語(yǔ)言雖然有關(guān)系,但仍然是兩種不同的語(yǔ)言。
當(dāng)然,在學(xué)習(xí)C++之前學(xué)習(xí)過(guò)其他編程語(yǔ)言是很有好處的。那會(huì)使學(xué)習(xí)C++的速度更快,畢竟很多計(jì)算機(jī)語(yǔ)言的概念都是相通的。而對(duì)于零基礎(chǔ)的初學(xué)者來(lái)說(shuō),則是應(yīng)該靜下心來(lái),不要急躁。要成為C++的高手,不是那么容易的,必須要花很大的努力。
如果是從零基礎(chǔ)開(kāi)始學(xué)C++,那么推薦使用潘嘉杰的《易學(xué)C++》。這本書(shū)是2008年出的新書(shū),聽(tīng)說(shuō)是個(gè)學(xué)生在讀書(shū)的時(shí)候?qū)懙?。這本書(shū)網(wǎng)上有下載免費(fèi)的電子版。。這本書(shū)主要就是針對(duì)初學(xué)者的,講得也比較生動(dòng)有趣,比較提得起學(xué)習(xí)的興趣。所以沒(méi)有基礎(chǔ)的初學(xué)者選這本書(shū)也是不錯(cuò)的,就是想要很快成為高手,可能看這本書(shū)還不夠。
【編輯推薦】