c 中cin的基本使用方法

2021-09-07 11:22:22 字數 3125 閱讀 2420

一、最主要的使用方法cin>>

接收乙個數字、字元、字串。遇「空格」、「tab」、「回車」都結束

比如:        

#include using namespace std;

main ()

{int a,b;

cin>>a>>b;

cout<

輸入:5[回車]6[回車]

輸出:11

(當中回車可替換成空格或者tab鍵)

#include using namespace std;

main ()

{char a[20];

cin>>a;

cout<

輸入:kldjfllskjf

輸出:kldjfllskjf

輸入:jkljkl jkljkl //遇空格結束

輸出:jkljkl

二、cin.get()

使用方法1: cin.get(字元變數名)能夠用來接收字元

ch=cin.get(); 或者cin.get(ch);(兩種形式等價)

#include using namespace std;

main ()

{char ch;

ch=cin.get(); //或者cin.get(ch);

cout<

輸入:hglssf

輸出:h

使用方法2:cin.get(字元陣列名,接收字元數目)用來接收一行字串,能夠接收空格,enter鍵結束輸入

#include using namespace std;

main ()

{char a[20];

cin.get(a,20);

cout<

輸入:jkl jkl jkl

輸出:jkl jkl jkl

輸入:abcdeabcdeabcdeabcdeabcde (輸入25個字元)

輸出:abcdeabcdeabcdeabcd (接收19個字元+1個'\0')

使用方法3: cin.get(字元陣列名,接收字元數目,結束符)

讀取一行字串,遇結束符停止讀入

#include using namespace std;

main ()

{char a[20];

cin.get(a,20,'g');

cout<

輸入:kjhkjlhgjlajdflj

輸出:kjhkjlh

注意:當結束符為「enter」鍵時。即默覺得上述的使用方法2

可是兩種情況下都不會丟棄結束符:

比如:接收字元情況:

#include using namespace std;

int main()

{  char c1, c2;

cin.get(c1);

cin.get(c2);

cout<

輸入:

a[enter]

輸出:a

97 10

【分析】會發現僅僅執行了一次從鍵盤輸入,顯然第乙個字元變數取的

』a',

第二個變數取的是

enter(ascii

值為10)

,這是由於該函式不丟棄上次輸入結束時的

enter

字元,所以

第一次輸入結束時緩衝區中殘留的是上次輸入結束時的

enter

字元。

接收字串情況:

#include using namespace std;

int main ()

{  char ch, a[20];

cin.get(a, 5 , 'd');

cin>>ch;

cout<

輸入:

12345[enter]

輸出:1234

53【分析】第一次輸入超長,字串按長度取了

"1234"

,而』5′

仍殘留在緩衝區中。所以第二次輸入字元沒有從鍵盤讀入,而是直接取了

』5′。所以列印的

ascii

值是53(』5′

的ascii值)。

輸入12d45[enter]

輸出:12

d 【分析】第二次輸出為

d,說明

自己定義結束符時不丟棄緩衝區中的結束符

三、getline()的使用方法

使用方法1:cin.getline(

陣列名,長度,結束符

)大體與

cin.get(

陣列名。長度。結束符

)類似。

差別在於:

cin.get()

當輸入的字串超長時,不會引起

cin函式的錯誤,後面的

cin操作會繼續執行,僅僅是直接從緩衝區中取資料。可是

cin.getline()

當輸入超長時。會引起

cin函式的錯誤。後面的

cin操作將不再執行。

#includeusingnamespace std;

int main ()

{char ch, a[20];

cin.getline(a, 5);

cin>>ch;

cout<12345[enter]

輸出:1234

-52【分析】與

cin.get()

的樣例比較會發現,這裡的

ch並沒有讀取緩衝區中的

5,而是返回了

-52。這裡事實上

cin>>ch

語句沒有執行。是由於

cin出錯了。

使用方法2:getline(cin,line),接收一行字串輸入並存入字串line中,按回車結束。

#include#includeusing namespace std;

int main()

{ string line;

getline(cin,line);

cout<

輸入:liudandage nihaoa

輸出:liudandage nihaoa

C 中string 的基本使用方法

本人整理了string的基本基本使用方法,希望自己能熟練使用這些方法,也希望能幫助和我一樣的c 初學者。console.writeline 字串比較 string a abc string b abc console.writeline a.compareto b console.writeline...

C 中cin的使用

首先對於cin,常見的輸入流 1.在遇到空格和回車時將輸入的數字傳給引數,當輸入的數字個數超過引數個數時 將超過的存入輸入緩衝流中,當有後來的引數需要輸入資料時,再傳遞給它。2.向變數傳值時,不需要帶符號 也不要指明型別,這樣就無法檢查變數輸入的正確性。如下在迴圈內部輸入不合法的變數值,那麼將陷入死...

C 中vector(向量)基本使用方法

使用c c 中向量是一種很方便的用法。使用之前清新增標頭檔案 include 一 vector 的初始化 可以有五種方式,舉例說明如下 1 vectora 10 定義了10個整型元素的向量 2 vectora 10,1 定義了10個整型元素的向量,且給出每個元素的初值為1 3 vectora b 用...