C primer plus 學習筆記 第4章
阿新 • • 發佈:2019-02-17
第4章 字串和格式化輸入/輸出
4.1 一個例子
4.2 字串簡介
字串是雙引號括起的一串字元,如"zi fu chuang"
C語言沒有專門儲存字串的變數型別,字串儲存在char型別陣列中。
在陣列末尾有一個空字元 \0 標記字串結束。
tip: ‘x' 和"x“ 是不同的,單引號的是字元;雙引號的是字串,實際上是兩個字元x和\0組成的。
strlen()函式 求字串字元長度 它的宣告包含在string.h中。
4.3 常量和C前處理器
定義常量
#define NAME value
例如:define PI 3.1415
const 限定符
const int MONTHS = 12;
4.4 printf()和scanf()
輸出 和 輸入函式, 比較重要的一個地方。
printf()的格式是
printf(格式字串,待列印項1,待列印項2,...);
例子:printf("My age is %d, my weight is %g kg", 18,66.5);
Tip:printf()函式也有返回值,它返回列印的字元數,如果輸出錯誤,則返回負數。
輸出長字串的3種方式
scanf()
格式和printf()類似,用來輸入
例子:scanf("%d%d",&a,&b);
scanf()返回值是成功讀取的項數,而讀入失敗時,返回0,對檔案讀寫來說,讀到檔案末尾返回EOF
4.4.6 * 修飾符
如果想通過程式指定欄位寬度,可以使用*代替欄位寬度
unsigned width, precision;
int numberf = 256;double weight = 242.5;
scanf("%d", &width);printf("number = %*d\n",width,number); //!-指定寬度
scanf("%d%d",&width,&precision);
printf("weight = %*.*f\n",width,precision, weight);//!*指定寬度和精度