日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當(dāng)前位置: 首頁 > 编程语言 > c/c++ >内容正文

c/c++

C++ 学习笔记之——输入和输出

發(fā)布時(shí)間:2024/9/5 c/c++ 46 豆豆
生活随笔 收集整理的這篇文章主要介紹了 C++ 学习笔记之——输入和输出 小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.

在 C++ 中,我們通過調(diào)用輸入輸出流庫中的流對象 cin 和 cout 來實(shí)現(xiàn)輸入和輸出。

#include <iostream>using namespace std;int main() {int a = 0;float b = 0;char c = 0;cin >> a >> b >> c;cout << a << '\t' << b << '\t' << c << '\t' << endl;return 0; } 56 Enter 5.36 Enter a Enter 56 5.36 a

在用 cin 進(jìn)行輸入時(shí),我們不用指定具體的數(shù)據(jù)類型,系統(tǒng)會根據(jù)變量的類型從輸入流中提取相應(yīng)長度的字節(jié)。同樣,用 cout 進(jìn)行輸出時(shí),系統(tǒng)也會自動判別輸出數(shù)據(jù)的類型使輸出的數(shù)據(jù)按相應(yīng)的類型輸出。

通過 cin 讀入數(shù)據(jù)時(shí),會自動跳過輸入流中的空格、tab 鍵和換行字符。當(dāng)遇到無效字符或者文件結(jié)束符時(shí),輸入 cin 就會處于出錯(cuò)狀態(tài),我們可以通過判斷 cin 的值來判斷流對象是否處于正常狀態(tài)和提取操作是否成功。

另外,我們還可以使用控制符來設(shè)置輸入輸出的格式。

#include <iostream> #include <iomanip>using namespace std;int main() {int a = 256;float b = 3.1415926525;cout << b << endl;cout << setprecision(9) << b << endl; // 設(shè)置精度cout << setiosflags(ios::fixed) << setprecision(2) << b << endl; // 設(shè)置小數(shù)點(diǎn)位數(shù)cout << endl << a << endl;cout << hex << a << endl; // 十六進(jìn)制輸出cout << dec << setfill('*') << setw(5) << a << endl; // 設(shè)置域?qū)捄吞畛鋍out << setiosflags(ios::showpos) << a << endl; // 顯示符號cout << resetiosflags(ios::showpos) << a << endl; // 取消顯示符號return 0; } 3.14159 3.14159274 3.24256 100 **256 +256 256

也可以使用 cout 的成員函數(shù)來設(shè)置輸入輸出的格式。

#include <iostream>using namespace std;int main() {int a = 256;float b = 3.1415926525;cout << b << endl;cout.precision(9); // 設(shè)置精度cout << b << endl;cout.precision(2);cout.setf(ios::fixed); // 設(shè)置固定小數(shù)點(diǎn)位數(shù)cout << b << endl;cout << endl << a << endl;cout.setf(ios::hex, ios::basefield);cout << a << endl;cout.fill('*'); // 設(shè)置填充cout.width(5); // 設(shè)置域?qū)抍out << a << endl;cout.setf(ios::showpos); // 顯示符號cout << a << endl;cout.unsetf(ios::showpos); // 取消顯示符號cout << a << endl;return 0; } 3.14159 3.14159274 3.24256 100 **256 +256 256

為了與 C 語言兼容,C++ 保留了 C 中的 scanf 和 printf 函數(shù)進(jìn)行輸入輸出,以及 getchar 和 putchar 函數(shù)進(jìn)行單個(gè)字符的輸入輸出。

此外,我們還可以用輸入輸出流對象的一些成員函數(shù)來實(shí)現(xiàn)輸入和輸出。

  • cout.put() 輸出單個(gè)字符,可以連續(xù)輸出
  • cin.get() 讀入一個(gè)字符(包括空白字符),返回讀入成功的字符,如遇到文件結(jié)束符,返回 EOF
  • cin.get(ch) 讀入一個(gè)字符并賦值給變量 ch,成功讀入則返回真
  • cin.get (字符數(shù)組或指針,字符個(gè)數(shù) n,終止字符) 讀入 n-1 個(gè)字符,如遇到終止字符則提前結(jié)束
  • cin.getline (字符數(shù)組或指針,字符個(gè)數(shù) n,終止字符) 與上面的 cin.get 類似,但是遇到終止字符時(shí),字符指針會移到該終止字符后面,而 cin.get 則會停留在原位置
#include <iostream>using namespace std;int main() {char ch[20] = {0};cin >> ch[0]; // 讀入 1cout.put(ch[0]);cout << endl;ch[1] = cin.get(); // 讀入 2cout.put(ch[1]);cout << endl;cin.get(ch[2]); // 讀入 3cout.put(ch[2]);cout << endl;cin.get(ch, 20, '/'); // 讀入 123 之后的第一個(gè)回車以及 'hello, seniusen! h' 共計(jì) 19 個(gè)字符cout << ch << endl;cin.get(ch, 20, '/'); // 讀入'ello, seniusen!' 共計(jì) 15 個(gè)字符,遇到終止字符 ‘/’ 停止cout << ch << endl;cin.getline(ch, 20, '/'); // 當(dāng)前字符指針還停留在字符 ‘/’ 處,直接停止讀入,字符指針后移一位指向空格cout << ch << endl;cin.getline(ch, 20, '/'); // 讀入' hello, seniusen!' 共計(jì) 17 個(gè)字符,遇到終止字符 ‘/’ 停止cout << ch << endl;return 0; } 123 Enter 1 2 3 hello, seniusen! hello, seniusen!/ hello, seniusen!/ Enterhello, seniusen! h ello, seniusen!hello, seniusen!

一些其他的成員函數(shù):

  • cin.eof() 如果到達(dá)文件末尾(遇文件終止符)返回真,否則返回假
  • cin.peek() 返回當(dāng)前指針指向的字符,但只是觀測,指針仍然停留在當(dāng)前位置
  • cin.putback(ch) 將字符 ch 返回到輸入流,插入到當(dāng)前指針位置
  • cin.ignore (n, 終止字符) 跳過輸入流中 n 個(gè)字符,若遇到終止符提前結(jié)束,此時(shí)指向終止字符后面一個(gè)位置

獲取更多精彩,請關(guān)注「seniusen」!

轉(zhuǎn)載于:https://www.cnblogs.com/seniusen/p/9873190.html

總結(jié)

以上是生活随笔為你收集整理的C++ 学习笔记之——输入和输出的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯(cuò),歡迎將生活随笔推薦給好友。