最新8.2二维数组和字符串汇总

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

8.2二维数组和字符

例:一个专业当中同学分为不同的班级,引进二维数组

一、二维数组

(一)二维数组的定义

1.定义方式:

数据类型数组名[常量表达式][常量表达式];

其中,第一个常量表达式代表数组的行数,第二个表达式代表数组的列数,元素个数=行数*列数

注意:第一个常量表达式可以为空,但第二个常量表达式不能为空。

例:int a[3][4]; /*表示整型二维数组,有3行4列*/ 该数组下标共有3×4个,即:

说明:在声明二维数组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;i<2;i++) /*引用二维数组的行*/

for(j=0;j<3;j++) /*引用二维数组的列*/

scanf("%d",&a[i][j]);

for(i=0;i<2;i++)

{

for(j=0;j<3;j++) /*加上{},实现每输出一行就换行的操作*/ printf("%d ",a[i][j]);

printf("\n");

}

}

(三)二维数组元素的初始化

(四)二维数组举例

将一个二维数组行和列的元素互换,存到另一个二维数组中。

输出: 程序:

#include 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]);

a=

1 2 3 4 5 6

b=

1 4

2 5

3 6

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’};

(2)用字符串常量

char ch[6]={“hello”};

char ch[6]=”hello”;

char ch[]=”hello”;

注意:把字符串赋给字符数组时,该数组定义的大小一定要比所赋予的字符

串的长度要多一个空间,用来存储字符串结束标志“\0”。如果所赋予的字符

串长度比数组所定义的大小要小,那么没有被赋予的字符的数组元素将会被

ch[5]=”boy”;

二维字符数组初始化

char fruit[][7]={“apple”,”orange”,”grape”,”pear”,”peach”};

(二)字符串的输入输出

1.逐个字符输入输出。用“%c”输入或输出一个字符。

例:用%c

main()

{

char str[5];

int i;

for(i=0;i<5;i++)

scanf(“%c”,&str[i]);

for(i=0;i<5;i++)

printf(“%c”,str[i]);

}

2.将整个字符串一次输入或输出。用“%s”对字符串(string)输入或输出。

例:用%s

main()

{

char str[5];

scanf(“%s”,str);

printf(“%s”,str);

}

例1 main( )

{ char a[5]={‘H’,’e’,’l’,’l’,’o’};

printf(“%s\n”,a);

}

结果为:

例2 main( )

{ char a[ ]=“Hello”;

printf(“%s\n”,a);

}

结果为:

例3 main()

{

char a[]={'h','e','l','\0','l','o','\0'};

printf("%s\n",a);

}

结果为:

总结:用%s输出时,遇到”\0”结束;数组中有多个”\0”时,遇到第一个结束。

(三)字符串输入输出函数

包含在头文件stdio.h

1.字符串输出函数puts

格式:puts(字符数组)

功能:向显示器输出字符串

说明:字符数组必须以”\0”结束

2.字符串输入函数gets

格式:gets(字符数组)

相关文档
最新文档