[工学]c语言数组ppt课件.ppt

[工学]c语言数组ppt课件.ppt

ID:58877915

大小:936.50 KB

页数:67页

时间:2020-09-30

[工学]c语言数组ppt课件.ppt_第1页
[工学]c语言数组ppt课件.ppt_第2页
[工学]c语言数组ppt课件.ppt_第3页
[工学]c语言数组ppt课件.ppt_第4页
[工学]c语言数组ppt课件.ppt_第5页
资源描述:

《[工学]c语言数组ppt课件.ppt》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库

1、第七章数组???这些数据如何存放才便于排序82945637617188888888881111111111111118888888888这便是本章所要解决的问题排序问题: 给一组数排序,这组数该如何存放呢?称重问题:中秋佳节,有贵客来到草原,主人要从羊群中选一只肥羊宴请宾客,当然要选最重者。这样就要记录每只羊的重量,如果有成千上万只羊,不可能用一般变量来记录。sheep0,sheep1,sheep2,……sheep102561?可以用什么记录呢?带有下标的变量,也就是这里要讲的数组。我们先看例子:用键盘输入10只羊的重量存放到一个名为she

2、ep的数组中#includemain(){floatsheep[10];/*数组,有10个浮点类型元素*//*用于存10只羊每一只的重量*/floatmax;/*浮点类型变量,存放最肥羊的重量*/inti,k;/*整型变量,i用于计数循环,k用于记录最肥羊的号*/max=0.0;for(i=0;i<10;i=i+1){printf(“请输入羊的重量sheep[%d]=”,i);scanf(“%f”,&(sheep[i]));/*输入第i只羊的重量*/if(max

3、为当前最肥羊*/k=i;/*纪录第i只羊*/}}printf(“max=%f”,max);/*输出最肥羊的重量*/printf(“number=%d”,k);/*输出最肥羊的编号*/}7.1一维数组的定义和引用问题:有如下几组数据,它们分别该如何存储呢?是一组具有相同数据类型的数据的有序集合。数组一个班学生的学习成绩一行文字一个矩阵这些数据的特点是:1、具有相同的数据类型2、使用过程中需要保留原始数据C语言为这些数据,提供了一种构造数据类型:数组。什么是数组?构造数据类型之一数组:有序数据的集合,用数组名标识元素:属同一数据类型,用

4、数组名和下标确定一维数组二维数组字符数组数组应用举例合法标识符表示元素个数下标从0开始a[0]0145a[1]a[2]a[3]a[4]a[5]23a编译时分配连续内存内存字节数=数组长度*sizeof(元素数据类型)数组名表示内存首地址,是地址常量7.1一维数组的定义和引用一维数组的定义定义方式:数据类型数组名[常量表达式];inta[6];编程提示:数组定义时常量表达式表示的是数组所含元素的个数,而不特指某个元素不能用变量定义数组长度inti=15;intdata[i];C语言对数组不作越界检查,使用时要注意intdata[5];/*da

5、ta[0]~data[4]*/data[5]=10;7.1一维数组的定义和引用一维数组元素的引用数组必须先定义,后使用数组元素表示形式:数组名[下标]只能逐个引用数组元素,不能一次引用整个数组举例:intnum[10];printf(“%d”,num);错误!修改为:for(j=0;j<10;j++)printf(“%dt”,num[j]);正确!常量或整型表达式数组元素引用方式:数组名[下标]下标越界是大忌!编译程序不检查是否越界下标越界,将访问数组以外的空间那里的数据是未知的,不受我们掌控,可能带来严重后果b[0]b[1]b[2]b[

6、3]b[4]b[5]b[6]b[7]b[8]b[9]ca如果下标值小于0或超过数组长度时会出现什么情况?运行程序或单步执行观察变量变化情况可以看到,变量c和a的值因数组越界而被悄悄破坏了12345612078910114044484c5054585c6064686c7.1一维数组的定义和引用一维数组的初始化在定义数组时,为数组元素赋初值(在编译阶段使之得到初值)例:inta[4]={1,2,3,4};a[0]=1;a[1]=2;a[2]=3;a[3]=4;数组不初始化,其元素值为随机数只给部分数组元素赋初值如inta[5]={6,2,3

7、};a[0]=6;a[1]=2;a[2]=3;a[3]=0;a[4]=0;如inta[3]={6,2,3,5,1};(×)7.1一维数组的定义和引用一维数组的初始化当全部数组元素赋初值时,可不指定数组长度,编译系统根据初值个数确定数组维数inta[]={1,2,3,4,5,6};对静态数组元素不赋初值,系统会自动赋以0值staticinta[4];a[0]=0;a[1]=0;a[2]=0;a[3]=0;a[4]=0;a例7.1读10个整数存入数组,找出其中最大值和最小值问题分析:1.输入:for循环输入10个整数2.处理:(a)先令

8、max=min=a[0](b)依次用a[i]和max,min比较(循环)若maxa[i],令min=a[i]3.输出:max和minint

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。