日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問(wèn) 生活随笔!

生活随笔

當(dāng)前位置: 首頁(yè) > 编程资源 > 编程问答 >内容正文

编程问答

C语言中输入输出格式控制

發(fā)布時(shí)間:2023/12/2 编程问答 28 豆豆
生活随笔 收集整理的這篇文章主要介紹了 C语言中输入输出格式控制 小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.

1C語(yǔ)言中,非零值為真,真用1表示;零值為假,假用0表示。

2、轉(zhuǎn)義字符參考:

\a

蜂鳴,響鈴?

\b

回退:向后退一格

\f

換頁(yè)?

\n

換行

\r

回車(chē),光標(biāo)到本行行首?

\t

水平制表

\v

垂直制表?

\\

反斜杠

\'

單引號(hào)?

\"

雙引號(hào)

\?

問(wèn)號(hào)?

\ddd

三位八進(jìn)制?

\0

空字符(NULL),什么都不做

\xhh

二位十六進(jìn)制

說(shuō)明:

1)\v垂直制表和\f換頁(yè)符對(duì)屏幕沒(méi)有任何影響,但會(huì)影響打印機(jī)執(zhí)行響應(yīng)操作。

2),\n其實(shí)應(yīng)該叫回車(chē)換行。換行只是換一行,不改變光標(biāo)的橫坐標(biāo);回車(chē)只是回到行首,不改變光標(biāo)的縱坐標(biāo)。

注:

????文本文件的行結(jié)束符,傳統(tǒng)上(MSPC用?CRLF,蘋(píng)果MacCRunix?用?LF

????CR --?回車(chē)符,c語(yǔ)言'\r'

????LF --?換行符, c語(yǔ)言'\n'

????不同計(jì)算機(jī)上c語(yǔ)言統(tǒng)一規(guī)定為:文本文件的行結(jié)束符一律變成一個(gè)符號(hào)LF,也就是換行符'\n'。“回車(chē)和換行符轉(zhuǎn)換成一個(gè)換行符”,對(duì)PCMS OS而言,文本文件行結(jié)束符CRLF讀入后,丟掉CR,LF。例如fgets()?讀入一行,行尾只有LF,沒(méi)有CR

3)\t光標(biāo)向前移動(dòng)四格或八格,可以在編譯器里設(shè)置

4)\'在字符里(即單引號(hào)里)使用。在字符串里(即雙引號(hào)里)不需要,只要用 '即可。

3、格式化輸入輸出

1)格式化輸入

printf("格式串" [,表達(dá)式1,表達(dá)式2,···]);

其中,格式串的字符有兩類(lèi):

①?%開(kāi)頭引導(dǎo)的格式符,用于控制表達(dá)式的輸出格式(有多少個(gè)表達(dá)式,就有多少個(gè)格式符)

②?非格式符:原樣顯示在屏幕上。

1字符串常量的輸出

??? 無(wú)表達(dá)式,格式串中無(wú)格式符,如:

??? printf("We are students.\n"); 

2格式符的語(yǔ)法

syntax: %[flag][width][.precision][h|l|L]type

a[h|l|L]type

type字段采用一個(gè)英文字母來(lái)表達(dá)數(shù)據(jù)類(lèi)型與格式:???

d?

按十進(jìn)制有符號(hào)整數(shù)形式輸出

i?

按十進(jìn)制有符號(hào)整數(shù)形式輸出(d格式)

u

按十進(jìn)制無(wú)符號(hào)數(shù)形式輸出

o

按八進(jìn)制無(wú)符號(hào)數(shù)形式輸出

x

按十六進(jìn)制無(wú)符號(hào)數(shù)形式輸出,輸出時(shí)使用小寫(xiě)字母?(a, b, c, d, e, f)

X

按十六進(jìn)制無(wú)符號(hào)數(shù)形式輸出,輸出時(shí)使用大寫(xiě)字母(A, B, C, D, E, F)

f

按十進(jìn)制小數(shù)形式輸出浮點(diǎn)數(shù),輸出格式為:[-]ddd.dddddd(默認(rèn)輸出6位小數(shù))

