C語言程序設(shè)計立體化教程課件:字符數(shù)組_第1頁
C語言程序設(shè)計立體化教程課件:字符數(shù)組_第2頁
C語言程序設(shè)計立體化教程課件:字符數(shù)組_第3頁
C語言程序設(shè)計立體化教程課件:字符數(shù)組_第4頁
C語言程序設(shè)計立體化教程課件:字符數(shù)組_第5頁
已閱讀5頁,還剩14頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

簡易的通訊錄管理字符數(shù)組一維字符數(shù)組的定義1.一維字符數(shù)組的定義例如:charc[10];意思是定義一個字符數(shù)組c,它有10個元素。字符數(shù)組的初始化(1)定義時逐個字符給數(shù)組中各元素。charc[5]={‘c’,’h’,’i’,’n’,’a’};china\0china\0\0\0\0\0(2)可省略數(shù)組長度。charc[]={‘c’,’h’,’i’,’n’,’a’};系統(tǒng)根據(jù)初值個數(shù)確定數(shù)組的長度,數(shù)組c的長度自動為5。(3)字符數(shù)組可以用字符串來初始化。

charc[6]=”china”;charc[10]={“china”};/*花括號可以省略*/

引用

(1)“%s”格式輸入時,遇空格或回車結(jié)束,但獲得的字符中不包含回車及空格本身,而是在字符串末尾添’\0’。方法一:用%c格式符逐個輸入輸出。例如:charc[6];for(i=0;i<6;i++){scanf(“%c”,&c[i]);printf(“%c”,c[i]);}方法二:用%s格式符進(jìn)行字符串輸入輸出。例如:charc[6];scanf(“%s”,c);printf(“%s”,c);

舉例

三個同學(xué)姓名的輸入輸出。程序如下:#include"stdio.h"main(){charname1[10],name2[10],name3[10];printf("請輸入姓名:\n");scanf("%s%s%s",name1,name2,name3);printf("輸出的姓名為:\n");printf("%s,%s,%s\n",name1,name2,name3);}

程序的運行結(jié)果表明:%s輸入時,空格或回車表示輸入的分隔符

字符串處理函數(shù)

(1)輸入字符串函數(shù)——gets()格式:gets(字符數(shù)組名)

例如:chars[12];gets(s);功能:從鍵盤輸入1個字符串。允許輸入空格,而是以回車作為輸入結(jié)束。將上例修改為gets()輸入:#include"stdio.h"main(){charname1[10],name2[10],name3[10];printf("請輸入姓名:\n");gets(name1);gets(name2);gets(name3);printf("輸出的姓名為:\n");printf("%s,%s,%s\n",name1,name2,name3);}

字符串處理函數(shù)

(2)輸出字符串函數(shù)——puts()格式:puts(字符數(shù)組名)

例如:chars[12]=“hangzhou”;puts(s);功能:輸出1個字符串在屏幕上。將上例修改為puts()輸出:#include"stdio.h"main(){charname1[10],name2[10],name3[10];printf("請輸入姓名:\n");gets(name1);gets(name2);gets(name3);printf("輸出的姓名為:\n");puts(name1);puts(name2);puts(name3);}上面兩個函數(shù)的使用仍然是需要“stdio.h”包含,接下介紹的字符串函數(shù),我們應(yīng)使用包含頭文件“string.h”

串連接函數(shù)(strcat)

(1)格式:strcat(字符數(shù)組名1,字符數(shù)組名2);(2)功能:把字符數(shù)組2中的字符串(連同尾部的’\0’)連接到字符數(shù)組1中字符串的后面,并刪去字符串1后的串結(jié)束標(biāo)志’\0’

。本函數(shù)返回值是字符數(shù)組1的首地址。(3)說明:字符數(shù)組1必須足夠大。

舉例

#include"string.h"voidmain(){charst1[30]="Mynameis";charst2[10];printf("請輸入姓名:\n");gets(st2);

strcat(st1,st2);puts(st1);}寫出下面程序的運行情況。

程序運行情況輸入Zhangyi↙時,輸出結(jié)果是什么?MynameisZhangyi輸出結(jié)果:

串拷貝函數(shù)(strcpy)

(1)格式:strcpy(字符數(shù)組名1,字符數(shù)組名2);(2)功能:把字符數(shù)組2中的字符串拷貝到字符數(shù)組1中。串結(jié)束標(biāo)志“\0”也一同拷貝。

舉例

寫出下面程序的運行情況。輸出結(jié)果:#include"string.h"voidmain(){charst1[15],st2[]="CLanguage";

strcpy(st1,st2);puts(st1);}CLanguage

說明

(3)說明:①字符數(shù)組1必須寫成數(shù)組名形式,字符數(shù)組2可以是數(shù)組名形式也可以是字符串常量。

②不能用賦值語句將一個字符串常量或字符數(shù)組直接賦給一個字符數(shù)組。例如:charstr1[20],str2[]=“program”;

str1=“program”;str1=str2;

串比較函數(shù)(strcmp)

(1)格式:strcmp(字符數(shù)組名1,字符數(shù)組名2);(2)功能:按照ASCII碼順序(即字典順序)比較兩個數(shù)組中的字符串,并由函數(shù)返回值返回比較結(jié)果。

字符串1=字符串2,返回值=0;字符串1>字符串2,返回值>0;字符串1<字符串2,返回值<0。(3)說明:不能用比較運算符直接比較兩個字符串。錯誤的用法例如:charstr1[]=“progress”,str2[]=“program”;

if(str1!=str2)……

舉例

寫出下面程序的運行情況。輸出結(jié)果:#include"string.h"voidmain(){intk;charst1[15],st2[]="CLanguage";printf("請輸入一個字符串:\n");gets(st1);k=strcmp(st1,st2);if(k==0)printf("%s與%s相等。\n",st1,st2);if(k>0)printf("%s大于%s。\n",st1,st2);if(k<0)printf("%s小于%s。\n",st1,st2);}CLang小于CLanguage。

程序運行情況輸入CLang↙時,輸出結(jié)果是什么?

測串長度函數(shù)(strlen)

(1)格式:strlen(字符數(shù)組名);(2)功能:測字符串的實際長度(不含字符串結(jié)束標(biāo)志‘\0’),并作為函數(shù)返回值。

舉例

寫出下面程序的運行情況。輸出結(jié)果:#include"string.h"voidmain(){intk;charst[]="CLanguage";k=strlen(st);printf(“字符串(%s)的長度為%d。\n",st,k);}字符串(CLanguage)的長度為10。

單字符輸入輸出函數(shù)

單個字符的輸出函數(shù)

putchar(字符變量或字符常量);單個字符的輸入函數(shù)字符變量=getchar();例如:利用單個字符輸入輸出函數(shù)實現(xiàn)從鍵盤上輸入任意一個字符,并將該字符輸出在顯示器上。#include<stdio.h>main(){charch;puts("

溫馨提示

  • 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)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論