C语言程序设计 教学课件 作者 丁峻岭 等 第六章.ppt

C语言程序设计 教学课件 作者 丁峻岭 等 第六章.ppt

ID:50350992

大小:409.50 KB

页数:63页

时间:2020-03-08

C语言程序设计 教学课件 作者 丁峻岭 等 第六章.ppt_第1页
C语言程序设计 教学课件 作者 丁峻岭 等 第六章.ppt_第2页
C语言程序设计 教学课件 作者 丁峻岭 等 第六章.ppt_第3页
C语言程序设计 教学课件 作者 丁峻岭 等 第六章.ppt_第4页
C语言程序设计 教学课件 作者 丁峻岭 等 第六章.ppt_第5页
资源描述:

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

1、第6章数组6.1一维数组6.2二维数组6.3字符数组课后练习数组是指一组同类数据的有序集合。数组用一个统一的数组名来标识,而用下标来指示数组中元素的序号。数组也可看作一个个包含下标的简单变量,通过下标就可访问数组中各个元素。 既然数组是同类数据的集合,那么同一数组中的所有元素必须属于同一数据类型。例如,整型数组中的所有元素都是整型数据,浮点型数组中的所有元素都为浮点型数据等。6.1一维数组6.1.1一维数组的定义 定义一个一维数组的通用格式为:类型标识符数组名[常量表达式];说明:(1)类型标识符可以是各个基本数据类型或结构体

2、、共用体、指针等类型。例如:charc[10];/*定义一个字符型数组*/longx[5];/*定义一个长整型数组*/doubled[1000];/*定义一个双精度数组*/unsignedu[20];/*定义一个无符号整型数组*/(2)数组名的组成规则和变量名相同,必须按照标识符的命名规则。 (3)数组名后面是用方括号将常量表达式括起来,不能使用圆括号。 (4)方括号内的常量表达式表示数组元素的总个数,也就是数组的长度。在使用中,数组元素的序号(即下标)从0开始,最大值为“常量表达式1”。例如,定义一个有5个元素组成的整型数

3、组如下:inta[5];上面表示定义了一个数组名是a的数组,它包含5个元素,每个元素都是整型的。a数组所包含的5个元素是a[0],a[1],a[2],a[3],a[4]。注意不是a[1],a[2],a[3],a[4],a[5]。 (5)方括号内的常量表达式中可以包括字面常量和符号常量,但不能包含变量。换句话说,C语言中不允许对数组的长度作动态的定义。例如下面的数组定义过程都是错误的:intn=10;或intn;inta[n];scanf("%d",&n);inta[n];6.1.2一维数组的初始化1.数组的初始化格式C语言允许

4、在定义数组时对各元素指定初始值,这称为数组的初始化。常见的数组初始化格式如下所示:inta[5]={1,2,3,4,5};用花括弧把要赋给各元素的初始值括起来,两个数据间用逗号分隔。通过上面定义使:a[0]=1,a[1]=2,a[2]=3,a[3]=4,a[4]=5对字符数组初始化的格式也是类似的:charc[7]={'B','e','','J','i','n','g'};定义后,数组在内存中存贮的情形及实际存储的数据如图6-1所示。2.数组的初始化规则 (1)当对数组中全体元素赋初值时,可以不必指明数组中元素的个数。例如:i

5、nta[]={1,2,3,4,5};虽然在定义时没有指明a数组的长度,但在编译时会根据花括弧中的初值个数确定数组的实际长度,即a数组包含5个元素。 (2)在定义数组时也可以只对一部分元素赋值。例如:inta[5]={1,2,3};定义并初始化一个含有5元素的数组,但只给前3个元素赋了初值,因此,后2个元素(a[3],a[4])的初值自动默认为零。当数组长度与初值数据个数不相等时,在定义数组时不能省略(不指定)数组长度。例如:inta[]={1,3,5};编译系统会认定a数组只有3个元素而不是5个元素。 (3)如果一个静态(st

6、atic)或外部(extern)的数组不进行初始化,各元素隐含的初值就是零。对数值数组来说是0,对字符数组来说是指ASCII码为零的字符。 (4)自动数组(auto)如果不被初始化,各元素初始值不确定。6.1.3数组元素的引用1.数组元素的引用形式 数组经定义后即可引用。其引用形式为:数组名[下标]例如:inta[5]={1,2,3}; a[0]=3;a[2]=a[1]; printf("%d",a[0]);下标可以是任意的整型表达式。例如:a[2+1],a[i+j]等(i和j为整形变量)。2.引用数组元素时应注意的问题在引用

7、数组时应注意下标的值一定不要超过数组的范围。譬如,数组长度为5,那么下标值就应该控制在0~4范围内。特别需要指出的是:C编译不检查下标是否“出界”。例如,引用a[5],编译时不指出“下标出界”的错误,而把a[4]下面一个单元中的内容作为a[5]引用。而a[4]后面的单元并不是我们所需要引用的数组元素。如果对a数组的最后一个元素a[5]赋值,则会破坏数组以外其他变量的值,在运行时可能造成不可预测的后果,这种错误常常导致某些无关的变量的值被返回或被修改。由于这种错误在编程中不易察觉,所以应特别予以注意。【例6.1】求5个浮点数之和

8、。voidmain() {inti; doublea[5],s=0;printf("请输入5个浮点数:");for(i=0;i<5;i++) {scanf("%lf",&a[i]);s+=a[i];} printf("5个浮点数:");for(i=0;i<5;i++)pr

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

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

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