一. 字符數組(本周小結)
學習目標.1掌握字符數組輸入輸出方法
2.應用字符數組解決一些實際問題
定義
用來存放字符數據的數組稱為字符數組。字符數組中的一個元素存放一個字符。定義字符數組的方法與定義數值型數組的方法類似。
其定義的一般形式是:char 數組名[數據長度]
例如:
char c[10];
c[0]='I'; c[1]=' '; c[2]='l'; c[3]='o'; c[4]='v'; c[5]='e'; c[6]=' '; c[7]='y'; c[8]='o'; c[9]='u';
以上定義了c為字符數組,包含10個元素。
由於字符型數據是以整數形式(ASCII代碼)存放的,因此也可以用整型數組來存放字符數據,例如:
int c[10];
但這時每個數組元素占2個字節的內存單元,浪費存儲空間。
字符數組也可以是二維或多維數組,例如:
char c[5][10];
即為二維字符數組。
結束標志
字符串和字符串結束標志
在C語言中,是將字符串作為字符數組來處理的。為了測定字符串的實際長度,C語言規定了一個“字符串結束標志”,以字符'\0'作為結束標志
了解了關於字符數組的相關知識后,接下來然我們看看如何給字符數組賦值
舉例如下:
char a[10];
1、定義的時候直接用字符串賦值
char a[10]="hello";
注意:不能先定義再給它賦值,如
char a[10];
a[10]="hello";
這樣是錯誤的!
2、對數組中字符逐個賦值
char a[10]={'h','e','l','l','o'};
3、利用strcpy
char a[10];
strcpy(a, "hello");![]![]![]
當然,如果是C++的話,還可以直接輸入
cin>>letter[0],……
gets(letter),
用scanf讀入整個數組:scanf(“%s”,letter)
輸出方法同上,值得注意的是,在用scanf的%s格式或gets讀入字符串時,會在字符串末尾自動添加一個空字符‘0\’.而使用getchar等方法輸入字符串時,則要在字符串后面手工加’0\’.
接下來用簡單的Hello World來對比一下幾種不同的
輸入方法:
將程序改為用getchar ,putchar 輸出:
好了,這些就是本人這周全部分享內容了,紙上得來終覺淺,覺知此事要躬行,具體還要在實際操作中多多總結經驗,多實踐。