第四章 数组和函数.doc

  1. 1、本文档共37页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
第4章 数组和函数 主要内容: 一维和二维数组的声明、引用、初始化;函数的定义、调用、声明;变量的作用域。 教学要求: 掌握一维数组的定义、初始化、和引用方法,熟悉数组的基本操作 掌握函数的定义、调用方法和返回值 掌握全局变量和局部变量的作用域 4.1 一维数组 数组是一种最简单的构造数据类型。数组是同类型数据的集合,数组中的每一个元素都具有相同的数据类型。数组包括一维数组和多维数组。 4.1.1 一维数组的声明 同其它变量一样,使用数组之前必须先对数组进行声明。 声明数组的一般格式如下: 类型说明符 数组名[数组元素个数]; 例如: int a[5]; /*声明了一个int型数组a,由5个数组元素组成。*/ float f[10]; /*声明了一个float型数组f,由10个数组元素组成*/ char c[100]; /* 声明了一个char型数组c,由100个数组元素组成*/ 注意 数组名的命名遵循标识符的命名规则。 数组中的元素是同一类型。 数组中的元素是有序的,每一个元素都有唯一的顺序位置与之相对应。 4.1.2 一维数组的引用 数组元素的引用的一般格式如下:数组名[下标] 其中: 下标可以是整型常量或整型表达式。 数组中的一个元素的引用是通过数组名和下标来确定,下标从0开始,一直到组元素的总数减1。 例如:int a[5]; /*5个数组元素分别是a[0],a[1],a[2],a[3],a[4]*/ float f[3];/*3个数组元素分别是f[0],f[1],f[2]*/ 【例4-1】练习对数组元素赋值并输出数组元素的值。 main() { int a[10],i; /*定义整型数组a和循环变量i*/ for(i=0;i10;i++) /*此循环语句用来对数组元素逐个赋值*/ a[i]=i; /*将循环变量i的值赋值给a[i]*/ for(i=0;i10;i++) /*此循环语句用来逐个输出数组元素的值*/ printf(a[%d]=%d\n,i,a[i]); /*双撇号里除了%d外均为普通字符原样输出*/ } 程序分析与解释: 本程序实现的功能是在程序运行过程中对数组a中的元素赋值,然后逐个输出数组元素的值。运行结果如图4-1所示。 图4-1 程序运行结果 4.1.3 一维数组的初始化 1.定义数组的同时对全部数组元素初始化。此时可以不用指明数组的长度。 例如: 定义一个含有10个元素的int型数组a,并对其全部元素赋初值: int a[10]={0,1,2,3,4,5,6,7,8,9}; 或者 int a[]={0,1,2,3,4,5,6,7,8,9}; 经过初始化后,a[0]=0,a[1]=1,a[2]=2,a[3]=3,a[4]=4, a[5]=5,a[6]=6,a[7]=7,a[8]=8,a[9]=9。 2.定义数组的同时对部分数组元素初始化。此时必须指明数组元素的长度。 例如:定义了一个含有5个元素的int型数组a,并只对其前3个元素赋初值,后2个元素值为0 。 int a[5]={1,2,3}; 经过初始化后,a[0]=1,a[1]=2,a[2]=3,a[3]=0,a[4]=0。 4.1.4 一维数组程序举例 【例4-2】 输入一组学生的成绩,统计成绩的最高分、最低分和平均分。 main() { float score[10],max,min,avg,sum; int i; /*定义循环变量i*/ printf(input ten points:); for(i=0;i10;i++) /*对数组元素赋值,即输入成绩*/ { scanf(%f,score[i]); } /*假设a[0]既是最大值又是最小值,sum初值为a[0]*/ max=min=sum=score[0]; for(i=1;i10;i++) /*从下标1开始提取数组元素的值*/ { sum=sum+score[i]; /*数组元素的值逐个相加*/ if(score[i]max) /*找出最高分*/ max=score[i]; if(score[i]min) /*找出最低分*/ min=score[i]; } avg=sum/10; /*计算平均分*/ printf(max=%f\nmin=%f\navg=%f,max,min,avg); } 程序分析与解释: 定义一个一维整型数组score,数组的长度为10,用来存放10个同学单科的成绩。其中,max表示最高分,min表示最低分,avg表示平均分,sum表示总

文档评论(0)

yan666888 + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档