版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡介
C語言程序設(shè)計(jì)
第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ù)組:存放一個(gè)字符串(每個(gè)數(shù)組元素存放一個(gè)字符)二組字符數(shù)組:存放多個(gè)字符串(行數(shù)是字符串的個(gè)數(shù))形式:char數(shù)組名[常量表達(dá)式]char數(shù)組名[常量表達(dá)式]
[
常量表達(dá)式]常量表達(dá)式:整數(shù)、字符、符號常量6.3.1字符數(shù)組的定義6.3.2字符數(shù)組的初始化對字符數(shù)組初始化,最容易理解的方式是逐個(gè)字符賦給數(shù)組中的各元素。如:chara[10]={‘i’,’,’a’,’m’,’’,’h’,’a’,’p’,
’p’,’y’};如果在定義字符數(shù)組時(shí)不進(jìn)行初始化,則數(shù)組中各元素的值是不可預(yù)料的。如果花括弧中提供的初值個(gè)數(shù)(即字符個(gè)數(shù))大于數(shù)組長度,則按語法錯誤處理。如果初值個(gè)數(shù)小于數(shù)組長度,則只將這些字符賦給數(shù)組中前面那些元素,其余的元素自動定為空字符(即‘\0’)。例如:如果提供的初值個(gè)數(shù)與預(yù)定的數(shù)組長度相同,在定義時(shí)可以省略數(shù)組長度,系統(tǒng)會自動根據(jù)初值個(gè)數(shù)確定數(shù)組長度。也可以定義和初始化一個(gè)二維字符數(shù)組。6.3.3字符數(shù)組的引用例:輸出一個(gè)字符串輸出一個(gè)鉆石圖形6.3.4字符串和字符串結(jié)束標(biāo)志為了測定字符串的實(shí)際長度,c語言規(guī)定了一個(gè)“字符串結(jié)束標(biāo)志”,以字符’\0’作為標(biāo)志。如果有一個(gè)字符串,前面9個(gè)字符都不是空字符(即‘\0’),而第10個(gè)字符是‘\0’,則此字符串的有效字符為9個(gè)。系統(tǒng)對字符串常量也自動加一個(gè)‘\0’,作為結(jié)束符。字符串的長度:第一個(gè)‘\0’以前字符的個(gè)數(shù)??梢杂米址A縼硎棺址麛?shù)組初始化。
例如charc[]={“Iamhappy”};
也可以省略花括弧,直接寫成charc[]=“Iamhappy”;
它與下面的數(shù)組初始化等價(jià)charc[]={‘I’,’’,’a’,’m’,’’,’h’,’a’,’p’,’p’,’y’,’\0’};例:charc[10]={“China”};數(shù)組c的前5個(gè)元素為’C’,’h’,’i’,’n’,’a’,第6個(gè)元素為’\0’,后4個(gè)元素也設(shè)定為空字符。練習(xí):寫出下列二維字符數(shù)且初始化的形式。charfruit[][7]={“Apple”,”O(jiān)range”,”Grape”,”Peach”};例:定義了以下的字符數(shù)組:charc[]={“Pascalprogram”};
現(xiàn)在,想用一個(gè)新的字符串代替原有的字符串,從鍵盤向字符數(shù)組輸入:Hello,如果不加’\0’,字符數(shù)組中的字符如下:
Hellolprogram6.3.5字符數(shù)組的輸入輸出逐個(gè)字符輸入輸出。用格式符“%C”輸入或輸出一個(gè)字符。將整個(gè)字符串一次輸入或輸出。用“%s”格式符,意思是對字符串的輸入輸出。例:charc[]={“China”};printf(“%s”,c);
此數(shù)組在內(nèi)存中的狀態(tài)說明:(1)用%s格式符輸出字符串時(shí),printf函數(shù)中的輸出項(xiàng)是字符數(shù)組名,而不是數(shù)組元素名。(2)如果數(shù)組長度大于字符串實(shí)際長度,也只輸出到\0結(jié)束。(3)輸出字符不包括結(jié)束符‘\0’。(4)如果一個(gè)字符數(shù)組中包含一個(gè)以上’\0’,則在第一個(gè)‘\0’時(shí)輸出就結(jié)束。(5)可以使用scanf函數(shù)輸入一個(gè)字符串。例:scanf(“%s”,c),c是已經(jīng)定義的數(shù)組名,并且長度短于已定義的字符數(shù)組的長度。
scanf函數(shù)輸入多個(gè)字符串時(shí),需要用空格分隔。例如:charstr1[5],str2[5],str3[5];scanf(“%s5%s%s”,str1,str2,str3);
scanf函數(shù)中的輸入項(xiàng)如果是字符數(shù)組,則不要再加地址符&,因?yàn)樵贑語言中,數(shù)組名代表該數(shù)組的起始地址。6.3.6字符串處理函數(shù)1.puts函數(shù):作用是將一個(gè)字符串輸出到終端。
charstr[]={“China\nBeijing”};puts(str);
輸出結(jié)果:ChinaBeijing2.gets函數(shù):作用是從終端輸入一個(gè)字符串到字符數(shù)組,并且得到一個(gè)函數(shù)值。
例:
gets(str)
從鍵盤輸入:Computer注意:用puts和gets函數(shù)只能輸入或輸出一個(gè)字符串,不能寫成puts(str1,str2)或gets(str1,str2)3.strcat函數(shù):作用是連接兩個(gè)字符串,把字符串str2連接到str1后面,放在數(shù)組str1中得到一個(gè)新的數(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)兩個(gè)字符串自左至右按ascii碼比較,至到出現(xiàn)不同的字符或\0結(jié)束。(2)字符串1=字符串2,函數(shù)值為0.(3)如果字符串1>字符串2,函數(shù)值為一正(4)如果字符串1<字符串2,函數(shù)值為一負(fù)
兩個(gè)字符串比較,不能用if語句,而只能使用strcmp5.
strlen函數(shù):作用是測試字符串中的實(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)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 企業(yè)團(tuán)隊(duì)協(xié)作與管理制度
- 福建省福州永泰第一中學(xué)2024屆高三年級第一次校模擬考試數(shù)學(xué)試題
- 2024年杭州客運(yùn)資格證專業(yè)能力考試題
- 2024年西寧考客運(yùn)資格證需要什么資料
- 2024年紅河小型客運(yùn)從業(yè)資格證2024年考試題
- 2024年海南客運(yùn)資格證需要什么條件
- 2024年河南考客運(yùn)資格證實(shí)操考的是什么內(nèi)容
- 2024年黃山貨運(yùn)從業(yè)資格證考試題
- 2024年南通辦理客運(yùn)從業(yè)資格證版試題
- 治安保安員試題庫+參考答案
- 水稻栽培技術(shù)-水稻常規(guī)栽培技術(shù)
- 四風(fēng)整改臺賬清單
- 標(biāo)準(zhǔn)報(bào)價(jià)單模板(二)
- 【期中】第1-4單元易錯題專項(xiàng)攻略-數(shù)學(xué)四年級上冊蘇教版(含答案)
- 《mc入門教程》課件
- 物理化學(xué)實(shí)驗(yàn)B智慧樹知到課后章節(jié)答案2023年下北京科技大學(xué)
- 福建省廈門市第一中學(xué)2023-2024學(xué)年七年級上學(xué)期期中數(shù)學(xué)試卷
- 醫(yī)院病房超市經(jīng)營管理服務(wù)方案
- 社會秩序的維護(hù)主要靠法律還是靠道德辯論賽
- 中國各區(qū)域矢量地圖素材(詳細(xì)到省市、能編輯)
- 蘇教版四年級下冊數(shù)學(xué)《解決問題的策略-畫示意圖》課件(區(qū)級公開課)
評論
0/150
提交評論