《C++语言程序设计》教材电子教案(PPT教学课件)第5章 数组与指针

第5章数组与指针 5.1数组 5.2指针 5.3动态内存分配 54指针作为函数的参数 5.5指针数组与多级指针
第5章 数组与指针 5.1 数组 5.2 指针 5.3 动态内存分配 5.4 指针作为函数的参数 5.5 指针数组与多级指针

第5章数组与指针 5.1数组 数组:具有相同数据类型的若干变量按序进行存储的变量集 中合。数组有维、二维和多维数组。 5.1.1一维数组 1.一维数组的定义 数据类型数组名[常量表达式]; 如:inta[10] 说明: ,(1)数组名与变量名一样都是标识符,必须遵循标识符的命 规则 2)“数据类型”是指数组元素的数据类型,可以是任一基本 类型或构造类型,同一个数组的每个元素都具有相同的数据类型
5.1 数组 数组:具有相同数据类型的若干变量按序进行存储的变量集 合 。 数组有一维、二维和多维数组。 5.1.1 一维数组 1. 一维数组的定义 数据类型 数组名[常量表达式]; 如: int a[10]; 说明: (1) 数组名与变量名一样都是标识符,必须遵循标识符的命 名规则。 (2) “数据类型”是指数组元素的数据类型,可以是任一基本 类型或构造类型,同一个数组的每个元素都具有相同的数据类型。 第5章 数组与指针

第5章数组与指针 5.1数组 5.1.1一维数组(续一) 3)“常量表达式”必须用方括号括起来,指的是数组的元素 个数(又称数组长度),它是一个整型值,其中可以包含常数和 符号常量,但不能包含变量 (4)数组元素的下标从0开始,即数组中第一个元素的下标为 0。如上面定义的数组a的第一个元素是aoJ (5)一个数组中的所有元素在内存中是连续存放的。 2.一维数组的引用 引用格式:数组名[下标] 其中下标可以为整型常量或表达式 注意:引用数组元素时,不要使下标越界! 如上面的数组a,其下标应为0~9!
5.1 数组 5.1.1 一维数组(续一) (3) “常量表达式”必须用方括号括起来,指的是数组的元素 个数(又称数组长度),它是一个整型值,其中可以包含常数和 符号常量,但不能包含变量。 (4) 数组元素的下标从0开始,即数组中第一个元素的下标为 0。如上面定义的数组a的第一个元素是a[0]。 (5) 一个数组中的所有元素在内存中是连续存放的。 2. 一维数组的引用 引用格式: 数组名[下标] 其中下标可以为整型常量或表达式 注意:引用数组元素时,不要使下标越界! 如上面的数组a,其下标应为0~9! 第5章 数组与指针

