C語言程序設(shè)計(jì)第十章課件.ppt_第1頁
C語言程序設(shè)計(jì)第十章課件.ppt_第2頁
C語言程序設(shè)計(jì)第十章課件.ppt_第3頁
C語言程序設(shè)計(jì)第十章課件.ppt_第4頁
C語言程序設(shè)計(jì)第十章課件.ppt_第5頁
免費(fèi)預(yù)覽已結(jié)束,剩余32頁可下載查看

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡介

1、第10章 字符串,哈爾濱工業(yè)大學(xué) 計(jì)算機(jī)科學(xué)與技術(shù)學(xué)院 蘇小紅,本章學(xué)習(xí)內(nèi)容, 字符串常量 字符串處理函數(shù) 字符數(shù)組和字符指針 向函數(shù)傳遞字符串 從函數(shù)返回一個(gè)字符串指針,10.1字符串常量,10.2字符串的存儲(chǔ),C語言并沒有為字符串提供任何專門的表示法,完全使用字符數(shù)組和字符指針來處理 字符數(shù)組 每個(gè)元素都是字符類型的數(shù)組 char str80;,數(shù)組的最后一個(gè)元素必須是0,字符數(shù)組的初始化,用字符型數(shù)據(jù)對數(shù)組進(jìn)行初始化 char str6 = C,h,i,n,a,0; 用字符串常量直接對數(shù)組初始化 char str6 = China; char str6 = China;,10.3字符指針

2、,C語言并沒有為字符串提供任何專門的表示法,完全使用字符數(shù)組和字符指針來處理,字符串是一串用雙引號(hào)引起來的字符,字符數(shù)組就是每個(gè)元素都是字符型的數(shù)組,字符指針就是指向字符類型數(shù)據(jù)的指針,Hello China,pStr,數(shù)組最后一個(gè)元素必須是0才表示字符串,10.3字符指針,定義和初始化方法不同,str = Hello China;,Hello China,pStr,char str12 = Hello China;,char *pStr; pStr = Hello China;,str,Why?,數(shù)組名str是地址常量,字符指針pStr是變量,10.3字符指針,定義和初始化方法不同,char

3、 *pStr = Hello China;,Hello China,pStr,char str12 = Hello China;,char *pStr; pStr = Hello China;,str,pStr = ,按字符逐個(gè)輸入/輸出,for (i=0; stri!=0; i+) putchar(stri); putchar(n);,char str10;,10.4字符串的訪問和輸入/輸出,按字符串整體輸入/輸出,scanf(%s,str); printf(%s,str);,char str10;,10.4字符串的訪問和輸入/輸出,gets(str); puts(str);,scanf(%

4、s,str); printf(%s,str);,char str10;,10.4字符串的訪問和輸入/輸出,gets(str); puts(str);,按字符串整體輸入/輸出,10.4字符串的訪問和輸入/輸出,【例10.1】從鍵盤輸入一個(gè)人名,把它顯示在屏幕上,Why?,10.4字符串的訪問和輸入/輸出,【例10.1】從鍵盤輸入一個(gè)人名,把它顯示在屏幕上,10.4字符串的訪問和輸入/輸出,【例10.2】使用函數(shù)gets( ),從鍵盤輸入一個(gè)帶有空格的人名,然后把它顯示在屏幕上,10.4字符串的訪問和輸入/輸出,【例10.2】使用函數(shù)gets( ),從鍵盤輸入一個(gè)帶有空格的人名,然后把它顯示在屏幕

5、上,10.4字符串的訪問和輸入/輸出,【例10.2】使用函數(shù)gets( ),從鍵盤輸入一個(gè)帶有空格的人名,然后把它顯示在屏幕上,10.4字符串的訪問和輸入/輸出,【例10.3】從鍵盤輸入一個(gè)帶有空格的人名,然后在顯示人名的前面顯示Hello, I said to,10.4字符串的訪問和輸入/輸出,【例10.3】從鍵盤輸入一個(gè)帶有空格的人名,然后在顯示人名的前面顯示Hello, I said to,10.5字符串處理函數(shù),#include ,strcpy(目的字符串,源字符串);,string copy,strlen(字符串);,string length,strcat(目的字符串,源字符串);

6、,string combination,strcmp(字符串1,字符串2);,string comparison,計(jì)算字符串長度,#include ,strlen(字符串);,string length,char str10 = China; printf(%d, strlen(str); 打印結(jié)果是 5、6,還是10?,計(jì)算字符串長度,#include ,strlen(字符串);,string length,len = strlen(str); for (i=0; ilen; i+) putchar(stri); putchar(n);,字符串復(fù)制,#include ,strcpy(目的字符

7、串,源字符串);,string copy,字符串能否用=整體復(fù)制? str2 = str1;,strcpy(str2, str1);,字符串復(fù)制,#include ,strcpy(目的字符串,源字符串);,string copy,字符串能否用=整體復(fù)制? str2 = str1;,strcpy(str2, str1);,字符串連接,#include ,strcat(目的字符串,源字符串);,string combination,strcat(str2, str1);,字符串比較,#include ,strcmp(字符串1,字符串2);,string comparison,字符串能否用、=比較大

8、??? if (str2 = str1),if (strcmp(str2, str1) = 0),字符串比較,#include ,strcmp(字符串1,字符串2);,string comparison,字符串是如何比較大小的?,compare computer,compare computer 表示 strcmp(str1, str2) 0為真,【例10.4】按奧運(yùn)會(huì)參賽國國名在字典中的順序?qū)ζ淙雸龃涡蜻M(jìn)行排序,【例10.4】按奧運(yùn)會(huì)參賽國國名在字典中的順序?qū)ζ淙雸龃涡蜻M(jìn)行排序,10.5字符串處理函數(shù),10.6向函數(shù)傳遞字符串,向函數(shù)傳遞字符串時(shí),既可使用字符數(shù)組作函數(shù)參數(shù),也可使用字符指針作

9、函數(shù)參數(shù) 傳地址調(diào)用,例10.5 :字符串復(fù)制 用字符數(shù)組編程,void MyStrcpy(char dstStr, char srcStr) int i = 0; while (srcStri != 0) dstStri = srcStri; i+; dstStri = 0; ,srcStri,dstStri,H,i=0,e,i=1,l,i=2,l,i=3,o,i=4,i=5,C,i=6,h,i=7,i,i=8,n,i=9,a,i=10,0,srcStri=0,void MyStrcpy(char *dstStr, char *srcStr) while (*srcStr != 0) *ds

10、tStr = *srcStr; srcStr+; dstStr+; *dstStr = 0; ,例10.5 :字符串復(fù)制 用字符指針編程,*srcStr,*dstStr,H,e,l,l,o,C,h,i,n,a,0,*srcStr=0,srcStr+,dstStr+,例10.6 :計(jì)算實(shí)際字符個(gè)數(shù),unsigned int MyStrlen(const char str) int i; unsigned int len = 0; for (i=0; stri!=0; i+) len+; return (len); ,unsigned int MyStrlen(const char *pStr) unsigned int len = 0; for (; *pStr!=0; pStr+) len+; return (len); ,方法2:用字符指針實(shí)現(xiàn),方法1:用字符

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲(chǔ)空間,僅對用戶上傳內(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)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

最新文檔

評論

0/150

提交評論