E2) 請練習 printf() 輸出格式.
宣告變數
浮點數(float) a = 3.14159,
字元(char) b = 'p', c = 'i';
使用變數 a, b, c 輸出:
The constant number pi is 3.142.
# include <stdio.h>
int main()
{
float a = 3.14159;
char b = 'p', c = 'i';
printf("The constant number %c%c is %.3f.\n", b, c, a);
return 0;
}
Common Errors)
@ float a = 3.14159; 可能會有 warning. 這是正常現象, 沒關係.
@ 至少要會宣告 char, int, float, double 這四種基本資料型態.
@ printf() 的第一個參數是『格式字串』(format string), 要會用.
@ 要能分辨 printf() 裡頭格式字串與其他參數的不同.
@ printf() 會由格式字串決定接收幾個參數, 不是全寫在裡頭.
@ printf("The constant number bc is a.\n"); 錯的.
@ printf("The constant number %c%c is %.3f\n, b, c, a"); 錯的.
@ 字元 (char) 與字串 (string) 不同, 前者單引號, 後者雙引號.
Advanced)
@ ANSI C 只訂下了 char 的大小為 1, 並不規定其他的資料大小.
一般說的 sizeof (int) == 4, sizeof (float) == 4...
這些只是針對比較常見的平台, 都是 x86 CPU.
@ type conversion/promotion 有可能損失精確度.
但是 ANSI C 並不定義浮點數要如何『損失精確度』.
@ printf() 有個地方要注意.
不能寫成 printf(s);
如果 s 裡頭包含了 % 字元, 程式會出錯.
--
新詩練習:新鮮。踩破初春裡的狗大便;不經意的滄桑,滿溢著嫩黃的喜悅。
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 61.224.160.129