c語言中cin函數所需包 c語言中有cin嗎

c中cin的用法

c語言中 符號的用法你知道嗎?下面我就跟你們詳細介紹下c語言中 符號的用法,希望對你們有用。

我們提供的服務有:成都做網站、成都網站制作、成都外貿網站建設、微信公眾號開發、網站優化、網站認證、瑪多ssl等。為上1000家企事業單位解決了網站和推廣的問題。提供周到的售前咨詢和貼心的售后服務,是有科學管理、有技術的瑪多網站制作公司

c語言中 符號的用法如下:

1、cin

用法1:最基本,也是最常用的用法,輸入一個數字:

#include iostream

using namespace std;

main ()

{

int a,b;

cinab;

couta+bendl;

}

輸入:2[回車]3[回車]

輸出:5

注意: 是會過濾掉不可見字符(如 空格 回車,TAB 等)

cinnoskipwsinput[j];//不想略過空白字符,那就使用 noskipws 流控制

用法2:接受一個字符串,遇“空格”、“TAB”、“回車”都結束

#include iostream

using namespace std;

main ()

{

char a[20];

cina;

coutaendl;

}

輸入:jkljkljkl

輸出:jkljkljkl

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

輸出:jkljkl

2、cin.get()

用法1: cin.get(字符變量名)可以用來接收字符

#include iostream

using namespace std;

main ()

{

char ch;

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

coutchendl;

}

輸入:jljkljkl

輸出:j

用法2:cin.get(字符數組名,接收字符數目)用來接收一行字符串,可以接收空格

#include iostream

using namespace std;

main ()

{

char a[20];

cin.get(a,20);

coutaendl;

}

輸入:jkl jkl jkl

輸出:jkl jkl jkl

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

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

用法3:cin.get(無參數)沒有參數主要是用于舍棄輸入流中的不需要的字符,或者舍棄回車,彌補cin.get(字符數組名,接收字符數目)的不足.

這個我還不知道怎么用,知道的前輩請賜教;

3、cin.getline() ? // 接受一個字符串,可以接收空格并輸出

#include iostream

using namespace std;

main ()

{

char m[20];

cin.getline(m,5);

coutmendl;

}

輸入:jkljkljkl

輸出:jklj

接受5個字符到m中,其中最后一個為'\0',所以只看到4個字符輸出;

如果把5改成20:

輸入:jkljkljkl

輸出:jkljkljkl

輸入:jklf fjlsjf fjsdklf

輸出:jklf fjlsjf fjsdklf

//延伸:

//cin.getline()實際上有三個參數,cin.getline(接受字符串的看哦那間m,接受個數5,結束字符)

//當第三個參數省略時,系統默認為'\0'

//如果將例子中cin.getline()改為cin.getline(m,5,'a');當輸入jlkjkljkl時輸出jklj,輸入jkaljkljkl時,輸出jk

當用在多維數組中的時候,也可以用cin.getline(m,20)之類的用法:

#includeiostream

#includestring

using namespace std;

main ()

{

char m[3][20];

for(int i=0;i3;i++)

{

cout"\n請輸入第"i+1"個字符串:"endl;

cin.getline(m,20);

}

coutendl;

for(int j=0;j3;j++)

cout"輸出m["j"]的值:"m[j]endl;

}

請輸入第1個字符串:

kskr1

請輸入第2個字符串:

kskr2

請輸入第3個字符串:

kskr3

輸出m[0]的值:kskr1

輸出m[1]的值:kskr2

輸出m[2]的值:kskr3

4、getline() ? ? // 接受一個字符串,可以接收空格并輸出,需包含“#includestring”

#includeiostream

#includestring

using namespace std;

main ()

{

string str;

getline(cin,str);

coutstrendl;

}

輸入:jkljkljkl

輸出:jkljkljkl

輸入:jkl jfksldfj jklsjfl

輸出:jkl jfksldfj jklsjfl

和cin.getline()類似,但是cin.getline()屬于istream流,而getline()屬于string流,是不一樣的兩個函數

注意:在使用getline時有一個奇怪的現象,在vc6下, 要打兩次回車才可以結束

5、gets() ? ? ? ?// 接受一個字符串,可以接收空格并輸出,需包含“#includestring”

#includeiostream

#includestring

using namespace std;

main ()

{

char m[20];

gets(m); ? ? ? ? ? ? ? ? ? ? ? //不能寫成m=gets();

coutmendl;

}

輸入:jkljkljkl

輸出:jkljkljkl

輸入:jkl jkl jkl

輸出:jkl jkl jkl

類似cin.getline()里面的一個例子,gets()同樣可以用在多維數組里面:

