走進C語言格式符

  爲了方便對不同類型的數、字符、字符串進行輸入、輸出操作C語言定義了各種不同的格式字符。這些格式字符都有一個共同的特點就是以%開始,在%後面加不同的字母或數字和字母的組合表達出不同的含義。在這裏整理總結了%d、%ld、%md、%s、%x、%X、%lx、%c、%o、%u、%p、%f、%lf、%.mf、%le等不同格式字符的含義講解及演示。如果文中有錯誤之處望指正,感激不盡!!!

一、C語言格式字符表

序號 字符 含義
1 %d int (整形)
2 %ld 按十進制有符號長型整數輸入或輸出
3 %md 其中m爲指定輸出寬度,用於輸出整形數
4 %s 用於輸出字符串
5 %x 十六進制形式輸出結果(字母小寫)
6 %X 十六進制形式輸出結果(字母大寫)
7 %lx 十六進制形式輸出結果(比%x和%X可以輸出更多)
8 %c 單個字符的輸入或輸出
9 %o 以八進制數形式輸出整數
10 %u 十進制無符號整型數輸入或輸出
11 %p 讀取存儲地址
12 %f 單精度浮點型數據
13 %lf 雙精度浮點型數據
14 %.mlf 雙精度浮點型數據(其中m爲指定小數點後的位數)
15 %le 使用科學計數法輸入輸出字符

二、各個格式字符演示

#include <stdio.h>
int main()
{
	int a=1234567;
	char b[]="hello,world!";
	int c = -10086;
	float d=12.3456;
	printf("1 %%d型%d\n",a);
	printf("2 %%ld型%ld\n",a);
	printf("3 %%7d型%7d\n",a);
	printf("4 %%s型%s\n",b);
	printf("5 %%x型%x\n",a);
	printf("6 %%X型%X\n",a);
	printf("7 %%lx型%lx\n",a);
	printf("8 %%c型%c\n",b);
	printf("9 %%o型%o\n",a);
	printf("10 %%u型%u\n",c);
	printf("11 %%p型%p\n",a);
	printf("12 %%f型%f\n",d);
	printf("13 %%lf型%lf\n",d);
	printf("14 %%.3f型%.3f\n",d);
	printf("15 %%le型%le\n",d);
	return 0;
 } 

運行結果
在這裏插入圖片描述
特別說明
  1. 表中第三種格式字符在輸出的時候如果長度小於m的大小則按照右對齊進行填充如果需要左對齊在前面加上負號即可。
  2. 因爲科學表示法最終是使用小數形式表示,所以需要被科學表示法表示的變量應被定義爲float型。
  3. 在使用%.mf的時候一定要注意只是在輸出的時候才引用,舉慄

#include <stdio.h>
int main()
{
	float a;
	printf("請輸入一個數字\n");
	scanf("%f",&a);
	printf("你輸入的是:%.2f",a);
	return 0;
}

  可以看到我們在scanf的地方格式還是%f,%.mf只是在輸出的時候進行四捨五入操作。
下面是錯誤示範

#include <stdio.h>
int main()
{
	float a;
	scanf("%.2f",&a);
	printf("%.2f",a);
	return 0;
}

參考資料
1.百度百科:格式字符

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章