当前位置:文档之家› 一维数组的定义与引用教案

一维数组的定义与引用教案

一维数组的定义与引用教案
一维数组的定义与引用教案

学习必备欢迎下载

课题序号1授课日期第周月日(星期)

授课班级10单招、10计

算机

授课课时2授课形式理论

授课章节名称

使用教具一维数组的定义与引用

教学目的1、了解数组的基本概念。

2、掌握一维数组定义、引用;

4、提高学生编写程序的能力

教学重点掌握一维数组定义、引用;

教学难点掌握一维数组定义、引用;

更新、补

充、删节无

内容

课外作业补充

教学步骤

导入新课

新课讲授

学习必备欢迎下载

课堂教学安排

教学内容

一维数组的定义

在C语言中,变量必须先定义,后使用。数组也是如此,使用数组

时必须先定义,后引用。

定义一维数组的格式为:

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

例如:int a[10],b[5];

说明:

⑴它表示定义了两个一维数组,一个数组名为a,另一个数组名为b。

数组名是按照“标识符”的规则构成的。

⑵a数组含有10个数组元素,即a[0]、a[1]、a[2]、…、a[9];b数

组含有5个数组元素,即b[0]、b[1]、b[2]、b[3]和b[4]。注意,不能使

用a[10]和b[5],否则即出现数组超界现象。

⑶类型说明符int说明a数组和b数组中的每个元素均占2个字节,

只能存放整型数据。类型说明符可以是任何基本类型,如float、double、

char等;也可以是以后要介绍的其它数据类型,如结构型、共用型等。

⑷整型常量表达式可以是整型常量或符号常量。最常见的是整型常量。

不允许为变量。

⑸C编译程序(如Turbo C)为a数组在内存中分配了10个连续的数

组单元(共占20个字节),为b数组在内存中分配了5个连续的数组单元(共

占10个字节),如图7-1所示。

a[0]a[1]a[2]a[3]a[4]a[5]a[6]a[7]a[8]a[9]b[0]b[1]b[2]b[3]b[4]

图7-1

⑹C编译程序还指定数组名a为a数组的首地址,即a与&a[0]等价;

指定数组名b为b数组的首地址,即b与&b[0]等价。也就是说,在C语言

中,每个已定义的数组,其数组名有两个作用,其一代表该数组的名称;其

二代表该数组在内存中的首地址。

教学

方法

双边

活动

、 (

课堂

提问 讨论 课堂 小结

步骤 五 布置 作业

学习必备 欢迎下载

7.1.2 数组元素的引用

当定义了某数组后,就可以引用该数组中的任何元素了。引用形式为:

数组名[下标]。

例如,前面定义过的 a 数组,可以引用的数组元素为 a [0]、a[1] a[2]、…、

a[9]。

【例 7-1】数组元素的引用例子。

程序如下:

main( )

{ int a[10],b[5]={55,44,33,22,11},i;

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

{ a[i]=i+1;

printf(“%4d”,a[i]);}

printf(“\n”);

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

printf(“%4d”,b[i]);

printf(“\n”);

}

在引用时应注意以下几点:

⑴ 引用时只能对数组元素引用。如【例 7-1】中的 a[i],b[i];而不

能引用整个数组,如【例 7-1】中的 a 或 b 。

⑵ 在引用数组元素时,下标可以是整型常数、已赋值的变量或含变量

的表达式。如【例 7-1】中 a[i],b[i] 的下标 i 就是已赋值的变量。

⑶ 由于数组元素本身可看作同一类型的单个变量,因此,对变量的各

种操作也都适用于数组元素。如【例 7-1】中对数组元素 a[i]的赋值操作和

输出操作。

⑷ 引用数组元素时,下标上限(即最大值)不能超界。也就是说,若

数组含有 n 个元素,下标的最大值为 n -1, 因下标从 0 开始);若超出界限,

C 编译程序并不给出错误信息(即其不检查数组是否超界),程序仍可以运行,

但可能会改变该数组以外其它变量或其它数组元素的值,由此会造成不正确

