字串和格式化輸入 輸出

2021-07-25 15:56:01 字數 2595 閱讀 9005

字串簡介

字串:乙個或多個字元的序列;雙引號不是字串的一部分,只是通知編輯器其中包含了乙個字串。

①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...