C C 輸入輸出

2022-09-03 23:39:11 字數 1974 閱讀 2264

使用printf()函式和scanf()函式,要宣告標頭檔案#include

1. printf()函式

形式: printf("格式控制字串",輸出表列);

功能:通過標準輸出裝置(如顯示器)輸出一組資料,輸出形式由「格式控制」字串規定。

例如: printf("%4d,%4d",a,b);

2. scanf()函式

功能: 從終端輸入任何型別的多個資料

注意事項:在終端輸入資料時,採用的分隔符應與格式控制中的分隔符一致。

在下列情況下可認為資料輸入結束:

1)遇到空格、回車、tab時

2)遇寬度結束

3)非法輸入

3. puts() : 輸出字串,只需要給出字串的位址即可(字串常量、char陣列名、char指標等等),且puts()在輸出時,會自動在行尾加上乙個換行符(即不需要自己換行)

4. gets() :

gets()可以接收輸入字串中的空格、tab鍵和回車

語法:gets(字元陣列名或指標);

*gets與scanf()的區別:

gets()可以接受回車鍵之前輸入的所有字元,並用'\n'替代'\0',回車鍵不會留在緩衝區中,且gets()只能讀取字串;

scanf()當遇到回車、空格和tab鍵時會自動在字串後面新增'\0',但是回車、空格和tab鍵仍會留在輸入的緩衝區中,scanf()可以讀取任意型別的資料;

可以用一段**測試一下:

#include int

main()

依次鍵入asdfg回車,asdfg回車,則ch1="asdfg\0", c1='\n',ch2="asdfg\0", c2需要輸入。

5. getchar()

當程式呼叫getchar時,程式在等待使用者輸入。使用者輸入的字元被存放在鍵盤緩衝區中,直到使用者按回車為止(回車也會放到緩衝區中)。因此,getchar()也會讀取回車字元。如果使用者在按回車之前輸入了不止乙個字元,其他字元會保留在鍵盤緩衝區中,等待後續getchar()呼叫讀取,即後續的getchar()呼叫不會等待使用者按鍵,而是直接讀取緩衝區中的字元,直到緩衝區中的字元讀完。

6. getline() 函式

c++中為了使用的方便,c++在標準庫中新增了getline()函式,c++對不同的輸入流物件都定義了乙個getline函式。

對於標準輸入來說,標頭檔案中宣告了getline函式。

istream::getline

istream& getline(char* s, streamsize n);

istream& getline(char* s, streamsize n, char delim); //delim引數是指定分隔符,如果不指定預設使用'\n'。

#include using

namespace

std;

intmain()

c++中還定義了乙個std命名空間的全域性函式,因為這個getline函式的引數使用了string字串,所以宣告在了標頭檔案中了。

宣告如下:

istream& getline(istream& is, string& str, char delim);

istream& getline(istream& is, string& str);

*c++中的getline()函式讀取空白符,但不讀取換行符。

*gcc中也定義了getline()函式,但是在這裡不再進行贅述。

7. c++ 一次性讀入一行數字,並且儲存在陣列中

#include #include 

#include

#include

using

namespace

std;

intmain()

C C 輸入 輸出

在c語言中,我們的輸入輸出靠的是標準庫函式,最常用的就是 scanf 和 printf 這一對了。那麼c 又是怎麼樣實現輸入輸出的呢?下面來寫c 的第乙個程式!include using namespace std int main 不難看出,它有以下特徵 1.使用cout標準輸出 控制台 和cin...

C C 輸入輸出

符號 描述 h0 short型的八進位制 0int型的八進位制 l0long型的八進位制 hdshort型的十進位制 dint型的十進位制 ldlong型的十進位制 hx,hx short型的十六進製制,x表示小寫,x表示大寫 x,x int型的十六進製制,x表示小寫,x表示大寫 lx,lx lon...

c c 輸入輸出技巧

c 小數的四捨五入問題 小數用 xf 輸出的話 是會自動四捨五入的 比如說double e 2.718,c 3.141 printf 2lf n e printf 2lf n c printf 2lf n int e 100 100.0 printf 2lf n int c 100 100.0 執行...