1. 程式人生 > >C語言中輸出格式

C語言中輸出格式

一、 Printf 輸出格式
C中格式字串的一般形式為: %[標誌][輸出最小寬度][.精度][長度]型別,其中方括號[]中的項為可選項。各項的意義介紹如下:
1.型別型別字元用以表示輸出資料的型別,其格式符和意義下表所示:
表示輸出型別的格式字元       格式字元意義
a 浮點數、十六進位制數字和p-計數法(C99)
A 浮點數、十六進位制數字和p-計數法(C99)
c                 輸出單個字元
d                 以十進位制形式輸出帶符號整數(正數不輸出符號)
e                 以指數形式輸出單、雙精度實數
E                 以指數形式輸出單、雙精度實數
f                 以小數形式輸出單、雙精度實數
g                以%f%e中較短的輸出寬度輸出單、雙精度實數,%e格式在指數小於-4或 者大於等於精度時使用
G                 以%f%e中較短的輸出寬度輸出單、雙精度實數,%e格式在指數小於-4或者大於等於精度時使用
i 有符號十進位制整數(與%d相同)
o                 以八進位制形式輸出
無符號整數
(不輸出字首O)
p 指標
s                 輸出字串
x                 以十六進位制形式輸出無符號整數(不輸出字首OX)
X                 以十六進位制形式輸出無符號整數(不輸出字首OX)
u                 以十進位制形式輸出無符號整數
2.標誌
標誌字元為-、+、#、空格和0五種,其意義下表所示:
標誌格式字元      標 志 意 義
-           結果左對齊,右邊填空格
+           輸出符號(正號或負號)
空格 輸出值為正時冠以空格,為負時冠以負號
#           對c,s,d,u類無影響;對o類,在輸出時加字首0;對x類,
在輸出時加字首0x或者0X;對g,G 類防止尾隨0被刪除;
對於所有的浮點形式,#保證了即使不跟任何數字,也列印一個小數點字元
0 對於所有的數字格式,用前導0填充欄位寬度,若出現-標誌或者指定了精度(對於整數),忽略

3.輸出最小寬度
用十進位制整數來表示輸出的最少位數。若實際位數多於定義的寬度,則按實際位數輸出,若實際位數少於定義的寬度則補以空格或0。

如:
printf("%-10e\n" , 223.11);
printf("%+10e\n" , 232.11111111);

4.精度
精度格式符以“.”開頭,後跟十進位制整數。本項的意義是:如果輸出數字,則表示小數的位數;如果輸出的是字元,則表示輸出字元的個數;若實際位數大於所定義的精度數,則截去超過的部分。

5.長度
長度格式符為h,l兩種,h表示按短整型量輸出,l表示按長整型量輸出。

6.特殊用法

對於m.n的格式還可以用如下方法表示(例)
char ch[20];
printf("%*.*s\n",m,n,ch);
前邊的*定義的是總的寬度,後邊的定義的是輸出的個數。分別對應外面的引數m和n 。我想這種方法的好處是可以在語句之外對引數m和n賦值,從而控制輸出格式。

相關推薦

C語言輸出格式

一、 Printf 輸出格式C中格式字串的一般形式為: %[標誌][輸出最小寬度][.精度][長度]型別,其中方括號[]中的項為可選項。各項的意義介紹如下:1.型別型別字元用以表示輸出資料的型別,其格

c語言輸出函式putc_putchar_puts-printf

//輸入輸出:英文是Input/Output 簡稱IO。 //putchar:將指定的數值對應的ASCII字元列印到螢幕上。 //putc:不但指定數值,而且還可以指定列印到哪裡去。 //stdout:是指定列印到螢幕上 standard out . //putc可以指定列印到一個檔案(FILE *

C語言輸出string方法c_str()用法

原文地址 https://blog.csdn.net/crazyspopcorn_qian/article/details/41926953 今天突然用printf("%s",str);//str  是一個string 的時候突然出現亂碼,就查了一下為什麼。任何時候只有自

C語言輸出指標的問題

#include<stdio.h> void main(void){ char *p; char i = 'c'; p = &i; printf("i的值為:%c\n", i); printf("i的地址為:%p\n", &i);

C語言輸出菱形圖的一點感悟

C語言輸出菱形圖的一點感悟 有這麼一道題:編制輸出以下圖案的的程式。                                                                             或許對於剛學過C語言的新手朋友來說,這是一個很簡單的題,編寫多個printf輸出語句

c語言輸出字元指標相關問題

