清华大学:《C++语言程序设计》课程教学资源(PPT课件)第六章 数组、指针与字符串

C++语言程序设计 第六章数组指针与字符串
1 第六章 数组 指针与字符串 C++语言程序设计

C++语言程序设计 本章主要内容 ●数组 ●指针 指针与数组 指针与函数 动态存储分配 ●字符串 x
C++语言程序设计 2 本章主要内容 ⚫ 数组 ⚫ 指针 ⚫ 指针与数组 ⚫ 指针与函数 ⚫ 动态存储分配 ⚫ 字符串

C++语言程序设计 数组的概念 数组是用来存储和处理大量同类型数据(对 象)的。 数组是具有一定顺序关系的若干相同类型变 量的集合体,组成数组的变量称为该数组的元素 数组元素是由数组名和数组下标指定。 数组属于构造类型。 x
C++语言程序设计 3 数组的概念 数组是用来存储和处理大量同类型数据(对 象)的。 数组是具有一定顺序关系的若干相同类型变 量的集合体,组成数组的变量称为该数组的元素。 数组元素是由数组名和数组下标指定。 数组属于构造类型

C++语言程序设计 维数组的声明与引用 数 维数组的声明 类型说明符数组名[常量表达式 组数组名的构成方法与一般变量名相同。 例如:inta10]; 表示a为整型数组,有10个元素:a0].a9] ●引用 必须先声明,后使用。通过数组名和数组下标方式逐 个引用数组元素。数组下标是从0开始的 例如:a[0]=a[5]+a[7]-a[2*3]
C++语言程序设计 4 一维数组的声明与引用 ⚫ 一维数组的声明 类型说明符 数组名[ 常量表达式 ]; 例如: int a[10]; 表示 a 为整型数组,有10个元素:a[0]...a[9] ⚫ 引用 必须先声明,后使用。通过数组名和数组下标方式逐 个引用数组元素。数组下标是从0 开始的。 例如:a[0]=a[5]+a[7]-a[2*3] 数组名的构成方法与一般变量名相同。 数 组

C++语言程序设计 例6,1一维数组的声明与引用 #include using namespace std int mainO i int array5;∥声明存放5个整型元素的数组 for(intt=0;t<5;++t)∥使用循环变换数组下标 Aray(=t;∥存储整型数值到数组中 for(t=0;t<5;++ cout << This is array"<<t < <<Aray<<"n";∥显示数组元素 return o x
C++语言程序设计 5 例6. 1一维数组的声明与引用 #include using namespace std; int main() { int Array[5]; //声明存放5个整型元素的数组 for(int t=0; t<5; ++t) //使用循环变换数组下标 Array[t] = t; //存储整型数值到数组中 for(t=0; t<5; ++t) cout << "This is Array[" << t << "]: " << Array[t] << "\n"; //显示数组元素 return 0; }

