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

2021-08-16 08:37:00 字數 4454 閱讀 8513

1樓:

希望被樓主採納!!

printf()函式是格式化輸出函式, 一般用於向標準輸出裝置按規定格式輸出資訊。

printf()函式的呼叫格式為: printf("《格式化字串》", 《參量表》);

其中格式化字串包括兩部分內容:

一部分是正常字元, 這些字元將按原樣輸出;另一部分是格式化規定字元, 以"%"開始, 後跟一個或幾個規定字元, 用來確定輸出內容格式。

參量表是需要輸出的一系列引數, 其個數必須與格式化字串所說明的輸出引數個數一樣多, 各引數之間用","分開, 且順序一一對應, 否則將會出現意想不到的錯誤。

printf的格式控制的完整格式:

% - 0 m.n l或h 格式字元

下面對組成格式說明的各項加以說明:

①%:表示格式說明的起始符號,不可缺少。

②-:有-表示左對齊輸出,如省略表示右對齊輸出。

③0:有0表示指定空位填0,如省略表示指定空位不填。

④m.n:m指域寬,即對應的輸出項在輸出裝置上所佔的字元數。

n指精度,用於說明輸出的實型數的小數位數。為指定n時,隱含的精度為n=6位。

⑤l或h:l對整型指long型,對實型指double型。h用於將整型的格式字元修正為short型。

格式小結:

(1)最常用的格式是%d,含義是以10進位制形式列印一個整數。

如果輸出的整數是負數,則輸出的第一個字元就是-號。

%d:按整型資料的實際長度輸出。

%md:m為指定的輸出欄位的寬度。如果資料的位數小於m,則左端補以空格,若大於m,則按實際位數輸出。

%ld:輸出長整型資料。

(2)%u格式與%d格式類似,只不過要求列印無符號10進位制整數。

以無符號十進位制形式輸出整數。

對長整型可以用"%lu"格式輸出。同樣也可以指定欄位寬度用“%mu”格式輸出。

(3)%o格式請求輸出8進位制整數,以無符號八進位制形式輸出整數。

對長整型可以用"%lo"格式輸出。同樣也可以指定欄位寬度用“%mo”格式輸出。

(4)%x和%x格式請求輸出16進位制整數。

%x格式中用小寫字母a,b,c,d,e,f來表示10到15之間的數,以無符號十六進位制形式輸出整數。

對長整型可以用"%lx"格式輸出。同樣也可以指定欄位寬度用"%mx"格式輸出。

%x格式中用大寫字母a,b,c,d,e,f來表示10到15之間的數

共同點:8進位制和16進位制整數總是作為無符號數處理的。

(5)%s格式用於列印字串,與之對應的引數應該是一個字元指標,待輸出的字元始於該指標所指向的地址,直到出現一個空字元('\0')才終止。

%s:例如:printf("%s", "china")輸出"china"字串(不包括雙引號)。

%ms:輸出的字串佔m列,如字串本身長度大於m,則突破獲m的限制,將字串全部輸出。若串長小於m,則左補空格。

%-ms:如果串長小於m,則在m列範圍內,字串向左靠,右補空格。

%m.ns:輸出佔m列,但只取字串中左端n個字元。這n個字元輸出在m列的右側,左補空格。

%-m.ns:其中m、n含義同上,n個字元輸出在m列範圍的左側,右補空格。如果n>m,則自動取n值,即保證n個字元正常輸出。

(6)%c格式用於列印單個字元:例如:

printf("%c",c); 等價於 putchar(c);

(7)%g,%f和%e這三個格式用於列印浮點值。

%g格式用於列印那些不需要按列對齊的浮點數特別有用。其作用有二:

一,去掉該數尾多餘的零(沒有達到六位的數)

二,保留六位有效數字(多餘六位的)

%e格式用於列印浮點數時,一律顯示地使用指數形式:例如:輸出圓周率時是:3.141593e+00

兩者的區別:

%g格式列印出的數是總共6位有效數字

%e格式列印出小數點後的6位有效數字

%f禁止使用指數形式來表示浮點數。因此圓周率輸出為:3.141593

(但注意它的精度要求:也是小數點後6位有效數字)

(8)%%格式用於列印一個%字元。

(9)%e和%g只是在輸出時用大寫字母(e)代替了小寫字母(e)

