《c数组与字符串》PPT课件

《c数组与字符串》PPT课件

ID:45447241

大小:422.00 KB

页数:36页

时间:2019-11-13

《c数组与字符串》PPT课件_第1页
《c数组与字符串》PPT课件_第2页
《c数组与字符串》PPT课件_第3页
《c数组与字符串》PPT课件_第4页
《c数组与字符串》PPT课件_第5页
资源描述:

《《c数组与字符串》PPT课件》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库

1、第6章数组与字符串1C语言程序设计---第6章前面所用到的数据称之为基本类型(整型、实型、字符型)。它们处理数据的能力非常有限。C语言提供了一种构造类型,它具有强有力的数据组织和数据表达能力。其中,数组是C语言组织和描述较复杂数据对象的基本工具之一,是一种应用极广的构造数据类型。6.1概述2C语言程序设计---第6章数组:由一组有序数据(数组元素)组成。例如,一组数据:a0,a1,a2,…,a99用数组表示:a[0],a[1],a[2],…,a[99]下标,它决定了元素在数组中的位置数组特点:1.

2、一个数组由一个名字来标识;2.数组大小必须确定,不许随机变动;3.同一数组中的元素其类型相同,不许混合类型3C语言程序设计---第6章6.2一维数组如果数组元素在数组中的位置只需要用一个下标就能确定,这样的数组称为一维数组。同变量一样,数组也必须先定义,后使用。6.2.1一维数组的定义数组定义格式:类型说明符标识符[整型常量表达式];数组元素类型数组名元素个数。它只能是常量或由常量构成的表达式,不能含有变量例:inta[20];floatgrades[100];4C语言程序设计---第6章归纳几点

3、:1)C在语法上没有数组变量的概念,对数组的操作只能分解为对其元素的操作,数组作为一个整体不能参加运算。2)定义中的<整型常量表达式>的值决定了该数组的元素个数,而不是该数组可用的最大下标。它可以是已定义的符号常量。3)下标从0开始。下标可以是整型常量、字符、枚举型常量及其表达式。4)数组名不是一个变量而是一个地址常量,它代表该数组所占存储空间的首地址,即该数组第一个元素所占空间的首址。5C语言程序设计---第6章5)数组的存储结构:同一数组中的元素总是被分配在一片连续的空间,并根据数组的元素类型

4、,为每一元素安排相同长度的存储单元。6C语言程序设计---第6章6)数组元素的表示方法。有两种:下标表示:应是可求值的例如:a=grades[i+j];指针表示:也是一种常用的表示数组元素的方法<数组名>[<下标表达式>]i和j已有确定的值7C语言程序设计---第6章6.2.2数组名与指针我们考虑下面的例子:inta[100];int*p;则下面两个赋值表达式不但是合法的,而且它们的结果也是一样的:p=&a[0]p=a(3)两者所能施加的运算也不尽相同。例如:a++/*非法*/p++/*合法*/(

5、1)数组名a是一个常量,它表征的实体是一种数据结构;指针p是一个变量。(2)数组名a的值不可改变,即数组名不是左值;指针p的值可以更新,即指针是左值。8C语言程序设计---第6章6.2.3一维数组的初始化初始化规则:依序枚举赋值;剩余的元素被自动初始化为0。inta[5]={1,3,5,7,9};floatx[100]={0.0};有些编译器允许用逗号表示相应数组元素的初值为0,就像下面的例子那样:inta[5]={,2,,8};考虑下面这几个定义语句:charaStr1[]="Hello";ch

6、araStr2[]={’H’,’e’,’l’,’l’,’o’,0};charaStr3[]={’H’,’e’,’l’,’l’,’o’};char*psz="Hello";9C语言程序设计---第6章6.2.4引用数组元素C语言对数组下标没有提供安全措施,程序员要承当起确保下标不越界的全部责任和因为下标越界所产生的一切后果。inta[5]={1,2,3,4,5};for(k=0;k<6;k++){a[k]+=a[k];printf("a[%d]==%d",k,a[k]);}输出结果为:a[0]=

7、=2a[1]==4a[2]==6a[3]==8a[4]==10a[5]==一个不确定的值#includeintmain(){floata[]={22.2,44.4,66.6};floatr=11.1;printf(”r=%f”,r);a[3]=88.8;/*a[3]不是数组a的元素*/printf(”r=%f”,r);}这个程序的输出结果可能是:r=11.1r=88.810C语言程序设计---第6章6.3数组排序简单选择排序(SimpleSelectionSort)法的排

8、序过程如下:<初态>4938659776491327<第1趟>1338659776494927<第2趟>1327659776494938<第3趟>1327389776494965<第4趟>1327384976974965<第5趟>1327384949977665<第6趟>1327384949657697<第7趟>132738494965769711C语言程序设计---第6章简单选择排序的算法:E1:[准备]将a0,a1,…,an-1置于数组a中,令i=0;E2:[判断排序是否完成]

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

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

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