- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
第6章 数组与字符串 本章导读: 主要讨论各种不同类型的一维和二维数组及其应用。要求学生理解数组的概念,掌握数组的形式化定义,数组的初始化方法,数组元素的访问规则;在此基础上学习数组的使用方法,如数组中元素的查找、排序、插入、计算等。字符数组作为一种特殊的数组,用来存储字符串,要求学生掌握字符串的操作函数。通过数组的学习提高学生的数据管理能力和编程能力。教学重点理解数组的概念 掌握数组的形式化定义,数组的初始化方法掌握数组元素的访问规则 掌握与数组有关的常用算法(如排序算法等) 了解数组在数值计算、数据统计、排序和数据检索方面的应用 掌握字符数组的定义及应用 掌握字符串的操作函数 本章主要内容如下:6.1数组的概念 6.2数组的定义 6.3数组作为函数的参数 6.4数组应用举例 6.5字符串 6.6本章小结 6.1数组的概念 数组是一组具有相同名字的变量。它是将一系列具有相同属性的若干数据组织在一起而形成的集合。 在C语言中,数组有两个要素,数组名和下标。数组用统一的数组名和下标来标示数组中的元素,用下标标示数组中元素的位置。数组中元素的下标从零开始,以数组中元素个数减1结束。 如描述全班50个同学的成绩,就可以定义一个一维数组c[50],则下标范围是0~49 如果50个学生,每个同学选修了5门功课,那么学生的成绩用一维数组描述就很困难。需要用二维数组来描述。我们可以用行来描述每个学生的成绩,用列来描述每个功课的成绩。那么这个二维数组可以定义如下:: int a[50][5];注: 数学中矩阵都可以用二维数组来描述 aa[0]0a[1]12a[2]3a[3]4a[4]5a[5][ ] :数组运算符单目运算符优先级(1)左结合不能用( )6.2.1 一维数组一维数组的定义定义方式:数据类型 数组名[常量表达式]; 合法标识符例 int a[6];表示元素个数下标从0开始编译时分配连续内存内存字节数=数组维数* sizeof(元素数据类型)数组名表示内存首地址,是地址常量6.2数组的定义 例int i=15; int data[i]; (?不能用变量定义数组维数)例 int data[5]; data[5]=10;//C语言对数组不作越界检查,使用时要 注意一维数组的引用数组必须先定义,后使用只能逐个引用数组元素,不能一次引用整个数组数组元素表示形式: 数组名[下标]其中:下标可以是常量或整型表达式例 int a[10]; printf(“%d”,a); (?)必须for(j=0;j10;j++) printf(“%d\t”,a[j]); (?)一维数组的初始化初始化方式 int a[5]={1,2,3,4,5};等价于:a[0]=1; a[1]=2; a[2]=3; a[3]=4; a[4]=5;在定义数组时,为数组元素赋初值(在编译阶段使之得到初值)说明:数组不初始化,其元素值为随机数对static数组元素不赋初值,系统会自动赋以0值只给部分数组元素赋初值 当全部数组元素赋初值时,可不指定数组长度如 int a[5]={6,2,3}; 等价于: a[0]=6; a[1]=2;a[2]=3; a[3]=0; a[4]=0;如 int a[3]={6,2,3,5,1}; (?)static int a[5];等价于:a[0]=0; a[1]=0; a[2]=0; a[3]=0; a[4]=0; int a[]={1,2,3,4,5,6};编译系统根据初值个数确定数组维数【举例】数组元素的访问 //对数组元素进行操作 #include stdio.h main() { int a[5]={0,1,2,3,8}; //定义数组a 并进行初始化 a[0]=4; //把4赋给a[0] a[1]+=a[0]; //把a[0]的值4累加到a[1],使的值变为5 a[3]=3*a[2]+1; //把赋值号右边的值7赋给a[3] printf(“%d”,a[a[0]]); //因a[0]=4,所以a[a[0]]对应的元素为 //a[4],该语句输 出的值8 return 0; } 【例6-1】斐波那契数列:1,1,2,3,5,8,…,其规律是从第三个数开始,每一项等于前两项的和,即a[i]=a[i-1]+a[i-2],i=2,3,…,求该数列的前M (M=10)项。?#include stdio.h#define M 10void main( ) { int a[M]={1,1},i; //定义含有M个元素的数组a,a[0]=1;a[1]=1;其余元素的值赋为0 for( i=2;iM;+
原创力文档


文档评论(0)