-
字符串簡介
字符串:一個或多個字符的序列;雙引號不是字符串的一部分,只是通知編輯器其中包含了一個字符串。
①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():在字符寬度部分使用*代替數字,但必須使用一個參數告訴函數字段寬度應該是什麼;
字符串和格式化輸入/輸出
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.