第7章第3节 §73字符数组 存放字符的数组;每一个元素存放一个字符 一.字符数组的定义 维字符数组char数组名常量表达式 二维字符数组char数组名常量表达式常量表达式 例: char a12 al0|-I;al=t';a2|‘‘;al3l=¨i’;a|4|=sa|5=‘;a|6}=a’; a[7]=‘’;a8|=“b;a19}‘0‘;a10=0’;a[1l=“k’; 00 a0] all a[2 a[10 a[l1
第7章第3节 §7.3 字 符 数 组 ——存放字符的数组;每一个元素存放一个字符 一. 字符数组的定义 一维字符数组 二维字符数组 例:char a[12]; a[0]=‘I’ ; a[1]=‘t’; a[2]=‘ ‘ ; a[3]=‘i’; a[4]=‘s’ a[5]=‘ ‘; a[6]=‘a’; a[7]=‘ ’ ; a[8]=‘b’; a[9]=‘o ‘ ; a[10]=‘o’; a[11]=‘k’; I t i s a b o o k a[0] a[1] a[2] ...... a[10] a[11] char 数组名[常量表达式]; char 数组名[常量表达式] [常量表达式];
第7章第3节 注:∵字符型与整型通用 等价 char a 101 int a 10 二.字符数组的初始化 「与数值型数组相似」 一维: char al12}={T’,“t',’,"i,'s’,’,a’,“"b’,0’,“o’,"0,“k} 二维; char al313}={(’,“,*,‘’,',“*’,,*’,’ 等价 char a|3}={“,“’, 字符数组的引用 与数值型数组相似,只能引用元素(单个字符),不能 引用整个数组 借助于循环
二. 字符数组的初始化 第7章第3节 与数值型数组相似 一维: 二维: char a[12]={‘I’, ‘t’, ‘ ’, ‘i’, ‘s’, ‘ ’, ‘a’ , ‘b’, ‘o’, ‘o’, ‘o’, ‘k’ } char a[3][3]={{‘ ’, ‘ ’, ‘* ’, ‘ ’, ‘*’, ‘* ’, ‘*’ , ‘*’, ‘*’} char a[][3]={ ‘ ’, ‘ ’, ‘* ’, ‘ ’, ‘*’, ‘* ’, ‘*’ , ‘*’, ‘*’} 等价 三. 字符数组的引用 ——与数值型数组相似,只能引用元素(单个字符),不能 引用整个数组 借助于循环 注:∵字符型与整型通用 ∴ char a[10]; int a[10]; 等价
第7章第3节 例77输出一个钻石图形 main (0 har diamond[5上={{“’,,*”},{’,“*”,,*”,{*,’,,,*》}, ,“ } Int 1,J; for(i=0;i<5;i++) i for(j=0;j<5;j++) printf( diamondoid: printf("n”y); 注意其作用
第7章第3节 例7.7 输出一个钻石图形 main() { char diamond[][5]={{‘ ’,‘ ’,‘*’},{‘ ’,‘*’,‘ ’,‘*’},{‘*’,‘ ’,‘ ’,‘ ’,‘*’}, {‘ ’,‘*’,‘ ’,‘*’}, {‘ ’,‘ ’,‘*’} }; int i,j; for(i=0;i<5;i++) { for(j=0;j<5;j++) printf(“%c”,diamond[i][j]); printf(“\n”); } } * * * * * * * * 注意其作用
第7章第3节 四.字符串和字符数串结束标志 一二个常}→表学 字符 字符串的持点:最后一个字符为 →字符串结束标志 char al13}={I,“t',,“i,s,,a’,‘’,"b,0’,‘0,“k,”0}; char a[13={“ 'it is a b0ok”}; 等价 char al={“ it is a b0ok”} 最后一个元素赋为 0 char a13}=“ 'it is a book” char a=“ it is a book”; 一最后一个元素自动加 小结:1.用字符数组表示字符串。如定义时指定长度,则数组长度>字符 串长度; 2数组中放的是字符还是字符串,了为0则为字符串 关键看最后一个元素 不为“0则只能是若干个字 符
四. 字符串和字符数串结束标志 第7章第3节 字符串 多个字符 用字符数组表示字符串 字符串的持点: 最后一个字符为 ‘\0’ 字符串结束标志 char a[13]={‘I’, ‘t’, ‘ ’, ‘i’, ‘s’, ‘ ’, ‘a’ , ‘ ’, ‘b’, ‘o’, ‘o’, ‘k’, ’\0’}; char a[13]={“it is a book”}; char a[13]= “it is a book”; char a[]={“it is a book”}; char a[]= “it is a book”; 等 价 最后一个元素自动加 ‘\0’ 小结: 1 . 用字符数组表示字符串。如定义时指定长度, 则数组长度>字符 串长度; 2. 数组中放的是字符还是字符串, 关键看最后一个元素 为‘\0’ 则为字符串 不为‘\0’ 则只能是若干个字 符 字符数组 多个元素(字符) 最后一个元素赋为 ‘\0’
第7章第3节 五、字符数组的输入输出 1.对字符数组中的每一个元素逐一输入、输出。采 两种方法用循环实现 2.以字符串的形式对整个字符数组输入、输出。 1.逐个输入、输出单个字符—与引用数组元素相同 例:输入一段文字(以回车结束),转换成大写输出。1720c # include“ stdio.h” maino char ch(200]; int L,; for(i=0;(ch[i= getchar(}=“Ⅶn’;i++) if(chi>=a&&chi<=z) chi=ch i-32; ior(j=0:j=1-1:j++) putchar(ch jD; putchar(n’);
五. 字符数组的输入输出 第7章第3节 两种方法 1. 对字符数组中的每一个元素,逐一输入、输出。采 用循环实现。 2. 以字符串的形式,对整个字符数组输入、输出。 1. 逐个输入、输出单个字符——与引用数组元素相同 例:输入一段文字(以回车结束),转换成大写输出。 #include“stdio.h” main() {char ch[200]; int i,j; for(i=0;(ch[i]=getchar())!=‘\n’;i++) if (ch[i]>=‘a’&&ch[i]<=‘z’) ch[i]=ch[i]-32; for(j=0;j<=i-1;j++) putchar(ch[j]); putchar(‘\n’); } lt7-20.c