版權(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ù)組:存放一個字符串(每個數(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)志為了測定字符串的實(shí)際長度,c語言規(guī)定了一個“字符串結(jié)束標(biāo)志”,以字符’\0’作為標(biāo)志。如果有一個字符串,前面9個字符都不是空字符(即‘\0’),而第10個字符是‘\0’,則此字符串的有效字符為9個。系統(tǒng)對字符串常量也自動加一個‘\0’,作為結(jié)束符。字符串的長度:第一個‘\0’以前字符的個數(shù)??梢杂米址A縼硎棺址麛?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ù)中的輸出項(xiàng)是字符數(shù)組名,而不是數(shù)組元素名。(2)如果數(shù)組長度大于字符串實(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ù)中的輸入項(xiàng)如果是字符數(shù)組,則不要再加地址符&,因?yàn)樵贑語言中,數(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ù):作用是測試字符串中的實(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)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025年精河縣安阜投資經(jīng)營有限責(zé)任公司公開招聘備考題庫及一套參考答案詳解
- 2025年碑林區(qū)柏樹林社區(qū)衛(wèi)生服務(wù)中心招聘康復(fù)治療師內(nèi)科主治醫(yī)師B超醫(yī)師備考題庫及完整答案詳解一套
- 2025年事業(yè)編這家單位招聘3人備考題庫參考答案詳解
- 安陽市新一中學(xué)招聘2026屆部屬公費(fèi)師范生30人備考題庫完整參考答案詳解
- 浙商銀行福州分行2025年招聘備考題庫及完整答案詳解一套
- 包鋼(集團(tuán))公司2026年新員工招聘322人備考題庫附答案詳解
- 2025年贛州市石城縣政務(wù)服務(wù)和大數(shù)據(jù)發(fā)展中心公開招聘派遣制工作人員5人備考題庫完整參考答案詳解
- 2025年中國農(nóng)業(yè)科學(xué)院農(nóng)產(chǎn)品加工研究所招聘果蔬加工智造與營養(yǎng)健康創(chuàng)新團(tuán)隊(duì)執(zhí)行首席的備考題庫帶答案詳解
- 2025年慈溪市上林人才服務(wù)有限公司公開招聘派遣制安全生產(chǎn)服務(wù)內(nèi)勤人員備考題庫及一套答案詳解
- Axure RP9 網(wǎng)站與App原型設(shè)計(jì)實(shí)戰(zhàn)案例教程PPT完整全套教學(xué)課件
- 《生于憂患死于安樂》文章結(jié)構(gòu)
- 1+X測繪地理信息智能應(yīng)用練習(xí)題(含參考答案)
- 譯林版五年級英語上冊全冊課件
- 磷石膏基公路基層材料 技術(shù)規(guī)范 編制說明
- 電大??啤豆芾碛⒄Z1》歷年期末考試試題及答案匯編
- 《非政府組織管理》教學(xué)大綱
- GB/T 19809-2005塑料管材和管件聚乙烯(PE)管材/管材或管材/管件熱熔對接組件的制備
- 無機(jī)及分析化學(xué)考試題(附答案)
- 體質(zhì)中醫(yī)基礎(chǔ)理論課件
- 電力工程檢驗(yàn)批質(zhì)量驗(yàn)收記錄【完整版】
評論
0/150
提交評論