C++语言程序设计 维教组的存储顺序 数 数组元素在内存中顺次存放,它们的地址是连 续的。 例如:具有10个元素的数组a,在内存 组 中的存放次序如下: aa0]aal2a[3]a4]a5]a]a[7]a8]a[9 数组名字是数组首元素的内存地址 数组名是一个常量,不能被赋值
C++语言程序设计 6 一维数组的存储顺序 数组元素在内存中顺次存放,它们的地址是连 续的。 例如:具有10个元素的数组 a,在内存 中的存放次序如下: 数组名字是数组首元素的内存地址。 数组名是一个常量,不能被赋值。 a a[0] a[1] a[2] a[3] a[4] a[5] a[6] a[7] a[8] a[9] 数 组

C++语言程序设计 维数组的初始化 数可以在编译阶段使数组得到初值: 在声明数组时对数组元素赋以初值 例如:nta10={0,1,2,34,5,6,7,8,9}; 组可以只给一部分元素赋初值,剩余元素自动 初始化为0 例如:nta10={0,1,2,34}; 在对全部数组元素赋初值时,可以不指定数 组长度。 例如:nta={1,2,34,5} x
C++语言程序设计 7 一维数组的初始化 可以在编译阶段使数组得到初值: – 在声明数组时对数组元素赋以初值。 例如: int a[10]={0,1,2,3,4,5,6,7,8,9}; – 可以只给一部分元素赋初值,剩余元素自动 初始化为0。 例如: int a[10]={0,1,2,3,4}; – 在对全部数组元素赋初值时,可以不指定数 组长度。 例如: int a[]={1,2,3,4,5} 数 组

C++语言程序设计 例:用数组来处理求 Fibonacci数列问题 include using namespace std int main( i int i; static int f[20]={1,1};初始化第0、1个数 for(=2;<20;++)f=ff-2+f1;求第2~19个数 for(=0;<20;++)∥输出,每行5个数∥ i if ((705==0) cout<<endl cout width(12);∥设置输出宽度为12 cout<<f[ x
C++语言程序设计 8 #include using namespace std; int main() { int i; static int f[20]={1,1}; //初始化第0、1个数 for(i=2;i<20;i++) f[i]=f[i-2]+f[i-1]; //求第2~19个数 for(i=0;i<20;i++) //输出,每行5个数// { if(i%5==0) cout<<endl; cout.width(12); //设置输出宽度为12 cout<<f[i]; } } 例:用数组来处理求Fibonacci数列问题

C++语言程序设计 例:用数组來处理求 Fibonacci数列问题 运行结果 3 8 13 21 34 89144233377610 9871597258441816765
C++语言程序设计 9 例:用数组来处理求Fibonacci数列问题 运行结果: 1 1 2 3 5 8 13 21 34 55 89 144 233 377 610 987 1597 2584 4181 6765

C++语言程序设计 教组使用中的注意点 ●数组声明中的长度必须由常量确定,让编译 器编译时知道数组大小。 char array 1[10][ hellos i int size=50; int array 2[Size];}∥ error ●省略数组大小只能在有初始化的数组定义中。 inta[]={24,68} inta[l;∥ error x 10
C++语言程序设计 10 数组使用中的注意点 ⚫ 数组声明中的长度必须由常量确定,让编译 器编译时知道数组大小。 char array1[10]={“hello”}; { int Size=50; int array2[Size];} //error ⚫ 省略数组大小只能在有初始化的数组定义中。 int a[ ]={2,4,6,8}; int a[ ]; //error
按次数下载不扣除下载券;
注册用户24小时内重复下载只扣除一次;
顺序:VIP每日次数-->可用次数-->下载券;
- 清华大学:《C++语言程序设计》课程教学资源(PPT课件)第五章 C++程序的结构.ppt
- The MIT Press:How to Design Programs——An Introduction to Computing and Programming.pdf
- 《计算机基础——系统安全》课程教学资源(PPT课件)第8章 安全协议.ppt
- 《计算机基础——系统安全》课程教学资源(PPT课件)第7章 认证 Authentication.ppt
- 《计算机基础——系统安全》课程教学资源(PPT课件)第10章 信息系统安全等级与标准.ppt
- 《计算机基础——系统安全》课程教学资源(PPT课件)第2篇 信息系统安全信任体系 第6章 数据加密与数据隐藏修改.ppt
- 《计算机基础——系统安全》课程教学资源(PPT课件)第2章 黑客.ppt
- 《计算机基础——系统安全》课程教学资源(PPT课件)第1章 病毒及其防治.ppt
- 《计算机基础——系统安全》课程教学资源(PPT课件)第3篇 信息系统安全体系结构与评估标准 第9章 信息系统安全体系结构.ppt
- 《计算机基础——系统安全》课程教学资源(PPT课件)第5章 信息系统安全事件响应.ppt
- 《计算机基础——系统安全》课程教学资源(PPT课件)第4章 信息系统安全监控.ppt
- 《计算机基础——系统安全》课程教学资源(PPT课件)第3章 信息系统隔离技术.ppt
- 泰州职业技术学院计算机信息管理(成人高职)专业教学计划.doc
- 《MATLAB程序设计》课程电子教案(PPT课件讲稿)第9章 MATLAB符号计算.ppt
- 《MATLAB程序设计》课程电子教案(PPT课件讲稿)第8章 MATLAB数值积分与微分.ppt
- 《MATLAB程序设计》课程电子教案(PPT课件讲稿)第7章 MATLAB解方程与函数极值.ppt
- 《MATLAB程序设计》课程电子教案(PPT课件讲稿)第6章 MATLAB数据分析与多项式计算.ppt
- 《MATLAB程序设计》课程电子教案(PPT课件讲稿)第5章 MATLAB绘图.ppt
- 《MATLAB程序设计》课程电子教案(PPT课件讲稿)第4章 MATLAB文件操作.ppt
- 《MATLAB程序设计》课程电子教案(PPT课件讲稿)第3章 MATLAB程序设计.ppt
- 清华大学:《C++语言程序设计》课程教学资源(PPT课件)第七章 继承与派生.ppt
- 清华大学:《C++语言程序设计》课程教学资源(PPT课件)第八章 多态性.ppt
- 清华大学:《C++语言程序设计》课程教学资源(PPT课件)第九章 群体类和群体数据的组织.ppt
- 清华大学:《C++语言程序设计》课程教学资源(PPT课件)第十章 C++标准模板库.ppt
- 清华大学:《C++语言程序设计》课程教学资源(PPT课件)第十一章 流类库与输入/输出.ppt
- 清华大学:《C++语言程序设计》课程教学资源(PPT课件)第十二章 异常处理.ppt
- 清华大学:《C++语言程序设计》课程教学资源(PPT课件)课程简介(李莉).ppt
- 清华大学:《C++语言程序设计》课程教学资源(PPT课件)第一章 绪论.ppt
- 清华大学:《C++语言程序设计》课程教学资源(PPT课件)第二章 C++简单程序设计.ppt
- 清华大学:《C++语言程序设计》课程教学资源(PPT课件)第三章 函数.ppt
- 清华大学:《C++语言程序设计》课程教学资源(PPT课件)第四章 类与对象.ppt
- 武汉大学遥感信息工程学院:《数字图像处理》课程教学资源(PPT课件讲稿)第一章 绪论(主讲:贾永红).pps
- 武汉大学遥感信息工程学院:《数字图像处理》课程教学资源(PPT课件讲稿)第二章 基本概念.pps
- 武汉大学遥感信息工程学院:《数字图像处理》课程教学资源(PPT课件讲稿)第三章 图像变换.pps
- 武汉大学遥感信息工程学院:《数字图像处理》课程教学资源(PPT课件讲稿)第四章 图像增强.pps
- 武汉大学遥感信息工程学院:《数字图像处理》课程教学资源(PPT课件讲稿)第五章 图像复原与重建.pps
- 武汉大学遥感信息工程学院:《数字图像处理》课程教学资源(PPT课件讲稿)第六章 图像编码与压缩.pps
- 武汉大学遥感信息工程学院:《数字图像处理》课程教学资源(PPT课件讲稿)第七章 图像分割.pps
- 计算机基础知识(PPT讲稿).ppt
- 《CAD/CAM/CAPP》课程教学资源(PPT讲稿)导课.ppt