C?C++輸入輸出基礎(chǔ)教程示例詳解
一、C語言的輸入 scanf 和輸出 printf
PS:使用前看是否包含了頭文件 <cstdio>
(一) 輸入 scanf
scanf 函數(shù)從標準輸入(鍵盤)讀取信息,按照格式描述把讀入的信息轉(zhuǎn)換為指定數(shù)據(jù)類型的數(shù)據(jù),并把這些數(shù)據(jù)賦給指定的程序變量。
下面提供一個標準模版:
scanf ( “ 控制輸入符(格式控制) ” , & 輸入項1 , & 輸入項2 .... ) ;
說明:
1、格式控制的標準與輸出語句一樣;
2、在格式串中,必須含有與輸入項一一對應(yīng)的格式轉(zhuǎn)換符的說明符;
3、由于輸入的是一個字符流,所以當輸入的數(shù)據(jù)少于輸入項時,程序會等待用戶輸入,直到滿足要求。
當輸入的數(shù)據(jù)多余輸入項時,多余的數(shù)據(jù)會自動的作廢;
4、& 是取址運算符 &以及后面的變量名表示“該變量的地址”
(二) 輸出printf
輸出printf主要有以下三種形式;
(1)printf(“字符串\n”);
printf ( " Hello World! \ n " ) ;//"\n"表示換行
(2)printf( “ 輸出控制符(格式控制見下) ” , 輸出參數(shù) );
int i = 10 ; printf ( " %d \n " , i ) ;
特殊字符的輸出:
1 . “ % ” 前面加一個% 即為%%
2 . “ \ ” 前面加一個\ 即為\
3 . “ 雙引號(“”) ” 前面加一個\ 即為\"
(3)printf ( “ 輸出控制符1 ,非輸出控制符1 ,輸出控制符2 ,非輸出控制符2 , …… ” );
注意順序一一對應(yīng)
int m = 10 ; int n = 20 ; printf ( " % d , % d \n " , m , n ) ; // " , "可以換成 “ :”
格式控制中具體的要求
1 . % [標志] [輸出最小寬度] [.精度] [長度] 類型
%[flags][width][.prec][length]type
2 . 其中方括號[]中的項為可有可無項,按需求來使用。
1 、 標志位
| 標志 | 說明 |
|---|---|
| - | 左對齊,右邊填充空格(默認右對齊) |
| 0 | 將輸出的前面補上0,直到占滿指定列寬為止(不可以搭配使用"-") |
| + | 輸出符號,正號或負號(與前面的+無關(guān),取決于數(shù)的正負) |
| 空格 | 為正輸出空格,為負輸出負號 |
2 、 輸出最小寬度
用十進制整數(shù)來表示輸出的最少位數(shù)。若實際位數(shù)多于定義的寬度,則按實際位數(shù)輸出,若實際位數(shù)少于定義的寬度則補以空格或0。
3 、 精度
精度格式符以 “ . ” 開頭 , 后跟十進制整數(shù)。
本項的意義是 :
如果輸出數(shù)字,則表示小數(shù)的位數(shù);
如果輸出的是字符,則表示輸出字符的個數(shù);
若實際位數(shù)大于所定義的精度數(shù),則截去超過的部分。
4 、 長度
長度格式符為h、l兩種,h表示按短整型量輸出,l表示按長整型量輸出。
例如 :%lld 指長整型變量 %hhd 指短整型變量
5 、 類型
| 輸出格式控制符 | 說明 |
|---|---|
| %d | 十進制整型數(shù)據(jù)輸出 |
| %lld | 十進制長整型數(shù)據(jù)輸出 |
| %nd | n為指定的輸出字段的寬度。如果數(shù)據(jù)的位數(shù)小于n,則左端補空格;若大于n,則按實際輸出 |
| %f | 以小數(shù)形式輸出浮點數(shù)。由系統(tǒng)自動指定字段寬度,整數(shù)部分全部輸出,小數(shù)部分輸出6位,超過六位四舍五入 |
| %.mf | 輸出浮點數(shù)時小數(shù)點后保留 m 位 ( 注意 : m 前面要輸入個 “ . ” ) |
| %c | 輸出一個字符 |
| %s | 輸出一個字符串 |
| %x | 以十六進制形式輸出整數(shù) |
二、C++的輸入 cin 和輸出 cout
PS:C++中使用標準輸入輸出需要包含頭文件<iostream>,這個頭文件包括了C的輸入輸出頭文件,所以在C++中我們也可以使用C的輸入輸出。
(一) 輸入 cin
常用模版:
cin >> 變量1 >> 變量2 ;
cin對空白字符的處理與scanf一致。即:跳過開頭空白字符,遇到空白字符停止讀取,且空白字符(包括換行符)殘留在緩沖區(qū)。
注意,cin對象屬于命名空間std,如果想使用cin對象,必須在 C++ 文件開頭寫using namespace std,或者在每次用到的時候?qū)懗蓅td::cin。
(二) 輸出 cout
常用模版 :
cout << 變量1 << 變量2 << endl ;//endl表示換行
總結(jié)
兩種輸入輸出的比較
cout與printf相比有哪些優(yōu)勢?首先是類型處理更加智能,不需要去確定變量的類型,而且擴展性極強。比如我們用int類型后面有過一次轉(zhuǎn)換類型,如果用cout就不需要去管,而printf就需要修改輸出格式。
而我們經(jīng)常遇到的時間超限問題也是cout和cin的一大缺點。
正常情況下cout和cin的效率是相當?shù)偷摹?/p>
所以我們可以輸入這一行代碼來加速。
ios::sync_with_stdio(false);
當然除非有特殊情況不能使用 scanf ,我們可以優(yōu)先改為 scanf 提交答案。
以上就是C C++輸入輸出基礎(chǔ)教程示例詳解的詳細內(nèi)容,更多關(guān)于C C++輸入輸出的資料請關(guān)注腳本之家其它相關(guān)文章!
相關(guān)文章
Java C++ 算法題解leetcode1582二進制矩陣特殊位置
這篇文章主要為大家介紹了Java C++ 算法題解leetcode1582二進制矩陣特殊位置示例詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進步,早日升職加薪2022-09-09
C利用語言實現(xiàn)數(shù)據(jù)結(jié)構(gòu)之隊列
隊列 (Queue):簡稱隊,是另一種限定性的線性表,它只允許在表的一端插入元素,而在另一端刪除元素。q=(a1, a2, a3, … an),其中a1為隊頭,an為隊尾,下面文章小編將為大家詳細介紹,需要的下伙伴可以參考一下2021-10-10
c++網(wǎng)絡(luò)編程下Linux的epoll技術(shù)和Windows下的IOCP模型
c++ 網(wǎng)絡(luò)編程LINUX-epoll/windows-IOCP下socket opoll函數(shù)用法 優(yōu)于select方法的epoll 以及windows下IOCP 解決多進程服務(wù)端創(chuàng)建進程資源浪費問題,感興趣的小伙伴一起來學(xué)習(xí)吧2021-08-08
CreateThread()與beginthread()的區(qū)別詳細解析
很多開發(fā)者不清楚這兩者之間的關(guān)系,他們隨意選一個函數(shù)來用,發(fā)現(xiàn)也沒有什么大問題,于是就忙于解決更為緊迫的任務(wù)去了。等到有一天忽然發(fā)現(xiàn)一個程序運行時間很長的時候會有細微的內(nèi)存泄露,開發(fā)者絕對不會想到是因為這兩套函數(shù)用混的結(jié)果2013-09-09
淺談c++ 字符類型總結(jié)區(qū)別wchar_t,char,WCHAR
下面小編就為大家?guī)硪黄獪\談c++ 字符類型總結(jié)區(qū)別wchar_t,char,WCHAR。小編覺得挺不錯的,現(xiàn)在就分享給大家,也給大家做個參考。一起跟隨小編過來看看吧2017-03-03