的结果。如【例 7-1】,若误将第一个 for 语句中的 i<10 写成 i<=10,就会

出现下标超界现象 a[10]=11,程序运行后,b 数组中的 b[0]原值 55 被错误

地改变为 11

学习必备欢迎下载

板书设计数组:

具有相同数据类型的数据的有序的集合。

数组元素:

数组中的元素。数组中的每一个数组元素具有相同的名称,不同的下标,可以作为单个变量使用,所以也称为下标变量。在定义一个数组后,在内存中使用一片连续的空间依次存放数组的各个元素。

数组的下标:

是数组元素的位置的一个索引或指示。

数组的维数:

数组元素下标的个数。根据数组的维数可以将数组分为一维、二维、三维、多维数组。

教学后记

实验六 一维数组程序设计

实验六一维数组程序设计 一、实验学时 2学时 二、实验目的 (一)掌握一维数组的定义、初始化方法; (二)掌握一维数组中数据的输入和输出方法; (三)掌握与一维数组有关的程序和算法; (四)了解用数组处理大量数据时的优越性。 三、预习要求 (一)理解数组的概念、利用数组存放数据有何特点; (二)一维数组的定义、初始化方法; (三)一维数组中数据的输入和输出方法。 四、实验内容 (一)下面的几个程序都能为数组元素赋值,请输入程序并运行。比较一下这些赋值方法的异同。 1.在定义数组的同时对数组初始化。 /* c6-1.c */ /*在定义数组的同时对数组初始化*/ #include "stdio.h" void main( ) { int a[4]={0,1,2,3}; printf("\n%d %d %d %d\n",a[0],a[1],a[2],a[3]); } 2.不使用循环对单个数组元素赋值。 /* c6-2.c */ /*不使用循环对单个数组元素赋值*/ #include "stdio.h" void main( ) { int a[4]; a[0]=2;a[1]=4;a[2]=6;a[3]=8; printf("\n%d %d %d %d\n",a[0],a[1],a[2],a[3]); } 3.用循环结构,从键盘输入为每个数组元素赋值,输出各数组元素。 /* c6-3.c */ /*利用循环通过键盘对数组元素赋值*/ #include "stdio.h" void main( ) { int i,a[4]; for(i=0; i<4; i++) scanf("%d",&a[i]); printf("\n"); for(i=0; i<4; i++) printf("%d ",a[i]);

C语言一维数组的定义和引用

C语言一维数组的定义和引用 在程序设计中,为了处理方便,把具有相同类型的若干变量按有序的形式组织起来。这些按序排列的同类数据元素的集合称为数组。在C语言中,数组属于构造数据类型。一个数组可以分解为多个数组元素,这些数组元素可以是基本数据类型或是构造类型。因此按数组元素的类型不同,数组又可分为数值数组、字符数组、指针数组、结构数组等各种类别。本章介绍数值数组和字符数组,其余的在以后各章陆续介绍。 7.1一维数组的定义和引用 7.1.1一维数组的定义方式 在C语言中使用数组必须先进行定义。一维数组的定义方式为:类型说明符数组名[常量表达式]; 其中:类型说明符是任一种基本数据类型或构造数据类型。数组名是用户定义的数组标识符。方括号中的常量表达式表示数据元素的个数,也称为数组的长度。 例如: int a[10]; 说明整型数组a,有10个元素。 float b[10],c[20]; 说明实型数组b,有10个元素,实型数组c,有20个元素。 char ch[20]; 说明字符数组ch,有20个元素。 对于数组类型说明应注意以下几点: 数组的类型实际上是指数组元素的取值类型。对于同一个数组,其所有元素的数据类型都是相同的。 数组名的书写规则应符合标识符的书写规定。 数组名不能与其它变量名相同。 例如: main() { int a; float a[10]; …… } 是错误的。 方括号中常量表达式表示数组元素的个数,如a[5]表示数组a有5个元素。但是其下标从0开始计算。因此5个元素分别为a[0],a[1],a[2],a[3],a[4]。 不能在方括号中用变量来表示元素的个数,但是可以是符号常数或常量表达式。 例如: #define FD 5 main() { int a[3+2],b[7+FD];

