- 1、本文档共10页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
8.2二维数组和字符串.2二维数组和字符串
例:一个专业当中同学分为不同的班级,引进二维数组
一、二维数组
(一)二维数组的定义
1.定义方式:
数据类型 数组名[常量表达式][常量表达式];
其中,第一个常量表达式代表数组的行数,第二个表达式代表数组的列数,元素个数=行数*列数
注意:第一个常量表达式可以为空,但第二个常量表达式不能为空。
例:int a[3][4]; /*表示整型二维数组,有3行4列*/
该数组下标共有3×4个,即:
a[0]a[0][0]a[0][1]a[0][2]a[0][3]a[1]a[1][0]a[1][1]a[1][2]a[1][3]a[2]a[2][0]a[2][1]a[2][2]a[2][3]说明:在声明二维数组int[3][4]以后,可以把二维数组a认为含有3个元素的一维数组,这3个元素就是a[0],a[1],a[2],每一个元素就相当于一行,每一个元素又是含有4个元素的一维数组。
存储方式:在C语言中,二维数组是按行序优先存放的,先存放a[0]行元素,再存放a[1]行元素,最后存放a[2]行元素。
(二)二维数组元素的引用
形式:数组名[下标][下标]
其中,第一个下标为行下标,第二个下标为列下标。
例:引用第2行第3列的数组,即a[1][2](数组的行列下标从0开始)
注意:在二维数组中,不能整体引用整个数组,只能对单个元素进行操作。
main()
{
int a[2][3],i,j;
for(i=0;i2;i++) /*引用二维数组的行*/
for(j=0;j3;j++) /*引用二维数组的列*/
scanf(%d,a[i][j]);
for(i=0;i2;i++)
{
for(j=0;j3;j++) /*加上{},实现每输出一行就换行的操作*/
printf(%d ,a[i][j]);
printf(\n);
}
}
(三)二维数组元素的初始化
分行初始化按元素排列顺序初始化全部初始化int a[2][3]={{1,2,3},{4,5,6}};int a[2][3]={1,2,3,4,5,6};部分初始化int a[2][3]={{1,2},{4}};int a[2][3]={1,2,4};第一维长度省略初始化int a[][3]={{1},{4,5}};int a[][3]={1,2,3,4,5};(四)二维数组举例
将一个二维数组行和列的元素互换,存到另一个二维数组中。
a=
1 2 3
4 5 6
b=
1 4
2 5
3 6
a[0][0]a[0][1]a[0][2]a[1][0]a[1][1]a[1][2]123456b[0][0]b[1][0]b[2][0]b[0][1]b[1][1]b[2][1]输出:
b[0][0]b[0][1]b[1][0]b[1][1]b[2][0]b[2][1]程序:
#includestdio.h
main()
{
int a[2][3]={{1,2,3},{4,5,6}};
int b[3][2],i,j;
printf(“array a:\n”);
for(i=0;i=1;i++)
{
for(j=0;j=2;j++)
{
printf(“%5d”,a[i][j]);
b[j][i]=a[i][j];
}
printf(“\n”);
}
printf(“array b:\n”);
for(i=0;i=2;i++)
{
for(j=0;j=1;j++)
printf(“%5d”,b[i][j]);
printf(“\n”);
}
}
二、字符数组和字符串
(一)字符数组
1.定义:用来存放字符数据的数组是字符数组。字符数组中的一个元素存放一个字符。
例:char c[7];
c[0]=’j’;c[1]=’i’;c[2]=’n’;c[3]=’ ’;c[4]=’h’;c[5]=’u’;c[6]=’a’;
2.字符数组的初始化
(1)逐个字符赋值
char ch[5]={‘h’,’e’,’l’,’l’,’o’};
helloch[0]ch[1]ch[2]ch[3]ch[4](2)用字符串常量
char ch[6]={“hello”};
char ch[6]=”hello”;
char ch[]=”hello”;
hello\0ch[0]ch[1]ch[2]ch[3]ch[4]ch[5]boy\0\0注意:把字符串赋给字符数组时,该数组定义的大小
文档评论(0)