中国高校课件下载中心 》 教学资源 》 大学文库

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

文档信息
资源类别:文库
文档格式:PPT
文档页数:53
文件大小:375KB
团购合买:点击进入团购
内容简介
5.1 数组 5.2 指针 5.3 动态内存分配 5.4 指针作为函数的参数 5.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

刷新页面下载完整文档
VIP每日下载上限内不扣除下载券和下载次数;
按次数下载不扣除下载券;
注册用户24小时内重复下载只扣除一次;
顺序:VIP每日次数-->可用次数-->下载券;
相关文档