C语言程序设计经典教程class.ppt

C语言程序设计经典教程class.ppt

ID:52266803

大小:1.28 MB

页数:54页

时间:2020-04-03

C语言程序设计经典教程class.ppt_第1页
C语言程序设计经典教程class.ppt_第2页
C语言程序设计经典教程class.ppt_第3页
C语言程序设计经典教程class.ppt_第4页
C语言程序设计经典教程class.ppt_第5页
资源描述:

《C语言程序设计经典教程class.ppt》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库

1、1第六章数组主要内容6.1数组概述6.2一维数组6.3二维数组6.4字符数组6.5综合应用举例重点熟练掌握一维数组和字符数组的定义和引用,掌握用数组方法实现排序算法、查找方法;深刻理解一维的字符数组与字符串之间的关系,比较熟练地掌握使用一维字符数组来处理字符串。26.1数组概述在许多数学问题中,经常遇到数列和矩阵的概念。数列和矩阵是用来描述一批数据之间的关系的。表示x数列时通常写成:x1,x2,x3,……,xn表示一个2×3矩阵y可以写成:位置号行号列号3分析数列和矩阵不难发现它们有三个特点:有一批数据;这些数据之间有一定的内在联系;这些数据的类型相同。C语言中用数组来表达数列和矩

2、阵。数组名数列名(如x数列)矩阵名(如y矩阵)下标用一个数表示下标用两个数表示一维数组二维数组x2y13x[2]y[1][3]4不用数组时,要处理下面的两个问题会感到相当困难:将输入的50个数逆序输出。把输入的30个成绩中高于平均分的成绩输出。数组的定义:所谓数组是指一组有序数据的集合,用一个统一数组名标识这一组数据,用下标来指示数组中元素的位置(序号)。数组是最简单的一种构造类型,其数组元素为同一类型,既可以为简单类型(如整型、实型、字符型等),也可以是构造类型。56.2一维数组一维数组的定义语法格式为:类型符数组名[元素个数];例如:inta[5];定义了一个数组a,每个元素的

3、类型为int,可以称a为整型数组。它有5个元素:a[0]a[1]a[2]a[3]a[4]又如:floatx[2*5];/*Ok*/chars[n];/*Error*/常量或常量表达式第一个元素的下标为0最后一个元素的下标为元素个数-16一维数组的引用一般的引用格式为:数组名[下标]如:n=4;a[0]=3*a[3]-a[n-2];数组元素实际上的一种带下标的变量(简称下标变量),它与简单变量(不带下标的变量)在使用上并无不同。请比较:intm,n,p,a[5];m=10;a[2]=5;n=2*m;a[1]=a[2]*3;scanf("%d",&p);scanf("%d",&a[4]

4、);可以为常量、变量、表达式7引用数组元素更常用的形式:a[i]若i=0,a[i]→a[0]若i=1,a[i]→a[1]用这种方式可以访问数组中的所有元素,这称为数组的"遍历"。遍历数组时是通过循环来改变下标的。[例6.1]将输入的5个数逆序输出。读入:for(i=0;i<5;i++)scanf("%d",&a[i]);输出:for(i=4;i>=0;i--)printf("%3d",a[i]);8[例6.1]将输入的5个数逆序输出。main(){inta[5],i;for(i=0;i<5;i++)scanf("%d",&a[i]);for(i=4;i>=0;i--)printf(

5、"%3d",a[i]);printf("");}注意:1、循环控制变量的初值、终值及控制条件。2、不能整体输出数组例:printf("%d",a);是错误的。9一维数组的初始化在定义数组时给元素赋初值。一般语法为:类型符数组名[元素个数]={常量表};如:inta[5]={1,2,3,4,5};编译系统为数组的所有元素顺序分配存储单元。初始化时是把常量表中的常量按内存分配顺序依次存入相应的数组元素。1234510说明:若给所有元素赋初值,"元素个数"可以省略。如:inta[]={1,2,3,4,5};可以只给一部分元素赋初值,但元素个数不能省略。未被赋初值的元素则为0。如:in

6、ta[5]={1,2,3};若使全部元素都为0,可以将其定义为"全局变量"或"静态变量",也可以写成:inta[5]={0};若数组在定义时未进行初始化,则各元素的值是随机的。如:inta[5];5,0,0};,0,0,0,0};={?,?,?,?,?};[例]数组b在定义时未进行初始化#includemain(){inti,a[5]={3,4,5},b[5];printf("arrayais:");for(i=0;i<5;i++)printf("%6d",a[i]);printf("arraybis:");for(i=0;i<5;i++)printf("

7、%d,",b[i]);}1112一维数组的程序举例[例6.2]求输入的10个数据之和。main(){inta[10],sum=0,i;for(i=0;i<10;i++)scanf("%d",&a[i]);for(i=0;i<10;i++)sum=sum+a[i];printf("Sum=%d",sum);}练习:把输入的30个成绩中高于平均分的输出输入数据计算、处理输出数据13[例6.3]找出输入的5个数据中的最大值及所在位置。分析:设a[0]的值最大;i=1;i

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

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

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