C++中基本的輸入輸出函數(shù)使用指南
在C語(yǔ)言中是用printf函數(shù)進(jìn)行輸出,用scanf函數(shù)進(jìn)行輸入的。C++保留了C語(yǔ)言的這一用法。
scanf函數(shù)一般格式是:
scanf(格式控制, 輸出表列)
printf函數(shù)的一般格式是
scanf(格式控制, 輸出表列)
scanf(格式控制, 輸出表列)
【例】用scanf和printf函數(shù)進(jìn)行輸入和輸出。
#include <iostream>
using namespace std;
int main( )
{
int a; float b; char c;
scanf("%d %c %f",&a,&c,&b); //注意在變量名前要加地址運(yùn)算符&
printf("a=%d,b=%f,c=%c\n",a,b,c);
return 0;
}
運(yùn)行情況如下:
12 A 67.98↙(本行為輸入,輸入的3個(gè)數(shù)據(jù)間以空格相間) a=12,b=67.980003,c=A(本行為輸出)
輸入的整數(shù)12送給整型變量a,字符'A'送給字符變量c,67.98送給單精度變量b。
C++還保留了C語(yǔ)言中用于輸入和輸出單個(gè)字符的函數(shù),使用很方便。其中最常用的有g(shù)etchar函數(shù)和putchar函數(shù)。
putchar函數(shù)(字符輸出函數(shù))
putchar函數(shù)的作用是向終端輸出一個(gè)字符。例如:
putchar(c);
它輸出字符變量c的值。
【例】輸出單個(gè)字符。
#include <iostream> //或者包含頭文件stdio.h:#include <stdio.h>
using namespace std;
int main( )
{
char a,b,c;
a='B';b='O';c='Y';
putchar(a);putchar(b);putchar(c);putchar('\n');
putchar(66);putchar(79);putchar(89);putchar(10);
return 0;
}
運(yùn)行結(jié)果為
BOY BOY
可以看到:用putchar可以輸出轉(zhuǎn)義字符,putchar('\n')的作用是輸出一個(gè)換行符,使輸出的當(dāng)前位置移到下一行的開(kāi)頭。putchar(66)的作用是將66作為ASCII碼轉(zhuǎn)換為字符輸出,66是字母'B'的ASCII碼,因此putchar(66)輸出字母'B'。其余類似。putchar(10)中的10是換行符的ASCII碼,putchar(10)輸出一個(gè)換行符,作用與putchar('\n') 相同。
也可以輸出其他轉(zhuǎn)義字符,如
- putchar('\101'); (輸出字符'A',八進(jìn)制的101是'A'的ASCII碼)
- putchar('\''); (輸出單引號(hào)字符')
- putchar('\015'); (輸出回車,不換行,使輸出的當(dāng)前位置移到本行開(kāi)頭)
getchar函數(shù)(字符輸入函數(shù))
此函數(shù)的作用是從終端(或系統(tǒng)隱含指定的輸入設(shè)備)輸入一個(gè)字符。getchar函數(shù)沒(méi)有參數(shù),其一般形式為getchar( )函數(shù)的值就是從輸入設(shè)備得到的字符。
【例】輸入單個(gè)字符。
#include <iostream>
using namespace std;
int main( )
{
char c;
c=getchar( ); putchar(c+32); putchar('\n');
return 0;
}
在運(yùn)行時(shí),如果從鍵盤(pán)輸入大寫(xiě)字母'A'并按回車鍵,就會(huì)在屏幕上輸出小寫(xiě)字母'a'。
請(qǐng)注意,getchar( )只能接收一個(gè)字符。getchar函數(shù)得到的字符可以賦給一個(gè)字符變量或整型變量,也可以不賦給任何變量,作為表達(dá)式的一部分。例如,第5行可以用下面一行代替:
putchar(getchar()+32);putchar('\n');
因?yàn)間etchar( )讀入的值為'A','A'+32是小寫(xiě)字母'a'的ASCII碼,因此putchar函數(shù)輸出'a'。此時(shí)不必定義變量c。
也可用cout輸出getchar函數(shù)得到字符的ASCII的值:
cout<<getchar( );
這時(shí)輸出的是整數(shù)97,因?yàn)橛胓etchar( )讀入的實(shí)際上是字符的ASCII碼,現(xiàn)在并未把它賦給一個(gè)字符變量,cout就按整數(shù)形式輸出。如果改成
cout<<(c=getchar( )); //設(shè)c已定義為字符變量
則輸出為字母'a',因?yàn)橐筝敵鲎址兞縞的值。
可以看到用putchar和getchar函數(shù)輸出和輸入字符十分靈活方便,由于它們是函數(shù)所以可以出現(xiàn)在表達(dá)式中,例如
cout<<(c=getchar( )+32);
相關(guān)文章
C++中的數(shù)字轉(zhuǎn)字符串to_string
這篇文章主要介紹了C++中的數(shù)字轉(zhuǎn)字符串to_string,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2022-11-11
C語(yǔ)言實(shí)現(xiàn)切片數(shù)組的示例詳解
由于c語(yǔ)言沒(méi)有集合類的標(biāo)準(zhǔn)庫(kù),需要用時(shí)只能自己實(shí)現(xiàn),所以本文參考了go語(yǔ)言的slice,找到了一種非常簡(jiǎn)化的動(dòng)態(tài)數(shù)組接口,下面我們就來(lái)看看如何在C語(yǔ)言中實(shí)現(xiàn)切片吧2024-03-03
C語(yǔ)言數(shù)據(jù)類型和格式說(shuō)明符基礎(chǔ)教程示例
這篇文章主要為大家介紹了C語(yǔ)言數(shù)據(jù)類型和格式說(shuō)明符基礎(chǔ)教程示例詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪2023-12-12
C語(yǔ)言中數(shù)據(jù)是如何存儲(chǔ)在內(nèi)存中的
使用編程語(yǔ)言進(jìn)行編程時(shí),需要用到各種變量來(lái)存儲(chǔ)各種信息。變量保留的是它所存儲(chǔ)的值的內(nèi)存位置。這意味著,當(dāng)您創(chuàng)建一個(gè)變量時(shí),就會(huì)在內(nèi)存中保留一些空間。您可能需要存儲(chǔ)各種數(shù)據(jù)類型的信息,操作系統(tǒng)會(huì)根據(jù)變量的數(shù)據(jù)類型,來(lái)分配內(nèi)存和決定在保留內(nèi)存中存儲(chǔ)什么2022-04-04
C++實(shí)現(xiàn)與Lua相互調(diào)用的示例詳解
這篇文章主要為大家詳細(xì)介紹了C++實(shí)現(xiàn)與Lua相互調(diào)用的方法,文中的示例代碼講解詳細(xì),具有一定的學(xué)習(xí)價(jià)值,感興趣的小伙伴可以了解一下2023-03-03
C++中小數(shù)點(diǎn)輸出格式(實(shí)例代碼)
下面小編就為大家?guī)?lái)一篇C++中小數(shù)點(diǎn)輸出格式(實(shí)例代碼)。小編覺(jué)得挺不錯(cuò)的,現(xiàn)在就分享給大家,也給大家做個(gè)參考。一起跟隨小編過(guò)來(lái)看看吧2017-06-06
C++ new/delete相關(guān)知識(shí)點(diǎn)詳細(xì)解析
C語(yǔ)言用一堆標(biāo)準(zhǔn)庫(kù)函數(shù)malloc和free在自由存儲(chǔ)區(qū)中分配存儲(chǔ)空間,而C++則用new和delete表達(dá)式實(shí)現(xiàn)相同的功能2013-09-09
OpenSSL動(dòng)態(tài)鏈接庫(kù)源碼安裝教程
Openssl 是一個(gè)開(kāi)放源代碼的SSL協(xié)議的產(chǎn)品實(shí)現(xiàn),它采用C語(yǔ)言作為開(kāi)發(fā)語(yǔ)言,具備了跨系統(tǒng)的性能。這篇文章主要介紹了OpenSSL動(dòng)態(tài)鏈接庫(kù)源碼安裝,需要的朋友可以參考下2021-11-11
C語(yǔ)言#define拼接宏定義實(shí)現(xiàn)方式
今天小編就為大家分享一篇C語(yǔ)言#define拼接宏定義實(shí)現(xiàn)方式,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧2019-12-12