C语言习题九数组的定义和使用

习题九数组的定义和使用 1. 有以下程序 void f (int b[]) { int i; for(i=2;i<6;i++) b[i]* =2;} main() { int a[10]={1,2,3,4,5,6,7,8,9,10},i; f(a); for(i=0;i<10;i++) printf("%d,",a[i]);} 程序运行后的输出结果是______。 A、1,2,3,4,5,6,7,8,9,10, B、1,2,6,8,10,12,7,8,9,10, C、1,2,3,4,10,12,14,16,9,10, D、1,2,6,8,10,12,14,16,9,10, 解析:本题在调用函数时,实参是&a[0]的地址,即把a[0]的地址传给形参,由条件i=2且i<6得出函数将对a[2]开始的4个元素(3,4,5,6)进行乘以2操作,结果分别为:a[2]=6,a[3]=8,a[4]=10,a[5]=12。a[0]、a[1]、a[6]、a[7]、a[8]、a[9]的值并没有发生变化,所以最后的输出结果为:1,2,6,8,10,12,7,8,9,10,。故本题答案选B。 2. 有以下程序 main() { int a[4][4]={{1,4,3,2},{8,6,5,7},{3,7,2,5},{4,8,6,1}},i,j,k,t; for(i=0;i<4;i++) for(j=0;j<3;j++) for(k=j+1;k<4;k++) if(a[j][i]>a[k][i]) {t=a[j][i];a[j][i]=a[k][i];a[k][i]=t;} /*按列排序*/ for(i=0;i<4;i++) printf("%d,",a[i][i]); } 程序运行后的输出结果是______。 A、1,6,5,7, B、8,7,3,1, C、4,7,5,2, D、1,6,2,1, 解析:本题首先定义了一个4行4列的二维数组a,并用了三层循环来进行按列由小到大排序操作。外层循环变量i表示数组的列,第二层循环变量j表示数组的行,第三层循环用于求第i列第j行的最小值,其中通过if语句对相关数值进行比较和交换。然后再通过for语句对排序数组对角线上的值进行输出,即输出a[0][0]、a[1][1]、a[2][2]、a[3][3]。故本题答案选A。 3. 有以下程序 main() { int i,t[][3]={9,8,7,6,5,4,3,2,1}; for(i=0;i<3;i++) printf("%d ",t[2-i][i]); } 程序执行后的输出结果是______。 A、7 5 3 B、3 5 7 C、3 6 9 D、7 5 1 解析:本题考查的是二维数组的应用。将初始值放在一对大括号内,按数组元素排列的顺序对各元素赋值,二维数组中行下标可以省略,但列下标必须要指定,由此题可以看出数组t是一个三行三列的二维数组,执行for循环语句t[2-i][i]分别为t[2][0],t[1][1],t[0][2],得出输出结果为3 5 7。故本题答案为B。

一维数组的定义与引用教案

学习必备欢迎下载 课题序号1授课日期第周月日(星期) 授课班级10单招、10计 算机 授课课时2授课形式理论 授课章节名称 使用教具一维数组的定义与引用 无 教学目的1、了解数组的基本概念。 2、掌握一维数组定义、引用; 4、提高学生编写程序的能力 教学重点掌握一维数组定义、引用; 教学难点掌握一维数组定义、引用; 更新、补 充、删节无 内容 课外作业补充

