字串(character string)就是乙個或多個字元的序列。如:「hello world」,雙引號不是字串的一部分,而是通知編譯器,這是乙個字串。
c沒有為字串定義專門的變數型別,而是把它儲存在乙個char陣列中。該陣列的單元數必須要比字元數多1,因為字串在陣列的最後乙個位置會有\0.
在printf中用%s表示列印乙個字串。
strlen()函式,以字元為單位給出字串的長度。需要使用string.h標頭檔案,該標頭檔案中包含許多與字串相關的函式原型。
sizeof:是否使用括號,取決於是想獲得型別的大小,還是想獲得具體量的大小,例如:sizeof(int),sizeof name或sizeof 13
const:該關鍵字把乙個變數宣告轉換成常量宣告
簡稱為i/o函式,即輸入/輸出函式(input/output)。起初,它不是c定義的函式,而是把輸入/輸出的實現留給了使用者,這樣可以更好的使i/o與特定的機器相匹配。
轉換說明符
轉換說明
輸出%a
浮點數、十六進製制數和p-計數法(c99)
%a浮點數、十六進製制數和p-計數法(c99)
%c乙個字元
%d有符號十進位制數
%e浮點數、e-計數法
%e浮點數、e-計數法
%f浮點數、十進位制計數法
%g根據數值不同自動選擇%f或%e。%e格式在指數小於-4活著打掩護等於精度時使用
%g根據數值不同自動選擇%f或%e。%e格式在指數小於-4活著打掩護等於精度時使用
%i有符號十進位制整數(與%d相同)
%o無符號八進位制整數
%p指標
%s字串
%u無符號十進位制整數
%x使用十六進製制數字0f和無符號十六進製制整數
%x使用十六進製制數字0f和無符號十六進製制整數
%%列印乙個百分號
修飾符修飾符
意義標誌
五種標誌(-、+、空格、#和0)
示例:%-19d
digit(s)
字段寬度的最小值,如果該欄位不能容納要列印的數或字串,系統會用更寬的字段
示例:%4d
.digit(s)
精度示例:%3.2f,列印乙個浮點數,他的字段寬度是3,小數點後有兩個數字
h和整數轉換說明符一起使用,表示乙個short int或者unsigned short int型別數值
示例:%hu %hx %6.4h
hh和整數轉換說明符一起使用,表示乙個signed char或 unsigned char型別數值
示例:%hhu
j和整數轉換說明符一起使用,表示乙個intmax_t或uintmax_t值
示例:%jd %8jd
l和整數轉換說明符一起使用,表示乙個long int或unsigned long int型別值
示例:%ld
ll和整數轉換說明符一起使用,表示乙個long long int或unsigned long long int型別值 (c99)
示例:%lld
l和浮點轉換說明符一起使用,表示乙個long double值
示例:%lf
t和整數轉換說明符一起使用,表示乙個ptrdiff_t值(與兩個指標之間的差相對應的值)(c99)
示例:%td %12ti
z和整數轉換說明符一起使用,表示乙個size_t值(sizeof返回的型別)(c99)
示例:%zd
標誌意義
-專案是左對齊
+有符號的值若為正,則顯示帶加號的符號,若為負,則帶減號符號
(空格)
有符號的值若為正,則顯示時帶前導空格(但是不顯示符號),若為負,則帶減號符號。+標誌會覆蓋空格標誌
#使用轉換說明的可選形式
0對於所有的數字格式,用前導零而不是用空格填充字段寬度。如果出現-標誌或指定了精度(對於整數)則忽略該標誌
轉換說明符和修飾符與printf大多相同
scanf()的返回值是成功讀入的專案的個數。當它檢測到「檔案結尾」(end of file)是,它返回eof(eof是在stdio.h中定義的特殊值,一般定義為-1)
printf和scanf的*修飾符
假定不想事先指定字段寬度,而是希望程式指定該值,那麼就可以在字段寬度部分使用*代替數字來達到目的
字串和格式化輸入 輸出
字串就是乙個或多個字元的序列。雙引號不是字串的一部分,它們只是通知編譯器其中包含了乙個字串。c沒有為字串定義專門的變數型別,而是把它儲存在char陣列中。字串中的字元存放在相鄰的儲存單元中,每個字元占用乙個單元 而陣列由相鄰儲存單元組成,所以把字串儲存到陣列中是很自然的。c用空字元 0來標記字串的結...
字串和格式化輸入 輸出
字串簡介 字串 乙個或多個字元的序列 雙引號不是字串的一部分,只是通知編輯器其中包含了乙個字串。char 陣列型別和空字元 字串的字元存放在相鄰的儲存單元中,每個字元占用乙個單元 陣列中的最後乙個位置顯示字元 0,就是空字元,用來表示字串的結束 空字元不是數字0,是非列印字元,其 ascii 碼值為...
字串和格式化輸入輸出,小結
字串是一些列被視為乙個處理單元的字元。在c語言中,字串是以空字元 ascii碼是0 結尾的一系列字元。可以把字串儲存在字元陣列中。陣列是一系列同型別的項或元素。在下面宣告了乙個名為name 有30個char型別元素的陣列 char name 30 要確保有足夠多的元素來儲存整個字串 包括空字元 字串...