资源描述:
《高级语言程序设计教学课件第6章数组.ppt》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、aa[5]5a[4]4a[3]3a[2]2a[1]1a[0]01、一维数组的说明定义方式:数据类型数组名[整型常量表达式];例inta[6];一维数组1一维数组元素的输入输出inti,a[6];for(i=0;i<6;i++)scanf(“%d”,&a[i]);for(i=0;i<6;i++)printf(“%5d”,a[i]);2定义方式:数据类型 数组名[常量表达式1][常量表达式2];数组元素按行序优先存储原因:内存是一维的inta[3][2]543210a[2][1]a[2][0]a[1][1]a[1][0]a[0][1]a[0][0]二维数组3i
2、nta[3][4];for(i=0;i<3;i++)for(j=0;j<4;j++)scanf("%d",&a[i][j]);二维数组元素的输入输出for(i=0;i<3;i++){for(j=0;j<4;j++)printf("%5d",a[i][j]);printf("");}23467891011124字符数组定义定义格式与一维数组相同字符数组的引用逐个字符引用,与一维数组相同注意:字符数组中存放的不一定是字符串5逐个数组元素输入输出charc[15];for(i=0;i<15;i++)scanf(“%c”,&c[i]);/*c[i]=getch
3、ar();*/for(i=0;i<15;i++)printf(“%c”,c[i]);/*putchar(c[i]);*/字符数组的输入输出6main(){charc[10]={'I‘,‘’,'a‘,'m‘,'‘,'a‘,'','b','o','y'};inti;for(i=0;i<10;i++)printf("%c",c[i]);printf("");}例逐个输出字符序列0I12a3m45a67b8o9y7字符串特点:用字符数组存储。串尾标志‘ ’结束,ASCII码值为0存储长度为n的字符串,需要n+1个字符空间使用字符数组来处理字符串时,数组元素的
4、个数也需要多1个例如:charstr[8]="program";program str[0]str[1]str[2]str[3]str[4]str[5]str[6]str[7]8charstr[8]=“China”;China China 字符串初始化charstr[6]={“China”};charstr[6]=“China”;charstr[]=“China”;若字符串长度<字符数组长度,其余元素自动赋‘ ’9常用的字符串处理函数字符串的输入输出使用格式输入/输出函数——%s例用%smain(){charstr[6];scanf("%s
5、",str);printf("%s",str);}使用字符数组名时,遇' '输出字符数组结束难点:用字符数组名,而不是元素遇空格、Tab键或回车结束自动加' '10main(){chara[]={'h','e','l','l',' ','o','!',' '};printf("%s",a);}问题:下面的程序输出的结果是多少?输出:hell数组中有多个' '时,遇第一个结束Hell o! 11main(){inti;chara[]={'h','e','l','l',' ','o','!',' '};for(i=0;i<8;i++)prin
6、tf(“%c”,a[i]);}问题:下面的程序输出的结果是多少?输出:hello!Hell o! 12main(){chara[15],b[5],c[5];scanf("%s%s%s",a,b,c);printf("a=%sb=%sc=%s",a,b,c);}运行情况:输入:Howareyou?输出:a=Howb=arec=you?例逐个输入字符串 woH era ?uoyscanf中%s格式符,遇空格、Tab或回车结束13格式:puts(字符数组)功能:向显示器输出字符串(并且输出后换行)说明:字符数组必须以' '结束专门的字符串
7、输入输出函数字符串输出字符串函数main(){charstr1[]="China";charstr2[]="Beijing";puts(str1);puts(str2);}14格式:gets(字符数组)功能:从键盘输入一个以回车结束的字符串放入字符数组中,并自动加' '说明:输入串长度应小于字符数组维数字符串输入函数gets15#includemain(){charstring[80];printf("Inputastring:");gets(string);puts(string);}Inputastring:Howareyou?H
8、owareyou?16字符串连接函数strcat(StringC