南京航空航天大学:《程序设计》课程教学课件(PPT讲稿,一)06 数组

数组版权所有@陈暂保留所有权利陈哲版权所有③陈哲保留所有权利
版权所有© 陈哲保留所有权利 版权所有 © 陈哲 保留所有权利 数组 陈哲

>数组定义和访问√冒泡排序和选择排序>数组元素地址和动态数组>数组元素地址作为函数参数>二维数组定义和访问>二维数组元素地址和动态数组>二维数组行地址作为函数参数>字符数组和字符串版权所有@陈暂保留所有权利>字符数组元素地址>字符数组元素地址作为函数参数>指针数组>指针数组作为main函数的形参版权所有③陈哲保留所有权利5
版权所有© 陈哲保留所有权利 版权所有 © 陈哲 保留所有权利 2 ➢数组定义和访问 ➢冒泡排序和选择排序 ➢数组元素地址和动态数组 ➢数组元素地址作为函数参数 ➢二维数组定义和访问 ➢二维数组元素地址和动态数组 ➢二维数组行地址作为函数参数 ➢字符数组和字符串 ➢字符数组元素地址 ➢字符数组元素地址作为函数参数 ➢指针数组 ➢指针数组作为main函数的形参

>如果有1000名学生,每个学生有一个成绩,需要存储这1000名学生的成绩。>可以定义1000个变量I, $2, ..数组名s999存储学生的成绩需要编写大量代码/>可以定义数组floatt1000],只需要简短代码就能够一次定义1000个变量。数组中的每一个元素都属于同一数据类型版权所有@陈暂保留所有权利>用数组名和下标唯一确定数组中的元素,例如s[0], s[1], s[2], .., s[999] 。3
版 权 所 有 © 陈 哲 保 留 所 有 权 利 ➢如果有1000名学生,每个学生有一个成 绩,需要存储这1000名学生的成绩。 ➢可以定义1000个变量float s0, s1, s2, ., s999存储学生的成绩,需要编写大量代码。 ➢可以定义数组float s[1000],只需要简短 代码就能够一次定义1000个变量。数组 中的每一个元素都属于同一数据类型。 ➢用数组名和下标唯一确定数组中的元素, 例如s[0], s[1], s[2], ., s[999]。 3 数组名

数组定义和访问数组名每个元素的类型>数组类型改组名[常童表1合法int a[4+6];例如:int a[10];int n=10;数组名是一个标识符不合法Hint a[n];数组长度必须是常量表达>数组定义的语义:为数组中的所有元素版权所有@陈暂保留所有权利分配连续的内存空间例如: a[0], a[1], a[2], ., a[9]a[0]a[9]a[8]a[1]a[2]a[3]a[4] a[5] |a[6] ]a[7]4
版 权 所 有 © 陈 哲 保 留 所 有 权 利 数组定义和访问 ➢数组定义的语法: 类型 数组名[常量表达式]; 例如: int a [10]; ◦数组名是一个标识符。 ◦数组长度必须是常量表达式。 ➢数组定义的语义:为数组中的所有元素 分配连续的内存空间。 例如:a[0], a[1], a[2], ., a[9] 4 数组名 数组长度 每个元素的类型 a[0] a[1] a[2] a[3] a[4] a[5] a[6] a[7] a[8] a[9] int a[4+6]; 合法 int n=10; int a[n]; 不合法