教学步骤 导入新课 新课讲授 学习必备欢迎下载 课堂教学安排 教学内容 一维数组的定义 在C语言中,变量必须先定义,后使用。数组也是如此,使用数组 时必须先定义,后引用。 定义一维数组的格式为: 类型说明符数组名[整型常量表达式],…; 例如:int a[10],b[5]; 说明: ⑴它表示定义了两个一维数组,一个数组名为a,另一个数组名为b。 数组名是按照“标识符”的规则构成的。 ⑵a数组含有10个数组元素,即a[0]、a[1]、a[2]、…、a[9];b数 组含有5个数组元素,即b[0]、b[1]、b[2]、b[3]和b[4]。注意,不能使 用a[10]和b[5],否则即出现数组超界现象。 ⑶类型说明符int说明a数组和b数组中的每个元素均占2个字节, 只能存放整型数据。类型说明符可以是任何基本类型,如float、double、 char等;也可以是以后要介绍的其它数据类型,如结构型、共用型等。 ⑷整型常量表达式可以是整型常量或符号常量。最常见的是整型常量。 不允许为变量。 ⑸C编译程序(如Turbo C)为a数组在内存中分配了10个连续的数 组单元(共占20个字节),为b数组在内存中分配了5个连续的数组单元(共 占10个字节),如图7-1所示。 a[0]a[1]a[2]a[3]a[4]a[5]a[6]a[7]a[8]a[9]b[0]b[1]b[2]b[3]b[4] 图7-1 ⑹C编译程序还指定数组名a为a数组的首地址,即a与&a[0]等价; 指定数组名b为b数组的首地址,即b与&b[0]等价。也就是说,在C语言 中,每个已定义的数组,其数组名有两个作用,其一代表该数组的名称;其 二代表该数组在内存中的首地址。 教学 方法 及 双边 活动

一维数组变量的定义、初始化

一维数组变量的定义 数组要占用内存空间,只有在声明了数组元素的类型和个数之后,才能为该数组分配合适的内存,这种声明就是数组的定义。对一维数组来说,其定义的一般形式为: <类型标识符><数组名>[<整型常量表达式>] 其中,类型标识符指数组元素的类型;数组名是个标识符,是数组类型变量;整型常量表达式表示该数组的大小。 例如: #define M20 int a[10]; float b[5]; char ch[M+6]; 定义a是有10个整型元素的数组名,b是有5个浮点型元素的数组名,ch是有M+6即26个元素的字符型数组变量名。 【说明】 数组中的第一个元素的下标从0开始。 数组名( 如 a ) 表示该数组中第一个元素( 如a[0] ) 的地址,即a和&a[0]同值。数组名是地址常量。 数组定义后,使用时无越界保护; 数组定义中的常量表达式中可以包含常量和符号常量,但不能包含变量。 例如,以下定义方法是不允许的: int n; scanf ("%d",&n); int b[n]; 同类型数组可一起定义,用逗号隔开。 如:inta[10], b[20]; 一维数组的初始化 变量可以初始化,一维数组也可以在定义的同时为各数组元素赋初值。 一维数组初始化的形式: 数据类型数组名[整型常量表达式]={初值1,初值2,……}; 数组中有若干个数组元素,可在{ }中给出各数组元素的初值,各初值之间用逗号分开。把{ }中的初值依次赋给各数组元素。 例如,int a[4]={ 1,2,3,4};表示把初值1,2,3,4依次赋给a[0],a[1],a[2]和a[3]。相当于执行如下语句:int a[4];a[0]=1;a[1]=2;a[2]=3;a[3]=4; 注意,初始化的数据个数不能超过数组元素的个数,否则出错。int a[4]={1,2,3,4,5};是错误的。 一维数组的初始化还可以通过如下方法实现: ①只给部分数组元素初始化。

最新C语言一维数组教案

学科:计算机科学与技术 课程:C语言程序设计 课题:一维数组 课时:2 教学目标:1、掌握一维数组的定义和引用 2、掌握一维数组的初始化方法 3、了解与一维数组有关的应用编程方法 教学重点:一维数组的定义和引用、初始化方法 教学难点:与一维数组有关的应用编程方法 教学方法:举例法,引导法 教学步骤:1、通过一个例子提出问题来引出本节课的知识点 2、讲授一维数组的定义和引用、初始化方法 3、示例训练 4、进行本节课的总结及作业布置 教具:黑板计算机投影仪 教学过程: 一、导入: 提问:保存一个班50位同学的一门功课的成绩,并且找出最高分和最低分,应如何实现? 解题思路:定义50个变量,从键盘中输入值,然后再相互比较。处理起来很复杂,是否有更简便的方法?引出本节课的知识点-----数组。

