




全文预览已结束
下载本文档
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
C语言程序设计第九节 数组二维数组1:通过对本节课的学习,能够了解、掌握二维数组定义、初始化、引用和在程序中使用。1.1教学目的:1. 掌握二维数组定义、初始化、引用 2. 能够实现二维数组的应用 1.2教学内容:1. 二维数组定义、初始化及引用2. 二维数组的应用1. 3教学重点:二维数组定义、初始化及引用1.4教学方法:讲授法、课件演示1. 5学习方法:听课、做笔记、课后作业2:回顾上一节:15分钟1. 概念:数组、数组元素、数组下标2. 一维数组的定义、初始化、引用3:课程知识点讲解:具体知识点1:二维数组定义和引用 15分钟 1、二维数组的定义形式为类型标识符 数组名常量表达式常量表达式;例如:int a32; 表示数组a是一个32(3行2列)的数组, 共有6个元素,每个元素都是int型。 二维数组的应用之一是矩阵和行列式。其中,左起第一个下标表示行数,第二个下标表示列数。我们也可以把二维数组看成是一种特殊的一维数组:它的元素又是一个一维数组。 例如,可将上面的a数组看成是一个一维数组,它有3个元素, 分别是a0,a1,a2,每个元素又是一个包含2个元素的一维数组, 如图6.7所示, 因此可以把a0,a1,a2看作是三个一维数组的名字。上面定义的二维数组就可理解为定义了三个一维数组, 即相当于把a0,a1,a2看作是三个一维数组名。C语言的这种处理方法在数组初始化和用指针表示是显得很不方便,这在以后会体会到的。C语言中,二维数组中元素排列的顺序是:按行存放,即在内存中先顺序存放第一行的元素,再存放第二行的元素。2、 二维数组的引用也是逐个引用数组中的元素的。二维数组的元素的表示形式为: 数组名下标下标下标可以是整型表达式,如a2-12*2-1。数组元素可以出现在表达式中,也可以被赋值。 具体知识点2:二维数组的初始化15分钟1、分行给二维数组赋初值。如:int a34=1,2,3,4,5,6,7,8,9,10,11,12;这种赋初值方法比较直观,把第一个花括弧内的数据赋给第一行的元素,第二个花括弧内的数据赋给第二行的元素,即按行赋初值。2、可以将所有数据写在一个花括弧内,按数组排列的顺序对各元素赋初值。如:int a34=1,2,3,4,5,6,7,8,9,10,11,12;效果与前相同。但以第1种方法为好,一行对一行,界线清楚。用第2种方法如果数据多,写成一大片,容易遗漏,也不易检查。3、可以对部分元素赋初值 int a34=1,5,9;它的作用是只对各行第1列的元素赋初值,其余元素值自动为0。赋初值后数组各元素为:1 0 0 05 0 0 09 0 0 0也可以对各行中的某一元素赋初值:int a34=1,0,6,0,0,11;初始化后的数组元素如下:1 0 0 00 6 0 00 0 11 0 这种方法对非0元素少时比较方便,不必将所有的0都写出来,只需输入少量数据。也可以只对某几行元素赋初值:int a34=1,5,6; 数组元素为1 0 0 05 6 0 00 0 0 0 第三行不赋初值。也可以对第二行不赋初值:int a34=1,9;4、如果对全部元素都赋初值(即提供全部初始数据),则定义数组时对第一维的长度可以不指定,但第二维的长度不能省。如int a34=1,2,3,4,5,6,7, 8,9,10,11,12;与下面的定义等价:int a 4=1,2,3,4,5,6,7,8,9,10,11,12;系统会根据数据总个数分配存储空间,一共12个数据,每行4列,当然可确定为3行。在定义时也可以只对部分元素赋初值而省略第一维的长度,但应分行赋初值。如:int a4=0,0,3,0,10;这样的写法,能通知编译系统:数组共有3行。数组各元素为0 0 3 0 0 0 0 00 10 0 0a这种两个方括弧的方式,对数组初始化时十分有用,它使概念清楚,使用方便,不易出错。具体知识点3:二维数组程序举例35分钟案例讲解:【案例6.10】下面是定义和输出二维数组的程序。假设程序执行后输入1、2、3、4、5、6、7、8、9、0这10个数,判断程序运行的结果。程序如下:#includemain() int a32=1,2,3,4,5,6;int i,j,b25;for(i=0;i2;i+) for(j=0;j5;j+) scanf(“%d”,&bij);printf(“array a:n”);for(i=0;i3;i+) for(j=0;j2;j+) printf(“%5d”,aij);printf(“n”); printf(“array b:n”);for(i=0;i2;i+) for (j=0;j5;j+) printf(“%5d”,bij);printf(“n”); 【案例6.11】将一个二维数组行和列元素互换,存到另一个二维数组中。假设有: 1 2 3 1 4 数组a ,行列互换后数组 b 2 5 。 4 5 6 3 6程序如下:main() int a23=1,2,3,4,5,6;int b32,i,j;printf(array a: n); for(i=0;i=1;i+)for(j=0;j=2;j+)printf(%5d,aij);bji=aij; printf(n);printf(array b:n);for(i=0;i=2;i+)for(j0;jmaxfor j=0 to3真 假max=aijrow=icolum=j输出:max和row,colum图6.9【案例6.14】读入表6.1中的值到数组,分别求各行、各列及表中所有数之和。编程分析:定义二维数组时要将计算结果的存放一并考虑到。实际上本题计算的是各行、各列之和。表6.112468233157925174 本节总结 10分钟学生问题汇总: 问题1: 二维数组的理解 问题2: 二维数组用双重循环输入是混淆行列的意义 问题3: 在同一个循环语句中同事输入输出数据,不用复合语
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 加强包装器械管理制度
- 培训专项经费管理制度
- 单位考试用品管理制度
- 公司室内卫生管理制度
- 做好外派培训管理制度
- 健全学生资助管理制度
- 公司后备干部管理制度
- 卫星任务规划管理制度
- 公司发票管控管理制度
- 医院日常节能管理制度
- 幼儿园大班数学活动《20以内的数及加减法》
- 国家开放大学《理工英语4》机考参考答案(第1-3套)
- 项目延期申请表
- 体系文件编号规则
- 患者突发昏迷应急预案演练脚本-
- 计算机应用基础-终结性考试试题国开要求
- 2023年全国统一高考真题物理试卷(新课标ⅰ)(含答案及解析)
- 2023年05月四川省广安市司法局公开招考2名劳务派遣制司法行政辅助人员笔试题库含答案解析
- 公司“三基”工作检查评比细则(抢维修管理)
- 《安装条》浙江省建筑设备安装工程提高质量的若干意见
- 分布式系统复习题与答案
评论
0/150
提交评论