>数组下标表达式的语法数组名[表达式例如: a[0]=a[1]+a[2+2]-a[2*3] 合法int n=5, a[10];a[n]=20;合法>数组下标表达式的语义:获得数组中相应元素的引用,从而可以对该元素的内存空间进行读或者写。>注意:只能访问数组元素而不能一次整服权所有?陈暂保留所有权利体访问整个数组全部元素不合法例如:a=20;5
版 权 所 有 © 陈 哲 保 留 所 有 权 利 ➢数组下标表达式的语法: 数组名[表达式] 例如:a[0]=a[1]+a[2+2]-a[2*3] 合法 int n=5, a[10]; a[n]=20; 合法 ➢数组下标表达式的语义:获得数组中相 应元素的引用,从而可以对该元素的内 存空间进行读或者写。 ➢注意:只能访问数组元素而不能一次整 体访问整个数组全部元素。 例如:a = 20; 不合法 5

>例:对10个数组元素依次赋值为0,1,2,34,5,6,7,8,9,然后按逆序输出>编程思路:?定义一个长度为10的一维整型数组:用循环按下标从小到大对这10个元素赋值:。用循环按下标从大到小输出这10个元素。版权所有@陈替保留所有权利6
版 权 所 有 © 陈 哲 保 留 所 有 权 利 ➢例:对10个数组元素依次赋值为0, 1, 2, 3, 4, 5, 6, 7, 8, 9,然后按逆序输出。 ➢编程思路: ◦定义一个长度为10的一维整型数组; ◦用循环按下标从小到大对这10个元素赋值; ◦用循环按下标从大到小输出这10个元素。 6

#include int mainOint i a[10l:使a[0]~a[9]for (i = O; i = O; i--)最后输出a[0]printf("%d ", a[il):版权所有@陈哲保留所有权利printf("\n");return O;a[0]a[1]a[2]a[3]a[4]a[5]a[6]a[7]a[8]a[9]01256934781
版 权 所 有 © 陈 哲 保 留 所 有 权 利 #include int main() { int i, a[10]; for (i = 0; i = 0; i-) printf("%d ", a[i]); printf("\n"); return 0; } 7 使a[0]~a[9] 的值为0~9 0 1 2 3 4 5 6 7 8 9 a[0]a[1]a[2]a[3]a[4]a[5]a[6]a[7]a[8]a[9] 先输出a[9], 最后输出a[0]

>数组的初始化:在定义数组的同时,给各数组元素赋值。例如:int a[10] = { 0, 1,2,3,4, 5,6,7,8,9 ;// is equivalent toint a[]= { 0, 1,2,3,4, 5,6, 7,8,9 } ;int a[10] = { 0,1,2,3,4 } ;// is equivalent toint a[10] = { 0, 1,2,3, 4, 0,0,0,0,0 } ;版权所有@陈哲保留所有权利int a[10] = { 0 };// is equivalent toint a[10] = { 0,0,0,0,0,0,0,0,0,0 } ;8
版 权 所 有 © 陈 哲 保 留 所 有 权 利 ➢数组的初始化:在定义数组的同时,给 各数组元素赋值。例如: int a[10] = { 0,1,2,3,4,5,6,7,8,9 }; // is equivalent to int a[] = { 0,1,2,3,4,5,6,7,8,9 }; int a[10] = { 0,1,2,3,4 }; // is equivalent to int a[10] = { 0,1,2,3,4,0,0,0,0,0 }; int a[10] = { 0 }; // is equivalent to int a[10] = { 0,0,0,0,0,0,0,0,0,0 }; 8

>例:用数组存储Fibonacci数列并输出>编程思路:Fibonacci数列的元素为:1, 1, 2, 3, 5,每一个数组元素存储数列中的一个数,每个元素的值是前两个元素的值之和版权所有@陈替保留所有权利9
版 权 所 有 © 陈 哲 保 留 所 有 权 利 ➢例:用数组存储Fibonacci数列并输出。 ➢编程思路:Fibonacci数列的元素为: 1,1,2,3,5,. 每一个数组元素存储数列中的一个数, 每个元素的值是前两个元素的值之和。 9

#include int mainOint i;int f[20] = { 1,1 }:for (i = 2; i < 20: i++)f[il = f[i - 2l + fi - ll:for (i = 0; i < 20; i++)printf("%8d",f[i]);if ((i+1) % 5 == O) printf("\n");版权所有@陈暂保留所有printf("\n");return O;权利10
版权所有© 陈哲保留所有权利 #include int main() { int i; int f[20] = { 1,1 }; for (i = 2; i < 20; i++) f[i] = f[i - 2] + f[i - 1]; for (i = 0; i < 20; i++) { printf ("%8d ", f[ i]); if ((i+1) % 5 == 0) printf ( " \n"); } printf ( " \n"); return 0; } 10
按次数下载不扣除下载券;
注册用户24小时内重复下载只扣除一次;
顺序:VIP每日次数-->可用次数-->下载券;
- 南京航空航天大学:《程序设计》课程教学课件(PPT讲稿,一)05 函数.pptx
- 南京航空航天大学:《程序设计》课程教学课件(PPT讲稿,一)04 控制流.pptx
- 南京航空航天大学:《程序设计》课程教学课件(PPT讲稿,一)03 运算符和表达式.pptx
- 南京航空航天大学:《程序设计》课程教学课件(PPT讲稿,一)02 常量和变量.pptx
- 南京航空航天大学:《程序设计》课程教学课件(PPT讲稿,一)01 计算机和程序.pptx
- 《程序设计》课程教学资源(实验指导)C++语言习题集(南京航空航天大学:陈哲).pdf
- 《程序设计》课程教学资源(书籍文献)Google开源项目风格指南(中文版).pdf
- 长春大学:旅游学院:《Visual FoxPro程序设计》课程教学资源(授课教案,共七章).pdf
- 《计算机导论》课程教学资源(授课教案,教材讲义,共六章).pdf
- 江苏大学:RISC-V CPU设计实验(讲义).pdf
- 黄河水利职业技术大学:《电商网站建设与优化》课程思政教案(教学设计)PHP动态网站开发.pdf
- 沈阳师范大学:《单片机原理与接口技术应用》课程教学资源(PPT课件)第09章 SPI与I2C串行总线.ppt
- 沈阳师范大学:《单片机原理与接口技术应用》课程教学资源(PPT课件)第08章 USART串行通信.ppt
- 沈阳师范大学:《单片机原理与接口技术应用》课程教学资源(PPT课件)第07章 模数转换器(ADC).ppt
- 沈阳师范大学:《单片机原理与接口技术应用》课程教学资源(PPT课件)第06章 定时器.ppt
- 沈阳师范大学:《单片机原理与接口技术应用》课程教学资源(PPT课件)第05章 通用输入输出接口GPIO.pptx
- 沈阳师范大学:《单片机原理与接口技术应用》课程教学资源(PPT课件)第04章 中断系统.ppt
- 沈阳师范大学:《单片机原理与接口技术应用》课程教学资源(PPT课件)第03章 STM32微控制器的开发平台.pptx
- 沈阳师范大学:《单片机原理与接口技术应用》课程教学资源(PPT课件)第03章 嵌入式开发环境的搭建.pptx
- 沈阳师范大学:《单片机原理与接口技术应用》课程教学资源(PPT课件)第02章 STM32微控制器.pptx
- 南京航空航天大学:《程序设计》课程教学课件(PPT讲稿,一)07 记录类型.pptx
- 南京航空航天大学:《程序设计》课程教学课件(PPT讲稿,一)08 文件.pptx
- 南京航空航天大学:《程序设计》课程教学课件(PPT讲稿,一)09 编译预处理和多文件项目.pptx
- 南京航空航天大学:《程序设计》课程教学课件(PPT讲稿,二)Chapter 1-C++程序设计基础.ppt
- 南京航空航天大学:《程序设计》课程教学课件(PPT讲稿,二)Chapter 2-文件操作.ppt
- 南京航空航天大学:《程序设计》课程教学课件(PPT讲稿,二)Chapter 3-类的基础部分.ppt
- 南京航空航天大学:《程序设计》课程教学课件(PPT讲稿,二)Chapter 4-类的高级部分.ppt
- 南京航空航天大学:《程序设计》课程教学课件(PPT讲稿,二)Chapter 5-继承多态和虚函数.ppt
- 南京航空航天大学:《程序设计》课程教学课件(PPT讲稿,二)Chapter 6-异常处理.ppt
- 南京航空航天大学:《程序设计》课程教学课件(PPT讲稿,二)Chapter 7-模板.ppt
- 南京航空航天大学:《程序设计》课程教学课件(PPT讲稿,二)Chapter 8-标准模板库STL.ppt
- 揭阳职业技术学院:《Linux操作系统》课程教学资源(实验教案,共十八个).pdf
- 揭阳职业技术学院:《计算机应用基础》课程授课教案.pdf
- 揭阳职业技术学院:《物联网》课程授课教案.pdf
- 揭阳职业技术学院:《程序设计基础》课程授课教案.pdf
- 揭阳职业技术学院:《办公自动化》课程授课教案.pdf
- 揭阳职业技术学院:《图像处理》课程授课教案.pdf
- 揭阳职业技术学院:《计算机应用基础》课程授课教案.pdf
- 揭阳职业技术学院:《Photoshop制图》课程授课教案.pdf
- 清华大学:《计算机图形学基础》课程教学大纲 Fundamental of Computer graphics(负责人:胡事民).pdf
