网站大量收购闲置独家精品文档,联系QQ:2885784924

[精品][精品]C++大学教程.ppt

  1. 1、本文档共82页,可阅读全部内容。
  2. 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
[精品][精品]C大学教程

程序设计讲义 第七章 数组与C++标准库类模板 数组 数组声明,初始化,引用 字符数组 数组传递给函数 数组存储,排序,查找 数组的用途 程序设计要处理的数据往往是许多数据而非简单的几个数据, 对单个数据分别声明变量显露其局限性 例如,如果要处理3个学生考试成绩,我们可以声明: int grade0,grade 1,grade2; 但如果有很多成绩(例100个),该怎么办? 对一组由相同类型数据组成的数据集合使用数组 数组的特征 有序性:数组中的所有元素都有自身的序号0,1,2… 相同类型:全部是整数、浮点数、字符型,也可以数组的数组(一维数组、二维数组、多维数组), 后面所说数组是特指一维数组。 第七章 数组与C++标准库类模板 数组 数组声明,初始化,引用 字符数组 数组传递给函数 数组存储,排序,查找 一维数组的声明 int a[ 5 ] ; 内存空间占用情况 int a[5]; 1、设一个int需要占用4个字节的空间 2、存放a[0]的地址为1000,此时1000被成为数组a的基地址 初始化 声明数组时可以对数组初始化 float x[5] = { -1.1, 0.2, 33.0, 4.4, 5.05 }; 初始化表的长度短于要被初始化的数组元素数目,那么剩余元素被初始化为0。取巧 int a[10]={0}. 外部或静态数组没有被初始化,系统自动把所有元素初始化为0。 没有被初始化的自动或常量数组含有的值是无用的。 数组的存储类型不能是寄存器类型。 初始化 int a[ ] = { 2,3,4,5} int a[4] = {2,3,4,5} 当数组大小被省略,编译器计算初始化表中元素个数来确定数组元素的个数 使用一维数组 例:对数组赋值 (也达到初始化目的) #include iostream const int N= 5 int main(void) { int a[N]; int i, sum = 0; for (i = 0; i N; ++i) a[i] = 7 + i * i; return 0; } // Fig. 7.3: fig07_03.cpp // Initializing an array. #include iostream using std::cout; using std::endl; #include iomanip using std::setw; int main() { int n[ 10 ]; // n is an array of 10 integers // initialize elements of array n to 0 for ( int i = 0; i 10; i++ ) n[ i ] = 0; // set element at location i to 0 cout Element setw( 13 ) Value endl; // output each array elements value for ( int j = 0; j 10; j++ ) cout setw( 7 ) j setw( 13 ) n[ j ] endl; return 0; } 下标 int a[size], 下标表示该元素距数组起始地址的位移是多少. 故第一个元素的下标为0. 数组下标范围 [0, size-1] 下标越界 a[-1],a[size] 注意:编译器并不检查在给定的数组中下标是否有效,越界问题必须由编程人员自己解决。 应用范例片段 声明一个数组,用一个循环初始化数组 int n[10]; for (int i=0; i10; i++) n[i]=0; 应用范例片段 求数组元素之和 int n[10]={32,27, 64, 18, 95, 14, 90,70, 60, 37}; total=0; for (int i=0; i10; i++) total += n[i]; 应用范例 使用不同计数器跟踪一个筛子各个面出现的次数 分析: 筛子有6个面, 需要6个计数器, 这里可以用一个含有6个分量的数组, 为了和筛子上的数字对应, 浪费一个分量:0下标分量, 声明数组含7个分量. int frequ

文档评论(0)

skvdnd51 + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档