《计算机技术基础C语言 (19).pdf》由会员分享,可在线阅读,更多相关《计算机技术基础C语言 (19).pdf(13页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、计算机技术基础(计算机技术基础(C语言)语言)电子信息系电子信息系计算机技术基础(计算机技术基础(C语言)语言)数组2引用引用初始化初始化定义定义计算机技术基础(计算机技术基础(C语言)语言)数组3假设要处理假设要处理5个学生的个学生的成绩成绩8092786573一维数组一维数组赵艺赵艺邓华邓华李贝李贝张龙张龙王玉王玉英语英语数学数学计算机计算机二维数组二维数组数列(一维)数列(一维)矩阵(二维)矩阵(二维)计算机技术基础(计算机技术基础(C语言)语言)一维数组4一维数组的定义一维数组的定义定义方式:定义方式:数据类型数据类型数组名数组名 常量常量表达式表达式;合法标识符合法标识符表示元素表示
2、元素个数个数不能是变量不能是变量内存分配内存分配 :数组运算符数组运算符 不能不能用用()#define M 10int main()int aM;int s3*5;数组元素的数数组元素的数据类型据类型计算机技术基础(计算机技术基础(C语言)语言)一维数组5一维数组的定义一维数组的定义定义方式:定义方式:数据类型数据类型数组名数组名 常量常量表达式表达式;合法标识符合法标识符表示元素表示元素个数个数不能是变量不能是变量例例 int i=15;int datai;(不能用变量定义数组维数不能用变量定义数组维数)内存分配内存分配 :数组运算符数组运算符 不能不能用用()数组元素的数数组元素的数据类
3、型据类型计算机技术基础(计算机技术基础(C语言)语言)一维数组6一维数组的定义一维数组的定义定义方式:定义方式:数据类型数据类型数组名数组名 常量常量表达式表达式;例例int a6;a00145a1a2a3a4a523a编译时分配连续内存编译时分配连续内存内存字节数内存字节数=数组长度数组长度*sizeof(元素数据类型元素数据类型)数组名表示内存首地址,数组名表示内存首地址,是是地址常量地址常量内存分配内存分配计算机技术基础(计算机技术基础(C语言)语言)一维数组7一维数组的初始化一维数组的初始化初始化方式初始化方式int a5=1,2,3,4,5;等价于:等价于:a0=1;a1=2;a2=
4、3;a3=4;a4=5;如如int a5=6,2,3;等价等价于:于:a0=6;a1=2;a2=3;a3=0;a4=0;如如int a3=6,2,3,5,1;()给全部给全部数组数组元素赋初值元素赋初值只只给部分数组元素赋初值给部分数组元素赋初值数据类型数据类型数组名数组名 常量常量表达式表达式=初始化数据列表初始化数据列表;计算机技术基础(计算机技术基础(C语言)语言)一维数组8说明:说明:数组不初始化,其元素值为随机数数组不初始化,其元素值为随机数对对static数组元素不赋初值,系统会自动赋以数组元素不赋初值,系统会自动赋以0值值当全部数组元素赋初值时,可不指定数组长度当全部数组元素赋初
5、值时,可不指定数组长度static int a5;等价于:等价于:a0=0;a1=0;a2=0;a3=0;a4=0;int a=1,2,3,4,5,6;编译系统根据初值个数确定数组维数编译系统根据初值个数确定数组维数int a5=1,1,1,1,1;如对数组元素赋同一初值,也必须一一列出如对数组元素赋同一初值,也必须一一列出计算机技术基础(计算机技术基础(C语言)语言)一维数组9一维数组的引用一维数组的引用数组必须先定义,后使用数组必须先定义,后使用数组元素表示形式:数组元素表示形式:数组数组名名 下标下标 只能逐个引用数组只能逐个引用数组元素元素,不能一次引用整个数组,不能一次引用整个数组常
6、量常量或整型或整型表达式表达式for(i=0;i5;i+)scanf(%f,&xi);sum+=xi;计算机技术基础(计算机技术基础(C语言)语言)一维数组10一维数组的引用一维数组的引用数组必须先定义,后使用数组必须先定义,后使用数组元素表示形式:数组元素表示形式:数组数组名名 下标下标 只能逐个引用数组只能逐个引用数组元素元素,不能一次引用整个数组,不能一次引用整个数组例例int a10;printf(“%d”,a);()必须必须 for(j=0;j10;j+)printf(“%dt”,aj);()常量常量或整型或整型表达式表达式计算机技术基础(计算机技术基础(C语言)语言)数组11【例例
7、】求极值问题(输出最大值)求极值问题(输出最大值)int main()int x5=15,10,9,20,11,max,i;max=x0;for(i=1;i5;i+)if(maxxi)max=xi;printf(“max=%dn”,max);return 0;*maxx0 x3x2x1x4151092011i=1i=2i=3i=41520运行结果为:运行结果为:max=20控制下标变量控制下标变量i计算机技术基础(计算机技术基础(C语言)语言)数组12【例例】求极值问题(输出最大值)求极值问题(输出最大值)int main()int x5=15,10,9,20,11,max,i;max=x0;for(i=1;i5;i+)if(maxxi)max=xi;printf(“max=%dn”,max);return 0;*maxx0 x3x2x1x4151092011i=1i=2i=3i=41520=5;数组的引用下标数组的引用下标最会越界最会越界数组定义的长度为数组定义的长度为5计算机技术基础(计算机技术基础(C语言)语言)数组13循环控制下标循环控制下标-遍历数组元素遍历数组元素不同操作对应不同的算法不同操作对应不同的算法定义一维数组定义一维数组-存放一组数据存放一组数据
限制150内