C++程序设计 教学课件 作者 郑莉第7章数组与字符串.ppt

C++程序设计 教学课件 作者 郑莉第7章数组与字符串.ppt

ID:50041221

大小:694.50 KB

页数:57页

时间:2020-03-08

C++程序设计 教学课件 作者 郑莉第7章数组与字符串.ppt_第1页
C++程序设计 教学课件 作者 郑莉第7章数组与字符串.ppt_第2页
C++程序设计 教学课件 作者 郑莉第7章数组与字符串.ppt_第3页
C++程序设计 教学课件 作者 郑莉第7章数组与字符串.ppt_第4页
C++程序设计 教学课件 作者 郑莉第7章数组与字符串.ppt_第5页
资源描述:

《C++程序设计 教学课件 作者 郑莉第7章数组与字符串.ppt》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库

1、1第7章数组与字符串清华大学郑莉2目录7.1数组7.2字符串37.1数组为了理解数组的作用,请考虑这样一个问题:要处理一个班级的全部学生的信息,自然每一个学生的信息都是学生类的一个对象,但如果把每一个学生的信息都定义一个变量,要定义的变量数会过多,使整个程序变得既难懂又难修改但这些信息其实是有内在联系的,因为他们都是学生的信息,而且可以按着一定的规则一一罗列,比如,可以依照学生姓名的字典序来进行罗列,也可以依照学生的学号来进行罗列等等,具有“内在的顺序性”数组是具有一定顺序关系的若干对象的集合体,组成数组的对象称为该数组的元素47

2、.1数组数组中的全部元素都必须具有相同的数据类型除void类型以外,所有数据类型均可以构建数组一维数组与多维数组学生的信息可以一一罗列,成为一个类似数学上的“向量”的形式,依据这种内在的顺序性组建成的数组称为“一维数组”计算机显示器上每一个像素显示的颜色信息也可以一一罗列,通常是按着X轴(行)和Y轴(列)两个方向来一一罗列,从而形成一个类似数学上的“矩阵”的形式,这也是一种内在的顺序性,依据这种内在的顺序性组建成的数组称为“二维数组”依此类推,有三维数组、思维数组、N维数组57.1.1一维数组一维数组定义定义格式:数据类型标识符[

3、常量表达式];说明组成一维数组的各个元素的数据类型,由“数据类型”确定。这里的数据类型可以是任何基本数据类型和自定义数据类型,但void类型除外一维数组的名称,由“标识符”确定。这里的标识符的命名规则一般遵循变量的命名规则一维数组中包含的元素个数,即数组长度,由“常量表达式”确定。对于这个常量表达式,我们会在下面展开更进一步的详细介绍例如:inta[6];doublec[8*4];7.1数组67.1.1一维数组一维数组定义定义格式中的常量表达式可以是一个常量,也可以是一个值为常量的表达式常量的数组类型必须是unsignedint,

4、而且只能是从1开始的自然数,不可以是0和负数,也不可以是小数,更不可以是字符以及其它数据类型不可以出现变量,如inta=10;floatb[a];不合法可以使用符号常量,如constinta=10;floatb[a];是合法的7.1数组77.1.1一维数组一维数组的使用通过数组名和该变量在该数组中的序号惟一的确定每一个变量为了分隔开数组名与序号,把序号写在下标的位置。使用一维数组中数组元素的格式如下:数组名[下标表达式]使用一维整型数组a[10]中的第7个元素,写成a[7]a[7]就是一个变量,可以进行赋值、运算、键盘输入、值的输

5、出等整形变量的操作,也可以在调用函数的时候像普通变量一样将它作为函数的参数来使用7.1数组87.1.1一维数组一维数组的使用对于类类型的数组,它的每一个元素都是该类的一个对象。因此,通过上面的使用方式得到的变量可以进行类的对象的一切操作,如点操作符“.”等。例如,我们要将Human类类型的一维数组h的第4个元素的成员变量age赋值为18,就可以写成h[4].age=187.1数组97.1.1一维数组一维数组的使用下标的取值从0开始,如果定义的一维数组中下标处的值为N(该数组共有N个元素),则使用该数组的元素时下标的取值范围为0~(

6、N-1)下标处可以是结果为整型的任意合法表达式,可以使用变量,与定义一维数组不同。例如,inta[10];intb=0;a[b]=6;是合法的。把整型数组a的第0个元素在实际使用时,要求下标表达式的取值不能小于0或大于(N-1)。如果出现了这种情况,编译器也许不会报错,但在运行时,轻则出现计算结果错误,重则可能导致整个程序的崩溃,这种错误在C++程序设计中称为数组越界错误。7.1数组107.1.1一维数组一维数组的使用批量访问一个一维数组中的很多元素,需要使用循环和分支7.1数组117.1.1一维数组一维数组的定义与使用7.1数组

7、intmain(){inta[10],b[20];//定义了a和b两个整型数组for(inti=0;i<10;i++)/*这里写<10或≤9来限制循环可达到的下标上界,如果写成≤10则会出现数组越界错误(但编译和连接过程中均不会报错,运行时才会出错)*/a[i]=4*i;//给a数组的10个元素依次赋成0,…,36for(inti=0;i<20;i++){if(i%2==1)//对b数组中下标为奇数的元素b[i]=a[i/2]+3;/*赋给a数组中对应元素的值+3,注意由于I是整数,所以i/2也是整数(自动四舍五入)*/127.1

8、.1一维数组一维数组的定义与使用最终结果:数组所有元素的值依次为-3,3,1,7,5,11,9,15,13,19,17,23,21,27,25,31,29,35,33,397.1数组else//否则,即对b数组中下标为偶数的元素b[i]=a[i/2

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。