⑦f格式:用來輸出實數(包括單、雙精度),以小數形式輸出。有以下幾種用法:

%f:不指定寬度,整數部分全部輸出並輸出6位小數。

%m.nf:輸出共佔m列,其中有n位小數,如數值寬度小於m左端補空格。

%-m.nf:輸出共佔n列,其中有n位小數,如數值寬度小於m右端補空格。

⑧e格式:以指數形式輸出實數。可用以下形式:

%e:數字部分(又稱尾數)輸出6位小數,指數部分佔5位或4位。

%m.ne和%-m.ne:m、n和”-”字元含義與前相同。此處n指資料的數字部分的小數位數,m表示整個輸出資料所佔的寬度。

⑨g格式:自動選f格式或e格式中較短的一種輸出,且不輸出無意義的零。

unsigned int i=295;

printf("%d\n",i);

295press any key to continue

(1). 可以在"%"和字母之間插進數字表示最大場寬。

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

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

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

unsigned int i=295;

printf("%2d\n",i);

printf("%5d\n",i);

printf("%10d\n",i);

295295

295press any key to continue

(2).補0或者其它

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

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

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

unsigned int i=295;

printf("%02d\n",i);

printf("%05d\n",i);

printf("%010d\n",i);

29500295

0000000295

press any key to continue

(3).負數

int i=-295;

printf("%02d\n",i);

printf("%05d\n",i);

printf("%010d\n",i);

-295

-0295

-000000295

press any key to continue

(4). 可以控制輸出左對齊或右對齊, 即在"%"和字母之間加入一個"-" 號可 說明輸出為左對齊, 否則為右對齊。

unsigned int i=295;

printf("%-02d\n",i);

printf("%-05d\n",i);

printf("%-010d\n",i);

295295

295press any key to continue

(5). 可以在"%"和字母之間加小寫字母l, 表示輸出的是長型數。

例如: %ld 表示輸出long整數

%lf 表示輸出double浮點數

(6).

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

例如: %6.9s 表示顯示一個長度不小於6且不大於9的字串。若大於9, 則

第9個字元以後的內容將被刪除.

/*unsigned int i=295;

printf("%d\n",i);

printf("%1d\n",i);

printf("%09d\n",i);

printf("%09d\n",(unsigned char)i);

printf("%9d\n",(unsigned char)i);

printf("%-9d\n",(unsigned char)i);

*//*

295295

000000295

000000039

3939

press any key to continue

對於m.n的格式還可以用如下方法表示(例)

int m=10,n=5;

char ch="abcdefghijklmnopqrst";

printf("%*.*s\n",m,n,ch);//輸出為 abcde

前邊的*定義的是總的寬度,後邊的定義的是輸出的個數,分別對應外面的引數m和n。

我想這種方法的好處是可以在語句之外對引數m和n賦值,從而控制輸出格式

"%08lx\n",4byte

"%04x\n",2byte

"%-2.2bx",1byte

2樓:匿名使用者

scanf("%d",&x);

printf("%d\n",x);

c語言中的f格式符,C語言中的 f格式符

f在輸入輸出使用,它表示輸入或輸出的數為浮點數 即可以帶小數的數 如 float a scanf f a 就可以輸入3.15 a 3.15 同理 d,表示輸入或輸出的數為整數。c表示輸入或輸出的數為字元。不曉得你上個問題是什麼,但是 f是輸出一個實數,並不需要制定輸出寬度的。他的小數位佔6寬度,小數...

for巢狀迴圈格式,c語言中for for 巢狀語句

1全部for 迴圈的格式為 for 表示式1 表示式2 表示式3 因此巢狀的時候要明白 怎樣才是巢狀,如下所示 for 表示式1 表示式2 表示式3 你所謂的第二個for後邊用不用加分號,不知道你想要做什麼 規範的 標準的巢狀如上所示 如果你直接不加 而是直接向你上邊那樣 for for 表示式4 ...

C語言中ifelse語句格式搞糊塗了

當然bai 可以了if 條件 else if 條件 else if 條件 zhi.else 這是標準格式,其中dao,else if 可以沒回有,也就是可以沒有其他分支。答 最後這個else也可以沒有 不用加end if 這個不是c語言的語法 else可以加大括號 可以的。如果很多,建議你寫成 if...