版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、字符數(shù)組與字符串字符數(shù)組 用于存放字符型數(shù)據(jù)的數(shù)組稱為字符數(shù)組。一個(gè)數(shù)組元素只能存放一個(gè)字符。說(shuō)明字符數(shù)組的一般形式如下: char 數(shù)組名常量表達(dá)式; 例如:char c14; 字符數(shù)組的定義 字符數(shù)組的初始化逐個(gè)初始化數(shù)組與其它數(shù)組一樣:例如:char c18=G, o, o, d, , b, y,e, !; 字符數(shù)組元素經(jīng)上述賦值語(yǔ)句賦值后,在計(jì)算機(jī)內(nèi)存中的存放形式如圖所示 當(dāng)初始化值的個(gè)數(shù)少于元素個(gè)數(shù)時(shí),從第一個(gè)數(shù)組元素開(kāi)始賦值,剩余元素為空。 字符數(shù)組的初始化 用字符串初始化 字符數(shù)組中可以存放若干個(gè)字符,也可以存放字符串。兩者的區(qū)別是字符串有一個(gè)結(jié)束符(0)。 反過(guò)來(lái)說(shuō),在一維數(shù)組
2、中存放著帶有結(jié)束符的若干字符稱為字符串。 例如:char c28=G, o, o, d, , b, y,e, ,0;即在數(shù)組c2中存放著一個(gè)字符串“Goodbye”。 用一個(gè)字符串初始化一個(gè)數(shù)組時(shí),可以寫(xiě)成下列形式: char c28=Goodbye; 使用此格式要注意字符串的長(zhǎng)度應(yīng)小于字符數(shù)組的長(zhǎng)度或者等于數(shù)組的大小減1。 字符數(shù)組的初始化 初始化時(shí)省略長(zhǎng)度 字符是由單引號(hào)括起來(lái),字符串是由雙引號(hào)。字符只能是單個(gè)字符,字符串是可以是多個(gè)字符??梢园岩粋€(gè)字符賦值給一個(gè)字符串變量,不能把字符串賦值給一個(gè)字符變量1.字符占一個(gè)字節(jié),字符串占用的字節(jié)數(shù)等于字符個(gè)數(shù)加1。例如:字符a占一個(gè)字節(jié),字符串
3、a占兩個(gè)字節(jié)。字符與字符串的區(qū)別:逐個(gè)字符輸入輸出。用格式符“c”輸入或輸出一個(gè)字符。將整個(gè)字符串一次輸入或輸出。用格式符“s” ,輸入或輸出字符串(string)。字符數(shù)組的輸入輸出 從鍵盤(pán)輸入一個(gè)字符數(shù)組可以使用scanf語(yǔ)句或gets語(yǔ)句。1)scanf語(yǔ)句格式:scanf(%s,字符串名稱);說(shuō)明:這里的字符串名稱之前不加&。例如,scanf(%s,&s1)是錯(cuò)誤的。系統(tǒng)會(huì)自動(dòng)在輸入的字符串后添加“0”標(biāo)志,因此輸入時(shí),僅輸入字符串內(nèi)容即可。輸入多個(gè)字符串時(shí),以空格分格。 例如,scanf(%s%s%s,s1,s2,s3);若輸入Let it go,則s1,s2,s3分
4、別取了三個(gè)單詞。 例如,scanf(%s,s1);若輸入Let it go,則s1只取得第一個(gè)單詞Let。1輸入 從鍵盤(pán)輸入一個(gè)字符數(shù)組可以使用scanf語(yǔ)句或gets語(yǔ)句。1)gets語(yǔ)句格式:gets(字符串名稱);說(shuō)明:使用gets只能輸入一個(gè)字符串,例如,gets(s1,s2)是錯(cuò)誤的。使用gets,是從光標(biāo)開(kāi)始的地方,讀到換行符(按回車(chē)鍵的時(shí)候),也就是說(shuō)讀入一整行,而使用scanf是從光標(biāo)開(kāi)始的地方讀到空格。例如,scanf(%s,s1); gets(s2); 對(duì)于相同的輸入Hello World!。s1獲取的結(jié)果是Hello,而s2獲取的結(jié)果是Hello World!1輸入 向屏
5、幕輸出一個(gè)字符串可以使用printf語(yǔ)句或puts語(yǔ)句。1)printf語(yǔ)句格式:printf(%s,字符串名稱);說(shuō)明:使用%s格式輸出時(shí),printf的輸出項(xiàng)只能是字符串(字符數(shù)組)名稱,而不能是數(shù)組元素,例如:printf(%s,a5);是錯(cuò)誤的。輸出字符串不包含字符串的結(jié)束標(biāo)志0。1輸出 1)字符串連接函數(shù) strcat( )調(diào)用格式:strcat(str1,str2);功能:把str2中的字符串連接到str1字符串的后面,結(jié)果放在str1數(shù)組中,函數(shù)值是str1的值。例如:char str121=beijing and ;char str2 =shanghai;printf(%s,s
6、trcat(str1,str2); 字符串函數(shù)必須足夠大2)字符串復(fù)制函數(shù) strcpy( )調(diào)用格式:strcpy(str1,str2);功能:將str2中的字符串復(fù)制到str1數(shù)組中。例如:char s110,s2 = Beijing;strcpy(s1,s2);或:strcpy(s1,Beijing); 字符串函數(shù)s1的結(jié)果S1必須足夠大3)字符串比較函數(shù) strcmp( )調(diào)用格式:strcmp(str1,str2); 字符串函數(shù)str1str2str1str2str1str2#include#includeint main( ) char s1 = aBC,s2 = abc; if
7、(strcmp(s1,s2)=0) printf(s1=s2); else if (strcmp(s1,s2)0) printf(s1s2); else printf(s1s2); return 0;4)求字符串長(zhǎng)度函數(shù) strlen( )調(diào)用格式:strlen(str);功能:測(cè)試字符串長(zhǎng)度。函數(shù)值就是str中字符的個(gè)數(shù)。例如:char str10= China;printf(%d,strlen(str);或printf(%d,strlen(China); 字符串函數(shù)思考:字符串China和str數(shù)組在內(nèi)存中各占幾個(gè)字節(jié)?【例1】gets()一個(gè)字符串,然后使用printf()將其輸出,輸出
8、的每個(gè)字符占3位顯示。#include#includeint main( ) char st100; gets(st); for(int i=0;i=strlen(st);i+) printf(%3c,sti); return 0;5)大寫(xiě)字符轉(zhuǎn)小寫(xiě)字母函數(shù) strlwr( )調(diào)用格式:strlwr(str);功能:將str字符串中的大寫(xiě)字母轉(zhuǎn)換成小寫(xiě)字母。例如:char str =MICRO SOFT WORD ;strlwr(str);puts(str);例如:printf(%s,strlwr(AbCd); 字符串函數(shù)6)小寫(xiě)字符轉(zhuǎn)大寫(xiě)字母函數(shù) strupr( )調(diào)用格式:strupr(s
9、tr);功能:將str字符串中的小寫(xiě)字母轉(zhuǎn)換成大寫(xiě)字母。例如:char ch10=pascal;printf(%s,strupr(ch); 字符串函數(shù)7)其它常用函數(shù) 字符串函數(shù)函數(shù)用法函數(shù)功能strncat(str1,str2,n)把str2字符串前n個(gè)字符連接到str1字符串的后面,結(jié)果放在str1數(shù)組中,函數(shù)值是str1的值strncpy(str1,str2,n)把str2字符串前n個(gè)字符復(fù)制到str1字符串,并返回str1字符串。strncmp(str1,str2,n) 將字符串str1和字符串str2的前n個(gè)字符進(jìn)行比較【例2】輸入一行字符,統(tǒng)計(jì)出其中數(shù)字字符的個(gè)數(shù) 。輸入:Peking University
溫馨提示
- 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 陜西省安康市2024-2025學(xué)年八年級(jí)(上)期末語(yǔ)文試卷
- 2025年全球及中國(guó)氯雷他定片行業(yè)頭部企業(yè)市場(chǎng)占有率及排名調(diào)研報(bào)告
- 2025-2030全球工商用管道除濕機(jī)行業(yè)調(diào)研及趨勢(shì)分析報(bào)告
- 2025年全球及中國(guó)劃線輪(描線輪)行業(yè)頭部企業(yè)市場(chǎng)占有率及排名調(diào)研報(bào)告
- 2025-2030全球PTFE化學(xué)鍍鎳行業(yè)調(diào)研及趨勢(shì)分析報(bào)告
- 2025年全球及中國(guó)汽車(chē)超高頻天線行業(yè)頭部企業(yè)市場(chǎng)占有率及排名調(diào)研報(bào)告
- 2025年全球及中國(guó)多托盤(pán)貨叉行業(yè)頭部企業(yè)市場(chǎng)占有率及排名調(diào)研報(bào)告
- 2025-2030全球汽車(chē)行業(yè)用生物基聚酰胺行業(yè)調(diào)研及趨勢(shì)分析報(bào)告
- 2025年全球及中國(guó)樹(shù)木介紹牌行業(yè)頭部企業(yè)市場(chǎng)占有率及排名調(diào)研報(bào)告
- 2025-2030全球醫(yī)美用A型肉毒毒素行業(yè)調(diào)研及趨勢(shì)分析報(bào)告
- 2025-2030年中國(guó)納米氧化鋁行業(yè)發(fā)展前景與投資戰(zhàn)略研究報(bào)告新版
- 2025年度正規(guī)離婚協(xié)議書(shū)電子版下載服務(wù)
- 2025年貴州蔬菜集團(tuán)有限公司招聘筆試參考題庫(kù)含答案解析
- 煤礦安全生產(chǎn)方針及法律法規(guī)課件
- 2025年教科室工作計(jì)劃樣本(四篇)
- 2024年版古董古玩買(mǎi)賣(mài)合同:古玩交易稅費(fèi)及支付規(guī)定
- 【7歷期末】安徽省宣城市2023-2024學(xué)年七年級(jí)上學(xué)期期末考試歷史試題
- 春節(jié)后安全生產(chǎn)開(kāi)工第一課
- 2025光伏組件清洗合同
- 電力電纜工程施工組織設(shè)計(jì)
- 2024年網(wǎng)格員考試題庫(kù)完美版
評(píng)論
0/150
提交評(píng)論