C 輸入輸出自我總結

2021-06-21 11:23:29 字數 2775 閱讀 7550

先說一下最基本的輸入輸出函式

比如從c語言裡繼承的

1.scanf()

scanf("%d",&x);    注意一下一般在acm競賽裡scanf比cin的效率要高,所以一般都用scanf

不過scanf無法讀取空白字元(碰到空白字元就自動結束)這個大家可以測試一下.

2.gets()

gets()函式和scanf唯一不同的就是可以讀取空白符,gets函式只有碰到回車換行符才會結束,而scanf

一旦碰到空白符就會自動結束.

3.getline()

說道結束標誌,不得不說起getline,比如在一段  輸入a#a格式的字串裡(a為字串,a為數字)提取數字a

我們有2個辦法

乙個是利用strchar查詢,之後sscanf分割,如:

int main()

不過這樣顯然十分的麻煩,這時候我們可以使用另外乙個函式getline()

以下是一段函式的百科:

getline()函式會生成乙個包含一串從輸入流讀入的字元的字串,直到以下情況發生會導致生成的此字串結束。1)到檔案結束,2)遇到函式的定界符,3)輸入達到最大限度。

在函式遇到和結束定界符相等的字元時函式結束,同時函式抽出定界符,此種情況下該定界符既不被放回輸入流,也不被放入要生成的字串。所以由此可以理解輸入結束後的第乙個回車是定界符,被確認後拋棄,而第二個才是程式執行執行時正常需要的!

舉個例子

int main()

5.cin,cout

輸入輸出流的話我自己也不是很清楚,不過以後有了使用的心得了的話會再補上,這裡轉乙個網上輸入輸出流格式

的控制函式表

1.使用控制符控制輸出格式

控制符作用dec

設定整數的基數為10

hex設定整數的基數為16

oct設定 整數的基數為8

setbase(n)

設定整數的基數為n(n只能是16,10,8之一)

setfill(c)

設定填充字元c,c可以是字元常量或字元變數

setprecision(n)

設定實數的精度為n位。在以一般十進位制小數形式輸出時,n代表有效數字。在以fixed(固定小數字 數)形式和scientific(指數)形式輸出時,n為小數字數。

setw(n)

設定字段寬度為n位。

setiosflags(ios::fixed)

設定浮點數以固定的小數字數顯示。

setiosflags(ios::scientific)

設定浮點數以科學計數法(即指數形式)顯示。

setiosflags(ios::left)

輸出資料左對齊。

setiosflags(ios::right)

輸出資料右對齊。

setiosflags(ios::shipws)

忽略前導的空格。

setiosflags(ios::uppercase)

在以科學計數法輸出e和十六進製制輸出字母x時,以大寫表示。

setiosflags(ios::showpos)

輸出正數時,給出「+」號。

resetiosflags

終止已設定的輸出格式狀態,在括號中應指定內容。

2.用流物件的 成員控制輸出格式

流成員函式

與之作用相同的控制符

作用precision(n)

setprecision(n)

設定實 數的精度為n位。

width(n)

setw(n)

設定字段寬度為n位。

fill(c)

setfill(c)

設定填充字元c。

setf( )

setiosflags( )

設定輸出格式狀態,括號中應給出格式狀態,內容與控制符setiosflags括號中內容相同。

ubsetf( )

resetiosflags( )

終止已設定的輸出格式狀態。

cout.width(10); 

cout.setf(ios::hex);

3.設定格式狀態的格式標誌

格式標誌

作用ios::left

輸出資料在本域寬範 圍內左對齊

ios::right

輸出資料在本域寬範圍內右對齊

ios::internal

數值的符號位在域寬內左對齊,數值右對齊,中間由填充字元填充

ios::dec

設定整數的基數為10

ios::oct

設定整數的基數為8

ios::hex

設定整數的基數為16

ios::showbase

強制輸出整數的基數(八進位制以0打頭,十六進製制以0x打頭)

ios::showpoint

強制輸出浮點數的小點和尾數0

ios::uppercase

在以科學計數法輸出e和十六進製制輸出字母x時,以大寫表示

ios::showpos

輸出正數時,給出「+」號。

ios::scientific

設定浮點數以科學計數法(即指數形式)顯示

ios::fixed

設定浮點數以固定的小數字數顯示

ios::unitbuf

每次輸出後重新整理所有流

ios::stdio

每次輸出後清除 stdout,stderr

以小數形式,保留三位小數輸出: 

cout<

C 輸入輸出總結

返回值 引數功能 istream char int,char 第乙個引數用於放入輸入字串的位址,第二個引數表示讀取的最大字元數 1,第三個表示用作分界符的字元。返回對cin物件的引用。該函式讀取到最大數目字元或遇到分界符為止。分界符留在輸入流中 istream char int 第乙個引數用於放入輸...

C常用輸入輸出總結

一 輸入輸出格式 1 整型 scanf d m int scanf ld m long int scanf lld m long long int2 浮點型 1 基本格式 scanf f m float scanf lf m double2 加域寬 includeint main return 0 ...

C 輸入輸出

一 標準輸入函式cin 不知道說它是個函式對還是不對,它是代表標準的輸入裝置 鍵盤。他是屬於流的,他的用法和流的用法是一樣的。也就是 cin 變數 小小的說明一下,輸入多個變數可以寫在一行,如 cin x y z 這樣寫不是不允許,而是不好看,如果是不同的變數型別,那就更是沒頭沒腦了。除了你,人家是...