在C語言中,輸入使用的是scanf函數(shù),scanf函數(shù)的格式為scanf(格式控制,地址列表),如scanf("%d"a)。
成都創(chuàng)新互聯(lián)公司專注于博樂企業(yè)網(wǎng)站建設(shè),成都響應(yīng)式網(wǎng)站建設(shè)公司,商城網(wǎng)站制作。博樂網(wǎng)站建設(shè)公司,為博樂等地區(qū)提供建站服務(wù)。全流程按需網(wǎng)站設(shè)計(jì),專業(yè)設(shè)計(jì),全程項(xiàng)目跟蹤,成都創(chuàng)新互聯(lián)公司專業(yè)和態(tài)度為您提供的服務(wù)
輸出使用的是printf()函數(shù),printf函數(shù)的格式為printf(格式控制,輸出表列),如printf("%d\n",a)。在輸出時(shí)可以在"%"和字母之間插進(jìn)數(shù)字表示最大場寬??梢愿鶕?jù)需要輸出數(shù)字的位數(shù)來決定“%”前的數(shù)值。
如:%3d表示輸出3位整型數(shù), 不夠3位右對齊。
%9.2f 表示輸出場寬為9的浮點(diǎn)數(shù), 其中小數(shù)位為2, 整數(shù)位為7,小數(shù)點(diǎn)占一位, 不夠9位右對齊。
%8s 表示輸出8個字符的字符串, 不夠8個字符右對齊。
擴(kuò)展資料
C語言輸入輸出時(shí)的規(guī)則:
一、格式說明符個數(shù)與輸入數(shù)據(jù)個數(shù)不相等的情況:
當(dāng)我們輸入數(shù)據(jù)時(shí),只要沒有按回車鍵,所輸入的數(shù)據(jù)都還存放在緩沖區(qū),并沒有存入變量中。按【Enter】鍵后,scanf()函數(shù)才會從緩沖區(qū)中取走數(shù)據(jù)。緩沖區(qū)是一個先進(jìn)先出的隊(duì)列,即取走數(shù)據(jù)的時(shí)候,遵循先輸入的數(shù)據(jù)先取走的原則。
scanf函數(shù)的格式說明符有幾個就要取幾次數(shù)據(jù),只要碰到格式說明符就必須把數(shù)據(jù)取走,至于是不是要把取走的數(shù)據(jù)存放起來,就得看數(shù)據(jù)列表中的數(shù)據(jù)個數(shù)。沒取完的數(shù)據(jù)繼續(xù)留在緩沖區(qū)中。
二、寬度輸出的情況:
1、在%和格式字符之間加入一個整數(shù)來控制輸出數(shù)據(jù)所占寬度
2、在%和格式字符f之間加入一個“整數(shù)1.?整數(shù)2”來控制輸出數(shù)據(jù)的格式。
整數(shù)1:整個輸出數(shù)據(jù)占的總寬度
整數(shù)2:輸出實(shí)數(shù)的小數(shù)部分的個數(shù)
注意:先用整數(shù)2處理小數(shù)部分,再用整數(shù)1處理整個數(shù)據(jù),包括已處理好的小數(shù)部分
三、寬度輸入的情況:
寬度輸入指的是在%和格式說明符d之間加入一個整數(shù)。如:scanf("%2d", x);
注意:
1、%d與%1d是不同的,它們具有不同的含義。
2、 當(dāng)寬度小于數(shù)據(jù)的實(shí)際寬度時(shí),截取指定寬度的部分作為一個數(shù)進(jìn)入緩沖區(qū),再將剩余部分作為另一個數(shù)放入緩沖區(qū)。
參考資料來源:百度百科——scanf
百度百科——printf()
一:格式輸出函數(shù)printf()
1、調(diào)用形式一般為:printf("格式化控制字符串",輸出表列);
2、格式化控制字符串用于指定輸出格式,它有三種形式:
1、格式說明符:規(guī)定了相應(yīng)輸出表列內(nèi)容的輸出格式,以%打頭,如%d、%o等
2、轉(zhuǎn)義字符:用來輸出轉(zhuǎn)義字符所代表的控制代碼或者特殊字符,比如常用的‘\n'、‘\t'
3、普通字符:需要原樣輸出的字符。
3、輸出表列為若干需要輸出的數(shù)據(jù)項(xiàng),它與格式說明符在數(shù)量和類型上一一對應(yīng);
4、格式字符m指定輸出數(shù)據(jù)所占寬度,n對實(shí)數(shù)表示輸出n位小數(shù),對字符串表示截取的字符個數(shù),+表示右對齊,通常省略。
—表示左對齊,l用于長整型數(shù)據(jù),可加在d、o、x、u前,更多格式說明符及其組合形式如下所示:
格式字符
數(shù)據(jù)對象
輸出形式
數(shù)據(jù)輸出方法
%(+)-md
int
unsigned
int
short
unsigned
short
char
十進(jìn)制整數(shù)
1、無m按實(shí)際位數(shù)輸出
2、有m輸出m位;超過m位,按實(shí)際位數(shù)輸出,不足補(bǔ)空格
3、有+(默認(rèn)為+)右對齊(左補(bǔ)空格)
4、有-左對齊(右補(bǔ)空格)
%(+)-mo
八進(jìn)制整數(shù)
%(+)-mx
十六進(jìn)制整數(shù)
%(+)-mu
無符號整數(shù)
%(+)-mld
long
unsigned
long
十進(jìn)制整數(shù)
%(+)-mlo
八進(jìn)制整數(shù)
%(+)-mlx
十六進(jìn)制整數(shù)
%(+)-mlu
無符號整數(shù)
%(+)-m.nf
float
double
十進(jìn)制小數(shù)
%(+)-m.ne
十進(jìn)制指數(shù)
%(+)-g
自動選用%f和%e中較短的輸出寬度輸出單、雙精度浮點(diǎn)數(shù)
%(+)-mc
char
int
short
單個字符
1、無m輸出單個字符
2、有m輸出m位,補(bǔ)空格
3、有+(默認(rèn)為+)右對齊(左補(bǔ)空格)
4、有-左對齊(右補(bǔ)空格)
%(+)-m.ns
字符串
一串字符
1.無m、n按實(shí)際字符串輸出全部字符
2、有m、n僅輸出前n個字符,補(bǔ)空格
3.有+(默認(rèn)為+)右對齊(左補(bǔ)空格)
4、有-左對齊(右補(bǔ)空格)
二:格式輸入函數(shù)scanf()
1、
調(diào)用格式一般為:scanf("格式化控制字符串",地址表列);
2、格式化控制字符串和printf()函數(shù)含義相似,所不同的是它是對輸入格式進(jìn)行控制;
3、地址表列是有若干等待輸入的數(shù)據(jù)所對應(yīng)的內(nèi)存單元地址組成,由逗號隔開,一般形式為a,a為變量;
4、地址表列在數(shù)量和類型上和格式化控制字符串中的格式說明符一一對應(yīng);
5、格式字符h表示輸入短型數(shù)據(jù),可用在d、o、x前面,m指定輸入數(shù)據(jù)所占寬度,
*表示對應(yīng)的數(shù)據(jù)項(xiàng)讀入后不賦給相應(yīng)的變量,更多格式說明符及其組合如下
格式字符
數(shù)據(jù)對象
輸入形式
數(shù)據(jù)輸入方法
%md
int
short
unsigned
int
unsigned
short
十進(jìn)制整數(shù)
1、無m按實(shí)際位數(shù)輸入
2、有m輸入m位,不足m則跟回車鍵
%mo
八進(jìn)制整數(shù)
%mx
十六進(jìn)制整數(shù)
%mld
long
unsigned
long
十進(jìn)制整數(shù)
%mlo
八進(jìn)制整數(shù)
%mlx
十六進(jìn)制整數(shù)
%mlf
float
double
十進(jìn)制整數(shù)
%mle
%mc
char
單個字符
1、無m取單個字符
2、有m輸入m位,僅取第一個字符
%ms
字符串
一串字符
1、無m取回車或空格前若干字符
2、有m僅取前m字符
printf 是指格式化輸出函數(shù),主要功能是向標(biāo)準(zhǔn)輸出設(shè)備按規(guī)定格式輸出信息。
printf 是C語言標(biāo)準(zhǔn)庫函數(shù),定義于頭文件 stdio.h。printf 函數(shù)的一般調(diào)用格式為:printf("格式化字符串", 參量表)。輸出的字符串除了可以是字母、數(shù)字、空格和一些數(shù)字符號以外,還可以使用一些轉(zhuǎn)義字符表示特殊的含義。
注意事項(xiàng):
1、函數(shù)返回值
printf 函數(shù)的返回值為其輸出字符串常量的字符數(shù)(注意字符數(shù)與字?jǐn)?shù)的區(qū)別),注意計(jì)數(shù)針對所有的打印字符,包括空格和不可見的換行字符(不包括字符串的空字符)。
2、打印較長字符串
有時(shí)printf 語句會很長,以至于不能在一行被放下,如果我們必須分割一個字符串,有以下三種方式可以選擇。需要注意的是,我們可以在字符串中使用 "\n" 換行符來表示換行字符,但是在字符串中不能通過回車鍵來產(chǎn)生實(shí)際的換行字符。
格式化輸出函數(shù)指的是printf(),用來在屏幕上打印輸出字符串和變量等內(nèi)容
格式化輸入函數(shù)指的是scanf(),其功能是實(shí)現(xiàn)和用戶的交互,由用戶輸入相應(yīng)的值然后給變量
下面是個判斷一個數(shù)有幾位的一段代碼,希望能幫助到你