(6.23)-第22課(5.5節(jié)-字符數(shù)組的定義和引用)_第1頁
(6.23)-第22課(5.5節(jié)-字符數(shù)組的定義和引用)_第2頁
(6.23)-第22課(5.5節(jié)-字符數(shù)組的定義和引用)_第3頁
(6.23)-第22課(5.5節(jié)-字符數(shù)組的定義和引用)_第4頁
(6.23)-第22課(5.5節(jié)-字符數(shù)組的定義和引用)_第5頁
已閱讀5頁,還剩9頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡介

字符數(shù)組的定義和引用數(shù)組字符數(shù)組和字符串在C語言中沒有專門的字符串類型,通常用一個(gè)字符數(shù)組來存放一個(gè)字符串字符串總是以‘\0’作為串的結(jié)束符。因此當(dāng)把一個(gè)字符串存入一個(gè)數(shù)組時(shí),也把結(jié)束符‘\0’存入數(shù)組,并以此作為該字符串是否結(jié)束的標(biāo)志。字符串常量:"China"'C''h''i''\0''a''n'字符數(shù)組的定義例:charc[10];定義長度為10的一維字符數(shù)組c,c的每個(gè)元素可存儲一個(gè)字符例:charstr[3][10];定義str為3行10列的二維字符數(shù)組;每行可存儲一個(gè)字符串,共可存儲3個(gè)字符串字符數(shù)組的存儲每個(gè)元素存儲占一個(gè)字節(jié)一維字符數(shù)組:按元素下標(biāo)連續(xù)存儲二維字符數(shù)組:按行連續(xù)存儲存儲區(qū)間長度:sizeof(char)×元素個(gè)數(shù)上例c數(shù)組:

1×10=10Bytesstr數(shù)組:1×3×10=30Bytes字符數(shù)組元素的引用與數(shù)值型數(shù)組一樣,只能按元素引用和賦值引用和賦值時(shí)的下標(biāo)形式、取值范圍也相同例

charc[10],str[3][10];inti,j;c[0]=’H’;c[1]=c[0]+32;i=2;j=0;str[i][j]=65;c[8]=str[i][j]+32;字符數(shù)組的初始化字符數(shù)組的初始化例charch[5]={‘H’,’e’,’l’,’l’,’o’};

ch[0]Helloch[1]ch[2]ch[3]ch[4]用字符串常量初始化例charch[6]={“Hello”};charch[6]=“Hello”;charch[]=“Hello”;ch[0]Helloch[1]ch[2]ch[3]ch[4]\0ch[5]字符串在字符數(shù)組中的存放chars1[]={'C','h','i','n','a','\0'};chars2[10]={'C','h','i','n','a'};chars1[]=“China”

;

chars2[10]="China"

;等價(jià)于'\0'

s1[5]s1s1[0]s1[2]s1[1]s1[3]6個(gè)字節(jié)s1[4]'C''i''n''a''h's2[4]s2[5]s2[7]s2[6]s2[8]s2s2[0]s2[2]s2[1]s2[3]10個(gè)字節(jié)'C''i''n''a''h's2[9]'\0'

作為字符串進(jìn)行存儲時(shí),字符串與字符數(shù)組的長度可以不等,系統(tǒng)自動加‘\0’為結(jié)束標(biāo)志

數(shù)組名:代表字符數(shù)組(字符串)在內(nèi)存的首地址字符數(shù)組的輸入/輸出例charst[10];for(i=0;i<10;i++)

scanf("%c",&st[i]);

printf(“%c”,st[i]);

用字符格式說明符%c輸入/輸出或:例charst[10];for(i=0;i<10;i++)

st[i]=getchar();

putchar(st[i]);用getchar/putchar函數(shù)輸入/輸出或:例:charstr[20];scanf("%s",str);

How

are

you?↙例:charc1[5],c2[5];scanf("%s%s",c1,c2);

aaa

bbbb↙

用字符串格式說明符%s:scanf(“%s”,st);//數(shù)組名代表數(shù)組的首地址printf(“%s”,st);注意用%s輸出時(shí),將從數(shù)組名代表的起始地址開始順序輸出各元素代表的字符,直到遇到第一個(gè)字符串結(jié)束標(biāo)志為止用%s輸入時(shí),輸入對象只能是字符數(shù)組的首地址;此時(shí)系統(tǒng)視空格或回車符為不同字符串間的分隔符str輸入結(jié)果:How\0……字符數(shù)組的輸入/輸出使用gets字符串輸入函數(shù):調(diào)用格式:gets(字符數(shù)組名)功能:從鍵盤輸入一以回車結(jié)束的字符串放入字符數(shù)組中,并自動加結(jié)束標(biāo)志’\0’注意gets函數(shù)僅僅視回車符為字串分隔符,可以輸入帶空格的字符串調(diào)用scanf函數(shù)時(shí),使用%s格式符輸入則視空格或回車符為分隔符要求:使用預(yù)編譯命令#include<stdio.h>字符數(shù)組的輸入/輸出使用puts字符串輸出函數(shù):調(diào)用格式:

puts(字符數(shù)組名)或:puts(字符串常量)功能:從數(shù)組名代表的起始地址開始順序輸出各元素字符,直到遇到第一個(gè)字符串結(jié)束標(biāo)志’\0’,并將其轉(zhuǎn)換為字符’\n’輸出注意puts函數(shù)輸出字符串后自動換行調(diào)用printf函數(shù)時(shí),使用%s格式符輸出后不會自動換行要求:使用預(yù)編譯命令#include<stdio.h>【例1:】字符串的輸入、輸出示例#include<stdio.h>voidmain(){charst1[30],st2[30];printf("使用gets函數(shù)輸入字符串:\n");gets(st1);printf("\n使用scanf函數(shù)輸入字符串:\n");scanf("%s",st2);printf("\nst1字符串:\n");puts(st1);printf("\nst2字符串:\n");puts(st2);}【例2:】printf()和puts()函數(shù)一次輸出整個(gè)字符串的區(qū)別#include<stdio.h>voidmain(){chars1[80]=“CLanguage”;

chars2[80]="Program";

printf("%s",s1);

printf("%s",s2);}運(yùn)行結(jié)果為:CLanguageProgram#inclu

溫馨提示

  • 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)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

最新文檔

評論

0/150

提交評論