




版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、字符串第十章回顧上一節(jié)課主要講解了以下內(nèi)容:函數(shù)的結(jié)構(gòu)函數(shù)聲明和函數(shù)原型按值傳遞 / 按地址傳遞函數(shù)的作用域規(guī)則多文件程序中的函數(shù)函數(shù)指針2目標(biāo)解釋字符串變量和常量解釋字符串指針執(zhí)行字符串的輸入/輸出操作解釋各種字符串函數(shù)解釋如何將數(shù)組作為參數(shù)傳遞給函數(shù)講解如何將字符串用作函數(shù)參數(shù)3字符串變量字符串是以空字符(0)結(jié)束的字符數(shù)組可以將字符串常量賦給字符串變量字符串常量是由一對(duì)雙引號(hào)括起來(lái)的字符序列空字符0自動(dòng)添加到字符串的內(nèi)部表示中在聲明字符串變量時(shí),應(yīng)該為這個(gè)空結(jié)束符預(yù)留一個(gè)額外元素的空間4聲明字符串變量典型的字符串變量聲明語(yǔ)句如下所示:char str10;str 是一個(gè)字符數(shù)組變量,它最
2、多可以容納包括空結(jié)束符在內(nèi)的 10 個(gè)字符str0str1str2str3str4str5str6str7str8str95字符串常量字符串常量是由一對(duì)雙引號(hào)括起來(lái)的字符序列字符串中的每個(gè)字符作為一個(gè)數(shù)組元素存儲(chǔ)例如 字符串“welcome”在內(nèi)存中按照如下方式存儲(chǔ):WELLCOME06指向字符串變量的字符指針可以使用字符指針來(lái)存儲(chǔ)和訪問(wèn)字符串 聲明字符指針語(yǔ)法:char* pStr;聲明字符串:char str10=“hello”;使用字符指針指向字符串:pStr=str;可以使用字符指針訪問(wèn)字符串,例如pStr0=a; 該代碼將第一個(gè)字符修改為a7指向字符串常量的字符指針可以聲明字符指針直
3、接指向字符串常量,例如char* pStr=“Welcome”;字符指針pStr將指向字符常量“Welcome”“Welcome”為字符串常量,因此其值不能修改,例如代碼pStr0=h;將引發(fā)一個(gè)錯(cuò)誤Welcome0字符串常量不能改變8字符串 I/O 操作2-1字符串 I/O 操作是通過(guò)函數(shù)來(lái)實(shí)現(xiàn)的,這些函數(shù)是標(biāo)準(zhǔn) I/O 庫(kù) stdio.h 的一部分gets() 函數(shù)是接受通過(guò)標(biāo)準(zhǔn)輸入所獲得的字符串的最簡(jiǎn)單的方法它接受按下回車鍵以前輸入的所有字符gets() 函數(shù)用“0”字符替換末尾的換行符“n”語(yǔ)法:gets(str);9字符串 I/O 操作2-2puts() 函數(shù)用于在標(biāo)準(zhǔn)輸出設(shè)備上顯示
4、字符串語(yǔ)法:puts(str);scanf() 和 printf() 函數(shù)用于使用一條語(yǔ)句來(lái)接受并顯示混合數(shù)據(jù)類型接受字符串的語(yǔ)法如下所示:scanf(%s, str);顯示字符串的語(yǔ)法如下所示:printf(%s, str); 10字符串函數(shù)處理字符串的函數(shù)可以在標(biāo)準(zhǔn)頭文件 string.h 中找到。下面列舉了這些函數(shù)執(zhí)行的一些操作: 連接字符串 比較字符串 在字符串中查找一個(gè)字符 將一個(gè)字符串復(fù)制到另一個(gè)字符串中 計(jì)算字符串的長(zhǎng)度11strcat() 函數(shù)將兩個(gè)字符串連接成一個(gè)字符串語(yǔ)法:strcat(str1, str2);將 str2 接到 str1 的末尾函數(shù)返回 str112str
5、cmp() 函數(shù)比較兩個(gè)字符串并根據(jù)比較的結(jié)果返回一個(gè)整數(shù)值語(yǔ)法:strcmp(str1, str2);函數(shù)返回值的情況如下: 如果 str1str2,則返回值大于零13strchr() 函數(shù)判斷某個(gè)字符是否在字符串中出現(xiàn)語(yǔ)法:strchr(str, chr);該函數(shù)返回值的情況如下:如果該字符在字符串中出現(xiàn),將返回對(duì)應(yīng)這個(gè)字符(由 chr 所指向的)在字符串 str 中第一次出現(xiàn)的指針如果未出現(xiàn),則返回 NULL14strcpy() 函數(shù)將一個(gè)字符串中的值復(fù)制到另一個(gè)字符串中語(yǔ)法:strcpy(str1, str2);str2 的值被復(fù)制到 str1 中函數(shù)返回 str115strlen()
6、 函數(shù)確定字符串的長(zhǎng)度語(yǔ)法:strlen(str);該函數(shù)返回一個(gè)表示 str 的長(zhǎng)度的整數(shù)值16將數(shù)組傳遞給函數(shù) 3- 1當(dāng)數(shù)組被當(dāng)作參數(shù)傳遞給函數(shù)時(shí),傳遞的只是該數(shù)組的地址不帶下標(biāo)的數(shù)組名引用的是該數(shù)組的地址void main()int ary10;.fn_ary(ary);.17將數(shù)組傳遞給函數(shù) 3- 2#includevoid main() int num5, ctr, sum=0; int sum_arr(int num_arr); /* Function declaration */ clrscr(); for(ctr=0;ctr5;ctr+) /* Accepts numbers
7、 into the array */printf( nEnter number %d: , ctr+1);scanf(%d, &numctr);聲明數(shù)組以及其他變量18將數(shù)組傳遞給函數(shù) 3- 3sum=sum_arr(num); /* Invokes the function */printf(“nThe sum of the array is %d, sum);int sum_arr(int num_arr) /* Function definition */int i, total;for(i=0,total=0;i5;i+) /* Calculates the sum */total+=
8、num_arri;return total; /* Returns the sum to main() */函數(shù)定義注意函數(shù)參數(shù)的定義函數(shù)調(diào)用注意函數(shù)參數(shù)的傳遞19運(yùn)行程序演示運(yùn)行上述程序,并且解釋如何將數(shù)組傳遞給函數(shù)20將字符串傳遞給函數(shù)的示例3 - 1#include #include void main() char lines520; int ctr, longctr=0; int longest(char lines_arr20); /* Function declaration */for(ctr=0;ctr5;ctr+) /* Accepts string values into
9、 the array */printf( nEnter string %d: , ctr+1);scanf(%s, linesctr);字符串?dāng)?shù)組21將字符串傳遞給函數(shù)的示例 3- 2 longctr=longest(lines); /* Passes the array to the function */printf( nThe longest string is %s , lineslongctr);getch();int longest(char lines_arr20) /* Function definition */int i=0, l_ctr=0, prev_len, new_len;prev_len=strlen(lines_arri); /* Determines the length of the first element */函數(shù)調(diào)用,注意函數(shù)參數(shù)的傳遞函數(shù)定義注意函數(shù)參數(shù)的定義22將字符串傳遞給函數(shù)的示例 3- 3 for(i+;iprev_len)l_ctr=i; /* Stores the subscript of the longer string */prev_len=new_len;return l_ctr;/* Returns
溫馨提示
- 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 【正版授權(quán)】 ISO/IEC 19788-1:2024 FR Information technology for learning,education and training - Metadata for learning resources - Part 1: Framework
- 【正版授權(quán)】 ISO 26304:2025 EN Welding consumables - Solid wire electrodes,tubular cored electrodes and electrode-flux combinations for submerged arc welding of high strength steels - C
- 【正版授權(quán)】 IEC 62087-6:2015 RU Audio,video,and related equipment - Determination of power consumption - Part 6: Audio equipment
- 【正版授權(quán)】 IEC 60099-4:1991+AMD1:1998+AMD2:2001 CSV FR-D Surge arresters - Part 4: Metal-oxide surge arresters without gaps for a.c. systems
- 環(huán)衛(wèi)掃路車操作教程
- 2025年秋新人教版部編本五班級(jí)上冊(cè)語(yǔ)文教學(xué)工作方案附教學(xué)進(jìn)度支配表
- 2025年新冠疫情防控工作方案匯報(bào)
- 公文寫(xiě)作和信息宣傳培訓(xùn)
- 學(xué)齡前兒童教育
- 2025年學(xué)年學(xué)校工作的方案
- 全宋詞目錄完整版本
- 中藥房中藥斗譜編排規(guī)則和斗譜圖
- 支付寶解除賬戶支付申請(qǐng)書(shū)
- TY/T 1105-2023群眾體育賽事活動(dòng)安全評(píng)估技術(shù)導(dǎo)則
- 桂林電子科技大學(xué)國(guó)防科技泄密事件報(bào)告表
- 單原子催化劑
- 半自動(dòng)打包機(jī)維修手冊(cè)
- 特許經(jīng)營(yíng)管理手冊(cè)范本(餐飲)
- 手術(shù)室護(hù)理實(shí)踐指南之術(shù)中保溫(手術(shù)科培訓(xùn)課件)術(shù)中低體溫的預(yù)防
- 市場(chǎng)管理能力筆試測(cè)試題
- 學(xué)習(xí)探究診斷 化學(xué) 必修二
評(píng)論
0/150
提交評(píng)論