二、讲授: 1、数组概述: ·数组:是数目固定,类型相同的若干个变量的有序集合,用数组名标识。 序:是数组元素之间的位置关系,不是元素值的大小顺序。 数组名:是用于区别其它数组及变量的。 ·数组元素:集合中的变量,属同一数据类型,用数组名和下标确定。 下标:是数组元素在数组中的位置。 ·数组的维数:数组名后所跟下标的个数。 2、一维数组的定义 一维数组是指由一个下标数组元素组成的数组。其定义形式为: 存储类型数据类型数组名[常量表达式] 例如:static int score[50]; 它表示定义了一个名为score的数组,该数组有50个元素,其存储类型为静态型,数据类型为整型。 说明: (1)存储类型为任选项,可以是auto、static、extern存储类型,但是没有register 型。 (2)数据类型是用来说明数组元素的类型:int , char , float。 (3)数组名的命名应遵守标识符的命名规则,但是不能与其他变量同名。 (4)数组名后是用方括号[ ]括起来的常量表达式。常量表达式表示的是数组元素的个数,即数组的长度。在上例中定义了数组score [50],第一个元素为score [0],最后一个为score [49]。 (5)常量表达式中可以包括常量和符号常量,不能包含变量,因为C语言规定不允许对数组的大小作动态定义。 (6)允许在同一个类型说明中,说明多个数组和多个变量,彼此间以逗号相隔。 例如:int a,b,k1[10],k2[20]; //定义了两个一维数组、两个整型变量 判断下面的定义是否合法: int b, b[5]; //不合法,数组名不能与变量名同名 #define size 10 int b[size]; //合法,size已经在宏定义中说明,在程序中作为符号常量 int a(6); //不合法,数组名后不能使用(),只能用[] int n=5; int a[n]; //不合法,不能用变量定义数组元素的个数 int a[n+2]; //不合法,不能用变量表达式定义数组元素的个数 一维数组的存储结构:C语言在编译时给数组分配一段连续的内存空间。内存字节数=数组元素个数*sizeof(元素数据类型) 数组元素按下标递增的次序连续存放。数组名是数组所占内存区域的首地址,即数组第一个元素存放的地址。 例int a[5]; 内存地址

一维数组全面讲解

2014.5.22

该部分主要内容 1.数组的概念和用处 2.一维数组的定义 3.一维数组在内存中的存放? 4.如何引用数组元素 5.一维数组的初始化 6.一维数组简单编程举例 7.数组与指针 8.字符数组和字符串

1.数组的概念和用处 比如定义2个int型变量,通常会采用如下方法 int a1,a2; 再用这种方式定义多个int型变量,就显得繁琐,且不利于操作,C语言中使用数组来取代: int a[10]//一下定义10个int型变量 这里的数组a是相同类型(int型)变量的有序集合,各个数组元素共用一个数组名称a,用下标来区分,其优点就是:表述简洁,可读性性高,而且便于循环遍历

2.一维数组的定义 一维数组好比数学中的数列,各个元素排成一排。c语言中,一维数组的定义方式为 类型说明符数组名[常量表达式]; 类型说明符元素的数据类型,如int,char,float等。 数组名一个合法的标识符。 常量表达式表示数据元素的个数,即数组的长度。 例如: int a[10]; /* 整型数组a,有10个元素*/ float b[10];/* 实型数组b,有10个元素*/ char c[20]; /* 说明字符数组c,有20个元素*/ int d[]; /* 整型数组d,元素个数在初始化时确定*/

需要注意的是: 这样定义数组是错误的: int x=10, a[x]; /*常量表达式不能为变量!*/ int a(10); /*常量表达式必须放在[]中*/ int a[1.0] ; /*常量表达式只能为整型或省略*/ { int a; char a[10]; } /*数组名和其他变量名不能相同*/因此在给数组定义时,需要避免这几种类型的错误。

相关主题
文本预览
相关文档 最新文档