C语言程序设计ppt-第8章

C语言程序设计ppt-第8章

ID:44251294

大小:323.00 KB

页数:70页

时间:2019-10-20

C语言程序设计ppt-第8章_第1页
C语言程序设计ppt-第8章_第2页
C语言程序设计ppt-第8章_第3页
C语言程序设计ppt-第8章_第4页
C语言程序设计ppt-第8章_第5页
资源描述:

《C语言程序设计ppt-第8章》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库

1、C语言程序设计TheCProgrammingLanguage华中科技大学计算机学院 曹计昌9/4/20211华中科技大学计算机学院C语言程序设计第8章数组一维数组的声明、初始化和使用数组的运算、作为函数参数的使用字符串、多维数组同时包括:字符串操作函数,数字串与数之间的转换函数,二分查找,排序等程序的设计.相关算法和程序设计方法要熟练掌握.9/4/20212华中科技大学计算机学院8.1数组概述程序=算法+数据结构PASCAL程序设计语言发明者NiklausWirth曾经说过简单数据类型的变量仅能描述一个单独的数据对客

2、观对象的描述能力十分有限如何描述一群有联系的数据集合?(全班C语言考试成绩)数组属于构造类型是相同数据类型数据的集合(不同数据类型数据如何考虑?如学生对象有学号,姓名性别,年龄,各科成绩等属性)元素组成数组的这些数据任何类型(简单类型、构造类型)9/4/20213华中科技大学计算机学院8.1数组概述数组特点其所有元素数目固定其所有元素类型相同其所有元素顺序存放(在内存中也是连续存放的)数组作用集中管理将相关的同类型数据集中用一个标识符(数组名)表示元素顺序存放,但可随机定位用若干个数字序号(下标)来区别各数组元素例如

3、定义floatscore[30],可表述30位学生成绩用数组具有什么好处?9/4/20214华中科技大学计算机学院8.1数组概述问题计算全班30位同学某门课程的平均成绩解决方法设置30个float型变量来记录成绩设置一个有30个float型元素的数组来记录成绩问题分析参与运算的平均成绩,其数据类型都相同(符合数组特点)30位同学属于一个班,用数组可把30个成绩表示成一个整体用数组的优点便于循环处理提高效率,便于书写、检查、修改(对海量数据效果更明显)9/4/20215华中科技大学计算机学院8.2一维数组维数标识一个数

4、组元素所需要使用的下标的个数一维数组只有一个下标可用于表示一个线性的数据队列使用数组的要求先声明数组对它进行初始化,然后才能使用9/4/20216华中科技大学计算机学院8.2.1一维数组的声明要解决三个问题确定数组的数据类型给数组定义一个名字,以便在程序中使用指明数组的大小,即数组中元素的个数声明形式[存储类型说明符][类型修饰符]类型说明符数组名[常量表达式]={初值表};存储类型说明符:extern、static类型修饰符:const、volatile类型说明符:int、char、…数组名:是一个标识符,是一个地

5、址常量,用以表示数组中打头元素的地址9/4/20217华中科技大学计算机学院8.2.1一维数组的声明例8.1具有基本数据类型的一维数组的声明#defineSIZE10intarray[5];doubled[5],e[SIZE];charname[SIZE*5];错误例子unsignedintsize;charstr[size],buffer[2*size];错误原因数组的大小一经说明就不能改变长度说明不是表达式,在编译之前就必须明确确定9/4/20218华中科技大学计算机学院8.2.1一维数组的声明例8.2采用类型修

6、饰符的一维数组的声明staticinty[10];数组y中的每一个成员都是静态整型成员externdoubles[2];作了一个外部双精度型数组的引用性声明应该在另外的源文件中通过doubles[2];来定义s数组,这样第2个声明语句才有意义9/4/20219华中科技大学计算机学院8.2.2一维数组的使用C提供的各种操作符针对基本数据类型的变量数组是构造数据类型但其元素是基本数据类型的变量访问数组不需设计专门的数组操作符方法:数组名[下标表达式]例inta[5],j=2;5个元素依次是a[0],a[1],a[2],a

7、[3],a[4]正确用法:a[j+2]、a[++j]、a[j--]、a[5*j-7]错误用法:a[j-3]、a[2*j+1]9/4/202110华中科技大学计算机学院例8.3使用一维数组计算学生的平均成绩。#include〞stdio.h〞voidmain(void){intscore[30],i,sum=0;doubleaverage;printf("inputthescoresplease:");for(i=0;i<30;i++)scanf(“%d”,&score[i]);/*将键盘输入的成绩赋给各个数组元素

8、*/for(i=0;i<30;i++)sum+=score[i];/*求学生成绩的累加和*/average=sum/30.0;/*计算平均成绩*/printf("sum=%d",sum);printf("average=%lf",average);}演示EX8_3.C9/4/202111华中科技大学计算机学院8.2.3一维数组的初始化显

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

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

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