




版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)
文檔簡介
1、5.45.5 字符型數(shù)組及字符串處置引例引例 輸入一個以回車終了的字符串少于輸入一個以回車終了的字符串少于10個字個字符,它可由數(shù)字和字母組成。符,它可由數(shù)字和字母組成。要求將該字符串中數(shù)字轉(zhuǎn)換成整數(shù)后輸出。要求將該字符串中數(shù)字轉(zhuǎn)換成整數(shù)后輸出。 #include int main(void) int i, n; char s10; i = 0; printf(Enter a string: ); /* 輸入字符串輸入字符串 */ while(si = getchar( ) != n) i+; si = 0 ; n = 0; /* 將字符串轉(zhuǎn)換為整數(shù)將字符串轉(zhuǎn)換為整數(shù) */ for(i = 0
2、; si != 0 ; i+) if(si = 0) n = n * 10 + (si - 0) ; else break; /*非數(shù)字字符終了轉(zhuǎn)換非數(shù)字字符終了轉(zhuǎn)換*/ printf(digit = %dn, n); return 0; 源程序源程序Enter a string: 123digit = 123Enter a string: 12a3digit = 12Enter a string: a12digit = 0Enter a string: 12a3digit = 123Enter a string: a12digit = 12i si 0 s0=1 s1=2 2 s2=a3 s
3、3=34 s4=0 程序分析程序分析 n = 0; n = 0; for(i = 0; si != 0; i+)for(i = 0; si != 0; i+) if(si = 0) if(si = 0) n = n n = n * * 10 + (si - 0); 10 + (si - 0); 0 1 2 3 s1 2 a 3 0 ? ? i si si-0 n = n*10+(si-0)0 1 1 0*10+1 = 1 1 2 2 1*10+2 =122 a 3 3 3 12*10+3 =123Enter a string: 1#2#3digit =?digit =1/指針方式訪問數(shù)組中字符
4、指針方式訪問數(shù)組中字符n = 0; for(i = 0; *(s+i)!= 0; i+) if(*(s+i) = 0) n = n * 10 + (*(s+i) - 0);下標(biāo)下標(biāo)4 0 跳出循環(huán)跳出循環(huán)一維字符數(shù)組一維字符數(shù)組n字符串存儲和運算用一維字符數(shù)組實現(xiàn)。一維字符數(shù)組字符串存儲和運算用一維字符數(shù)組實現(xiàn)。一維字符數(shù)組的定義、援用、初始化與其他類型的一維數(shù)組一樣。的定義、援用、初始化與其他類型的一維數(shù)組一樣。n定義一個含有定義一個含有5個字符型元素的數(shù)組個字符型元素的數(shù)組tnchar t5;n數(shù)組數(shù)組t初始化初始化n char t5=H, a, p, p, y;n char t = H,
5、 a, p, p, y; t0 t1 t4t H a p p y輸出數(shù)組輸出數(shù)組 t 的一切元素的一切元素for(i=0; i 對字符數(shù)組的操作對字符數(shù)組的操作1. 字符串的存儲字符串的存儲初始化初始化字符串存放在一維字符數(shù)組中字符串存放在一維字符數(shù)組中 char s6 = H, a, p, p, y, char s6 = H, a, p, p, y, 0;0;字符數(shù)組初始化:用字符串常量賦值字符數(shù)組初始化:用字符串常量賦值char s6 = Happy;char s6 = Happy;char s = Happy;char s = Happy;char s = Happy;char s =
6、Happy;數(shù)組長度數(shù)組長度 = = 字符串的有效長度字符串的有效長度 + 1 + 1char t5; Happy char t5; Happy 能存入能存入t t嗎嗎? ? s0 s1 s5s H a p p y 0字符串的存儲字符串的存儲char s80= Happy;字符串遇字符串遇 0 終了終了第一個第一個 0 前面的一切字符和前面的一切字符和 0 一同構(gòu)成了字一同構(gòu)成了字符串符串 Happy0 之后的其他數(shù)組元素與該字符串無關(guān)之后的其他數(shù)組元素與該字符串無關(guān) s0 s1 s5s H a p p y 0 s h字符串由有效字符和字符串終了符字符串由有效字符和字符串終了符 0 0 組組成
7、成 2. 對字符串的操作對字符串的操作n將字符串放入一維字符數(shù)組存儲將字符串放入一維字符數(shù)組存儲n對字符串的操作對字符串的操作 = 對字符數(shù)組的操作對字符數(shù)組的操作n普通字符數(shù)組:數(shù)組元素的個數(shù)是確定的,普通字符數(shù)組:數(shù)組元素的個數(shù)是確定的,普通用下標(biāo)控制循環(huán)普通用下標(biāo)控制循環(huán)n字符串:沒有顯式地給出有效字符的個數(shù),字符串:沒有顯式地給出有效字符的個數(shù),只規(guī)定在字符串終了符只規(guī)定在字符串終了符 0 之前的字符都是之前的字符都是字符串的有效字符,普通用終了符字符串的有效字符,普通用終了符 0 來控來控制循環(huán)制循環(huán)n循環(huán)條件:循環(huán)條件:si != 0 計算字符串的有效長度,并輸出該字符串。計算字符
8、串的有效長度,并輸出該字符串。字符串的有效長度:有效字符的個數(shù)字符串的有效長度:有效字符的個數(shù)數(shù)組中第一個數(shù)組中第一個 0 前面的字符個數(shù)前面的字符個數(shù)編程:為字符串賦值編程:為字符串賦值“Happy,并輸出。,并輸出。計算字符串的有效長度計算字符串的有效長度 s0s1 s5s H a p p y 0 s h#include int main(void) int i ; char s80 = Happy; for(i = 0; si != 0; i+) ; /循環(huán)體為空語句循環(huán)體為空語句 printf(len = %dn, i); for(i = 0; si != 0; i+) /輸出字符串輸
9、出字符串 putchar(si); /單字符的輸出函數(shù)單字符的輸出函數(shù) return 0; 源程序源程序 s0s1 s5s H a p p y 0 ? ?循環(huán)條件循環(huán)條件len = 5Happy for(i = 0; si != 0; i+) putchar(si);3.字符串的輸出字符串的輸出 s0 s1 s5s H a p p y 0 ? ?HappyHappyHappyfor(i = 0; i len; i+) putchar(si);puts(s);/整個字符串的輸出函數(shù),庫函數(shù)整個字符串的輸出函數(shù),庫函數(shù)stdio.h,輸出到,輸出到0字符停頓,并把字符停頓,并把0字符轉(zhuǎn)換為回車換行
10、輸出。字符轉(zhuǎn)換為回車換行輸出。1.字符數(shù)組初始化:字符數(shù)組初始化: char s6 = Happy;char s6, *p=s; p= “Happy; /把字符串常量地址送給把字符串常量地址送給p,s數(shù)組沒得到值數(shù)組沒得到值2.逐個賦值:逐個賦值:s0 = H ; s1 = a; s5 = 0; 3.輸入輸入 逐個字符輸入逐個字符輸入0 代表空操作,無法輸入代表空操作,無法輸入輸入時,設(shè)定一個輸入終了符如輸入時,設(shè)定一個輸入終了符如n,將輸入終了符轉(zhuǎn)換為字符串終了符將輸入終了符轉(zhuǎn)換為字符串終了符 0整個字符串的輸入整個字符串的輸入gets(s) /整個字符串的輸入函數(shù),庫函數(shù)整個字符串的輸入函
11、數(shù),庫函數(shù)stdio.h,輸入到回,輸入到回車換行符停頓,并把為回車換行轉(zhuǎn)換車換行符停頓,并把為回車換行轉(zhuǎn)換0字符存儲到數(shù)組字符存儲到數(shù)組4. 字符串的存儲字符串的存儲賦值和輸入賦值和輸入a 2 個字符個字符 a 和和 0a 1 個字符常量個字符常量區(qū)分區(qū)分a 和和 a輸入一個以回車終了的字符串輸入一個以回車終了的字符串(少于少于80個字符個字符),統(tǒng)計其中,統(tǒng)計其中數(shù)字字符的個數(shù)。數(shù)字字符的個數(shù)。分析:分析:數(shù)組長度取上限數(shù)組長度取上限80以以 n 做為輸入終了符做為輸入終了符1。編程實現(xiàn)!。編程實現(xiàn)!2。調(diào)用庫函數(shù),將大寫字母轉(zhuǎn)換為小寫字母輸出!。調(diào)用庫函數(shù),將大寫字母轉(zhuǎn)換為小寫字母輸出!
12、5、按一定規(guī)那么統(tǒng)計字符、按一定規(guī)那么統(tǒng)計字符#include int main(void) int count, i; char s80; printf(Enter a string: ); i = 0; while(si = getchar( ) ) != n) i+; si = 0; /* 輸入終了符輸入終了符n字符串終了符字符串終了符0 */ count = 0; for(i = 0; si != 0; i+) if(si = 0) count+; printf(count = %dn , count); return 0; 源程序源程序字符串的輸入字符串的輸入getchar()/ge
13、tchar()/單字符的單字符的輸入函數(shù),庫函數(shù)輸入函數(shù),庫函數(shù)stdio.hstdio.hEnter a string: Its 512?count = 3能省略能省略si = 0嗎?嗎? 0 1 2 3 4 5 6 7 8sI t s 5 1 2 0 ? ?gets(s);#include int main(void) int i, n; char s10; printf(Enter a string: ); /* 輸入字符串輸入字符串 */ i = 0; while(si = getchar( ) != n) i+; si = 0; n = 0; /* 將字符串轉(zhuǎn)換為整數(shù)將字符串轉(zhuǎn)換為整
14、數(shù) */ for(i = 0; si != 0; i+) if(si = 0) n = n * 10 + (si - 0); else break; printf(digit = %dn, n); return 0; 簡化引例簡化引例gets(s)Enter a string: 123e4digit = 12340 1 2 3 s1 2 3 e 4 0 ? ?gets(s);實際:義務(wù)一實際:義務(wù)一(ex04_01.cpp)n編寫一個字符串處置程序,程序功能為輸編寫一個字符串處置程序,程序功能為輸入一個字符串,刪除其中的數(shù)字字符后,入一個字符串,刪除其中的數(shù)字字符后,全部大寫輸出。全部大寫輸出。n提示,字符串全部轉(zhuǎn)成小寫函數(shù)原型:提示,字符串全部轉(zhuǎn)成小寫函數(shù)原型:char*strlwr(char*src)n程序的正確運轉(zhuǎn)例如:程序的正確運轉(zhuǎn)例如:n輸入一個字符串:輸入一個字符串:ShangHai2019!n輸出:輸出:shanghai!實際:義務(wù)二實際:義務(wù)二(ex04_02.cpp)n編寫一個字符串處置程序,程序功能為輸入兩個英編寫一個字符串處置程序,程序功能為輸入兩個英文字符串,取
溫馨提示
- 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)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 征戰(zhàn)2024年信息系統(tǒng)項目管理師考試的高效備考策略與試題及答案
- 激光技術(shù)工程師證書考試試題及答案的重要材料介紹
- 光電工程師證書考試考生的心態(tài)建設(shè)試題及答案
- 畜牧培訓(xùn)考試題及答案
- 多角度分析文化產(chǎn)業(yè)管理證書考試的試題與答案
- 網(wǎng)絡(luò)規(guī)劃設(shè)計師考試重要規(guī)范解讀試題及答案
- 行政部考核試題及答案
- 光電工程師證書考試前沿試題及答案
- 未來專利制度的挑戰(zhàn)與發(fā)展方向分析試題及答案
- 藥劑學(xué)經(jīng)典案例復(fù)習(xí)試題及答案
- 土地復(fù)墾技術(shù)標(biāo)準(zhǔn)(整理)
- 醫(yī)療廢物管理PPT演示課件
- 常用康復(fù)護理技術(shù)課件
- 海康監(jiān)控陣列不可用數(shù)據(jù)不保留處理
- 中國古代文學(xué)史元明清文學(xué)PPT完整全套教學(xué)課件
- 排水溝鑄鐵篦子規(guī)格
- 中學(xué)學(xué)校各項安全資料匯編
- 新修訂版《未成年人保護法》亮點解讀課件
- 六年級語文下冊閱讀及參考答案(12篇)
- 貴溪鮑家礦業(yè)有限公司采礦權(quán)出讓評估報告書
- 消防月九小場所消防安全檢查表
評論
0/150
提交評論