#includeiostream

#includestring

using namespace std;

main ()

{

char m[3][20];

for(int i=0;i3;i++)

{

cout"\n請輸入第"i+1"個字符串:"endl;

gets(m);

}

coutendl;

for(int j=0;j3;j++)

cout"輸出m["j"]的值:"m[j]endl;

}

請輸入第1個字符串:

kskr1

請輸入第2個字符串:

kskr2

請輸入第3個字符串:

kskr3

輸出m[0]的值:kskr1

輸出m[1]的值:kskr2

輸出m[2]的值:kskr3

自我感覺gets()和cin.getline()的用法很類似,只不過cin.getline()多一個參數罷了;

這里順帶說明一下,對于本文中的這個kskr1,kskr2,kskr3的例子,對于cin也可以適用,原因是這里輸入的沒有空格,如果輸入了空格,比如“ks kr jkl[回車]”那么cin就會已經接收到3個字符串,“ks,kr,jkl”;再如“kskr 1[回車]kskr 2[回車]”,那么則接收“kskr,1,kskr”;這不是我們所要的結果!而cin.getline()和gets()因為可以接收空格,所以不會產生這個錯誤;

6、getchar() ? //接受一個字符,需包含“#includestring”

#includeiostream

#includestring

using namespace std;

main ()

{

char ch;

ch=getchar(); ? ? ? ? ? ? ? ? ? ? ? ?//不能寫成getchar(ch);

coutchendl;

}

輸入:jkljkljkl

輸出:j

//getchar()是C語言的函數,C++也可以兼容,但是盡量不用或少用;

c++中使用cin需要包含什么頭文件

c++ cin的頭文件是:#includeiostream.h;

iostream.h:標準的輸入輸出流頭文件。用來聲明一些用來在標準輸入輸出設備上進行輸入輸出操作的對象。

iostream.h是input output stream的簡寫,意思為標準的輸入輸出流頭文件。它包含:

(1)cin"要輸入的內容"

(2)cout"要輸出的內容"

這兩個輸入輸出的方法需要#includeiostream來聲明頭文件。

>n在c語言是什么意思?'>cin>>n在c語言是什么意思?

輸入一個值的意思。

cin是C++編程語言中的標準輸入流對象,即istream類的對象。

cin主要用于從標準輸入讀取數據,這里的標準輸入,指的是終端的鍵盤。cin讀取數據是從緩沖區中獲取數據,緩沖區為空時,cin的成員函數會阻塞等待數據的到來,一旦緩沖區中有數據,就觸發cin的成員函數去讀取數據。

cin的常用讀取方法:

使用cin從標準輸入讀取數據時,通常用到的方法有cin,cin.get,cin.getline。

1、cin的用法。

cin可以連續從鍵盤讀取想要的數據,以空格、tab或換行作為分隔符。

2、cin.get的用法。

該函數有有多種重載形式,分為四種格式:無參,一參數,二參數,三個參數。

(1)cin.get讀取一個字符,可以使用cin.get或者cin.get(var)。

(2)讀取一行可以使用istream get ( char* s, streamsize n )或者istream get ( char* s, size_t n, streamsize delim )。二者的區別是前者默認以換行符結束,后者可指定結束符。n表示目標空間的大小。

3、cin.getline讀取一行。

函數作用:從標準輸入設備鍵盤讀取一串字符串,并以指定的結束符結束。

c語言有cin這個東西嗎

cin 是 c++ 里的標準輸入,即從鍵盤輸入,std::cin. c 語言沒有 cin.

c 語言 用 scanf() 函數,需根據變量類型,加上輸入格式。 例如:

int i,j; char info[20];

scanf("%d %d %s",i, j, info);

scanf和cin的區別

1.cin 是個C++類型對象,它的類型是basic_istream,scanf 是個不定參數的函數,

2.cin 所屬的類重載了 運算符,使輸入更簡單了,比如

double d; cind;

而 scanf 不一樣的,

double d;scanf("%lf",d);

看起來麻煩一點。

另外,cin 也更安全,不會發生內存溢出。

char c; scanf("%lf",c); //這時需要8個字節的空間,但只提供一個,內存溢出。

而 cin 也更安全

char c;cinc; //只輸入字符,不會溢出

3.從底層上來說,C++ 的 cin 與 C語言的 scanf 都采用 stdin 作為輸入源, 但cin和scanf 采用了不同的緩沖區,可以通過 ios 頭文件里面的 sync_with_stdio () 函數設置緩沖區共享,使cin和scanf 共享緩沖區。

C++也可以改變輸入源,但這樣很復雜。

