C?C++輸入輸出基礎教程示例詳解
一、C語言的輸入 scanf 和輸出 printf
PS:使用前看是否包含了頭文件 <cstdio>
(一) 輸入 scanf
scanf 函數(shù)從標準輸入(鍵盤)讀取信息,按照格式描述把讀入的信息轉換為指定數(shù)據(jù)類型的數(shù)據(jù),并把這些數(shù)據(jù)賦給指定的程序變量。
下面提供一個標準模版:
scanf ( “ 控制輸入符(格式控制) ” , & 輸入項1 , & 輸入項2 .... ) ;
說明:
1、格式控制的標準與輸出語句一樣;
2、在格式串中,必須含有與輸入項一一對應的格式轉換符的說明符;
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 , …… ” );
注意順序一一對應
int m = 10 ; int n = 20 ; printf ( " % d , % d \n " , m , n ) ; // " , "可以換成 “ :”
格式控制中具體的要求
1 . % [標志] [輸出最小寬度] [.精度] [長度] 類型
%[flags][width][.prec][length]type
2 . 其中方括號[]中的項為可有可無項,按需求來使用。
1 、 標志位
標志 | 說明 |
---|---|
- | 左對齊,右邊填充空格(默認右對齊) |
0 | 將輸出的前面補上0,直到占滿指定列寬為止(不可以搭配使用"-") |
+ | 輸出符號,正號或負號(與前面的+無關,取決于數(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,或者在每次用到的時候寫成std::cin。
(二) 輸出 cout
常用模版 :
cout << 變量1 << 變量2 << endl ;//endl表示換行
總結
兩種輸入輸出的比較
cout與printf相比有哪些優(yōu)勢?首先是類型處理更加智能,不需要去確定變量的類型,而且擴展性極強。比如我們用int類型后面有過一次轉換類型,如果用cout就不需要去管,而printf就需要修改輸出格式。
而我們經(jīng)常遇到的時間超限問題也是cout和cin的一大缺點。
正常情況下cout和cin的效率是相當?shù)偷摹?/p>
所以我們可以輸入這一行代碼來加速。
ios::sync_with_stdio(false);
當然除非有特殊情況不能使用 scanf ,我們可以優(yōu)先改為 scanf 提交答案。
以上就是C C++輸入輸出基礎教程示例詳解的詳細內(nèi)容,更多關于C C++輸入輸出的資料請關注腳本之家其它相關文章!
相關文章
解析bitmap處理海量數(shù)據(jù)及其實現(xiàn)方法分析
本篇文章是對bitmap處理海量數(shù)據(jù)及其實現(xiàn)的方法進行了詳細的分析介紹,需要的朋友參考下2013-05-05M1 Macbook vscode C++ debug調試實現(xiàn)
本文主要介紹了M1 Macbook vscode C++ debug調試,文中通過示例代碼介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們可以參考一下2021-08-08