没有合适的资源?快使用搜索试试~ 我知道了~
首页c++ 数组详解
c++ 数组详解
需积分: 49 16 下载量 44 浏览量
更新于2023-03-03
评论 1
收藏 230KB DOC 举报
1.一维数组的定义(10分钟)、初始化赋值(10分钟)和元素引用(20分钟); 2.一维数组求最值、均值(20分钟)与排序(30分钟)的编程方法。 3.二维数组的定义(15分钟)、初始化赋值(10分钟)和元素引用(10分钟); 4.二维数组元素的输入/输出(15分钟)、求最值、均值问题(40分钟)的编程方法; 5.字符串的概念(8分钟)、字符数组的定义(7分钟)、初始化赋值(15分钟)和引用方法(15分钟); 6.六种字符串处理函数的格式与功能(30分钟),应用举例(15分钟);
资源详情
资源评论
资源推荐
第 4 章 数组
教学内容:
1.一维数组的定义(10 分钟)、初始化赋值(10 分钟)和元素引用(20 分钟);
2.一维数组求最值、均值(20 分钟)与排序(30 分钟)的编程方法。
3.二维数组的定义(15 分钟)、初始化赋值(10 分钟)和元素引用(10 分钟);
4.二维数组元素的输入/输出(15 分钟)、求最值、均值问题(40 分钟)的编程方法;
5.字符串的概念(8 分钟)、字符数组的定义(7 分钟)、初始化赋值(15 分钟)和引用
方法(15 分钟);
6.六种字符串处理函数的格式与功能(30 分钟),应用举例(15 分钟);
7.习题课内容
(1)一维有序数组中数据的插入与删除;
(2)二维数组的最值问题、求均值问题;
(3)二维数组的排序;
(4)矩阵加、减、乘法运算;
(5)杨辉三角形问题
教学要求:
1.掌握一维数组定义、初始化赋值和使用方法;
2.学会一维数组求最值、均值与排序的编程方法;
3.掌握二维数组定义、初始化赋值和使用方法;
4.学会二维数组元素的输入/输出、求最值、均值问题的编程方法;
5.掌握字符数组的定义、初始化赋值和使用方法;
6.学会字符串处理函数的使用方法;
7.学会有序数组中数据的插入与删除、二维数组的排序、矩阵加、减、乘法运算、杨辉三
角形等问题编程方法。
教学方法:
1.通过线性代数中行矩阵引出一维数组的数组名、数组元素、元素下标等概念,然后给出
一维数组的定义及初始化赋值。
2.用数组的内存分配图来说明一维数组的内存分配方式。
3.在介绍一维数组元素引用时,应使用最简单的数组元素输入/输出例子,以便学生能通
过简单例子来理解一维数组的概念。
4.一维数组应用重点是:求数组元素的累加和、平均值、最大值、最小值、排序程序的编
写方法。求最大(小)值的方法是数据元素逐一比较,大(小)的留下,小(大)的放走。
排序算法的关键是要记住:
(1)冒泡法(升序):定义数组为 a[N],数据输入到 a[0]~a[N-1],外循环变量 i 从 1 到 N-
1,内循环变量 j 从 0 到 N-1-i,相邻两数比较,若 a[j]>a[j+1]则交换。
(2)选择法(升序):定义数组为 a[N+1],数据输入到 a[1]~a[N],用双循环:i=1 to N-
1,j=i+1 to N if a[i]>a[j] 则交换。
(3)用单步运行方法,使学生看清求最值、均值与排序的过程。建议制作多媒体课件演示
排序过程。
5.二维数组的概念可从 m*n 矩阵及二维线性表引入。并由此给出定义、初始化赋值。
6.二维数组按行分配存储空间的概念一定要画图说明。
7.二维数组元素引用可用 3*4 数组数据的输入/输出为例加以说明,举例后再给出思考题,
让学生考虑数据处理,如两数组相加的处理。
8.二维数组应用举例以计算学生成绩表中的平均成绩为重点,在此基础上引出计算总分与
每门课平均分的问题,再进一步引深到求每门课最高分与最低分的问题。
9.重点讲清字符串的格式、存储方式、结束标志,说明字符数组是类型为字符型的数组,
因此,其定义格式与一维数组基本相同。允许用 cin 将字符串输入到字符数组,用 cout 将
字符数组输出到屏幕。
10.可以用串函数连接、拷贝、比较两个字符串,测串长,改变大小写等。
11.通过习题课使学生学会下列问题的求解编程
(1)一维有序数组中数据的插入与删除;
(2)二维数组的最值问题、求均值问题;
(3)二维数组的排序;
(4)矩阵加、减、乘法运算;
(5)杨辉三角形问题。
C++除了提供基本数据类型外,还提供了导出数据类型,它们有数组、结构体、共同体和
类,本章介绍数组。数组是若干个同类数据元素的集合,分为一维数组、二维数组、字符
数组。下面依次介绍。
4.1 数组的定义和引用
4.1.1 一维数组的定义和引用
引例:在线性代数中具有 10 个整数元素的行矩阵 A 表示方法为:A=[a0 a1 a2 a3 … a9],为
了存放行矩阵 A 的元素值,引入一维整型数组 a[10],该数组的数组名为 a,共有 10 元素,
分别为 a[0]、a[1]、a[2]、a[3]、a[4]、a[5]、a[6]、a[7]、a[8]、a[9]。一维数组必须先定义后
使用,其定义格式为:int a[10];
表示定义了一个名为 a 的整型数组,由此可引出一维数组的定义格式。
1.一维数组的定义与初始化赋值
(1)定义格式:〔存储类型〕 <类型> <数组名>[<常量表达式>];
说明:
① 存储类型将在第 5 章中介绍;
② 类型定义了数组元素的数据类型,可以是基本类型或导出类型;
③ 数组名应符合标识符的命名规则;
④ 常量表达式规定了数组元素的个数,即数组长度。
常量表达式中可以包含常量和符号常量,不能包含变量,如 N+1。其中 N 为符号常量。
⑤ 数组元素的下标从 0 开始,且不能超出范围。
(2)一维数组的初始化赋值
一维数组初始化赋值有三种方法:
① 给所有元素赋初值:{a0,a1,a2, …,an}
将各元素初值放在花括号括起的表中,各初值间用逗号分开。例如:
int a[10]={1,2,3,4,5,6,7,8,9,10};
表示数组 a 中的所有数组元素 a[0]、a[1]、a[2]、a[3]、a[4]、a[5]、a[6]、a[7]、a[8]、a[9]分
别获得初值 1、2、3、4、5、6、7、8、9、10。
注意:可由初值个数确定数组长度。
如果一个数组在定义时对它的所有元素赋了初值,可以不指定数组的长度,系统自动计算
数组的长度。例如:
int b[ ]={1,2,3,4,5};
系统自动计算 b 数组的长度为 5,即 b 数组有 5 个数组元素 b[0]、b[1]、b[2]、b[3]、b[4],
并分别获得初值 1、2、3、4、5。
② 给部分元素赋初值{a0,a1,a2, …,ak}
将 a0、a1、…、ak-1 赋给 a[0]、a[1]、…、a[k-1], 而 a[k]、…、a[n]的值不确定。
例如:int a[10]={1,2,3,4,5};
a[0]
1
a[1]
2
a[2]
3
a[3]
4
a[4]
5
a[5]
6
a[6]
7
a[7]
8
a[8]
9
a[9]
10
图 4.1 一维数组的存储方式
表示数组 a 中的前 5 个元素 a[0]、a[1]、a[2]、a[3]、a[4]分别获得初值 1、2、3、4、5,其
它元素的值是不确定的。
③ 数组定义为全局或静态变量时,所有数组元素初值均为 0;数组定义为其他存储类型的
局部变量时,数组元素没有确定的值。关于局部变量、全局变量、静态变量的概念将在后
面的章节中介绍。
2.一维数组内存分配
数组 a[n]定义后,系统分配 n*k 个连续存储单元存放数组元素值(k=元素占用字节数)。
例如:定义数组: int a[10]={1,2,3,4,5,6,7,8,9,10}; 后,系统将为数组 a 分配 10 个元素的存储
空间,每个元素占有 4 个字节,共 40 个字节。存储空间的分配如图 4.1 所示。
3.一维数组元素的引用
C++规定只能对数组中的元素进行引用,不能把整个数组作为一个整体使用。
一维数组元素的引用格式:<数组名>[<下标表达式>]
下标表达式值=数组元素下标(整型)。
【例 4.1】 通过键盘将 10 个整数依次输入到一个数组中,然后按倒序输出。
程序如下:
#include <iostream.h>
void main(void)
{ int a[10],i;
剩余49页未读,继续阅读
cqwshanfeng
- 粉丝: 1
- 资源: 13
上传资源 快速赚钱
- 我的内容管理 收起
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
会员权益专享
最新资源
- RTL8188FU-Linux-v5.7.4.2-36687.20200602.tar(20765).gz
- c++校园超市商品信息管理系统课程设计说明书(含源代码) (2).pdf
- 建筑供配电系统相关课件.pptx
- 企业管理规章制度及管理模式.doc
- vb打开摄像头.doc
- 云计算-可信计算中认证协议改进方案.pdf
- [详细完整版]单片机编程4.ppt
- c语言常用算法.pdf
- c++经典程序代码大全.pdf
- 单片机数字时钟资料.doc
- 11项目管理前沿1.0.pptx
- 基于ssm的“魅力”繁峙宣传网站的设计与实现论文.doc
- 智慧交通综合解决方案.pptx
- 建筑防潮设计-PowerPointPresentati.pptx
- SPC统计过程控制程序.pptx
- SPC统计方法基础知识.pptx
资源上传下载、课程学习等过程中有任何疑问或建议,欢迎提出宝贵意见哦~我们会及时处理!
点击此处反馈
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功
评论0