C语言一维数组教案.doc

学学 科科计算机科学与技术 课课 程程C 语言程序设计 课课 题题一维数组 课课 时时2 教学目标教学目标1、掌握一维数组的定义和引用 2、掌握一维数组的初始化方法 3、了解与一维数组有关的应用编程方法 教学重点教学重点一维数组的定义和引用、初始化方法 教学难点教学难点与一维数组有关的应用编程方法 教学方法教学方法举例法,引导法 教学步骤教学步骤 1、通过一个例子提出问题来引出本节课的知识点 2、讲授一维数组的定义和引用、初始化方法 3、示例训练 4、进行本节课的总结及作业布置 教教 具具黑板 计算机 投影仪 教学过程教学过程 一、一、导入导入 提问保存一个班 50 位同学的一门功课的成绩,并且找出最高分和最低分,应如何实 现 解题思路定义 50 个变量,从键盘中输入值,然后再相互比较。处理起来很复杂,是 否有更简便的方法引出本节课的知识点-数组。 二、二、讲授讲授 1、数组概述、数组概述 数组是数目固定,类型相同的若干个变量的有序集合,用数组名标识。 序是数组元素之间的位置关系,不是元素值的大小顺序。 数组名是用于区别其它数组及变量的。 数组元素集合中的变量,属同一数据类型,用数组名和下标确定。 下标是数组元素在数组中的位置。 数组的维数数组名后所跟下标的个数。 2、一维数组的定义、一维数组的定义 一维数组是指由一个下标数组元素组成的数组。其定义形式为 存储类型 数据类型 数组名常量表达式 例如static int score50; 它表示定义了一个名为 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,k110,k220; 定义了两个一维数组、两个整型变量 判断下面的定义是否合法 int b, b5; 不合法,数组名不能与变量名同名 define size 10 int bsize; 合法,size 已经在宏定义中说明,在程序中作为符号常量 int a6; 不合法,数组名后不能使用,只能用 int n5; int an; 不合法,不能用变量定义数组元素的个数 int an2; 不合法,不能用变量表达式定义数组元素的个数 一维数组的存储结构C 语言在编译时给数组分配一段连续的内存空间。内存字节数 数组元素个数*sizeof元素数据类型 数组元素按下标递增的次序连续存放。数组名是数组所占内存区域的首地址,即数组第 一个元素存放的地址。 例 int a5; 假设首地址是 2000 a0 a1 a2 a3 a4 内存地址 2000 2002 2004 2006 2008 占用字节数为5*sizeofint5*210 3、一维数组元素、一维数组元素的引用的引用 数组元素是组成数组的基本单元。数组元素用数组名和下标确定。下标表示了元 素在数组中的顺序号,C 语言规定数组必须先定义,后使用。一维数组的引用形式为 数组名下标 其中下标可以是整型常量、整型变量或整型表达式。例如有定义 int t,a10,i2; 则以下都是正确的表达式 ta 6; a0 aiai1; 引用说明 (1)必须像使用变量那样,先定义,再使用,如以下操作是错误的 int xa2; int a10; (2)下标的最小值为 0,最大值是数组大小减 1。在前例中定义了数组 score 50, 使用的时候不能使用 score 50, 否则产生数组越界。C 语言对数组不作越界检查,使用 时要注意 (3)在 C 语言中只能对数组元素进行操作,不能一次对整个数组进行操作。例如要 输出有 10 个元素的数组,则必须使用循环语句逐个输出各下标变量 fori0; i score 1,则交换;然后比较 score 1与 score 2比较;依次类推,直至 score 8与 score 9比较为止第一趟冒泡 排序,结果最大的数被安置在最后一个元素 score 9位置上,此次共比较 9 次。 (2)对前 9 个数进行第二趟冒泡排序,结果使次大的数被安置在倒数第二个元素 score 8位置,此次共比较 8 次。 (3)重复上述过程,共经过 9 趟冒泡排序后,排序结束 程序如下 include void main int i,j; float score 10, t,max,min; printf“Enter 10 scoresn“; fori0;i10;i 输入 10 个浮点型学生的成绩 scanf“f“, printf“n“; fori1;i10;i 趟数,共 9 趟 forj0;j score j1 交换 score j和 score j1 t score j; score jscore j1; score j1 t; fori0;i10;i 输出排好序的成绩 printf“ f “, score i; printf“n“; 四、总结四、总结 这节课主要介绍了数组这一特殊的数据结构。数组的特点是大小必须是确定的,且 数组中元素的类型必须相同。它的优点是表述简洁,可读性高,便于使用循环结构。 一维数组的定义和使用在使用时应遵循先定义、后使用的原则。不能整体引用, 也不能越界使用数组元素,可以用循环结构很方便地访问数组元素。 一维数组初始化的方法定义时初始化的几种方式、在程序中用赋值语句初始化。 五、作业要求作业要求 课后大家将课本上的例题和课后习题进行练习,以此提高对程序设计的更高程度的 认识。

