C?C++輸入輸出基礎(chǔ)教程示例詳解
一、C語言的輸入 scanf 和輸出 printf
PS:使用前看是否包含了頭文件 <cstdio>
(一) 輸入 scanf
scanf 函數(shù)從標(biāo)準(zhǔn)輸入(鍵盤)讀取信息,按照格式描述把讀入的信息轉(zhuǎn)換為指定數(shù)據(jù)類型的數(shù)據(jù),并把這些數(shù)據(jù)賦給指定的程序變量。
下面提供一個(gè)標(biāo)準(zhǔn)模版:
scanf ( “ 控制輸入符(格式控制) ” , & 輸入項(xiàng)1 , & 輸入項(xiàng)2 .... ) ;
說明:
1、格式控制的標(biāo)準(zhǔn)與輸出語句一樣;
2、在格式串中,必須含有與輸入項(xiàng)一一對應(yīng)的格式轉(zhuǎn)換符的說明符;
3、由于輸入的是一個(gè)字符流,所以當(dāng)輸入的數(shù)據(jù)少于輸入項(xiàng)時(shí),程序會等待用戶輸入,直到滿足要求。
當(dāng)輸入的數(shù)據(jù)多余輸入項(xiàng)時(shí),多余的數(shù)據(jù)會自動的作廢;
4、& 是取址運(yùn)算符 &以及后面的變量名表示“該變量的地址”
(二) 輸出printf
輸出printf主要有以下三種形式;
(1)printf(“字符串\n”);
printf ( " Hello World! \ n " ) ;//"\n"表示換行
(2)printf( “ 輸出控制符(格式控制見下) ” , 輸出參數(shù) );
int i = 10 ; printf ( " %d \n " , i ) ;
特殊字符的輸出:
1 . “ % ” 前面加一個(gè)% 即為%%
2 . “ \ ” 前面加一個(gè)\ 即為\
3 . “ 雙引號(“”) ” 前面加一個(gè)\ 即為\"
(3)printf ( “ 輸出控制符1 ,非輸出控制符1 ,輸出控制符2 ,非輸出控制符2 , …… ” );
注意順序一一對應(yīng)
int m = 10 ; int n = 20 ; printf ( " % d , % d \n " , m , n ) ; // " , "可以換成 “ :”
格式控制中具體的要求
1 . % [標(biāo)志] [輸出最小寬度] [.精度] [長度] 類型
%[flags][width][.prec][length]type
2 . 其中方括號[]中的項(xiàng)為可有可無項(xiàng),按需求來使用。
1 、 標(biāo)志位
標(biāo)志 | 說明 |
---|---|
- | 左對齊,右邊填充空格(默認(rèn)右對齊) |
0 | 將輸出的前面補(bǔ)上0,直到占滿指定列寬為止(不可以搭配使用"-") |
+ | 輸出符號,正號或負(fù)號(與前面的+無關(guān),取決于數(shù)的正負(fù)) |
空格 | 為正輸出空格,為負(fù)輸出負(fù)號 |
2 、 輸出最小寬度
用十進(jìn)制整數(shù)來表示輸出的最少位數(shù)。若實(shí)際位數(shù)多于定義的寬度,則按實(shí)際位數(shù)輸出,若實(shí)際位數(shù)少于定義的寬度則補(bǔ)以空格或0。
3 、 精度
精度格式符以 “ . ” 開頭 , 后跟十進(jìn)制整數(shù)。
本項(xiàng)的意義是 :
如果輸出數(shù)字,則表示小數(shù)的位數(shù);
如果輸出的是字符,則表示輸出字符的個(gè)數(shù);
若實(shí)際位數(shù)大于所定義的精度數(shù),則截去超過的部分。
4 、 長度
長度格式符為h、l兩種,h表示按短整型量輸出,l表示按長整型量輸出。
例如 :%lld 指長整型變量 %hhd 指短整型變量
5 、 類型
輸出格式控制符 | 說明 |
---|---|
%d | 十進(jìn)制整型數(shù)據(jù)輸出 |
%lld | 十進(jìn)制長整型數(shù)據(jù)輸出 |
%nd | n為指定的輸出字段的寬度。如果數(shù)據(jù)的位數(shù)小于n,則左端補(bǔ)空格;若大于n,則按實(shí)際輸出 |
%f | 以小數(shù)形式輸出浮點(diǎn)數(shù)。由系統(tǒng)自動指定字段寬度,整數(shù)部分全部輸出,小數(shù)部分輸出6位,超過六位四舍五入 |
%.mf | 輸出浮點(diǎn)數(shù)時(shí)小數(shù)點(diǎn)后保留 m 位 ( 注意 : m 前面要輸入個(gè) “ . ” ) |
%c | 輸出一個(gè)字符 |
%s | 輸出一個(gè)字符串 |
%x | 以十六進(jìn)制形式輸出整數(shù) |
二、C++的輸入 cin 和輸出 cout
PS:C++中使用標(biāo)準(zhǔn)輸入輸出需要包含頭文件<iostream>,這個(gè)頭文件包括了C的輸入輸出頭文件,所以在C++中我們也可以使用C的輸入輸出。
(一) 輸入 cin
常用模版:
cin >> 變量1 >> 變量2 ;
cin對空白字符的處理與scanf一致。即:跳過開頭空白字符,遇到空白字符停止讀取,且空白字符(包括換行符)殘留在緩沖區(qū)。
注意,cin對象屬于命名空間std,如果想使用cin對象,必須在 C++ 文件開頭寫using namespace std,或者在每次用到的時(shí)候?qū)懗蓅td::cin。
(二) 輸出 cout
常用模版 :
cout << 變量1 << 變量2 << endl ;//endl表示換行
總結(jié)
兩種輸入輸出的比較
cout與printf相比有哪些優(yōu)勢?首先是類型處理更加智能,不需要去確定變量的類型,而且擴(kuò)展性極強(qiáng)。比如我們用int類型后面有過一次轉(zhuǎn)換類型,如果用cout就不需要去管,而printf就需要修改輸出格式。
而我們經(jīng)常遇到的時(shí)間超限問題也是cout和cin的一大缺點(diǎn)。
正常情況下cout和cin的效率是相當(dāng)?shù)偷摹?/p>
所以我們可以輸入這一行代碼來加速。
ios::sync_with_stdio(false);
當(dāng)然除非有特殊情況不能使用 scanf ,我們可以優(yōu)先改為 scanf 提交答案。
以上就是C C++輸入輸出基礎(chǔ)教程示例詳解的詳細(xì)內(nèi)容,更多關(guān)于C C++輸入輸出的資料請關(guān)注腳本之家其它相關(guān)文章!
相關(guān)文章
解析bitmap處理海量數(shù)據(jù)及其實(shí)現(xiàn)方法分析
本篇文章是對bitmap處理海量數(shù)據(jù)及其實(shí)現(xiàn)的方法進(jìn)行了詳細(xì)的分析介紹,需要的朋友參考下2013-05-05C語言實(shí)現(xiàn)時(shí)區(qū)轉(zhuǎn)換函數(shù)的實(shí)例
這篇文章主要介紹了C語言實(shí)現(xiàn)時(shí)區(qū)轉(zhuǎn)換函數(shù)的實(shí)例的相關(guān)資料,這里分析需求并提供實(shí)現(xiàn)代碼,需要的朋友可以參考下2017-08-08c語言中exit和return的區(qū)別點(diǎn)總結(jié)
小編今天給大家整理了關(guān)于c語言中exit和return的不同點(diǎn)及相關(guān)基礎(chǔ)知識點(diǎn),有興趣的朋友們可以跟著學(xué)習(xí)下。2021-10-10C++實(shí)現(xiàn)簡單的HTTP服務(wù)器
這篇文章主要為大家詳細(xì)介紹了C++實(shí)現(xiàn)簡單的HTTP服務(wù)器的相關(guān)資料,感興趣的朋友可以參考下2016-05-05M1 Macbook vscode C++ debug調(diào)試實(shí)現(xiàn)
本文主要介紹了M1 Macbook vscode C++ debug調(diào)試,文中通過示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2021-08-08