




版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)
文檔簡介
C語言程序設(shè)計
第6章數(shù)組
--字符數(shù)組及字符串第六章數(shù)組之字符數(shù)組及字符串字符數(shù)組的定義、初始化及引用字符串的結(jié)束標(biāo)志字符數(shù)組的輸入和輸出字符串處理函數(shù)教學(xué)目標(biāo)課程回顧
1.以下對一維數(shù)組a的定義中正確的是()。A.chara(10);B.inta[0..100];C.inta[5];D.intk=10;inta[k];2.以下對二維數(shù)組的定義中正確的是()。A.chara[4][]={1,2,3,4,5,6};B.inta[][3];C.inta[][3]={1,2,3,4,5,6};D.inta[][]={1,2,3},{4,5,6};
6.3字符數(shù)組
字符數(shù)組:存放字符數(shù)據(jù)的數(shù)組。一維字符數(shù)組:存放一個字符串(每個數(shù)組元素存放一個字符)二組字符數(shù)組:存放多個字符串(行數(shù)是字符串的個數(shù))形式:char數(shù)組名[常量表達(dá)式]char數(shù)組名[常量表達(dá)式]
[
常量表達(dá)式]常量表達(dá)式:整數(shù)、字符、符號常量6.3.1字符數(shù)組的定義6.3.2字符數(shù)組的初始化對字符數(shù)組初始化,最容易理解的方式是逐個字符賦給數(shù)組中的各元素。如:chara[10]={‘i’,’,’a’,’m’,’’,’h’,’a’,’p’,
’p’,’y’};如果在定義字符數(shù)組時不進(jìn)行初始化,則數(shù)組中各元素的值是不可預(yù)料的。如果花括弧中提供的初值個數(shù)(即字符個數(shù))大于數(shù)組長度,則按語法錯誤處理。如果初值個數(shù)小于數(shù)組長度,則只將這些字符賦給數(shù)組中前面那些元素,其余的元素自動定為空字符(即‘\0’)。例如:如果提供的初值個數(shù)與預(yù)定的數(shù)組長度相同,在定義時可以省略數(shù)組長度,系統(tǒng)會自動根據(jù)初值個數(shù)確定數(shù)組長度。也可以定義和初始化一個二維字符數(shù)組。6.3.3字符數(shù)組的引用例:輸出一個字符串輸出一個鉆石圖形6.3.4字符串和字符串結(jié)束標(biāo)志為了測定字符串的實際長度,c語言規(guī)定了一個“字符串結(jié)束標(biāo)志”,以字符’\0’作為標(biāo)志。如果有一個字符串,前面9個字符都不是空字符(即‘\0’),而第10個字符是‘\0’,則此字符串的有效字符為9個。系統(tǒng)對字符串常量也自動加一個‘\0’,作為結(jié)束符。字符串的長度:第一個‘\0’以前字符的個數(shù)。可以用字符串常量來使字符數(shù)組初始化。
例如charc[]={“Iamhappy”};
也可以省略花括弧,直接寫成charc[]=“Iamhappy”;
它與下面的數(shù)組初始化等價charc[]={‘I’,’’,’a’,’m’,’’,’h’,’a’,’p’,’p’,’y’,’\0’};例:charc[10]={“China”};數(shù)組c的前5個元素為’C’,’h’,’i’,’n’,’a’,第6個元素為’\0’,后4個元素也設(shè)定為空字符。練習(xí):寫出下列二維字符數(shù)且初始化的形式。charfruit[][7]={“Apple”,”O(jiān)range”,”Grape”,”Peach”};例:定義了以下的字符數(shù)組:charc[]={“Pascalprogram”};
現(xiàn)在,想用一個新的字符串代替原有的字符串,從鍵盤向字符數(shù)組輸入:Hello,如果不加’\0’,字符數(shù)組中的字符如下:
Hellolprogram6.3.5字符數(shù)組的輸入輸出逐個字符輸入輸出。用格式符“%C”輸入或輸出一個字符。將整個字符串一次輸入或輸出。用“%s”格式符,意思是對字符串的輸入輸出。例:charc[]={“China”};printf(“%s”,c);
此數(shù)組在內(nèi)存中的狀態(tài)說明:(1)用%s格式符輸出字符串時,printf函數(shù)中的輸出項是字符數(shù)組名,而不是數(shù)組元素名。(2)如果數(shù)組長度大于字符串實際長度,也只輸出到\0結(jié)束。(3)輸出字符不包括結(jié)束符‘\0’。(4)如果一個字符數(shù)組中包含一個以上’\0’,則在第一個‘\0’時輸出就結(jié)束。(5)可以使用scanf函數(shù)輸入一個字符串。例:scanf(“%s”,c),c是已經(jīng)定義的數(shù)組名,并且長度短于已定義的字符數(shù)組的長度。
scanf函數(shù)輸入多個字符串時,需要用空格分隔。例如:charstr1[5],str2[5],str3[5];scanf(“%s5%s%s”,str1,str2,str3);
scanf函數(shù)中的輸入項如果是字符數(shù)組,則不要再加地址符&,因為在C語言中,數(shù)組名代表該數(shù)組的起始地址。6.3.6字符串處理函數(shù)1.puts函數(shù):作用是將一個字符串輸出到終端。
charstr[]={“China\nBeijing”};puts(str);
輸出結(jié)果:ChinaBeijing2.gets函數(shù):作用是從終端輸入一個字符串到字符數(shù)組,并且得到一個函數(shù)值。
例:
gets(str)
從鍵盤輸入:Computer注意:用puts和gets函數(shù)只能輸入或輸出一個字符串,不能寫成puts(str1,str2)或gets(str1,str2)3.strcat函數(shù):作用是連接兩個字符串,把字符串str2連接到str1后面,放在數(shù)組str1中得到一個新的數(shù)組。格式:strcat(字符串1,字符串2)例:charstr1[30]={“Heis”};
charstr2[]={“aboy.”};
print(“%s”,strcat(str1,str2);輸出:Heisaboy.
4.strcmp函數(shù):作用是比較字符串str1和str2格式:strcmp(字符串1,字符串2)例:strcmp(str1,str2);
strcmp(“China”,”Korea”);
strcmp(str1,”Beijing”);注:比較的結(jié)果由函數(shù)值帶回
(1)兩個字符串自左至右按ascii碼比較,至到出現(xiàn)不同的字符或\0結(jié)束。(2)字符串1=字符串2,函數(shù)值為0.(3)如果字符串1>字符串2,函數(shù)值為一正(4)如果字符串1<字符串2,函數(shù)值為一負(fù)
兩個字符串比較,不能用if語句,而只能使用strcmp5.
strlen函數(shù):作用是測試字符串中的實際長度,不包括’\0’在內(nèi)。格式:strlen(字符數(shù)組)例如:charstr[10]={“China”};printf(“%d”,strlen(str));
輸出結(jié)果是56.
strlwr函數(shù):作用是將字符串中的大寫字母換成小寫字母。
格式:strlwr(字符串)7.strupr函數(shù):作用是將字符串中的小寫字母換成大寫字母。格式:strupr(字符串)字符數(shù)組的初始化字符數(shù)組的引用字符數(shù)組的結(jié)束標(biāo)記字符數(shù)組的輸入和輸出字符數(shù)組的函數(shù)應(yīng)用課程小結(jié)
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 食品與飲料行業(yè):啤酒與麥芽行業(yè)市場分析與品牌競爭策略
- 工業(yè)互聯(lián)網(wǎng)網(wǎng)絡(luò)運(yùn)維 課件 任務(wù)5.6-4 邊緣網(wǎng)關(guān)管理-網(wǎng)關(guān)工程下載
- 斜井定方位定射角射孔技術(shù)及應(yīng)用
- 2025年全球數(shù)字生態(tài)狀況報告 -LUMA is pleased to present our 2025 State of Digital report
- XX縣XX幼兒園幼兒健康狀況登記表
- 數(shù)理方法題目及答案
- 第三版《大學(xué)英語》1教案Unit
- 四川通信安全員考試試題及答案c類
- 胎心監(jiān)護(hù)儀器試題及答案
- 養(yǎng)蜂公司管理辦法
- 2025年中小學(xué)校長選拔筆試試題及參考答案
- 自動駕駛車輛的事故責(zé)任歸屬法律問題研究
- 銀行客戶黑名單管理辦法
- 安全應(yīng)急培訓(xùn)課件
- 餐飲廢水排放管理辦法
- 2025年信息技術(shù)基礎(chǔ)知識考試試題及答案
- 作風(fēng)負(fù)面清單管理辦法
- 小兒充血性心力衰竭護(hù)理
- 2025至2030中國西餐廳行業(yè)發(fā)展分析及發(fā)展趨勢分析與未來投資戰(zhàn)略咨詢研究報告
- 2025醫(yī)德醫(yī)風(fēng)培訓(xùn)
- 社?;鸨O(jiān)督培訓(xùn)課件
評論
0/150
提交評論