![山東理工大學史上最全C語言PPTC程序設計(8 字符串處理) (1)_第1頁](http://file3.renrendoc.com/fileroot_temp3/2022-1/19/635a7bd3-284f-410f-9841-f740a348ba21/635a7bd3-284f-410f-9841-f740a348ba211.gif)
![山東理工大學史上最全C語言PPTC程序設計(8 字符串處理) (1)_第2頁](http://file3.renrendoc.com/fileroot_temp3/2022-1/19/635a7bd3-284f-410f-9841-f740a348ba21/635a7bd3-284f-410f-9841-f740a348ba212.gif)
![山東理工大學史上最全C語言PPTC程序設計(8 字符串處理) (1)_第3頁](http://file3.renrendoc.com/fileroot_temp3/2022-1/19/635a7bd3-284f-410f-9841-f740a348ba21/635a7bd3-284f-410f-9841-f740a348ba213.gif)
![山東理工大學史上最全C語言PPTC程序設計(8 字符串處理) (1)_第4頁](http://file3.renrendoc.com/fileroot_temp3/2022-1/19/635a7bd3-284f-410f-9841-f740a348ba21/635a7bd3-284f-410f-9841-f740a348ba214.gif)
![山東理工大學史上最全C語言PPTC程序設計(8 字符串處理) (1)_第5頁](http://file3.renrendoc.com/fileroot_temp3/2022-1/19/635a7bd3-284f-410f-9841-f740a348ba21/635a7bd3-284f-410f-9841-f740a348ba215.gif)
版權說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權,請進行舉報或認領
文檔簡介
1、第8章 字符串處理字符串常量-hello字符常量-A 8.1 字符串的存儲與引用 HELLO0char ch=A; A A 0C語言規(guī)定:在內(nèi)存中存儲字符串常量時,需在其末尾添加空字符“0”(即ASCII碼為0的字符)作為結束標志。8.1 字符數(shù)組和字符串字符數(shù)組v定義 v字符數(shù)組的初始化l逐個字符賦值l用字符串常量v字符數(shù)組的引用例 char c10, ch34; 例 char ch5=H,e,l,l,o;ch0Hello逐個字符賦值ch1ch2ch3ch4有問題! 例 char ch5=H,e,l,l,o;ch0Hello逐個字符賦值ch1ch2ch3ch4 例 char ch5=B,o,
2、y;ch0Boy00逐個字符賦值ch1ch2ch3ch4 例 char ch5=“Boy”;ch0Boy00用字符串常量ch1ch2ch3ch4 例 char ch6=“Hello”; char ch6=“Hello”; char ch=“Hello”;用字符串常量ch0Helloch1ch2ch3ch40ch5 例 char s20=Good bye; char s20; s=Good bye;char xq4=日,一,二,三,四,五,六;char xq4=“星期日”,“星期一”,“星期二”,“星期三”,“星期四”,“星期五”,“星期六“;星期日星期日星期一星期一星期二星期二星期三星期三星期
3、四星期四星期五星期五星期六星期六xq0 xq1xq2xq3xq4xq5xq6在初始化字符數(shù)組時,可以不指定字符數(shù)組的長度。在初始化字符數(shù)組時,可以不指定字符數(shù)組的長度。char s=G,o,o,d;char t=Good;char s=G,o,o,d;char t=Good;8.1.3用字符指針引用字符串用字符指針引用字符串1:字符指針初始化方式:字符指針初始化方式 char *p=How are you!;2:字符指針賦值方式:字符指針賦值方式 char *p; p=How are you!; printf(%sn,p);例 輸出一個字符串#include main() char c10=I
4、, ,a,m, ,a, ,b,o,y; int i; for(i=0;i10;i+) printf(%c,ci); printf(n);Iamaboy0123456789字符串v字符串及其結束標志l無字符串變量,用字符數(shù)組處理字符串l字符串結束標志:0例 “hello”共5個字符,在內(nèi)存占6個字節(jié) 字符串長度5 h e l l o 0104 101 108 108 111 0內(nèi)存存放字符ASCII碼v字符串的輸入輸出l逐個字符I/O: %cl整個字符串I/O: %s例 用%c main() char str5; int i; for(i=0;i5;i+) scanf(“%c”, &st
5、ri); for(i=0;i5;i+) printf(“%c”, stri);例 用%s main() char str5; scanf(“%s”, str); printf(“%s”, str);用字符數(shù)組名,不要加&輸入串長度數(shù)組維數(shù)遇空格或回車結束自動加0用字符數(shù)組名,遇0結束例 main( ) char a5=H,e,l,l,o; printf(“%s”,a); 例 main( ) char a =“Hello”; printf(“%s”,a); 結果:Hello#-=* h e l l o02314結果:Hello用“%s”輸出時,遇0結束main() char a=h,e,
6、l,0,l,o,0; printf(%s,a);例輸出:hel h e l 0 l o 0數(shù)組中有多個0時,遇第一個結束main() int i; char a5; scanf(%s,a); for(i=0;i5;i+) printf(%d,ai);運行情況:(1)若輸入 hel , 正常(2)若輸入 hell , 正常(3)若輸入 hello , 用%s 輸出時,會出現(xiàn)問題 h e l 0 h e l l 0 h e l l o輸入字符串長度數(shù)組維數(shù)v8.3常用的字符串處理函數(shù)包含在頭文件 string.hu用printf函數(shù)輸出字符串格式:printf(“%s”,字符串引用);其中字符串引
7、用包括字符串常量、字符數(shù)組名或字符指針說明:字符數(shù)組必須以0結束u用scanf函數(shù)輸入字符串格式:scanf(“%s”,字符數(shù)組名)功能:從鍵盤輸入一以空格或回車結束的字符串放入字符數(shù)組中, 并自動加0說明:輸入串長度應小于字符數(shù)組維數(shù) char a20; scanf(%s,a); printf(%sn,a);例 字符串輸入舉例 H o w 0 a r e 0 y o u ? 0 #include main() char a15,b5,c5; scanf(%s%s%s,a,b,c); printf(a=%snb=%snc=%sn,a,b,c); scanf(%s,a); printf(a=%s
8、n,a);運行情況:輸入:How are you?輸出:a=How b=are c=you?輸入:How are you?輸出:a=Howscanf中%s輸入時,遇空格或回車結束運行情況:輸入:How are you?v8.3常用的字符串處理函數(shù)包含在頭文件 string.hu字符串輸出函數(shù)puts格式:puts(字符數(shù)組)功能:向顯示器輸出字符串(輸出完,換行)說明:字符數(shù)組必須以0結束u字符串輸入函數(shù)gets格式:gets(字符數(shù)組)功能:從鍵盤輸入一以回車結束的字符串放入字符數(shù)組中, 并自動加0說明:輸入串長度應小于字符數(shù)組維數(shù)例 #include main( ) char a30; g
9、ets(a); puts(a); 輸入: How are you?輸出: How are you ? 例 #include main( ) char a10=“Hello”; puts(a); char *p=“Hello”; puts(p); u字符串連接函數(shù)strcat格式:strcat(字符數(shù)組1,字符數(shù)組2)功能:把字符數(shù)組2連到字符數(shù)組1后面返值:返回字符數(shù)組1的首地址說明:字符數(shù)組1必須足夠大 連接前,兩串均以0結束;連接后,串1的0取消, 新串最后加0u字符串拷貝函數(shù)strcpy格式:strcpy(字符數(shù)組1,字符串2)功能:將字符串2,拷貝到字符數(shù)組1中去返值:返回字符數(shù)組1的
10、首地址說明:字符數(shù)組1必須足夠大 拷貝時0一同拷貝 不能使用賦值語句為一個字符數(shù)組賦值例 char str120,str220; str1=“Hello!”; () str2=str1; ()v8.3常用的字符串處理函數(shù)包含在頭文件 string.h例 strcpy與strcat舉例#include #include void main() char destination25; char blank = , c= C+, turbo = Turbo; strcpy(destination, turbo); strcat(destination, blank); strcat(destinat
11、ion, c); printf(%sn, destination);Turbo C+TrboC+0123456789u024.Trbo0123456789u024.Trbo00123456789u24.u字符串比較函數(shù)strcmp格式:strcmp(字符串1,字符串2)功能:比較兩個字符串比較規(guī)則:對兩串從左向右逐個字符比較(ASCII碼), 直到遇到不同字符或0為止返值:返回int型整數(shù),a. 若字符串1 字符串2, 返回正整數(shù) c. 若字符串1= 字符串2, 返回零說明:字符串比較不能用“=”,必須用strcmpu字符串長度函數(shù)strlen格式:strlen(字符數(shù)組)功能:計算字符串長度
12、返值:返回字符串實際長度,不包括0在內(nèi)例 對于以下字符串,strlen(s)的值為:(1)char s10=A,0,B,C,0,D;(2)char s =“tv0willn”;(3)char s =“x69082n”; 答案:1 3 1例 8.2 從鍵盤輸入10個字符串存入到一個二維字符數(shù)組中,求出其中的最大者并輸出。 H o w 0 H e l l o 0 H i g h 0 str0str1str2#include #include main() char max20,str1020; int i; for(i=0;i10;i+) gets(stri); strcpy(max,str0);
13、 for(i=1;i0)strcpy(max,stri); printf(nThe largest string is:n%sn,max);u字符串大寫轉小寫函數(shù)strlwr格式:strcmp(字符串引用)printf( strlwr(“ABcdEF”); abcdefu字符串小寫轉大寫函數(shù)strupr格式:strcmp(字符串引用)printf( strupr(“ABcdEF”); ABCDEF#include#includemain() char a100; int i,j; gets(a); i=0; j=strlen(a)-1; while(i=j) printf(是回文。n); el
14、se printf(不是回文。n);system(pause);8.4 字符串處理應用舉例例 輸入一個英文單詞,判斷該單詞是否是回文。要求用字符數(shù)組實現(xiàn)。要求用字符指針實現(xiàn)。#include#includemain() char a100,*p,*q; gets(a); p=a; q=a+strlen(a)-1; while(p=q) printf(是回文。n); else printf(不是回文。n);system(pause);8.4 字符串處理應用舉例例 輸入一個英文單詞,判斷該單詞是否是回文。要求用字符數(shù)組實現(xiàn)。要求用字符指針實現(xiàn)。#include#include#includemai
15、n()char a80; int i,n; printf(請輸入一個字符串n); gets(a); n=strlen(a); for(i=0;i=a&ai=A&ai=Z) ai=Z-(ai-A ); printf(加密之后的字符串為:n); puts(a);system(pause);編程序從鍵盤輸入一行字符,按下述規(guī)則加密之后輸出。若是字母,按如下規(guī)則加密:8.4 字符串處理應用舉例#include#include#includemain() char dx103=零,壹,貳,叁,肆,伍,陸,柒,捌,玖,; int i; for(i=0;i10;i+) printf(%d ,
16、i); puts(dxi); puts(n); system(pause);編程序從鍵盤輸入一位數(shù)字,將其裝換為相應的漢字大寫數(shù)字輸出。8.4 字符串處理應用舉例0123456789零壹貳叁肆伍陸柒捌玖#include#include#includemain() char num20; int count10=0,i,n; printf(請輸入一行數(shù)字請輸入一行數(shù)字n); gets(num); n=strlen(num); for(i=0;in;i+) countnumi-0+; for(i=0;i10;i+) printf( %d 的數(shù)量的數(shù)量 %dn,i,counti); system(p
17、ause);編程序從鍵盤輸入一行數(shù)字字符,試統(tǒng)計出其中每個數(shù)字出現(xiàn)的次數(shù)。8.4 字符串處理應用舉例8.4 字符串處理應用舉例例 輸入一行字符,統(tǒng)計其中有多少個單詞#include main() char str81; int i=0,word=0,len; gets(str); len=strlen(str); while(i=len)if(stri= &stri+1!= ) word+; i+; if(str0= ) word+;printf(“nword=%d”,word); 輸入一字符串給 stri=0 word=0 l=strlen(str)當(i=l)stri=空格空格&stri+1!=空格空格真假word+i=i+1輸出:numstr0=空格真假word+例 8.2 從鍵盤輸入10個字符串存入到一個二維字符數(shù)組中,求出其中的最大者并輸出。 H o w 0 H e l l o 0 H i g h 0 str0str1str2#include #include main() char max20,str1020; int i; for(i=0;i10;i+) gets(stri); strcpy(max,str0); for(i=1;i0)strcpy(max,stri); printf(nThe larg
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經(jīng)權益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
- 6. 下載文件中如有侵權或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 讓課堂充滿生機與活力
- 2025年槍托項目可行性研究報告
- 2025年度航空航天裝備研發(fā)合作合同
- 信用社終止貸款合同范本
- 儲值合同范本
- 保時捷買賣合同范本
- 公司對個人轉讓合同范例
- 優(yōu)信網(wǎng)出租車合同范例
- 交通管制合同范本
- 企業(yè)公司聘用合同范本
- 高中物理《光電效應》
- 烹飪實訓室安全隱患分析報告
- 《金屬加工的基礎》課件
- 運輸行業(yè)春節(jié)安全生產(chǎn)培訓 文明駕駛保平安
- 體驗式沙盤-收獲季節(jié)
- HGE系列電梯安裝調(diào)試手冊(ELS05系統(tǒng)SW00004269,A.4 )
- 找人辦事協(xié)議
- 老年護理陪護培訓課件
- 醬香型白酒工廠設計
- 第3章 環(huán)境感知技術
- 牽引管道孔壁與管道外壁之間注漿技術方案
評論
0/150
提交評論