e

按十進(jìn)制指數(shù)形式輸出浮點(diǎn)數(shù),輸出格式為:[-]d.dddde[+/-]ddd,(e后面是指數(shù))

E

按十進(jìn)制指數(shù)形式輸出浮點(diǎn)數(shù),輸出格式為:[-]d.ddddE[+/-]ddd,(E后面是指數(shù))

eE格式輸出浮點(diǎn)數(shù)時(shí),輸出的是科學(xué)記數(shù)法形式,即小數(shù)點(diǎn)前面的整數(shù)部分固定為1位整數(shù)

g

按十進(jìn)制形式輸出浮點(diǎn)數(shù),自動(dòng)選擇fe格式中,輸出長(zhǎng)度小的格式輸出;g格式不輸出無(wú)用的0

G

按十進(jìn)制形式輸出浮點(diǎn)數(shù),自動(dòng)選擇f或E格式中,輸出長(zhǎng)度小的格式輸出;G格式不輸出無(wú)用的0

c

輸出單個(gè)字符

s

輸出字符串

p

輸出void指針,輸出格式是:WIN32編程模式,只有XXXXXXXX一種格式

%

輸出字符%%用于引導(dǎo)格式控制符,在格式串中輸出%號(hào)時(shí),必須采用格式%%

前綴修飾符:

L:?輸出long double類(lèi)型表達(dá)式必加

l:?輸出長(zhǎng)整型表達(dá)式必加

h:?輸出短整型表達(dá)式必加

b[width]

??? width字段用來(lái)指定輸出的數(shù)據(jù)項(xiàng)占用的字符列數(shù),也稱(chēng)為輸出域?qū)挕H笔≡撟侄?#xff0c;輸出寬度按數(shù)據(jù)的實(shí)際位數(shù)輸出;如果指定的輸出寬度小于數(shù)據(jù)的實(shí)際位數(shù),則突破域?qū)挼南拗?#xff0c;按實(shí)際位數(shù)輸出;如果指定的域?qū)挻笥跀?shù)據(jù)的實(shí)際位數(shù),則默認(rèn)在輸出數(shù)據(jù)的左邊輸出空格,使輸出的字符數(shù)等于列寬,也就是說(shuō),輸出的數(shù)據(jù)在輸出域中自動(dòng)向右對(duì)齊。

width有以下三種情況:

n

一個(gè)非負(fù)整型常數(shù),指定輸出占用n列寬度。

0n

n為一個(gè)整型常數(shù),輸出占用n列,如果實(shí)際位數(shù)不足n列,數(shù)據(jù)前面補(bǔ)0,填滿n

*

輸出域?qū)拋?lái)自待輸出表達(dá)式前面的一個(gè)整型表達(dá)式。

printf("%*d", 8+1, -3);

c[.precesion]

????? 有以下4種情況:

缺省

對(duì)于f |e|E格式,表示小數(shù)點(diǎn)后輸出6位小數(shù),對(duì)于g |G格式,表示最多輸出6位有效數(shù)字

.m

m為非負(fù)整型常數(shù),對(duì)于浮點(diǎn)格式,指定小數(shù)點(diǎn)后面輸出m位小數(shù); s格式,表示只輸出字符串的前面m個(gè)字符

.0

對(duì)于f |e|E格式,表示不輸出小數(shù)點(diǎn)和小數(shù),按整數(shù)形式輸出

.*

表示precision來(lái)自待輸出表達(dá)式前面的一個(gè)整型表達(dá)式

示例

View Code?
#include "iostream" #include "stdio.h" using?namespace?std; ?? int?main() { ????double?a=12.578,b=0.2572; ????int?n=9,m=4; ????printf("%.2f,%10.2E,%f,%e,%10g",a,a,a,a,a); ????printf("\n"); ????printf("a=%.0f,a=%*.*f",a,n,m,a); ????printf("\n"); ????printf("%.2f%%",b*100); ????printf("\n"); ????printf("%s%6s%6.3s","ABCD",?"ABCD",?"ABCD"); ????return?1; }

注意,輸出中任何一個(gè)字符都算作一位。