第5章数组与指针 例5.1维数组的引用 include void maino int i, a[10]: for(i=0;i<10;i++) [=i*10; for(i=0;i<10;i++) cout≤<a[ cout < endl 程序运行结果为 0102030405060708090
例5.1 一维数组的引用 #include void main() { int i,a[10]; for(i=0; i<10; i++) { a[i] = i*10; } for(i=0; i<10; i++) { cout << a[i] << " "; } cout << endl; } 程序运行结果为: 0 10 20 30 40 50 60 70 80 90 第5章 数组与指针

第5章数组与指针 5.1数组 51.1一维数组(续 3.一维数组的初始化 在定义数组的同时为数组元素提供初始值,称为数组的初始 化。一维数组初始化的一般格式为 数据类型数组名[常量表达式]={值1,值2,…,值n}; 例如: (1)inta5={1,2,345};[1 2345 (2)inta]={12,345};「12345 不指定数组长度,根据初值个数自动确定长度 (3)inta[5]={1,2,3} 12300 初值个数小于数组长度,后面元素值自动赋为0 (4)inta5]={0};00000 初值只写出一个0,则将所有元素都初始化为0
5.1 数组 5.1.1 一维数组(续一) 3. 一维数组的初始化 在定义数组的同时为数组元素提供初始值,称为数组的初始 化。一维数组初始化的一般格式为: 数据类型 数组名[常量表达式] = {值1, 值2, …, 值n}; 例如: (1) int a[5] = {1,2,3,4,5}; (2) int a[ ] = {1,2,3,4,5}; 不指定数组长度,根据初值个数自动确定长度 (3) int a[5] = {1,2,3}; 初值个数小于数组长度,后面元素值自动赋为0 (4) int a[5] = {0}; 初值只写出一个0,则将所有元素都初始化为0 第5章 数组与指针 1 2 3 4 5 1 2 3 4 5 1 2 3 0 0 0 0 0 0 0

第5章数组与指针 例52用一维数组处理 Fibonac数列的前40项 include include void main( inti: intf40]={1,1 for(i=2;i<40;i++) fo= f[i-1]+ f[]; for(i=0;i<40;i++) out<≤setw(12)≤<f; if((+1)%5==0) cout < end: cout << end:
例5.2 用一维数组处理Fibonacci数列的前40项 #include #include void main() { int i; int f[40]={1,1}; for(i=2; i<40; i++) { f[i] = f[i-1] + f[i-2]; } for(i=0; i<40; i++) { cout << setw(12) << f[i]; if( (i+1)%5 == 0) cout << endl; } cout << endl; } 第5章 数组与指针

第5章数组与指针 例52(续) 程序运行结果 1 1 5 8 13 21 34 144 233 37" 618 987 1597 2584 4181 6765 1g946 17711 28657 46368 7525 121393 196418 317811 514229 83248 1346269 21783g9 3524578 5782887 9227465 149335224157817 39g88169 6324598612334155
例5.2(续) 程序运行结果: 第5章 数组与指针

第5章数组与指针 例53用冒泡法对10个整数按从小到大的顺 序排序 分析:冒泡法的基本思想是通过相邻两个数之间的比较和交换, 使较小的数逐渐从底部移向顶部,较大的数逐渐从顶部移向底 部。以5个整数排序为例,过程如图所示。 a[0]8555522222 a[1]5822254443 a[2]2284445334 234 a[3]44483335 a[4]33338888888 整个排序过程由两层循环完成,第一次外层循环通过相邻两个 数的比较交换,将待排序数据中的最大数8移到最后,此时最 后一个数8已经排好序。第二次外层循环再把剩下的4个数两俩 比较交换,将其中最大的数5移到a[3的位置,此时最后两个数 5,8已经排好序。一直到最后将所有数据都排好序
例5.3 用冒泡法对10个整数按从小到大的顺 序排序 分析:冒泡法的基本思想是通过相邻两个数之间的比较和交换, 使较小的数逐渐从底部移向顶部,较大的数逐渐从顶部移向底 部。以5个整数排序为例,过程如图所示。 整个排序过程由两层循环完成,第一次外层循环通过相邻两个 数的比较交换,将待排序数据中的最大数8移到最后,此时最 后一个数8已经排好序。第二次外层循环再把剩下的4个数两俩 比较交换,将其中最大的数5移到a[3]的位置,此时最后两个数 5,8已经排好序。一直到最后将所有数据都排好序。 第5章 数组与指针 a[0] a[1] a[2] a[3] a[4] 8 5 2 4 3 5 8 2 4 3 5 2 8 4 3 5 2 4 8 3 5 2 4 3 8 2 5 4 3 8 2 4 5 3 8 2 4 3 5 8 2 4 3 5 8 2 3 4 5 8 2 3 4 5 8

第5章数组与指针 例53(续一) include #include void maino int i,j, t, a[10; cout<<'请输入10个整数,用空格分隔 for(=0;i<10;i++) cIn for(=0;i<10-1;i++) forj=0;j<10-1-;j++)
例5.3(续一) #include #include void main() { int i,j,t,a[10]; cout > a[i]; for(i=0; i<10-1; i++) { for(j=0; j < 10-1-i; j++) { 第5章 数组与指针

第5章数组与指针 例53(续二) fa]>aj+1]) t=a]; a]=a[+1 aj +1]=t cout<<"排序后的数据 for(=0;i<10;i+) cout < setw(5)<<a[: 「程序运行结果为 请输入10个整数,用空格分隔:83918324217242513 排序后的数据:38913171824253242
例5.3(续二) if(a[j] > a[j+1]) { t = a[j]; a[j] = a[j+1]; a[j+1]=t; } } } cout << "排序后的数据:"; for(i=0; i<10; i++) cout << setw(5) << a[i]; } 第5章 数组与指针 程序运行结果为: 请输入10个整数,用空格分隔:8 3 9 18 32 42 17 24 25 13 排序后的数据:3 8 9 13 17 18 24 25 32 42
按次数下载不扣除下载券;
注册用户24小时内重复下载只扣除一次;
顺序:VIP每日次数-->可用次数-->下载券;
- 《C++语言程序设计》教材电子教案(PPT教学课件)第4章 函数.ppt
- 《C++语言程序设计》教材电子教案(PPT教学课件)第3章 C++控制语句.ppt
- 《C++语言程序设计》教材电子教案(PPT教学课件)第2章 数据类型与表达式.ppt
- 《C++语言程序设计》教材电子教案(PPT教学课件)第10章 输入输出流.ppt
- 天津工业大学:《计算机原理及接口技术》课程教学资源(PPT课件讲稿)第七章 MCS-51单片机扩展技术.ppt
- 天津工业大学:《计算机原理及接口技术》课程教学资源(PPT课件讲稿)第十一章 从80286到pentium.ppt
- 天津工业大学:《计算机原理及接口技术》课程教学资源(PPT课件讲稿)第五章 MCS-51的中断系统.ppt
- 天津工业大学:《计算机原理及接口技术》课程教学资源(PPT课件讲稿)第六章 MCS-51内部定时器/计数器.ppt
- 天津工业大学:《计算机原理及接口技术》课程教学资源(PPT课件讲稿)第四章 汇编语言及程序设计.ppt
- 天津工业大学:《计算机原理及接口技术》课程教学资源(PPT课件讲稿)第三章 MCS-51单片机的指令系统.ppt
- 天津工业大学:《计算机原理及接口技术》课程教学资源(PPT课件讲稿)第二章 MCS-51单片机的内部结构.ppt
- 天津工业大学:《计算机原理及接口技术》课程教学资源(PPT课件讲稿)第十章 串行通信及串行通信接口8250.ppt
- 天津工业大学:《计算机原理及接口技术》课程教学资源(PPT课件讲稿)第九章 可编程定时/计数器8253.ppt
- 天津工业大学:《计算机原理及接口技术》课程教学资源(PPT课件讲稿)第九章 可编程定时/计数器8253.ppt
- 天津工业大学:《计算机原理及接口技术》课程教学资源(PPT课件讲稿)第八章 输入输出接口技术.ppt
- 天津工业大学:《计算机原理及接口技术》课程教学资源(PPT课件讲稿)第七章 可编程中断控制器8259A.ppt
- 天津工业大学:《计算机原理及接口技术》课程教学资源(PPT课件讲稿)第六章 计算机中的中断技术.ppt
- 天津工业大学:《计算机原理及接口技术》课程教学资源(PPT课件讲稿)第五章 汇编语言及程序设计.ppt
- 天津工业大学:《计算机原理及接口技术》课程教学资源(PPT课件讲稿)第四章 8086/8088的指令系统.ppt
- 天津工业大学:《计算机原理及接口技术》课程教学资源(PPT课件讲稿)第五章 程序设计.ppt
- 《C++语言程序设计》教材电子教案(PPT教学课件)第6章 类与对象.ppt
- 《C++语言程序设计》教材电子教案(PPT教学课件)第7章 继承与派生.ppt
- 《C++语言程序设计》教材电子教案(PPT教学课件)第8章 多态性.ppt
- 《C++语言程序设计》教材电子教案(PPT教学课件)第9章 模板.ppt
- 《C++语言程序设计》教材电子教案(PPT教学课件)第1章 C++概述(主编:杨国兴、张东玲).ppt
- 大庆石化总厂职工大学:《计算机文化基础》PPT教学课件(共六章).ppt
- 北京交通大学:《计算机通信与网络技术 Computer Networks》课程教学资源(PPT课件讲稿)第二章 计算机网络的协议与体系结构.ppt
- 北京交通大学:《计算机通信与网络技术 Computer Networks》课程教学资源(PPT课件讲稿)第六章 广域网.ppt
- 北京交通大学:《计算机通信与网络技术 Computer Networks》课程教学资源(PPT课件讲稿)第七章 网络互联.ppt
- 北京交通大学:《计算机通信与网络技术 Computer Networks》课程教学资源(PPT课件讲稿)第四章 数据链路层.ppt
- 北京交通大学:《计算机通信与网络技术 Computer Networks》课程教学资源(PPT课件讲稿)第五章 局域网.ppt
- 北京交通大学:《计算机通信与网络技术 Computer Networks》课程教学资源(PPT课件讲稿)第一章 概述(黄彧).ppt
- 湘潭大学:《微型计算机系统原理及应用》课件_第一章 概述(杨万春).ppt
- 湘潭大学:《微型计算机系统原理及应用》课件_第二章 IA-32结构微处理器(80x86系列结构微处理器与8086).ppt
- 湘潭大学:《微型计算机系统原理及应用》课件_第八章 中断.ppt
- 湘潭大学:《微型计算机系统原理及应用》课件_第九章 计数器与定时电路.ppt
- 湘潭大学:《微型计算机系统原理及应用》课件_第六章 存储器.ppt
- 湘潭大学:《微型计算机系统原理及应用》课件_第七章 输入输出.ppt
- 湘潭大学:《微型计算机系统原理及应用》课件_第三章 8086指令系统.ppt
- 湘潭大学:《微型计算机系统原理及应用》课件_第十章 并行接口芯片.ppt