网站大量收购独家精品文档,联系QQ:2885784924
  1. 1、本文档共120页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 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

文档评论(0)

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

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

1亿VIP精品文档

相关文档