第 8 章 字符與字符串g.ppt_第1頁
第 8 章 字符與字符串g.ppt_第2頁
第 8 章 字符與字符串g.ppt_第3頁
第 8 章 字符與字符串g.ppt_第4頁
第 8 章 字符與字符串g.ppt_第5頁
已閱讀5頁,還剩9頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

1、第 8 章 字符與字符串,指針與字符串 字符串表示形式 用字符數(shù)組實現(xiàn),例 main( ) char string=“I love China!”; printf(“%sn”,string); printf(“%sn”,string+7); ,用字符指針實現(xiàn),例 main( ) char *string=“I love China!”; printf(“%sn”,string); string+=7; while(*string) putchar(string0); string+; ,字符指針初始化:把字符串首地址賦給string char *string; string=“I love C

2、hina!”;,*string!=0,字符指針變量與字符數(shù)組 char *cp; 與 char str20; str由若干元素組成,每個元素放一個字符;而cp中存放字符串首地址 char str20; str=“I love China!”; () char *cp; cp=“I love China!”; () str是地址常量;cp是地址變量 cp接受鍵入字符串時,必須先開辟存儲空間,例 char str10; scanf(“%s”,str); () 而 char *cp; scanf(“%s”, cp); (),改為: char *cp,str10; cp=str; scanf(“%s”

3、,cp); (),字符串與數(shù)組關(guān)系 字符串用一維字符數(shù)組存放 字符數(shù)組具有一維數(shù)組的所有特點 數(shù)組名是指向數(shù)組首地址的地址常量 數(shù)組元素的引用方法可用指針法和下標(biāo)法 數(shù)組名作函數(shù)參數(shù)是地址傳遞等 區(qū)別 存儲格式:字符串結(jié)束標(biāo)志 賦值方式與初始化 輸入輸出方式:%s %c,char str=“Hello!”; () char str=“Hello!”; () char str=H,e,l,l,o,!; () char *cp=“Hello”; () int a=1,2,3,4,5; () int *p=1,2,3,4,5; (),char str10,*cp; int a10,*p; str=“

4、Hello”; () cp=“Hello!”; () a=1,2,3,4,5; () p=1,2,3,4,5; (),scanf(“%s”,str); printf(“%s”,str); gets(str); puts(str);,字符指針: char *p; p=“I am a student.”; 定義字符數(shù)組時,在編譯時為數(shù)組分配內(nèi)存。而定義一個指向字符的指針變量,則只分配一個存放指針變量的內(nèi)存,指針變量“必須初始化后才能使用”。 char str10; scanf(“%s”,str); char *p; scanf(“%s”,p);,char *p; p=(char*)malloc(2

5、0); scanf(“%s”,p); free(p);,stdlib.h,函數(shù)庫為ctype.h int isalpha(int ch) 若ch是字母(A-Z,a-z)返回非0值,否則返回0 int isalnum(int ch) 若ch是字母(A-Z,a-z)或數(shù)字(0-9) 返回非0值,否則返回0 int isascii(int ch) 若ch是字符(ASCII碼中的0-127)返回非0值,否則返回0 int iscntrl(int ch) 若ch是作廢字符(0 x7F)或普通控制字符(0 x00-0 x1F) 返回非0值,否則返回0 int isdigit(int ch) 若ch是數(shù)字(

6、0-9)返回非0值,否則返回0 int isgraph(int ch) 若ch是可打印字符(不含空格)(0 x21-0 x7E)返回非0值,否則返回0 int islower(int ch) 若ch是小寫字母(a-z)返回非0值,否則返回0 int isprint(int ch) 若ch是可打印字符(含空格)(0 x20-0 x7E)返回非0值,否則返回0 int ispunct(int ch) 若ch是標(biāo)點字符(0 x00-0 x1F)返回非0值,否則返回0 int isspace(int ch) 若ch是空格( ),水平制表符(t),回車符(r), 走紙換行(f),垂直制表符(v),換行符

7、(n) 返回非0值,否則返回0 int isupper(int ch) 若ch是大寫字母(A-Z)返回非0值,否則返回0 int isxdigit(int ch) 若ch是16進制數(shù)(0-9,A-F,a-f)返回非0值, 否則返回0 int tolower(int ch) 若ch是大寫字母(A-Z)返回相應(yīng)的小寫字母(a-z) int toupper(int ch) 若ch是小寫字母(a-z)返回相應(yīng)的大寫字母(A-Z),函數(shù)庫為stdlib.h double atof(char *nptr) 將字符串nptr轉(zhuǎn)換成浮點數(shù)并返回這個浮點數(shù) int atoi(char *nptr) 將字符串np

8、tr轉(zhuǎn)換成整數(shù)并返回這個整數(shù) long atol(char *nptr) 將字符串nptr轉(zhuǎn)換成長整數(shù)并返回這個整數(shù) char *ultoa(unsigned long value,char *string,int radix) 將無符號整型數(shù)value轉(zhuǎn)換成字符串并返回該字符串,radix為轉(zhuǎn)換時所用基數(shù) char *ltoa(long value,char *string,int radix) 將長整型數(shù)value轉(zhuǎn)換成字符串并返回該字符串,radix為轉(zhuǎn)換時所用基數(shù) char *itoa(int value,char *string,int radix) 將整數(shù)value轉(zhuǎn)換成字符串存入

9、string,radix為轉(zhuǎn)換時所用基數(shù) int system(char *command) 將MSDOS命令command傳遞給DOS執(zhí)行,str字符串操作函數(shù) char stpcpy(char *dest,const char *src) 將字符串src復(fù)制到dest char strcat(char *dest,const char *src) 將字符串src添加到dest末尾 char strchr(const char *s,int c) 檢索并返回字符c在字符串s中第一次出現(xiàn)的位置 int strcmp(const char *s1,const char *s2) 比較字符串s1與

10、s2的大小,并返回s1-s2 char strcpy(char *dest,const char *src) 將字符串src復(fù)制到des,例: 建立給定范圍的子目錄 #include stdio.h #include stdlib.h #include string.h main() char s110,s210,s20; int beg,end,i; puts(begin:); gets(s1); puts(end:); gets(s2); beg=atol(s1); end=atol(s2); for(i=beg;i=end;i+) strcpy(s,md ); ltoa(i,s1,10)

11、; strcat(s,s1); system(s); ,/*編程題 請編一個函數(shù)int fun(* char ss),它的功能是:把ss字 符串中的字符按逆序存放。例如:若輸入字符串為ABCDE FG,則逆置后的字符串為GFEDCBA。請勿改動主函數(shù) main和其它函數(shù)中的任何內(nèi)容,僅在函數(shù)fun的花括號中填入 你編寫的若干語句。*/ #include #include #include int fun(char p) void main() char s80; printf(nPlease enter a string:); gets(s); fun(s); printf(nThe new string is:); puts(s); getch(); ,int fun(char p) int n,i,j; char c; n=strlen(p); for(i=n-1,j=0;ij;i-

溫馨提示

  • 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)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論