C语言一维数组教案.docVIP

  • 32
  • 0
  • 约4.29千字
  • 约 6页
  • 2022-03-02 发布于浙江
  • 举报
学 科:计算机科学与技术 课 程:C语言程序设计 课 题:一维数组 课 时:2 教学目标:1、掌握一维数组的定义和引用 教学重点: 教学难点: 举例法,引导法 教学步骤: 1、通过一个例子提出问题来引出本节课的知识点 3、例如训练 4、进行本节课的总结及作业布置 教 具:黑板 计算机 投影仪 教学过程: 一、导入: 提问:保存一个班50位同学的一门功课的成绩,并且找出最高分和最低分,应如何实现? 二、讲授: 1、数组概述: ·数组:是数目固定,类型相同的假设干个变量的有序集合,用数组名标识。 序:是数组元素之间的位置关系,不是元素值的大小顺序。 数组名:是用于区别其它数组及变量的。 ·数组元素:集合中的变量,属同一数据类型,用数组名和下标确定。 下标:是数组元素在数组中的位置。 ·数组的维数:数组名后所跟下标的个数。 2、一维数组的定义 一维数组是指由一个下标数组元素组成的数组。其定义形式为: 存储类型 数据类型 数组名[常量表达式] 例如:static int score[50]; 它表示定义了一个名为score的数组,该数组有50个元素,其存储类型为静态型,数据类型为整型。 说明: 〔1〕存储类型为任选项,可以是auto、static、extern存储类型,但是没有register型。 〔2〕数据类型是用来说明数组元素的类型:int , char , float。 〔3〕数组名的命名应遵守标识符的命名规那么,但是不能与其他变量同名。 [ ]括起来的常量表达式。常量表达式表示的是数组元素的个数,即数组的长度。在上例中定义了数组score [50],第一个元素为score [0],最后一个为score [49]。 〔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]; 假设首地址是2000 a[0] a[1] a[2] a[3] a[4] 内存地址 2000 2002 2004 2006 2021 占用字节数为:5*sizeof(int)=5*2=10 3、一维数组元素的引用 数组名[下标] 其中下标可以是整型常量、整型变量或整型表达式。例如有定义: int t,a[10],i=2; 那么以下都是正确的表达式: t=a [6]; a[0]= a[i]+a[i+1]; 引用说明: 〔1〕必须像使用变量那样,先定义,再使用,如以下操作是错误的: int x=a[2]; int a[10]; 〔2〕下标的最小值为0,最大值是数组大小减1。在前例中定义了数组score [50],使用的时候不能使用 score [50], 否那么产生数组越界。C语言对数组不作越界检查,使用时要注意! 〔3〕在C语言中只能对数组元素进行操作,不能一次对整个数组进行操作。例如要输出有10个元素的数组,那么必须使用循环语句逐个输出各下标变量: for(i=0; i10; i++) printf(%d,a[i]); 而不能用一个语句输出整个数组。 下面的写法是错误的: printf(%d,a); 例:输出5个学生的成绩 #include stdio.h void main ( ) { int i, score[5]={82,79,65,91,86}; for (i=0;i5;i++) printf ( %d ,score[i]); } 4、一维数组的初始化 1.数组定义时初始化:就是在定义数组时给数组元素赋初值。其初始化的一般格式为: 数据类型 数组名[数组元素个数] ={值1,值2,… ,值n}; 〔1〕对数组全部元素赋初值 例如 int a[5]={2,4,6,8,10}; 其作

文档评论(0)

1亿VIP精品文档

相关文档