c語言輸入輸出函式的格式,C語言輸入輸出格式

2021-12-23 04:31:24 字數 5332 閱讀 4935

1樓:韌勁

一:格式輸出函式printf()

1、呼叫形式一般為:printf("格式化控制字串",輸出表列);

2、格式化控制字串用於指定輸出格式,它有三種形式:

1、格式說明符:規定了相應輸出表列內容的輸出格式,以%打頭,如%d、%o等

2、轉義字元:用來輸出轉義字元所代表的控制**或者特殊字元,比如常用的『\n'、『\t'

3、普通字元:需要原樣輸出的字元。

3、輸出表列為若干需要輸出的資料項,它與格式說明符在數量和型別上一一對應;

4、格式字元m指定輸出資料所佔寬度,n對實數表示輸出n位小數,對字串表示擷取的字元個數,+表示右對齊,通常省略。

—表示左對齊,l用於長整型資料,可加在d、o、x、u前,更多格式說明符及其組合形式如下所示:

格式字元

資料物件

輸出形式

資料輸出方法

%(+)-md

intunsigned int

short

unsigned short

char

十進位制整數

1、無m按實際位數輸出

2、有m輸出m位;超過m位,按實際位數輸出,不足補空格

3、有+(預設為+)右對齊(左補空格)

4、有-左對齊(右補空格)

%(+)-mo

八進位制整數

%(+)-mx

十六進位制整數

%(+)-mu

無符號整數

%(+)-mld

long

unsigned long

十進位制整數

%(+)-mlo

八進位制整數

%(+)-mlx

十六進位制整數

%(+)-mlu

無符號整數

%(+)-m.nf

float

double

十進位制小數

%(+)-m.ne

十進位制指數

%(+)-g

自動選用%f和%e中較短的輸出寬度輸出單、雙精度浮點數

%(+)-mc

char

intshort

單個字元

1、無m輸出單個字元

2、有m輸出m位,補空格

3、有+(預設為+)右對齊(左補空格)

4、有-左對齊(右補空格)

%(+)-m.ns

字串一串字元

1.無m、n按實際字串輸出全部字元

2、有m、n僅輸出前n個字元,補空格

3.有+(預設為+)右對齊(左補空格)

4、有-左對齊(右補空格)

二:格式輸入函式scanf()

1、 呼叫格式一般為:scanf("格式化控制字串",地址表列);

2、格式化控制字串和printf()函式含義相似,所不同的是它是對輸入格式進行控制;

3、地址表列是有若干等待輸入的資料所對應的記憶體單元地址組成,由逗號隔開,一般形式為&a,a為變數;

4、地址表列在數量和型別上和格式化控制字串中的格式說明符一一對應;

5、格式字元h表示輸入短型資料,可用在d、o、x前面,m指定輸入資料所佔寬度,

*表示對應的資料項讀入後不賦給相應的變數,更多格式說明符及其組合如下

格式字元

資料物件

輸入形式

資料輸入方法

%mdintshort

unsigned int

unsigned short

十進位制整數

1、無m按實際位數輸入

2、有m輸入m位,不足m則跟回車鍵

%mo八進位制整數

%mx十六進位制整數

%mld

long

unsigned long

十進位制整數

%mlo

八進位制整數

%mlx

十六進位制整數

%mlf

float

double

十進位制整數

%mle

%mcchar

單個字元

1、無m取單個字元

2、有m輸入m位,僅取第一個字元

%ms字串一串字元

1、無m取回車或空格前若干字元

2、有m僅取前m字元

2樓:獲取所需

您好:ch=getchar();為ch輸入一個字元;

putchar(str); 輸出一個字元;

scanf("%d",&m); 輸入m,%d可以換為其他型別控制符注意:scanf("%s",str-adr)輸入字串,str-adr為字串陣列名、字元陣列元素地址、字元指標變數。

puts(str);輸出字串;

gets(str-adr);輸入字串;以'\0'結束;

還有getc()或fgetc(),putc()或fputc();fgets(),fputs();等;

3樓:

putchar(); 輸出一個字元;

getchar();輸入一個字元;

格式控制輸入,可以輸入各種格式的,字串要用迴圈;

printf("hello!");printf("%d = %d + %d",i,j,k)可以輸出變數 帶各種格式,也可以只輸出提示的文字;

puts();輸出字串到螢幕;

gets();輸入字串;

也就是說除了scanf 和printf 剩下4個都是括號裡都可以不寫東西;

c語言輸入輸出格式

4樓:寫在楓葉上的故事

在c語言中,輸入使用的是scanf函式,scanf函式的格式為scanf(格式控制,地址列表),如scanf("%d"&a)。

輸出使用的是printf()函式,printf函式的格式為printf(格式控制,輸出表列),如printf("%d\n",a)。在輸出時可以在"%"和字母之間插進數字表示最大場寬。可以根據需要輸出數字的位數來決定「%」前的數值。

如:%3d表示輸出3位整型數, 不夠3位右對齊。

%9.2f 表示輸出場寬為9的浮點數, 其中小數位為2, 整數位為7,小數點佔一位, 不夠9位右對齊。

%8s 表示輸出8個字元的字串, 不夠8個字元右對齊。

擴充套件資料

c語言輸入輸出時的規則:

一、格式說明符個數與輸入資料個數不相等的情況:

