大学c++05数组与字符串

上传人:ji****n 文档编号:57694040 上传时间:2018-10-24 格式:PPT 页数:64 大小:334KB
返回 下载 相关 举报
大学c++05数组与字符串_第1页
第1页 / 共64页
大学c++05数组与字符串_第2页
第2页 / 共64页
大学c++05数组与字符串_第3页
第3页 / 共64页
大学c++05数组与字符串_第4页
第4页 / 共64页
大学c++05数组与字符串_第5页
第5页 / 共64页
点击查看更多>>
资源描述

《大学c++05数组与字符串》由会员分享,可在线阅读,更多相关《大学c++05数组与字符串(64页珍藏版)》请在金锄头文库上搜索。

1、1,第五章 数组与字符串,2,【教学目的与要求】理解数组的定义和使用,掌握数组的常用操作和字符串的处理。 【教学重点与难点】数组的应用,字符串的处理方法。 【教学方法】讲授与上机相结合。,3,数组的概念,数组的应用,数组的定义,字符串,本章授课内容,常见错误,4,5.1 数组的概念,数组是一组有序数据的集合;数组中的每一个元素都属于同一个数据类型。用一个统一的数组名和下标来唯一的确定数组中的元素。,在科学计算和数据处理中,要用到成批数据,这些数据类型相同,且彼此间存在一定的顺序关系,为了便于处理,引入了数组类型。,5,一、数组的引入,案例:学生成绩管理 要求:保存每个学生的成绩,那就不能只使用

2、一个变量score了,而需要40个变量,但这样一来输入、输出、计算都会变得繁琐。 按照总成绩从高到低排序,必须保存所有成绩。,6,二、数组的概念,返 回,数组: 由具有相同类型的固定数量的元素组成的结构 数组元素: 每一个数组元素都是一个变量,为了与一般的变量相区别,我们称数组元素为下标变量 数组元素在数组中的位置序号称下标,7,一、一维数组的定义,二、一维数组的存储结构,三、数组元素的引用形式,四、一维数组的初始化,六、一维数组程序设计举例(算法),五、一维数组的输入和输出,下一节,5.2 一维数组,8,例如: int a10;,数组名,常量表达式,类型说明,一、一维数组的定义,格式 : 类

3、型标识符 数组名常量表达式;,9,int a10;,数组名:用户定义的标识符数组名表示了一个存储区的首地址 (即第一个数组元素的地址),int n; cinn; int an; ,常量表达式中不能有变量常量表达式的值不能是实数,常量表达式的值为元素的个数,10,二、一维数组的存储结构,a,一个数组的所有元素都是连续存储的,数组元素为: a0,a1,a2a9,int a10;,所占空间为: 类型长度*元素个数,数组首地址,11,三、数组元素的引用形式,数组元素的引用: 数组名下标,a0 = a2+a4*2,int a10; a0=2;,说明 (1) 下标可以是整型常量或整型表达式 如: a1 ,

4、 a2*3,(2) 数组定义为 int a5 , 数组长度为5 而下标在0 - 4之内, 即a0 - a4,注意: 如果出现 a5 = 72 ; 编译时不会指出错误, 系统会将a4后下一个存储单元 赋值为32, 但这样可能会破坏数组以外其他变量的值。,返 回,12,四、一维数组的初始化,概念 : 在定义一维数组时对各元素指定初始 值称为数组的初始化,如: int a5 = 1 , 3 , 5 , 7 , 9 ;,2. 说明 初值用 括起来, 数据之间用逗号分开. 对数组的全体元素指定初值,可以不指明数组的长度, 系统会根据 内数据的个数确定数组的长度。 如 : int a = 1 , 3 ,

5、5 , 7 , 9 ;,13,(3) 对数组中部分元素指定初值 ( 这时不能省略数组长度 )如 : int a5 = 1 , 3 , 5 ;,(4) 使数组中的全部元素初始值都为 0如: int a5 = 0 , 0 , 0 , 0 , 0 ;,更简单的写法: int a5= 0 ;,14,五、一维数组的输入和输出,数组的输入和输出只能逐个对数组元素进行操作(字符数组例外),输入方法:,int a10, i;,输入第i个数组元素:,cinai;,输入整个数组的元素:,for ( i=0; iai;,输出方法:,输出第i个数组元素:,coutai;,输出整个数组的元素:,for ( i=0; i

6、10; i+ )coutn;for ( i=0; isc; aver+=sc;aver/=n;coutsci;aver+=sci; aver/=n; for ( i=0 ; iaver)coutsc i );,返 回,16,例5.2 用一维数组求Fibonacci 数列,#include void main() int i;int f 20 = 0,1;for ( i=2; i20; i+ )f i = f i-2 +f i-1;for ( i=0; i20; i+) if ( i%5 = 0) cout“n”;cout“t”aij ;for ( i=0 ; i4 ; i+ )for (j=0

7、 ; j3 ; j+)bij=aji;for ( i=0 ; i4 ; i+ ) for ( j=0 ; j3 ; j+ ) cout setw(5)bij ;cout endl; ,输入数组a,进行矩阵转置,输出数组b,六、二维数组程序设计举例,26,程序举例,教材123页 程序5-3-2 程序5-3-3 程序5-2-3,27,例5.4: 有一个3*4的矩阵, 编程求出其中的最大值及其所在的行号和列号。(查找极值),28,max,row,col,12,1,2,#include void main( ) int i , j, row=0, col=0 , max ;int a34= 5, 2,

8、 0, 9,3, 7, 12, 6,10, 4, 1, 8 ;max=a00;for ( i=0 ; imax ) max=aij ;row=i ; col=j ; cout“max=” max; cout“max=a”rowcolai;for(i=0;iN;i+)/输出coutai ;,/*排序*/ for (i=0;iaj+1)t=aj;aj=aj+1;aj+1=t; for(i=0;iN;i+) /输出coutaiai;for ( i=0 ; iak )k=j ;if ( k!=i ) t=ai ;ai=ak ; ak=t ; ,源程序:例5-3-1,for ( i=0 ; iN ; i+)coutai; ,

展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 中学教育 > 初中教育

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号