1. 程式人生 > >C primer plus 學習筆記 第4章

C primer plus 學習筆記 第4章

第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);//!*指定寬度和精度