第5章c语言数组及其应用 (1)

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

第5章数组及其应用

本章重点

●数组元素的查找

●数组元素的插入

●数组元素的删除

5.1一维数组

数组特点:

(1)每个数组中的元素类型必须一致。int a[10] a[0]~a[9] a[i] i=0~9

(2)用不同的下标来区分数组的元素。

(3)数组在内存中占有连续的存储单元,数组名表示数组在内存中的首地址。

5.1.1.一维数组的定义

类型说明符数组名[整型常量表达式];

例如:int a[5];

它表示定义5个元素的整型数组,数据名为a,a也是这5个元素存储区的首地址,因而a的地址值不能改变。

例5.1数组及数组元素的表示方法

#include

int main()

{

int i,a[10]={1,2,3,4,5,6}; /*定义一个整型数组,数组名为a,并给数组初始化*/

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

printf("a[%d]=%-4d",i,a[i]); /*a[i]为数组的第i个元素*/

printf("\n");

return 0;

}

5.1.2.一维数组的引用方法

C语言规定不能一次引用整个数组,引用时只能对逐个元素进行引用,数组元素及数组地址的表示形式如表5.1,表5.2所示。

如有定义:int a[5];

其元素可表示为:a[i],其中0<=i<5。

5.1.3.一维数组的初始化与赋值

如何给一维数组赋值呢?可以有三种方法:(1)数组的初始化;(2)程序中赋值;(3)键盘中读入。

例5.2 程序中给数组的元素赋值,并输出数组元素的值。

分析:数组s在定义时赋值;数组a在程序中赋值。s[2]的3赋给a[0],s[4]的5赋给a[1],s[7]的8赋给a[2],程序运行的结果为:a[0]=3 a[1]=5 a[2]=8。

#include

int main()

{

int s[10]={1,2,3,4,5,6,7,8,9,10};

int i=2,a[3];

a[0]=s[i];

a[1]=s[2+i];

a[2]=s[2*i+3];

printf("a[0]=%d a[1]=%d a[2]=%d\n",a[0],a[1],a[2]);

return 0;

}

给数组的例5.3 程序运行时从键盘输入,

元素赋值,最后输出数组元素的值。

分析:初始化数组a[4],程序等待键盘输入4个数,把键盘输入的数赋值给数组a中的4个元素,输出数组a[4]的4个元素的值。

#include

int main()

{

int i,a[10];

printf("请输入10个整型数,以空格隔开\n");

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

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

printf("输入的数组为:");

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

printf("a[%d]=%-4d",i,a[i]);

printf("\n");

return 0;

}

5.1.4 字符数组

在C语言中,字符串是借助于字符型一维数组来存放的,以字符‘\0’作为字符串结束标志,它的ASCII代码值为0,‘\0’占用存储空间、不输出,但不计入串的实际长度。

如:

char str1[10]="computer" ,

str2[20] ;

但是下列方式的赋值:

char str1[10],str2[20] ;

str1="computer",5=10,str2=str1;是错误的。

例5.4 利用字符数组,在终端中输出字符串“I Love C!”。

分析:初始化数组string[],在初始化时直接用字符串常量,给字符数组string[]赋初值“I Love C!”,用printf直接输出字符串。

#include

int main()

{

char string[ ]="I Love C!";

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

return 0;

}

5.2 二维数组

5.2.1.二维数组的定义

类型说明符数组名

[常量表达式1][常量表达式2] int a[3][4]; 常量表达式1表示二维数组的行数,常量表达式2表示二维数组的列数。

例,float a[3][4];

它表示定义了数组名为a 的3行4列的实型数组。

5.2.2.二维数组的表示、初始化与赋值

二维数组的赋值也可以分为3种情况:(1)二维数组的初始化

;(2)在程序中赋值;(3)

从键盘读入int

a[4][4] a[0][0]~a[3][3]。

例5.5 二维数组输入、输出的例子。 #include

int main()

{

int i,j,a[4][4];

printf("请输入16个整型数,以空格隔开\n");

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

for(j=0;j<4;j++)

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

printf("输入的数组为:\n");

for(i=0;i<4;i++){

for(j=0;j<4;j++)

printf("a[%d][%d]=%-4d",i,j,a[i][j]);

printf("\n");

}

return 0;

}

相关文档
最新文档