一、例如定義一個 char * p = "hello";的字元指標。 首先搞清楚在c語言中沒有字串的型別,所以對字串操作,有兩種形式:可以用字元指標(為什麼不叫字串指標,我個人覺得,字元指標針對的是單

c語言輸出百分號

C語言中百分號%的作用 在C語言中“%”主要有兩種作用: 作為取餘的運算子 運算子%的運算結果就是左運算元除以右運算元後所得的餘數。 用一個通例來說明: a%b 假設a/b=c(

c語言輸入輸出格式的控制

一、輸入格式的控制 scanf函式中格式字元: (1)d,i:用來輸入有符號的十進位制中 (2) u:用來輸入無符號的十進位制整數 (3)o:用來輸入無符號的八進位制整數 (4)x,X:用來輸入無符號的十六進位制整數(大小寫作用相同) (5)c:用來輸入單個符號  (6)

函數{}輸出格式詳解(C#)

with content c-s sort 命名方式 發現 1-1 原始的 des Console.WriteLine()函數中{}輸出格式詳解(C#) Console.WriteLine()函數的格式一直沒怎麽註意。今天同事問起Console.WriteLine({0

C語言格式控制符的高位補0

轉載自:卡圖盧斯 程式碼: /*按整型輸出,補齊4位的寬度,補齊位為空格,預設右對齊*/ printf("%4d\n",PrintVal); /*按整形輸出,補齊4位的寬度,補齊位為0,預設右對齊*/ printf("%04d\n",PrintVal);

C語言_輸出字串最長的一個大小寫字母組合

首先讀一個字元,判斷該字元是否為字母: 如果該字元為字母,則存入字母緩衝區,如果該字母后面為結束符,則記錄該字母組合的長度、起始和結束下標。 如果該字元不是字母,但該字元的前一個字元是字母,則記錄該字母組合的長度、起始和結束下標。清空字母緩衝區。 如果該字元不是字母且其

C語言的輸入輸出函式(學習筆記)

文章目錄 c語言中的基本輸入與輸出函式 1.格式化輸入輸出函式 1.1printf()函式 1.2scanf()函式 2.非格式化的輸入輸出函式 2.1puts()和gets()函式

常見演算法:C語言連結串列的操作(建立,插入,刪除,輸出)

連結串列中最簡單的一種是單向連結串列,它包含兩個域,一個資訊域和一個指標域。這個連結指向列表中的下一個節點,而最後一個節點則指向一個空值。 一個單向連結串列包含兩個值: 當前節點的值和一個指向下一個節點的連結 一個單向連結串列的節點被分成兩個部分。第一個部分儲存或者顯示關於

C語言的輸入輸出流和緩衝區(重點)詳解

導讀: C語言中我們用到的最頻繁的輸入輸出方式就是scanf()與printf()。 scanf(): 從標準輸入裝置(鍵盤)讀取資料,並將值存放在變數中。 printf(): 將指定的文字/字串輸出到標準輸出裝置(螢幕)。注意寬度輸出和精度 輸出控制。 C語言藉助了相應的緩衝區

關於C語言輸入一個三位整數,逆序輸出一個三位數

剛開始在leetcode上刷題,遇到的兩道題目比較簡單,一道是求用一個函式求輸入的兩個數的值,這個簡單就略過了,下面講講一道常見的題目,這是一點小心得,下面附上題目及解題思路:題目:Given a 32-bit signed integer, reverse digits o

ACM入門------C語言如何實現多組資料輸入輸出

在“百度知道”看到的,自己只做相應的筆記整理。 輸入格式:有多個case輸入,直到檔案結束 輸出格式:一行一個結果 Problem Description Your task is to Calculate a + b. Too easy?! Of c

C語言怎樣定義一個字串並輸入輸出

在C語言中沒有字串型別,用字元陣列處理字串 字元陣列定義:char 陣列名 [常量表達式][常量表達式] 說明:一維字元陣列,用於儲存和處理一個字串 。二維字元陣列,用於同時儲存和處理多個字串 輸入輸出方法:逐個字元輸入輸出:%c    整個字串輸入輸出:%s 一  :用s

C語言幾種輸出除錯資訊的方法

在除錯程式時,輸出除錯資訊是一種普遍、有效的方法。輸出除錯資訊一般有以下五種方法: 方法一:直接使用螢幕列印函式printf。 該方法直接在需要輸出除錯資訊的位置使用函式printf輸出相應的除錯資訊,以及某些關鍵變數的值。我們通過以下求階層的函式fact來看看該方法的除

C語言的二級指標做輸出

一、二級指標做輸入與輸出    做輸入,主調函式分配記憶體,被調函式使用;做輸出。被調函式分配記憶體,把運算的結果,以指標做函式引數甩出來。 #define _CRT_SECURE_NO_WARNINGS #include <stdlib.h> #includ

c語言輸入輸出函式printf與scanf的用法格式

一樣多, 各引數之間用","分開, 且順序一一對應, 否則將會出現意想不到的錯誤。         1. 格式化規定符     Turbo C2.0提供的格式化規定符如下: ━━━━━━━━━━━━━━━━━━━━━━━━━━    符號                  作用 ───────────────