【正文】
若 int a[3][4]={0}。 則下面正確的敘述是: A )只有元素 a[0][0] 可得到初值 0。 B )此說明語句不正確 。 C )數組 a 中各元素都可得到初值,但其值不一定為 0 。 D )數組 a 中每個元素均可得到初值 0 。 復習 ? 若定義數組: int a[10][8]。 問數組共有多少元素?在內存中存儲時占多少字節(jié)?如何在內存中存放?最后一個單元的元素下標是多少? 字符數組 字符數組是用來存放字符數據的數組,數組中的每個元素只能存放一個字符。 一、定義 形式: char c[5] 包含 5個元素: c[0]、 c[1]…...c[4] c[0] c[1] c[2] c[3] c[4] C h i n a 說明 :由于機器內實際存放的是字符的 ASCII碼值(整型數),故上面的定義也可以是: int c[5]。 二、賦初值 同一維數組類似。 1。定義時賦初值 如 : char c[5]={?C?,?h?,?i?,?n?,?a?}。 不能超過 5個字符 ,若少于 5個,后面的賦給空字符“ \0”。 說明: ( 1)若字符個數與數組長度相同時,可以不指定數組長度。如: char c[ ]={?H?,?o?,?w?, ? ? ,?a?,?r?,?e?, ? ?,?y?,?o?,?u?}。 系統(tǒng)可以自動定義 c數組的長度為 11,即 c[11] 2。用賦值語句 必逐個賦值 . 如 :chr c[3]。 c[0]=?A?。c[1]=?B?。 c[2]=?C?; 三、字符串和字符串結束標志 C語言中將字符串用字符數組來表示。 1。用“ \0”作為字符串的結束標志 。“ \0”是 ASCII碼值為“ 0”的空操作,在此表示字符串結束。 2。字符串常量的初始化 前面講初始化時,一個一個字符寫,也可簡單。 如: char c[ ]={“How are you”}。 或: char c[ ]=“How are you” 。 系統(tǒng)可以自動識別 c數組的長度為 12, 相當于: char c[ ]={?H?,?o?,?w?, ? ? ,?a?,?r?,?e?, ? ?,?y?,?o?,?u?,?\0?}。 H o w a r e y o u \0 四、字符數組的輸入輸出 (一)字符數組的輸入 1。用 scanf函數 ( 1)用格式符 %c: 一次輸入一個單字符。 如: char str[6]。 int i。 for (i=0。i6。i++) scanf(“%c”,amp。str[i])。 輸入: abc123 循環(huán)依次給: str[0]、 str[1]…… str[5] 賦值。 ( 2)用 %s將整個字符串一次輸入 如: char str[6]。 scanf(“%s”,str)。 /*不是 amp。str*/ 輸入: China 系統(tǒng)自動在字符串末尾加結束標志“ \0”。 注意: ( 1) 命令中是 str 不是 amp。str 和 str[6],str是數組名。 數組名代表數組的首地址, 相當于把首地址的內容送數組。 (2) 輸入多個字符串時, 用 空格分隔 。 如: How are you! 要當成三個字符串輸入。 char c1[5],c2[5],c3[5]; H o w \0 \0 scanf(“%s%s%s”,c1,c2,c3)。 a r e \0 \0 printf(“%s %s %s”,c1,c2,c3)。 y o u ! \0 輸入: How are you! 輸出 : How are you! 若: char c[13]; scanf(“%s”,c)。 printf(“%s ”,c)。 輸入: How are you! 只將 H o w \0放數組 輸出: