c语言程序设计5*5矩阵求出,实用C语言程序设计教程5数组和矩阵ppt221.ppt

实用C语言程序设计教程5数组和矩阵ppt221

C语言程序设计 - 第5章 数组和矩阵 第5章 构造数据—— 数组和矩阵 本章教学目标 1、理解C语言中数组的本质及其在内存的存储结构 2、应用数组表示同类型批量数据 3、掌握循环和数组结合的基本操作 4、理解数组的地址管理机制 5、应用字符数组的基本表示方法 6、应用典型常用算法解决问题 7、理解项目开发和程序编制 本章内容 5.1 数组的基本概念 5.2 一维数组 5.3 数组与函数 5.4 排序算法 5.5 数据排序算法 5.6 数据插入算法 5.7 二维数组 5.8 字符数组与字符串处理函数 本章项目任务 编写程序,实现“学生信息管理系统”中用户和成绩管理子系统部分模块的功能。 5.1 数组(Array)的基本概念 1.数组的概念 数组名:变量集的共同名字。例,a 数组元素(Array Element):数组中的每个成员变量。例,a[0]、a[1]、a[2]...。 数组下标(Subscript):数组元素通过它在数组中的相对位置来引用。这个位置即下标值。下标总是从0开始。 数组大小(Array Size):数组所包含元素的个数。数组元素个数=下标最大值+1 2.数组的两个特征: 数组是有序的。数组元素之间按顺序排列,以下标(索引)确定它们之间的相对位置 数组是同质的。同一数组中的每个元素是同类型。叫元素类型(element type) 【项目案例5-1】理解某高校“学生信息管理”系统中学生成绩中的数据结构 5.2一维数组(One-dimensional Array) 5.2.1 一维数组的定义(逻辑结构,Logical Structure) 一维数组可以直观地被认为是排列成一行或一列的数据列表。 5.2.2 一维数组的存储结构(物理结构) 例如: int a[10]; 系统为数组a分配40个字节的连续存储空间,即数组元素个数10*sizeof(元素数据类型)=10*4=40。 sizeof是一种单目运算符,计算其操作数在内存中所占字节数。使用形式如下: sizeof(数据类型) 或 sizeof(变量名) 或 sizeof 变量名 一维数组的元素在内存中依次连续存储 5.2.3 一维数组的初始化(Initialization) 数组初始化的一般格式如下: [static] 类型说明符 数组名[数组长度]={各数组元素值}; 5.2.4 一维数组元素的引用 C语言一般不允许对一个数组进行聚集操作,即不能对整个数组作为一个整体单元操作(但字符数组除外)。 例如,int a[10],b[10]; 如果想将数组a的值赋给b,下面的语句是错误的: b=a; /*非法语句*/ 要想实现这个功能,就必须进行对应元素的一一赋值,一次只能给一个元素赋值。 例:#define NJUDGES 5 float scores[NJUDGES]; 该数组的元素分别为: scores[0] scores[1] scores[2] scores[3] scores[4] 1.一维数组元素的输入和输出 数组操作的强大功能在于可以通过下标值的变化对数组进行遍历。 常与循环结合遍历处理数组中的元素。 大多数情况下,下标表达式就是循环的循环变量,从而可以很容易地依次对每个数组元素进行各种操作。常用单循环实现一维数组元素的输入和输出。 【例5-1】阅读程序,理解数组遍历操作。 #include void main( ) { int i, as[10]; for(i=0; i<10; i++) scanf("%d",&as[i]); for(i=0;i<10;i++) printf("%4d",as[i]); } 2.一维数组元素的计算与处理 对数组元素的操作类似于简单变量对象,但必须使用下标指定被处理的某单个数组元素。 【例5-2】计算斐波那契(Fibonacci)数列,第12个月时兔子的对数是多少。 分析: (1)确定数据结构。现在用数组表示每月的兔子数,则数组可定义为rabbit[12]。其中元素rabbit[0]=1表示最初的一对小免子,元素rabbit[1]=1表示最初的小免子长大了,元素rabbit[11],即第12个月的值就是问题所求。 (2)递推算法确定。确定每个月的免子rabbit[i]= rabbit[i-1]+rabbit[i-2],

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值