字串簡介
字串:乙個或多個字元的序列;雙引號不是字串的一部分,只是通知編輯器其中包含了乙個字串。
①char
陣列型別和空字元
字串的字元存放在相鄰的儲存單元中,每個字元占用乙個單元;
陣列中的最後乙個位置顯示字元\0,就是空字元,用來表示字串的結束;
空字元不是數字0,是非列印字元,其
ascii
碼值為0
;陣列:同一類資料元素的有序序列;
②使用字串
%s:列印乙個字串;
scanf()在讀取輸入後,遇到第乙個空白字元空格,製表符或換行符處停止讀取(
一般使用%s的
scanf
()只會讀乙個單詞而不是整個句子作為字串輸入
)字串與陣列區別:「x
」與『x
』,『x
』屬於基本型別
char,「x
」屬於派生類
char
陣列;另外「
x」由兩個字元組成『
x』和『、0』。
③strlen
string.h
;sizeof
運算子提供給的數目比字串大一,因為包含終止作用的空字元。
常量與c預處理器
定義常量:#define符號名 (值);(盡量大寫常量,使之更易閱讀)
符號常量所用的名字必須滿足變數命名原則,可使用大寫和小寫字母、數字和下劃線,第乙個字元不能是數字。
#define可用於定義字元或字串常量。
常見錯誤:#define toes = 20;
toes
會被=20
替代而不是20;
①const
修飾符:
const
關鍵字把乙個變數宣告轉換成乙個常量宣告;例:
const int months=12
使months
成為乙個唯讀值,但不能改變其值。
②系統定義的明顯常量
標頭檔案limits.h和
float.h
提供有關整數型別和浮點型別的大小 限制的詳細資訊。
研究和利用printf()和
scanf
()①printf
()中的轉換說明符
%a或%a
:浮點數、十六進製制數和
p-計數法;
%c:乙個字元;
%d(%i
):有符號十進位制數;
%e或%e
:浮點數、
e-計數法;
%f:浮點數、十進位制計數法;
%o:無符號八進位制;
%p:指標;
%s:字串;
%u:無符號十進位制數;
%x或%x
:使用十六進製制數字
0f的無符號十六進製制整數;
%%:列印乙個百分號;
②printf
()修飾符
標誌:(—、+
、空格、#、
0)可使用多個或無,例:
%-10d
;digit(
s):字段寬度的最小值,例:
%4d;
.digit(
s):精度,例:
%5.2f
,列印乙個浮點數,字元段寬度為
5個字元,小數點後有兩個數字;
還有h,hh,
j,l,
ll,l,
t,z;
printf()的標誌:—:專案是左對齊;
+:有符號的值若為正,則帶加號,若為負,則帶減號;(空格):有符號正數,可帶前導空格;
#:使用轉換說明的可選形式;
0:前導零;
③printf
()的返回值
返回值可用於賦給乙個變數,也可用於計算,或作為引數。
printf()函式也有乙個返回值,返回所列印字元數目,若輸出錯誤,會返回乙個負值。
列印較長字串:法一:多個printf()語句,最後乙個才有\n;
法二:用反斜槓/和回車鍵來結束第一行,下一行必須從最左邊開始(無空格);
法三:字串連線方法,二者之間用空白符分隔。
④scanf
()簡單規則:讀取基本變數型別值,前面加
&;把乙個字串讀進字元陣列中,不用&。
scanf()轉換說明符:
%c:乙個字元;
%d或%i
:有符號十進位制數;
%o:有符號八進位制;
%e、%f、%g
、%a或%e
、%f、%g
、%a:浮點數;
%p:指標;
%s:字串(以第乙個非空白字元開始,到下乙個空白字元);
%u:無符號十進位制;
%x、%x
:有符號十六進製制
;scanf()函式允許把普通字元放在格式字串中,除了空格字元之外的普通字元一定要與輸入字串準確匹配。
「任何空格」的概念包含沒有空格的特殊情況。
⑤printf
()和scanf
()的*
修飾符都可用*修飾符來修飾說明符的意義;
printf():在字元寬度部分使用
*代替數字,但必須使用乙個引數告訴函式字段寬度應該是什麼;
字串和格式化輸入 輸出
字串就是乙個或多個字元的序列。雙引號不是字串的一部分,它們只是通知編譯器其中包含了乙個字串。c沒有為字串定義專門的變數型別,而是把它儲存在char陣列中。字串中的字元存放在相鄰的儲存單元中,每個字元占用乙個單元 而陣列由相鄰儲存單元組成,所以把字串儲存到陣列中是很自然的。c用空字元 0來標記字串的結...
字串和格式化輸入輸出,小結
字串是一些列被視為乙個處理單元的字元。在c語言中,字串是以空字元 ascii碼是0 結尾的一系列字元。可以把字串儲存在字元陣列中。陣列是一系列同型別的項或元素。在下面宣告了乙個名為name 有30個char型別元素的陣列 char name 30 要確保有足夠多的元素來儲存整個字串 包括空字元 字串...
C語言 字串和格式化輸入 輸出
今天,學習了c primer plus的第四章。本章講解了一些簡單的c預處理器的知識,一些字元 字串以及陣列等相關概念以及輸入輸出函式的使用。現將知識點總結如下 練習 假設乙個程式的開頭是這樣 define book war and peace int main void float cost 12...