- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
第五章 数组与字符串 概述 5.1 一维数组 定义,元素的引用,初始化,程序举例 5.2 二维数组 定义,元素的引用,初始化,程序举例 5.3 字符串处理 引言 例:求5名学生某门功课的平均成绩. main ( ) { float s1, s2, s3, s4, s5, avg; printf ( Enter the 5 scores :); scanf(%f, %f, %f, %f, %f\n, s1, s2, s3, s4, s5 ); avg = s1 + s2 + s3 + s4 + s5; avg = avg/5.; printf (average score is %6.2f\n, avg ); } 使用数组,上例程序可改写为: main ( ) { float s[5], avg=0; int i; for (i = 0; i 5; i++) { scanf (%f, s[i] ); avg += s[i]; } avg = avg/5.; printf ( average score is %6.2f\n, avg ); } ::数组的定义方便处理同一类型的数据 ? 数组是按序排列的同类型变量的集合,是一组具有相同名字, 不同下标的下标变量。 ? 下标变量形式 数组名[下标] 如 s[0]、s[2]、s[3]、s[6]、s[10] ? 数组名表示整个数组,如:s ? 下标变量又称数组元素 下标指出某个数组元素在数组中的位置 下标可以用常量表示,也可以用变量表示 ? 有一个下标的下标变量所组成的数组称为一维数组; 有二个下标的下标变量所组成的数组称为二维数组; 如:x[1]、y[5] 数组x和y都是一维数组 a[1][2]、b[2][3] 数组a和b都是二维数组 5.1 一维数组5.1.1-1 一维数组的定义 ? 定义形式: 类型说明符 数组名[常量表达式]; 如: int a [10]; ? 类型说明符 说明该数组中每个元素的数据类型 ? 数组名 数组的名称,命名规则同变量名 ? 常量表达式 表示该数组具有的元素个数, 也称为数组的长度。 ? 说明: ? 数组中的第一个元素的下标从0开始编号。 ? 数组名 ( 如 a ) 表示该数组中第一个元素 ( 如 a[0] ) 的地址,即a和a[0]同值。数组名是地址常量。 ? 经过定义的数组,编译后,会分配到一段连续的内存单元。其首地址即数组名(如 a); ? 数组定义中的常量表达式中不能包含变量。 比如以下定义方法是不允许的: int n; scanf (%d,n); int b[n]; ? 允许在同一类型说明中定义多个数组 和变量。 如:int a[10], b[20]; 5.1.1-2 一维数组的引用 C语言中不能对整个数组进行整体操作,只能对数组元素逐个进行处理。数组元素的引用方法有两种: 下标法 用数组名及其下标表示数组元素: 数组名[下标] 比如定义: int a[3]; 则a[0],a[1],a[2]分别表示数组a的三个元素。 数组引用中的下标为整型常量或整型表达式或整型变量,它表示了元素在数组中的顺序号即位置。形式上和定义相似,但表示的含义完全不同。 特别提醒:C编译系统对数组下标不进行越界检查,如果使用负数或超出数组长度的下标不会给出任何提示,程序将继续执行,但后果。。。难以预计。。。 2 指针法* 一维数组引用举例 【例5.1】输入学生数n(不大于50)及n个学生某门课程的成绩,计算并输出平均成绩(保留1位小数)和高于平均成绩的人数。 5.1.2 一维数组初始化 数组初始化 指在定义数组时对数组元素赋予初值。
文档评论(0)