C+复杂数据及运算-数组修改版

C+复杂数据及运算-数组修改版

ID:36463410

大小:1.64 MB

页数:53页

时间:2019-05-09

C+复杂数据及运算-数组修改版_第1页
C+复杂数据及运算-数组修改版_第2页
C+复杂数据及运算-数组修改版_第3页
C+复杂数据及运算-数组修改版_第4页
C+复杂数据及运算-数组修改版_第5页
资源描述:

《C+复杂数据及运算-数组修改版》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库

1、第四章复杂数据及运算清华大学郑莉学习目标掌握数组的初始化及使用;掌握地址的概念及指针变量的应用;掌握引用使用;学会使用枚举、结构体等数据结构。2目录4.1数组4.1.1一维数组的声明和使用4.1.2多维数组的声明和使用4.2指针4.2.1数据在内存中的地址4.2.2指针及指针运算3目录(续)4.3字符串4.3.1以数组存放C风格的字符串4.3.2string类型的字符串4.4枚举类型(不讲)4.5运算优先级与类型转换(已讲)4引言为什么会用到复杂数据类型数组结构体枚举指针数组当需要处理大量同一类型

2、的数据时。多数时候,对大批量同类型数据的处理,所用的方法都是相同的。例如:某门课程,一个班级的40个学生成绩。intscore1,score2……..intscore[40];结构体(5.5.1)当需要将一组相关的不同类型的数据作为一个整体来存储和处理时。例如:学生信息structstudent{intnum;stringname;chargender;…};枚举(不讲)当需要模拟整数的某个有限子集的时候例如:表示一星期的7天intday;//用整型常量0,1,2,3,4,5,6表示星期天到星期六

3、。但是int的范围不仅仅是0到6。enumweek{Sun,Mon,Tue,Wen,Thu,Fri,Sat};weekday;指针(难点)--存放地址的类型1)当函数之间需要共享大量数据的时候,以参数合返回值在函数之间传递数据会造成很大的开销,传递地址比较高效。2)对于处理大批量数据的程序,需要在运行时动态申请内存。动态申请的内存空间与普通变量不同,不能命名,没有变量名,需要用内存地址去访问动态申请的内存空间。关于本章例题为什么要使用复杂数据类型,前面几张幻灯片讲了根本原因。本章介绍数组与指针的用

4、法。本章所用的例题,有些题,也许你会觉得不用复杂数据类型也可以做出来,甚至可能不用复杂数据类型会更简单,这些做法仅仅是为了教大家学会使用复杂数据类型。在自己写程序的时候,在没有题目特别规定的要求时,可自行选择合适的做法。4.1数组为什么要使用数组?什么是数组:数组是具有一定顺序关系的若干对象的集合体,组成数组的对象称为该数组的元素。同一数组的各元素具有相同的类型。数组可以由除了void型以外的任何一种类型构成。问题的提出统计某一地区每岁年龄的人数,以及总人数,假定不超过120岁。用120个变量:i

5、ntage1,age2,age3,…...age119,age120程序age1=0;age2=0;cout<>x;cout<0)&&(x<121)){if(x==1)age1+=1;elseif(x==2)age2+=1;……elseif(x==120)age120+=1;cin>>x;}程序结构庞大,机械重复,于是引入数组4.1.1一维数组的声明和使用一

6、维数组类型声明的语法形式为:TName[size]T:类型名,如int型,float型等;Name:数组名;size:常量表达式,表示数组的大小。数组大小的确定1.如果在对一维数组进行初始化时给出了全部初始值,则数组声明中的元素个数可以省略,编译器会根据初始值的个数,自动计算出元素个数。2.可以用符号常量或常量表达式来说明数组元素的个数。144.1数组一维数组的定义数组(整体)inta[10];数组名数组元素个数数组类型引用时不能超出下标最大值引用下标inti=3,j=2,a[10];引用a[i]

7、,a[i+2],a[i+j],……a[0],a[1],a[2],…...a[9]数组是一个整体概念,数组元素是个体概念,此例:每一个元素都是一个整数注意:下标从0~9统计各年龄段的人数问题:统计某一地区每岁年龄的人数,以及总人数,假定不超过120岁。a[0],a[1],a[2],…...a[119]1岁人数2岁人数3岁人数120岁人数定义其他类型数组floatb[5];charc[20];b[0],b[1],…...b[4]c[0],c[1],…...c[19]定义引用数组初始化在定义数组时赋初值

8、inta[3]={1,3,5};floatb[2]={3.14,5.18};charc[5]={'a','b','c','d','e'};亦可inta[]={1,2,3,4,5};编译系统自动确定元素个数intb[10]={1,2};前两个元素的值为1、2,其他元素为0数组在内存中的存放在内存中占据:一片连续的存储区例:inta[20];VC++中,一个整型变量占用4个字节内存。…..内存a[0]…..a[1]a[2]a[18]a[19]例4-1:声明并初始化一个具有5个整数的序列

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

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

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