其實,C++對 stdin 進行了封裝,用流和迭代器進行了轉變了流的概念而已,而C的scanf直接操作 stdin而已

4.cin

scanf

在使用時的注意事項

(注:本文中的源代碼沒有包含頭文件,實驗時請自己編輯。)

請邊看邊操作,這樣才能真正明白其中的竅門:

5.

scanf()

:

常用的有

(1)

scanf("%s",a);//a

為字符串的指針;

例:

int main(){

char a[20];

scanf("%s",a);

printf("%s",a);//

輸出字符串

a

中的字符

return 0;

}

注意

1,這種獲得字符串的方法前面可以有回車符

'\n'

,注意哦!你可以試一下。輸入

時在前面猛打回車,然后再輸入一組字符,這樣輸出的還是你輸出的字符。

2.試完了回車,重新運行一下,然后你在前面加

n

個空格,然后再輸入一個連續的

字符,

看看會出現什么?你會發現他把前面的空格全忽略了。

如果你想要,

當然也可以,或

者用正則表達式,或者用

gets();

比如:

gets(a);

這樣,你輸入的空格也能記錄下來了。

3.再試一下

輸入一個連續長度的字符后加一個空格再輸入:

比如輸入一個人的名

字的時候“

Bill

Gates

”你會發現輸出只有

Bill

,而

Gates

見鬼去了。所以名字的輸入和上

面一樣,最好用

gets();

函數。

(2)scanf("%c",a);//

注意取地址符;

例:

int main(){

char a;

scanf("%c",a);

printf("%c",a);//

輸出字符

a

中的字符

return 0;

}

注意:

在獲得字符時如果有回車,

吸收之。

你可以這樣試一下,

運行上面的程序,

回車一次,

仔細觀察他空了幾行。

(第一行是你敲的,第二行是

printf

輸出的

a

的值)

,明白其中的奧妙

了么?

(3)

scanf("%d",a);

int main(){

int a;

scanf("%d",a);

printf("%d",a);//

輸出整形

a

中的值;

return 0;

}

注意:這個輸入和(

1

)一樣,會自動忽略前面的回車

'\n'(

其實就是個

ascII

)

c語言中有一個函數類似c++中的cin.putback()的函數是什么,需要包含什么頭文件?

是int ungetc(int c,FILE *fp);

該函數將c指定的字符放回輸入流在stdio.h里面

第二個參數不一定是文件可以是標準輸入流即stdin

網頁題目:c語言中cin函數所需包 c語言中有cin嗎
標題來源:http://m.kartarina.com/article18/dodesdp.html

成都網站建設公司_創新互聯,為您提供小程序開發標簽優化域名注冊、網站營銷、網站制作

廣告

聲明:本網站發布的內容(圖片、視頻和文字)以用戶投稿、用戶轉載內容為主,如果涉及侵權請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網站立場,如需處理請聯系客服。電話:028-86922220;郵箱:631063699@qq.com。內容未經允許不得轉載,或轉載時需注明來源: 創新互聯

網站建設網站維護公司
主站蜘蛛池模板: 亚洲国产成人精品无码久久久久久综合 | 国产成人无码午夜福利软件| 久久精品无码一区二区无码| 亚洲啪AV永久无码精品放毛片| 国产精品午夜无码av体验区 | 国产高新无码在线观看| 无码精品国产一区二区三区免费| 激情无码亚洲一区二区三区 | 亚洲AV永久无码天堂影院 | 国产∨亚洲V天堂无码久久久| 精品视频无码一区二区三区| 日韩精品无码免费视频 | 亚洲av日韩av永久无码电影| 国产亚洲精久久久久久无码AV | 国产精品无码一区二区在线观一 | 精品无码一区在线观看| yy111111电影院少妇影院无码| 亚洲AV无码AV男人的天堂不卡| 未满十八18禁止免费无码网站| 国产精品成人无码免费| 亚洲精品久久久久无码AV片软件| 亚洲AV综合色区无码一区爱AV | 国模无码视频一区| 91精品久久久久久无码| 国产爆乳无码视频在线观看| 亚洲av无码乱码在线观看野外| 色国产色无码色欧美色在线| 免费A级毛片无码A∨免费| 国产日韩精品中文字无码| 国产自无码视频在线观看 | 亚洲中文字幕无码一区| 无码专区6080yy国产电影| 国产成年无码久久久久下载| 久久天堂av综合色无码专区| 日韩av无码成人无码免费| 无码人妻av一区二区三区蜜臀| 好了av第四综合无码久久| 无码一区二区三区AV免费| 免费无码AV一区二区| 无码8090精品久久一区| 成人无码一区二区三区|