c语言程序设计一维数组教案,C语言一维数组教案.doc相关推荐

  1. c语言程序设计教程王建feng,C语言程序设计

    C语言程序设计 出版时间:2016年08月 定 价:36.00 I S B N :9787113220693 所属分类: 大中专教材  >  研究生/本科/专科教材 &nbsp大中专教材 ...

  2. 兰州大学C语言程序设计课程作业,兰州大学C语言程序设计课程作业1附答案.doc...

    兰州大学C语言程序设计课程作业1附答案.doc C 语言程序设计课程作业语言程序设计课程作业_A 历次成绩 完成时间 查看详情 1.0.0 2015-11-21 091531 2.0.0 2015-1 ...

  3. 国开题库c语言,C语言-程序设计-阅读程序题库.资料大全及其答案.doc

    C语言-程序设计-阅读程序题库.资料大全及其答案.doc 阅读程序题[2.1]以下程序的输出结果是 . mainD float a:a1/100000000:printf"g",a ...

  4. 20201022-成信大-C语言程序设计-20201学期《C语言程序设计B》C-trainingExercises02

    文章目录 20201015-成信大-C语言程序设计-20201学期<C语言程序设计B>C-trainingExercises02 成信大-C语言程序设计上机作业-参考 **20201学期& ...

  5. 北京电大c语言实验作业二,大学大一c语言程序设计实验室上机题全部代码答案(实验报告).doc...

    大学大一c语言程序设计实验室上机题全部代码答案(实验报告).doc C语言实验报告实验1-1:helloworld程序:源代码:#includemain(){printf("hellowor ...

  6. c语言程序设计 学生档案管理系统,C语言程序设计--班级档案管理系统.doc

    PAGE PAGE 2 C语言程序设计 课程名称 : C语言课程设计 设计题目: 班级档案管理系统 学生姓名: 学 号: 专业班级: 指导老师: 数学与信息技术学院 2011 年 11 月1日 说 明 ...

  7. 20201022-成信大-C语言程序设计-20201学期《C语言程序设计B》C-trainingExercises29

    文章目录 20201022-成信大-C语言程序设计-20201学期<C语言程序设计B>C-trainingExercises29 程序改错与填空要求 具体要求 具体题面 D1 D2 D3 ...

  8. led c语言程序结设计,《C语言程序设计》学习领域课程标准-LED照明工程设计.doc...

    <C语言程序设计>学习领域课程标准-LED照明工程设计.doc <C语言程序设计>课程标准 课程类别 专业核心课程 开课部门 电子信息工程系 总学时 64 学时 学分 4学分 ...

  9. c语言程序设计教程王建feng,C语言程序设计实训指导与习题

    本书由"C语言程序设计"上机步骤及运行环境搭建,"C语言程序设计"实训,"C语言程序设计"习题三部分组成.通过实训.习题等内容,着力解决工程 ...

  10. 有n个学生选修了c语言程序设计这门课程,C语言程序设计报告学生选修课系统(18页)-原创力文档...

    C 语 言 程 序 设 计 学校: 学院: 班级序号: 学号: :姓名 指导老师: C语言程序设计报告 一.C语言课程设计的目的: 高级语言课程设计是学习完<高级语言程序设计>课程后进行的 ...

最新文章

  1. 父域与子域之的信任关系
  2. vue-concise-slider vue滑动组件
  3. 成功解决ModuleNotFoundError: No module named ‘sklearn.learning_curve‘
  4. keras从入门到放弃(五)独热编码和顺序编码
  5. 作为一个web开发人员,哪些技术细节是在发布站点前你需要考虑到的
  6. script链接标签前置无法读取的解决
  7. linux和windows下安装python拓展包及requirement.txt安装类库
  8. python绘制玫瑰花代码视频_python turtle玫瑰花绘制效果和源代码
  9. Android7.0无需FileProvide搞定URI拍照、应用安装问题
  10. An动画优化之遮罩层动画
  11. Windows C盘清理
  12. Eclipse下载与安装教程 2020
  13. 数据库系统是由那些组成的?
  14. 以史为镜,认知计算机操作系统
  15. 如何将 PDF 转换为 JPG、PNG、TIFF、BMP、GIF?
  16. TVS管的参数理解与选型
  17. Linux(CentOS7)查看虚拟机IP
  18. 树莓派,居然还隐藏了这些秘密
  19. 使用md5来实现文件去重
  20. CASE WHEN详解

热门文章

  1. Docker网络 - docker network详解
  2. 输入带36V耐高压保护和6.1V关闭,单节锂电池2A充电管理芯片方案 -9号板
  3. 基于51单片机的密码锁多路测温+测距+语音播报
  4. Windows11局域网中ping不通问题处理
  5. 扬帆优配|淡定的周期股走出慢牛,这些超跌大象股低估值
  6. 雷电模拟器无法修改网络,没有出现修改网络的选项,导致fiddler无法连接
  7. 关于Android语言本地化适配的问题和记录
  8. java-php-python-ssm医院住院管理系统计算机毕业设计
  9. android名称框怎么取消,word文档格式在哪设置,word格式怎么设置
  10. BZOJ 1116 POI2008 CLO