![c程序設計課件15周.字符串_第1頁](http://file4.renrendoc.com/view/402257a4605e47793f975667c79d83c5/402257a4605e47793f975667c79d83c51.gif)
![c程序設計課件15周.字符串_第2頁](http://file4.renrendoc.com/view/402257a4605e47793f975667c79d83c5/402257a4605e47793f975667c79d83c52.gif)
![c程序設計課件15周.字符串_第3頁](http://file4.renrendoc.com/view/402257a4605e47793f975667c79d83c5/402257a4605e47793f975667c79d83c53.gif)
![c程序設計課件15周.字符串_第4頁](http://file4.renrendoc.com/view/402257a4605e47793f975667c79d83c5/402257a4605e47793f975667c79d83c54.gif)
![c程序設計課件15周.字符串_第5頁](http://file4.renrendoc.com/view/402257a4605e47793f975667c79d83c5/402257a4605e47793f975667c79d83c55.gif)
版權說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權,請進行舉報或認領
文檔簡介
1、字符串計算機程序設計I主要內(nèi)容字符數(shù)組及字符串123字符串處理函數(shù)指針引用字符串1 字符數(shù)組字符數(shù)組定義:用來存放字符數(shù)據(jù)的數(shù)組。字符數(shù)組中的一個元素存放一個字符。char c10;c0=I; c1= ;c2=a; c3=m;c4= ; c5=h; c6=a; c7=p; c8=p; c9=y;Iam happyc0c1c2c3c4c5c6c7c8c91 字符數(shù)組char c10=I, ,a, m, , h, a, p, p, y; char c10=c, ,p,r,o,g,r,a,m;Iam happyc0c1c2c3c4c5c6c7c8c9cpro gram0c0c1c2c3c4c5c6c
2、7c8c91 字符數(shù)組二維字符數(shù)組初始化:char diamond55= , , *, , *, , *,*, , , , *, , *, , *, , , * ;例6.6 輸出一個已知的字符串。解題思路:定義一個字符數(shù)組,并用“初始化列表”對其賦以初值用循環(huán)逐個輸出此字符數(shù)組中的字符1 字符數(shù)組#include int main() char c15=I, ,a,m, ,a, ,s,t,u,d,e,n,t,.; int i; for(i=0;i15;i+) printf(%c,ci); printf(n); return 0; 1 字符數(shù)組在C語言中,是將字符串作為字符數(shù)組來處理的。為了測定
3、字符串的實際長度,C語言規(guī)定了字符串結(jié)束標志0。 0代表ASCII碼為0的字符,不是一個可以顯示的字符,使一個“空操作符” 。僅起一個供辨別的標志字符串結(jié)束標志。1 字符數(shù)組char c=”I am happy”;可寫成char c=”I am happy”;相當于char c11=”I am happy”;char c10=”China”;可寫成char c10=”China”;從c5開始,元素值均為0printf(”%s”,c);China 00000只顯示1 字符數(shù)組字符數(shù)組的輸入輸出可以有兩種方法: 逐個字符輸入輸出(%c) 整個字符串一次輸入輸出(%s)輸出的字符中不包括結(jié)束符0。用
4、%s輸出字符串時,printf函數(shù)中的輸出項是字符數(shù)組名。char c=“China”; printf(“%sn”,c);如果一個字符數(shù)組中包含多個0,則遇第一個0時輸出就結(jié)束。1 字符數(shù)組char c6;scanf(“%s”,c); China系統(tǒng)自動在China后面加一個0可以用scanf輸入字符串,如果輸入多個字符串,則輸入時以空格隔開。char str15,str25,str35;scanf(”%s%s%s”,str1,str2,str3);How are you? How00str1are00str2you?0str3數(shù)組名前不加地址符號&,因為數(shù)組名代表數(shù)組的起始地址2 字符串處理
5、函數(shù)在C函數(shù)庫中提供了一些用來專門處理字符串的函數(shù):1.puts函數(shù)-輸出字符串的函數(shù)(對比:putchar函數(shù)輸出單個字符)其一般形式為: puts(字符數(shù)組)作用是將一個字符串輸出到終端,可以包含轉(zhuǎn)義字符。char str20=“China”;puts(str); 輸出China2 字符串處理函數(shù)在C函數(shù)庫中提供了一些用來專門處理字符串的函數(shù):2. gets函數(shù)-輸入字符串的函數(shù)(對比getchar()讀入單個字符)其一般形式為: gets(字符數(shù)組)作用是輸入一個字符串到字符數(shù)組char str20;gets(str); Computer2 字符串處理函數(shù)在C函數(shù)庫中提供了一些用來專門處
6、理字符串的函數(shù):3. strcat函數(shù)-字符串連接函數(shù)其一般形式為: strcat(字符數(shù)組1,字符數(shù)組2)其作用是把兩個字符串連接起來,把字符串2接到字符串1的后面,結(jié)果放在字符數(shù)組1中使用字符串函數(shù)時,在程序開頭用#include 2 字符串處理函數(shù)在C函數(shù)庫中提供了一些用來專門處理字符串的函數(shù):3. strcat函數(shù)-字符串連接函數(shù) char str130=”People”; char str2=”China”; printf(”%s”, strcat(str1,str2); 輸出:PeopleChina要足夠大2 字符串處理函數(shù)在C函數(shù)庫中提供了一些用來專門處理字符串的函數(shù):4. st
7、rcpy和strncpy函數(shù)-字符串復制strcpy一般形式為: strcpy(字符數(shù)組1,字符串2)作用是將字符串2復制到字符數(shù)組1中去char str110,str2=”China”;strcpy(str1,str2);China 00000str1要足夠大2 字符串處理函數(shù)在C函數(shù)庫中提供了一些用來專門處理字符串的函數(shù):5. strcmp函數(shù)-字符串比較函數(shù)其一般形式為: strcmp(字符串1,字符串2)作用是比較字符串1和字符串2字符串比較的規(guī)則是:將兩個字符串自左至右逐個字符相比,直到出現(xiàn)不同的字符或遇到0為止如全部字符相同,認為兩個字符串相等若出現(xiàn)不相同的字符,則以第一對不相同的
8、字符的比較結(jié)果為準.2 字符串處理函數(shù)在C函數(shù)庫中提供了一些用來專門處理字符串的函數(shù):5. strcmp函數(shù)-字符串比較函數(shù)如果字符串1=字符串2,則函數(shù)值為0如果字符串1字符串2,則函數(shù)值為一個正整數(shù)如果字符串1str2) printf(”yes”); 錯誤if(strcmp(str1,str2)0) printf(”yes”); 正確2 字符串處理函數(shù)在C函數(shù)庫中提供了一些用來專門處理字符串的函數(shù):6. strlen函數(shù)-測字符串長度的函數(shù)其一般形式為:strlen (字符數(shù)組)它是測試字符串長度的函數(shù)函數(shù)的值為字符串中的實際長度 char str10=”China”;printf(”%d
9、”,strlen(str);輸出結(jié)果是5也可以直接測試字符串常量的長度: strlen(”China”);3 通過指針引用字符串字符串是存放在字符數(shù)組中的。兩種方法引用:(1) 用字符數(shù)組存放一個字符串,可以通過數(shù)組名和格式聲明“%s”輸出該字符串,也可以通過數(shù)組名和下標引用字符串中一個字符。(2) 用字符指針變量指向一個字符串常量,通過字符指針變量引用字符串常量。3 通過指針引用字符串 例8.16 定義一個字符數(shù)組,在其中存放字符串“I love China!”,輸出該字符串和第8個字符。#include int main() char string=“I love China!”; pri
10、ntf(“%sn”,string); printf(“%cn”,string7); return 0;stringstring+73 通過指針引用字符串 例8.17 通過字符指針變量輸出一個字符串。 解題思路:可以不定義字符數(shù)組,只定義一個字符指針變量,用它指向字符串常量中的字符。通過字符指針變量輸出該字符串。3 通過指針引用字符串#include int main() char *string=“I love China!”; printf(“%sn”,string); return 0;stringchar *string; string=” I love China!”; 3 通過指針引
11、用字符串#include int main() char *string=“I love China!”; printf(“%sn”,string); string=”I am a student.”; printf(“%sn”,string); return 0;string3 通過指針引用字符串用字符數(shù)組和字符指針變量處理字符串區(qū)別:(1) 字符數(shù)組由若干個元素組成,每個元素中放一個字符,而字符指針變量中存放的是地址(字符串第1個字符的地址)。 (2) 賦值方式??梢詫ψ址羔樧兞抠x值,但不能對數(shù)組名賦值。char *a; a=”I love China!”; 對char str14;st
12、r0=I; 對char str14; str=”I love China!”; 錯3 通過指針引用字符串(3)初始化的含義char *a=”I love China!”;與char *a; a=”I love China!”;等價char str14= ”I love China!”;與char str14; str=”I love China!”; 不等價,這樣寫是錯誤的,應該寫成:char str=”I love China!”(4) 存儲單元的內(nèi)容 編譯時為字符數(shù)組分配若干存儲單元,以存放各元素的值,而對字符指針變量,只分配一個存儲單元3 通過指針引用字符串char *a; scanf(“%s”,a); 錯 char *a,str10; 重要:在定義指針變量后,及時指定其指向(5) 指針變量的值是可以改變的,而數(shù)組名代表一個固定的值(數(shù)組首元素的地址),不能改變。(6) 字符數(shù)組中各元素的值是可以改變的,但字符指針變量指向的字符串常量中的內(nèi)容是不可以被取代的。char a=”House”,*b=” House”;a2=r; b2=r; a=str; scan
溫馨提示
- 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. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 紅領巾三星章個人事跡(15篇)
- 深度解析AI智能家居安全系統(tǒng)的技術突破
- 智研咨詢發(fā)布-2025年社交媒體行業(yè)現(xiàn)狀、發(fā)展環(huán)境及深度分析報告
- 2025年中國航空裝備行業(yè)市場運行態(tài)勢、市場規(guī)模及發(fā)展趨勢研究報告
- 2025年度化工原料罐車運輸及環(huán)保處理合同
- 現(xiàn)代服務業(yè)的創(chuàng)新生態(tài)圈構建
- 消防安全公開課觀后感4篇
- 紅領巾獎章個人二星章事跡材料
- 2025年度中小企業(yè)周轉(zhuǎn)資金借款合同模板 - 副本
- 2025年度房地產(chǎn)項目合作合同補充協(xié)議范本
- GB/T 5782-2016六角頭螺栓
- 科技計劃項目申報培訓
- 591食堂不合格食品處置制度
- 產(chǎn)業(yè)鏈鏈長分工表
- 國際金融課件(完整版)
- 導向標識系統(tǒng)設計(一)課件
- 220t鍋爐課程設計 李學玉
- 全英文劇本 《劇院魅影》
- 北京城的中軸線PPT通用課件
- 黑布林繪本 Dad-for-Sale 出售爸爸課件
- 京東方頂崗實習報告1
評論
0/150
提交評論