c语言程序设计数组
合集下载
相关主题
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
例:int a[5];
表示一个整型数组a,该数组有5个数组元素( a[0] , a[1], a[2],a[3] ,a[4] ),他们的数据类型为整型。
(1)“数据类型”是指数组元素的数据类型。
(2)数组名,与变量名一样,必须遵循标识符命名规 则。
(3)“常量表达式”必须用方括号括起来,指的是数 组的元素个数(又称数组长度),它是一个整型值,其中可 以包含常数和符号常量,但不能包含变量。
a[0] a[1] a[2] a[3] a[4] 8 10 1 1 2 给全部数组元素赋值时,可不制定数组长度。 例:int a[ ]={8,10,1,1,2}
2.给部分数组元素赋值 例:int a[5]={8,10,1} 初始化结果为:
a[0] a[1] a[2] a[3] a[4]
8 10 1 0 0 对部分数组元素赋值时,由于数组长度与提供的初值 不相等,所以数组长度不能省略。若int a[ ]={8,10,1} ,编译时系统会认为a数组的长度为3而不是5。 如果要使一个数组中全部元素为0,可以写成: int a[5]={0,0,0,0,0};或int a[5]={0}; 注意:如果对int型数组不赋初值,不要错误的以为每 个数组元素的值都自动为0。而是为随机值。但若在定 义数组时,前面加static保留字(为静态数值)则数组 元素被系统自动置初值0。 注意:不能先定义,后赋值。必须定义,赋值同步。
例: int a(5);
(4)C语言中不允许动态定义数组。即常量表达式 中不能包括变量。
例:int i; scanf(“%d”,&i);
不允许的
int a[i];
常量表达式中可以包括符号常量。例:
#define N 5
int a[N]
ห้องสมุดไป่ตู้
是允许的
(5)数据类型相同的数组,变量可以用一个类型 表示符同时说明,数组和变量间用逗号分隔。例:
5.1.2 数组元素的引用
c规定只能引用数组元素而不能一次引用整个数组。引 用数组中的任意一个元素的形式:
数组名[下标表达式]
1.“下标表达式”可以是任何整型常量或整型表达式。
例:a[0]=a[5]+a[7]-a[2*3]
特别强调:在运行C语言程序过程中,系统并不自动
检验数组元素的下标是否越界。因此在编写程序时,保证 数组下标不越界是十分重要的。
第5章 数 组
为了解决比较复杂的问题,本章介绍C语言提供的 一种最简单的构造类型──数组。
main()
{int a0,a1,a2,a3,a4;
scanf(“%d, %d, %d, %d, %d”, &a0, &a1, &a2, &a3, &a4);
printf(“%d, %d, %d, %d, %d\n”, a0, a1, a2, a3, a4);
} 思考:若是要求输入100个人的年纪,程序又该如 何编写?
通常,处理大批同类型的数据时,我们不再使用 变量,而是采用新的数据类型——数组。
数组是一组同类型的数据的集合。前面所学的整型,实 型,字符型数据,称为基本类型数据。
5.1 1维数组的定义和引用
5.2 2维数组的定义和引用
5.3 字符数组与字符串
6.1.4 1维数组应用举例
[案例]定义长度都为10的整型数组a和b,完成以下各功能: (1)从键盘上任意输入10个整数,分别存放到a数组的10个数组元素中。 (2)求出a数组中各相邻两个元素的和,并将这些和存在b数组中。 (3)按每行3个元素的形式输出b数组各元素的值。 #define N 10 main() {int a[N],b[N],i; for(i=0;i<N;i++) scanf(“%d”,&a[i]); for(i=1;i<N;i++)b[i]=a[i]+a[i-1]; for(i=1;i<N;i++) { printf(“%4d”,b[i]); If(I%3= =0) printf(“\n”); } }
5.1 1维数组的定义和引用
5.1.1 1维数组的定义 5.1.2 1维数组元素的引用 5.1.3 1维数组元素的初始化 5.1.4 1维数组应用举例
数组同变量一样,也必须先定义、后使用。
1维数组是只有1个下标的数组,定义形式如下:
数据类型 数组名[常量表达式], 数组名2[常量表达式 2]……;
int a[5],b[10],i,j;
char c[6],d[3][6],C1;
(6)常量表达式表示元素的个数,即数组长度。 例: a[5]中5表示a数组有5个元素,下标从0开始, 该数组有5个数组元素( a[0] ,a[1], a[2],a[3] , a[4] ),注意不能使用数组元素a[5] 。
2.1个数组元素,实质上就是1个变量,它具有和相 同类型单个变量一样的属性,可以对它进行赋值和参与各 种运算。
3.当数组的长度为N时,下标的取值范围为0,1, 2,……N-2,N-1。
例:
main() { int i,a[10]; for(i=0;i<=9;i++)
a[i]=i; for(i=9;i>=0;i--) printf(“%d”,a[i]); } 运行结果:
特别说明:在数组定义时,“常量表达式”
外的方括号;以及元素引用时,“下标表达式” 外的方括号,都是C语言语法规则所要求的,不 是本书所约定的可选项的描述符号!
(4)数组元素的下标,是元素相对于数组起 始地址的偏移量,所以从0开始顺序编号。
(5)数组名中存放的是一个地址常量,它代 表整个数组的首地址。同一数组中的所有元素, 按其下标的顺序占用一段连续的存储单元。
9876543210 说明:先使a[0]到a[9]的值分别为0—9,然后逆 序输出。
6.1.3 1维数组元素的初始化
数组的初始化就是在定义数组时给数组元素赋值。 初始化格式:
数据类型 数组名[常量表达式]={初值表} 初始化可以有以下方法实现: 1.给全部数组元素赋值。 例:int a[5]={8,10,1,1,2} 数据是依次包括在{}中,数据中间用逗号间隔,初始 化结果为:
运行时输入1 4 7 8 2 5 6 3 9 10,结果如下: 5 11 15 10 7 11 9 12 19
表示一个整型数组a,该数组有5个数组元素( a[0] , a[1], a[2],a[3] ,a[4] ),他们的数据类型为整型。
(1)“数据类型”是指数组元素的数据类型。
(2)数组名,与变量名一样,必须遵循标识符命名规 则。
(3)“常量表达式”必须用方括号括起来,指的是数 组的元素个数(又称数组长度),它是一个整型值,其中可 以包含常数和符号常量,但不能包含变量。
a[0] a[1] a[2] a[3] a[4] 8 10 1 1 2 给全部数组元素赋值时,可不制定数组长度。 例:int a[ ]={8,10,1,1,2}
2.给部分数组元素赋值 例:int a[5]={8,10,1} 初始化结果为:
a[0] a[1] a[2] a[3] a[4]
8 10 1 0 0 对部分数组元素赋值时,由于数组长度与提供的初值 不相等,所以数组长度不能省略。若int a[ ]={8,10,1} ,编译时系统会认为a数组的长度为3而不是5。 如果要使一个数组中全部元素为0,可以写成: int a[5]={0,0,0,0,0};或int a[5]={0}; 注意:如果对int型数组不赋初值,不要错误的以为每 个数组元素的值都自动为0。而是为随机值。但若在定 义数组时,前面加static保留字(为静态数值)则数组 元素被系统自动置初值0。 注意:不能先定义,后赋值。必须定义,赋值同步。
例: int a(5);
(4)C语言中不允许动态定义数组。即常量表达式 中不能包括变量。
例:int i; scanf(“%d”,&i);
不允许的
int a[i];
常量表达式中可以包括符号常量。例:
#define N 5
int a[N]
ห้องสมุดไป่ตู้
是允许的
(5)数据类型相同的数组,变量可以用一个类型 表示符同时说明,数组和变量间用逗号分隔。例:
5.1.2 数组元素的引用
c规定只能引用数组元素而不能一次引用整个数组。引 用数组中的任意一个元素的形式:
数组名[下标表达式]
1.“下标表达式”可以是任何整型常量或整型表达式。
例:a[0]=a[5]+a[7]-a[2*3]
特别强调:在运行C语言程序过程中,系统并不自动
检验数组元素的下标是否越界。因此在编写程序时,保证 数组下标不越界是十分重要的。
第5章 数 组
为了解决比较复杂的问题,本章介绍C语言提供的 一种最简单的构造类型──数组。
main()
{int a0,a1,a2,a3,a4;
scanf(“%d, %d, %d, %d, %d”, &a0, &a1, &a2, &a3, &a4);
printf(“%d, %d, %d, %d, %d\n”, a0, a1, a2, a3, a4);
} 思考:若是要求输入100个人的年纪,程序又该如 何编写?
通常,处理大批同类型的数据时,我们不再使用 变量,而是采用新的数据类型——数组。
数组是一组同类型的数据的集合。前面所学的整型,实 型,字符型数据,称为基本类型数据。
5.1 1维数组的定义和引用
5.2 2维数组的定义和引用
5.3 字符数组与字符串
6.1.4 1维数组应用举例
[案例]定义长度都为10的整型数组a和b,完成以下各功能: (1)从键盘上任意输入10个整数,分别存放到a数组的10个数组元素中。 (2)求出a数组中各相邻两个元素的和,并将这些和存在b数组中。 (3)按每行3个元素的形式输出b数组各元素的值。 #define N 10 main() {int a[N],b[N],i; for(i=0;i<N;i++) scanf(“%d”,&a[i]); for(i=1;i<N;i++)b[i]=a[i]+a[i-1]; for(i=1;i<N;i++) { printf(“%4d”,b[i]); If(I%3= =0) printf(“\n”); } }
5.1 1维数组的定义和引用
5.1.1 1维数组的定义 5.1.2 1维数组元素的引用 5.1.3 1维数组元素的初始化 5.1.4 1维数组应用举例
数组同变量一样,也必须先定义、后使用。
1维数组是只有1个下标的数组,定义形式如下:
数据类型 数组名[常量表达式], 数组名2[常量表达式 2]……;
int a[5],b[10],i,j;
char c[6],d[3][6],C1;
(6)常量表达式表示元素的个数,即数组长度。 例: a[5]中5表示a数组有5个元素,下标从0开始, 该数组有5个数组元素( a[0] ,a[1], a[2],a[3] , a[4] ),注意不能使用数组元素a[5] 。
2.1个数组元素,实质上就是1个变量,它具有和相 同类型单个变量一样的属性,可以对它进行赋值和参与各 种运算。
3.当数组的长度为N时,下标的取值范围为0,1, 2,……N-2,N-1。
例:
main() { int i,a[10]; for(i=0;i<=9;i++)
a[i]=i; for(i=9;i>=0;i--) printf(“%d”,a[i]); } 运行结果:
特别说明:在数组定义时,“常量表达式”
外的方括号;以及元素引用时,“下标表达式” 外的方括号,都是C语言语法规则所要求的,不 是本书所约定的可选项的描述符号!
(4)数组元素的下标,是元素相对于数组起 始地址的偏移量,所以从0开始顺序编号。
(5)数组名中存放的是一个地址常量,它代 表整个数组的首地址。同一数组中的所有元素, 按其下标的顺序占用一段连续的存储单元。
9876543210 说明:先使a[0]到a[9]的值分别为0—9,然后逆 序输出。
6.1.3 1维数组元素的初始化
数组的初始化就是在定义数组时给数组元素赋值。 初始化格式:
数据类型 数组名[常量表达式]={初值表} 初始化可以有以下方法实现: 1.给全部数组元素赋值。 例:int a[5]={8,10,1,1,2} 数据是依次包括在{}中,数据中间用逗号间隔,初始 化结果为:
运行时输入1 4 7 8 2 5 6 3 9 10,结果如下: 5 11 15 10 7 11 9 12 19