當我們輸入資料時,只要沒有按回車鍵,所輸入的資料都還存放在緩衝區,並沒有存入變數中。按【enter】鍵後,scanf()函式才會從緩衝區中取走資料。緩衝區是一個先進先出的佇列,即取走資料的時候,遵循先輸入的資料先取走的原則。

scanf函式的格式說明符有幾個就要取幾次資料,只要碰到格式說明符就必須把資料取走,至於是不是要把取走的資料存放起來,就得看資料列表中的資料個數。沒取完的資料繼續留在緩衝區中。

二、寬度輸出的情況:

1、在%和格式字元之間加入一個整數來控制輸出資料所佔寬度

2、在%和格式字元f之間加入一個「整數1. 整數2」來控制輸出資料的格式。

整數1:整個輸出資料佔的總寬度

整數2:輸出實數的小數部分的個數

注意:先用整數2處理小數部分,再用整數1處理整個資料,包括已處理好的小數部分

三、寬度輸入的情況:

寬度輸入指的是在%和格式說明符d之間加入一個整數。如:scanf("%2d", &x);

注意:1、%d與%1d是不同的,它們具有不同的含義。

2、 當寬度小於資料的實際寬度時,擷取指定寬度的部分作為一個數進入緩衝區,再將剩餘部分作為另一個數放入緩衝區。

5樓:匿名使用者

常用的格式符還有 %n.mf --   浮點數,  總長n ,m位小數 。(可不用,取預設長)

%c  -- 單字元, %s  -- 字串 ,%t  -- 固定下一區(8 位)

注:printf()中每個格式符都要與同型別的變數掛鉤,一個對一個。

理解原樣照印:設 x= 3   y=5

輸出 為           x=3  y=2*x-1=5

6樓:金色潛鳥

%3d 是根據自己的需要決定的。例如輸出數為1到3位,你考慮各行輸出資料對齊,

你可以用 %3d, 例如:

int a=1,b=18,c=123;

int d=23,e=35,f=56;

printf("%3d %3d %3d\n",a,b,c);

printf("%3d %3d %3d\n",d,e,f);

白白1 空白18 空123

白23空白35空白56

------

%d 是預設格式。

----

輸入%3d 在特殊情況下用,一般用 %d 靈活。

特殊的例子:

int a,b;

scanf("%3d%3d",&a,&b); // 輸入資料之間無空隔,例如: 123456

printf("%d %d",a,b); // 輸出 123 456

如果不用%3d%3d, 123456 就會被看成一個數, 不處理成3位3位。

7樓:潘達

格式的完整版是-0m.n(l或h)+格式字元 我們平常用的都是預設格式很多位置沒填,你首先要弄明白格式的意思。。。。

-是對齊方式,0是空位的填補方式(預設表示填空格否則是填0) m是整個數佔用字元個數,n是小數點後的位數,l或h是長度標識,l就是long的意思,長整形或雙精度,h就是short的意思用於短整型(不填就是單精度或整形)。。。d就是輸出格式可以是16進位制10進位制,8進位制,你用的d就是10進位制的意思。。。。

3d就是m處填3,格式字元是10進位制,所以意思就是3位十進位制數,如果大於3位多出的會不輸出。。。

8樓:八神97坤

這個要看具體的情況,只是為了把輸出的東西間隔開而已,比如你輸出%d%d,x,y你希望看到的是輸出的值x,y是分開的,但輸出是xy,緊挨著的,比如:x =12 y =14,輸出就是1214你能分清楚這是兩個數嗎?所以就要用空格來把它們間隔開來,%3d預設不足三位就不空格,大體就這樣的

9樓:匿名使用者

(沒有完全明白你的意思)

%3d意思是總輸出佔三列,如果資料本身超過3列則會使得資料損失,為了避免這樣的事情發生,你可以寫一個測試程式語段 或goto語句, 放在你所標記的printf語句前

if (x>=100) printf("x is bigger than 99 ") ;

exit;

但你也可以使用註釋 ,告訴別人給x賦值的時候不要超過兩位數,以上的說法針對整數,若是小數就複雜了

c語言程式設計有整數a,b,c,由鍵盤輸入,輸出其中最大的

include int main 一樓也是正解啊 這問號表示式用的 剛剛滴啊 三目運算子做的 include void main 像這樣的程式 建議多想一下,include int main include void main 例 輸入三個整數,輸出最大數和最小數。main else if max ...

c語言中輸入格式 輸出格式的組成包括哪些內容

希望被樓主採納!printf 函式是格式化輸出函式,一般用於向標準輸出裝置按規定格式輸出資訊。printf 函式的呼叫格式為 printf 格式化字串 參量表 其中格式化字串包括兩部分內容 一部分是正常字元,這些字元將按原樣輸出 另一部分是格式化規定字元,以 開始,後跟一個或幾個規定字元,用來確定輸...

c語言在輸入輸出檔案時為什麼出現亂碼?該怎麼解決

你這是想實現什麼功能呢?亂碼是資料超過整數表示範圍產生溢位的結果 c語言檔案輸出時,輸入資料後為什麼會出現亂碼 studenttype 1,fp 1 簡單看了下,bai這行有問題,往檔案du裡寫zhi的時候是把一個dao字串寫進去,專stud i 是一個struct,強行把它序列化的話,屬記憶體中的...