C语言程序设计 教学课件 作者 黄锐军 第5章 数组.ppt

C语言程序设计 教学课件 作者 黄锐军 第5章 数组.ppt

ID:50043711

大小:188.50 KB

页数:36页

时间:2020-03-08

C语言程序设计 教学课件 作者 黄锐军 第5章 数组.ppt_第1页
C语言程序设计 教学课件 作者 黄锐军 第5章 数组.ppt_第2页
C语言程序设计 教学课件 作者 黄锐军 第5章 数组.ppt_第3页
C语言程序设计 教学课件 作者 黄锐军 第5章 数组.ppt_第4页
C语言程序设计 教学课件 作者 黄锐军 第5章 数组.ppt_第5页
资源描述:

《C语言程序设计 教学课件 作者 黄锐军 第5章 数组.ppt》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库

1、第5章数组在这一章中将介绍C语言程序的数组,数组是一段连续的内存变量,每个变量都有一个具体的下标,把一组变量连续存放在内存中,具有很实用的价值,例如可以存放字符串等。5.1一维数组5.2一维字符数组5.3字符串处理函数5.4数组排序与查找5.5二维数组5.1一维数组5.1.2一维数组的定义1.一般定义一维数组的定义方法一般为:类型数组变量名称[大小];其中类型可以是任何的C语言数据类型,例如char、int、long、float、double等,数组名称与普通变量名称一样,“大小”是数组在内存中的单元数,在定义时必须是一个常数,不能是变量,数组每个单元占的字节数就是对

2、应类型占的字节数,显然数组占的总字节数是:大小*sizeof(类型)例如:chars[20];//定义20个字符的数组intn[20];//定义能存储20个整数的数组floatf[10];//定义能存储10个float数的数组inta[5];//定义能存储20个整数的数组如图5-3所示为inta[5]定义的数组在内存中的分布图,共有5个元素,它的每一个单元都是一个int整数,由于一个int整数在计算机中占4个字节,因此这个数组在计算机中占20个字节。值得注意的是数组在定义之后,它的任何一个单元的值是不确定的。a[0]a[1]a[2]a[3]a[4]图5-3数组inta

3、[5]的内存分布2.定义且初始化数组在定义时还可以同时为各个单元设置初始化的值。(1)定义时给所有元素赋值,例如:chars[5]={‘a’,’b’,’c’,’d’,’e’};定义数组s[5],并且设置s[0]=’a’,s[1]=’b’,s[2]=’c’,s[3]=’d’,s[4]=’e’。(2)定义时给部分元素赋值,例如:chars[5]={‘a’,’b’};定义数组s[5],并且设置s[0]=’a’,s[1]=’b’,s[2]=’’,s[3]=’’,s[4]=’’,既后面没有赋值的元素全部设置为0。(3)定义时给所有元素赋值,则可以不设置数组的大小,例

4、如:chars[]={‘a’,’b’,’c’,’d’,’e’};与chars[5]={‘a’,’b’,’c’,’d’,’e’};是等价的。5.1.4数组应用要素数组应用中要注意下标不能超过边界,例如:intn[10];数组元素只有n[0],n[1],……,n[9]共10个元素,第一个元素是n[0]不是n[1],最后一个元素是n[9]不是n[10],如果引用了n[10],则程序在编译时不会报告错误,但程序运行时,n[10]单元排在n[9]之后,它不是数组的一个部分,可能是系统的某个单元,如把一个值赋予n[10],就可能改变了系统的内存值,可能会带来预想不到的结果。5.2

5、一维字符数组5.2.1一维字符数组一维字符数组是char类型的数组,因为它的每一个元素是一个char变量,可以用来存放字符串,因此比较特别。例如:chara[5];定义了一个字符数组,它有a[0],a[1],a[2],a[3],a[4]共5个元素,可以为它们赋值,例如:a[0]=’H’;a[1]=’e’;a[2]=’l’;a[3]=’l’;a[4]=’o’;也可以在定义时就对各个元素赋值,例如:chara[5]={‘H’,’e’,’l’,’l’,’o’};其内存分布如图5-8所示。‘H’‘e’‘l’‘l’‘o’图5-8chara[5]内存分布5.2.2一维字符数组与字

6、符串字符串是一组字符,这些字符在内存中连续分布,在最后一个字节单元中用’’表示结束,这种结构与字符数组十分相似,实际上字符数组可以用来表示和存储字符串。例如:charb[6]={‘H’,’e’,’l’,’l’,’o’,’’};数组a中存储的就是字符串”Hello”,在定义字符数组时,可以把字符串直接赋值给字符数组,例如:charb[]={“Hello”};这种定义方法与charb[6]={‘H’,’e’,’l’,’l’,’o’,’’};是完全等价的。5.2.3字符串的输入与输出前面已经讨论过字符串的输出在printf函数中用“%s”来进行,而字符串又用字符

7、数组来表示,因此在printf函数中用“%s”来输出字符数组表示的字符串,例如:chara[]={“hello”};printf(“%s”,a);//输出Hello同样在scanf中用“%s”来输入一个字符串,输入的字符串存储在指定的字符数组中,例如:charb[20];scanf(“%s”,b);注意在scanf函数中数组名称前面没有“&”符号。scanf在输入字符串时会到输入流中去读取,读取的规则是:(1)跳过前面的空格,从一个非空格字符开始,一直取出连续的非空格字符,直到遇见空格或回车为止,把这些字符取入字符数组,并在最后加上’’的结束标志

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

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

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