计算机本科C语言第七章讲

计算机本科C语言第七章讲

ID:38665026

大小:525.81 KB

页数:55页

时间:2019-06-17

计算机本科C语言第七章讲_第1页
计算机本科C语言第七章讲_第2页
计算机本科C语言第七章讲_第3页
计算机本科C语言第七章讲_第4页
计算机本科C语言第七章讲_第5页
资源描述:

《计算机本科C语言第七章讲》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库

1、第七章数组学习目的:1、理解数组元素与普通变量的区别2、掌握数组的地址3、掌握数组的存储4、掌握数组的初始化第一节数组的概念在处理实际问题时,常要处理同一类型的成批数据(如100个学生的成绩)。可以把这批数据看作一个有机的整体,称为数组,用一个统一的名字代表这批数据,而用序号或下标来区分各个数据。例如:用s代表学生成绩这组数据,s是数组名,用s1、s2、s3分别代表学生1、学生2、学生3的成绩,s右下角的数字1、2、3用来表示该数据在数中的序号,称为下标。数组中的数据称为数据元素。概括地说:数组是有序数据的集合,要寻找一个数组中的某一个元素

2、必须给出两个要素:数组名和下标。注意:1数组是有类型属性的2同一数组中的每一个元素都必须属于同一数据类型3一个数组中内存中占一片连续的存储单元intk[10];由于在程序中无法用下角表示下标,因此C中用方括号来表示下标。如k0、k1、k2在C中分别用k[0]、k[1]、k[2]来表示。k[0]k[1]k[2]k[3]k[4]k[5]k[6]k[7]k[8]k[9]1000100210041006100810101012101410161018一、一维数组的定义与引用1定义一组数组类型标识符数组名[常量表达式];例如:floats[10];它

3、表示数组名为s,此数组为实型,有10个元素。说明:①数组名定名规则和变量名相同②用方括号括起来的常量表达式表示下标值inta[10];ints[2*8];#defineN20intarray[N*2];第二节一维数组③常量表达式的值表示元素的个数,即数组长度。inta[10];表示a有10个元素,这10个元素是:a[0]、a[1]、……a[9]。④常量表达式中可以包括常量、符号常量,但不能包含变量。也就是说,C不允许对数组的大小作动态定义,即数组的大小不依赖于程序运行过程中变量的值。intk;scanf(“%d”,&k);ints[k];注

4、意点:1)在表示数组元素时下标可以是正整数或整型变量或整型表达式for(t=0;t<=9;t++)s[t]=t;2)数组的第一个元素的地址即为数组的首地址,而且C规定,用数组名代表数组的首地址.&data[0]=data3)数组名是地址常量,不能向数组名赋值,也不能对其进行&运算。数组元素最小下标由0开始,数组元素最大下标是:数组元素个数-1例子1若有以下定义:doublew[10];则w数组元素下标的上限是_____,下限是_____。二、一维数组的初始化在定义数组的同时给数组元素赋初值的过程称为数组的初始化。格式如下:数据类型数组名[数

5、组元素个数]={数组初值};1、初始值是用逗号隔开的一组常量。如:inta[5]={5,4,3,2,1};floatj[3]={3.1416,0.789,5.1}chars[5]={‘h’,’e’,’l’,’l’,’o’};2、数组初始化时,多于数据个数的元素被赋0。如:inta[5]={1,2,3};3、初始化时,初始值不能多于元素的个数;否则会出现语法错误。如:inta[5]={1,2,3,4,5,6};4、初始化时,[]号中的数字可以省略,由初始化数据的个数决定数组元素的个数。如:inta[]={19,12,3,7};定义一个数组后,

6、如果不给其元素赋值,则各元素的值是不确定的。要想使数组元素以准确的值参加运算,必须设法使数组获得初值,使数组元素获得初值的方法有三种:1、使用赋值语句;2、利用库函数从键盘或磁盘文件读取数据;3、定义数组时对其进行初始化。例子2main(){inta[5]={1,2,3,4,5};/*在定义时初始化*/intt;for(t=0;t<=4;t++)printf(“%d”,a[t]);}例子3main(){inta[5];intt;for(t=0;t<=4;t++)/*利用赋值语句*/a[t]=t*2;for(t=0;t<=4;t++)prin

7、tf(“%d”,a[t]);}例子4main(){inta[5];intt;for(t=0;t<=4;t++)/*利用库函数从终端输入*/scanf(“%d”,&a[t]);for(t=0;t<=4;t++)printf(“%d”,a[t]);}例子5下面程序以每行4个数据的形式输出a数组,请填空。#defineN20main(){inta[N],I;for(I=0;I

8、rintf(“”);}main(){intI,f[10];f[0]=f[1]=1;for(I=2;I<10;I++)f[I]=f[I-2]+f[I-1];for(I=0;I<

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

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

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