- 1、本文档共120页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
第六章C
第六章 数组 指针与字符串 本章主要内容 数组 指针 指针与数组 指针与函数 动态存储分配 字符串 数组的概念 数组是具有一定顺序关系的若干相同类型变量的集合体,组成数组的变量称为该数组的元素。 数组属于构造类型。 6.1.1 数组的声明与引用 一维数组的声明 类型说明符 数组名[ 常量表达式 ]; 例如:int a[10]; 表示 a 为整型数组,有10个元素:a[0]...a[9] 例6. 1一维数组的声明与引用 #include iostream using namespace std; int main() {int A[10],B[10]; int i; for(i=0;i10;i++) { A[i]=i*2-1; B[10-i-1]=A[i]; } for(i=0;i10;i++) { coutA[i ]=A[i]; cout B[i]= B[i]endl; } } 二维数组的声明及引用 数据类型 标识符[常量表达式1][常量表达式2] …; 例: int a[5][3]; 表示a为整型二维数组,其中第一维有5个下标(0~4),第二维有3个下标(0 ~ 2),数组的元素个数为15,可以用于存放5行3列的整型数据表格。 二维数组的声明及引用 二维数组的声明 类型说明符 数组名[常量表达式][常量表达式] 例如:float a[3][4]; 6.1.2 数组的存储与初始化 一维数组的初始化 可以在编译阶段使数组得到初值: 在声明数组时对数组元素赋以初值。例如:int a[10]={0,1,2,3,4,5,6,7,8,9}; 可以只给一部分元素赋初值。例如: int a[10]={0,1,2,3,4}; 在对全部数组元素赋初值时,可以不指定数组长度。例如: int a[]={1,2,3,4,5} 例:用数组来处理求Fibonacci数列问题 #includeiostream using namespace std; int main() { int i; int f[20]={1,1}; //初始化第0、1个数 for(i=2;i20;i++) //求第2~19个数 f[i]=f[i-2]+f[i-1]; for(i=0;i20;i++) //输出,每行5个数// { if(i%5==0) coutendl; coutsew(10)f[i]; } } 二维数组的初始化 将所有数据写在一个{}内,按顺序赋值 例如:int a[3][4]={1,2,3,4,5,6,7,8,9,10,11,12}; 分行给二维数组赋初值 例如:int a[3][4]={{1,2,3,4},{5,6,7,8},{9,10,11,12}}; 可以对部分元素赋初值 例如: int a[3][4]={{1},{0,6},{0,0,11}}; 6.1.3 数组作为函数参数 数组元素作实参,与单个变量一样。 数组名作参数,形、实参数都应是数组名,类型要一样,传送的是数组首地址。对形参数组的改变会直接影响到实参数组。 例6-2 使用数组名作为函数参数 主函数中初始化一个矩阵并将每个元素都输出,然后调用子函数,分别计算每一行的元素之和,将和直接存放在每行的第一个元素中,返回主函数之后输出各行元素的和。 #include iostream using namespace std; void RowSum(int A[][4], int nrow) { int sum; for (int i = 0; i nrow; i++) { sum = 0; for(int j = 0; j 4; j++) sum += A[i][j]; cout Sum of row i is sum endl; A[i][0]=sum; } } int main() { int Table[3][4] = {{1,2,3,4},{2,3,4,5},{3,4,5,6}}; for (int i = 0; i 3; i++) { for (int j = 0; j 4; j++) cout Table[i][j] ; cout endl; } RowSum(Table,3); for (int i = 0; i 3; i++) cout Table[i][0] } 运行结果: 1 2 3 4 2 3 4 5 3
您可能关注的文档
- 6收入交叉弹性.ppt
- 6.三、科学社会主义.ppt
- 6号宿舍楼1.ppt
- 6肋梁楼盖构造设计.ppt
- 管理经济学6收入交叉弹性.ppt
- matlab第六章课件.ppt
- 第6章 屋顶3.4.ppt
- x2检验第六版.ppt
- 第6单元 两位数加一位数(进位).ppt
- 六下科学资料汇编.doc
- 2-红河州建筑施工安全生产标准化工地复核评分表(2022年修改版).docx
- 6.锡通项目2018年下半年工作会汇报材料(2018.7.9).docx
- 2018道路工程知识点汇总(新版).docx
- 附件3:月度生产例会安全汇报资料-站台门项目部.docx
- 附件2:广东建工集团2018年度科技成果汇总表.DOC
- 马武停车区、三汇停车区停车位管理系统,0#台账缺量.doc
- 攀成钢委办发〔2015〕19号(党风廉政建设责任考核与追究办法).doc
- 1-红河州建筑工程质量管理标准化复核评分表(2022年修改版).docx
- 中交第三公路工程局第四工程分公司项目经济合同结算管理办法(修订).doc
- 厂站安全操作规程汇编.doc
文档评论(0)