- 1、本文档共18页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
07一维数组精要
第六讲 一维数组 数组的概念 【问题】求全班同学期末考试中 计算机课的平均分及最高分 ? 【结论】引入数组—— 数组 相当于一个有序 集合;其中的数据都有 位置序号(称为 下标 ) 的区别. 数组中的每个数据称为一个 元素。同一数组中所有元素的数据类型 必须相同。 一维数组 根据数组的不同结构,数组可分为 一维数组 和多维数组 . 一维数组的特点: 元素之间是一维线性的关系; 每个元素只有一个下标。 一、一维数组的定义 (※) 1、语法: 类型符 数组名[ 常量表达式 ] 例:int a[10] ; 类型符:是说明数组(元素)的类型 . 数组名:是一个标识符,它遵循标识符的命名规则 . 常量表达式:表示数组最多存放元素的总数目,即数组长度。它必须是一个整型的常量 。 2、举例: 1)int a[10];//定义了最多存放10个元素的数组 a,其元素都是int型 2)int n=10;float b[ n ];//非法 二、一维数组元素的使用 (※) 注:一般, 一次只能使用数组中的一个元素. 语法:数组名[ 下标表达式 ] 功能:引用该数组中此下标的元素. 说明: 1)下标表达式 应是整型的表达式( 可以是变量 ). 2)对于任何一个长度为 n (常量) 的一维数组, 其各元素的下标 依次是 0 、1、2、…、n –1 3)数组中的元素的用途 与同类型的变量相同。 例: int j=3 , a[10] ; /* a中的10个元素分别是a[ 0 ]、a[1]、……、a[9] */ …… a[0] = a[ j ]+a[ 2*3 ]+a[ j+4 ]; 三、一维数组的存储结构 (※) 计算机会为程序中定义的一维数组 分配一段连续的存储空间,数组中的元素按其下标由小到大 被依次、连续地存放在这段空间中. 其中每个元素占用相同的字节数,即等于该类型数据的长度( 例如 int型数组中的每个元素都占用4个字节)。例: int a[5]; 四、一维数组的初始化 【形式一】通过初值表 对所有 元素初始化。按照元素的存储顺序(下标由小到大),各个元素依次被赋初值 . 例:int a[ 3 ] ={ 0 , 1 , 2 } ; 等价于 a[0]=0; a[1]=1; a[2]=2 ; 【形式二】对部分元素 初始化 其用法与【形式一】类似,只是初值表中的初值个数小于 数组长度。这时同样按照元素的存储顺序,只有 最前面连续的元素依次被赋初值 . 例: int a[ 3 ]={ 0 , 1 }; 等价于a[0]=0; a[1]=1; 【形式三】 (类似于形式一 )对全部元素初始化时,可以不写出数组长度,计算机会自动根据初值表中初值的个数 计算出数组长度 . 例:int a[ ] ={ 0, 1, 2 }; 它等价于 int a[ 3 ]= { 0, 1, 2 }; 例程1: 找出n个数(n≤100) 中的最小数及其初次 出现的位置。(记第1个数的位置序号为 1 ) 【分析】 程序中的数据。注意元素下标. 算法: 目的—— 找到最小数的下标min_no。以n=5为例解释算法的过程。 …… #include stdlib.h #include time.h void main( ) { int a[100], min_no, k; //可存放的最大个数n=100 //在不同的 运行时间, 产生不同的 随机数种子 srand( time( NULL ) ); n=5; //可改为输入n的值 for( k=0; kn; k++) //随机产生n个整数 { a[k]= rand( )%100; //rand( )随机产生一非负整数 couta[k]“ ”; } for( min_no=0 , k=1 ; kn ; k++) if( a[k]a[min_no] ) min_no=k; cout“\n它们中的最小数是第”min_no +1 “个数:”a[min_no]endl; } 作 业 随机产生10个数,再由用户输入一个待查找的数x。程序查找 x是否存在于这10个数中;若存在,则输出x出现的初始位置(设第1个数位置为 1 ); 否则, 输出“不存在” . * * 4.1节 4.1.2节 4.1.3节 对一般数组的元素, 只能一个个地输入、输出其值。以下非法: cin a ; cina[ j ]; //合法 couta[ j ]; //合法 在定义数组的同时,可以对数组元素进行初始化 (赋初值)。有以下几种初始化形式: P77 注意: 初值表中的初值个数 不能
文档评论(0)