d[flag]

缺省

輸出正數(shù)時(shí)不輸出正號(hào);域?qū)挻笥跀?shù)據(jù)實(shí)際位數(shù)時(shí),域中左邊補(bǔ)空格,數(shù)據(jù)靠右對(duì)齊;

+

輸出正數(shù)時(shí)要輸出正號(hào);

-

域?qū)挻笥跀?shù)據(jù)實(shí)際位數(shù)時(shí),域中右邊補(bǔ)空格,數(shù)據(jù)靠左對(duì)齊。

#

用于x |X格式:輸出0x(格式x)或0X(格式X)。

1、格式化輸入函數(shù)scanf

用法: scanf("格式串" ,地址1,地址2,···);

1)格式符

syntax: %[*][width][h|l|L]type

(1) [h|l|L]type

d

以十進(jìn)制有符號(hào)整數(shù)形式轉(zhuǎn)換輸入數(shù)據(jù)

i

以十進(jìn)制有符號(hào)整數(shù)形式轉(zhuǎn)換輸入數(shù)據(jù)(d格式)

u

以十進(jìn)制無(wú)符號(hào)整數(shù)形式轉(zhuǎn)換輸入數(shù)據(jù)

o

以八進(jìn)制有符號(hào)整數(shù)形式轉(zhuǎn)換輸入數(shù)據(jù)

x |X

以十六進(jìn)制有符號(hào)整數(shù)形式轉(zhuǎn)換輸入數(shù)據(jù)(xX等效)

e|E|f|g|G?

以十進(jìn)制浮點(diǎn)數(shù)形式轉(zhuǎn)換輸入數(shù)據(jù),輸入數(shù)據(jù)時(shí),可以輸入整型常量、小數(shù)形式實(shí)型常量或指數(shù)形式實(shí)型常量。

c??

輸入一個(gè)字符(可輸入控制字符)

s??

輸入字符串(遇到第一個(gè)空格、TAB或換行符結(jié)束轉(zhuǎn)換)

前綴修飾符:

L:?輸入long double類(lèi)型變量必加

l:?輸入長(zhǎng)整型變量或者double型變量必加

h:?輸入短整型變量必加

(2) [width]

width字段用來(lái)指定輸入數(shù)據(jù)的轉(zhuǎn)換寬度,它必須是一個(gè)十進(jìn)制非負(fù)整型常量。width表示讀入多少個(gè)字符就結(jié)束本數(shù)據(jù)項(xiàng)的轉(zhuǎn)換。如果沒(méi)有指定width,則遇到空格 、TAB鍵、回車(chē)/換行符、非法輸入則結(jié)束數(shù)據(jù)項(xiàng)的轉(zhuǎn)換(%c格式除外)。

float a;int b;double c;

scanf("%f%3x%lf",&a,&b,&c);

若輸入為:-1.5A8059?

a=-1.5, b=0xA80, c=59.0

(3) [*]號(hào)

??? 表示數(shù)據(jù)輸入項(xiàng)要按指定格式進(jìn)行轉(zhuǎn)換,但不保存變量,即該%沒(méi)有對(duì)應(yīng)的變量。

??? 一般用%*c來(lái)吸收字符。

2、幾點(diǎn)說(shuō)明:

????? 編譯程序只是檢查printf?函數(shù)的調(diào)用形式,不分析格式控制字符串,如果格式字符與輸出項(xiàng)的類(lèi)型不匹配,不進(jìn)行類(lèi)型轉(zhuǎn)換。(輸出的數(shù)為隨機(jī))

????? 格式字符要用小寫(xiě)字母。

????? 格式控制字符串中可以包含轉(zhuǎn)義字符。

????? 格式控制字符串中的普通字符則原樣輸出。

????? 輸出項(xiàng)的參數(shù)除了常數(shù)、變量外還可以是表達(dá)式、函數(shù)調(diào)用。

總結(jié)

以上是生活随笔為你收集整理的C语言中输入输出格式控制的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。

如果覺(jué)得生活随笔網(wǎng)站內(nèi)容還不錯(cuò),歡迎將生活随笔推薦給好友。