字串和格式化輸入/輸出
一、字串
c語言沒有與字串相關的變數型別,字元的儲存是在char陣列當中,並以空字元(\0)結束。
(1)字串常量
舉個栗子:char a[ ]=「abc」;
雙引號表示乙個字串常量。c語言在處理字串常量是會自動在結尾加空字元(\0)。字串文字之間沒有間隔或者間隔是空格,ansi c會將其自動連線起來。(2)字串陣列及其初始化
字串陣列初始化有兩種方式,但不可以先定義後賦值。
char a[10]=「abc」;
char a[10]=;注意的是:如果空字元,得到的將是字元陣列,而不是字串。
易錯點:
char a[10];a[10]="abc";//
乙個字元怎麼能容納乙個字串?況且a[10]也是不存在的!
char a[10];a="abc";//這種情況容易出現,a雖然是指標,但是它已經指向在堆疊中分配的10個字元空間,現在這個情況a又指向資料區中的abc常量,這裡的指標a出現混亂,不允許!
二、格式化輸入/輸出
1、printf()函式
(1)轉換說明
%c乙個字元
%d有符號十進位制整數
%e有符號小數指數形式
%f有符號小數十進位制形式
%o有符號八進位制整數
%p乙個指標
%s乙個字串
%u無符號整數
%x有符號十六進製制整數
(2)使用格式
printf()函式使用格式如下:
printf("control string",item1,item2);
item1,item2可以是常量、變數和表示式。
(3)轉換說明修飾與標誌
標誌見下表digit
字段寬度最小值。若不能容納列印內容,系統會使用更寬的字段
.digit
精度。小數點後列印數字的位數
h和整數轉換說明一起,表示short或unsigned short型別
hh和整數轉換說明一起,表示short char或unsigned char型別
l和整數轉換說明一起,表示long int或unsigned long int型別
ll和整數轉換說明一起,表示long long int或unsigned long long int型別
l和浮點轉換說明一起,表示long double
z和整數轉換說明一起,表示乙個size_t值
+有符號數:若為正,則列印帶加號的數字;若為負,則列印帶減號的數字
-專案左對齊。專案從最左側列印
空格有符號數:若為正,列印的數字帶前導空格;若為負,帶減號符號。+標誌會覆蓋空格標誌
0所有數字格式,用前導0填充字段寬度。若出現-標誌或指定了精度則忽略該標誌
2、scanf()函式
scanf()函式會跳過空白符(空格、製表符和換行符)直到遇到第乙個非空白符或與轉換說明不匹配的字元,並把該字元送回輸入(快取區)。這意味著程式下次讀取輸入時,將從該字元開始。
(1)轉換說明
同printf()。
(2)使用格式
scanf()使用格式如下:
scanf("轉換說明1轉換說明2",位址1,位址2);
值得注意的是:
(3)返回值
返回正確讀入專案的個數,若沒有讀取則返回0。
C語言基礎 9 字串格式化輸入和輸出
字串是記憶體中一段連續的char 空間,以 0 結尾 putchar輸出乙個char printf是輸出乙個字串 printf格式字元 字元 對應資料型別 含義 d int 接受整數值並將它表示為有符號的十進位制整數 hdshort int 短整數hu unsigned short int 無符號短...
基礎教程 Python格式化字串(格式化輸出)
print 函式使用以 開頭的轉換說明符對各種型別的資料進行格式化輸出,具體請看下表。表 1 python 轉換說明符 轉換說明符 解釋 d i 轉換為帶符號的十進位制整數 o轉換為帶符號的八進位制整數 x x 轉換為帶符號的十六進製制整數 e轉化為科學計數法表示的浮點數 e 小寫 e轉化為科學計數...
3 1 2 字串格式化
類string.formatter 類formatter 有下面的公共訪問方法 format format string,args,kwargs format 是最基本的 api方法。它把引數 args 和kwargs 按格式字串 format string 進行格式化。這個函式只是呼叫 vform...