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

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

文档信息
资源类别:文库
文档格式:PPTX
文档页数:111
文件大小:441.76KB
团购合买:点击进入团购
内容简介
南京航空航天大学:《程序设计》课程教学课件(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

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