c语言中数组f30 a 5,C语言程序设计第7章new.ppt

C语言程序设计第7章new.ppt

第7章 数组 一维数组的定义 一维数组的定义 一维数组的引用 一维数组的初始化 一维数组举例 一维数组举例(续) 二维数组的定义 二维数组的引用 二维数组的初始化 多维数组和二维数组举例 字符数组 字符串 字符串保存到字符数组 字符串保存到字符数组 字符串保存到字符数组 字符串和字符数组 输出字符串 字符串处理函数 字符串处理函数 字符串处理函数 字符串处理函数 字符数组应用举例 * 假设正在给某发电厂开发软件,为了在程序中表示2001年每个月的发电量,需要定义12个实型变量: 要想表示2001~2003年间每个月的发电量,需要定义36个实型变量。 float f1,f2,f3,f4,f5,f6,f7,f8,f9,f10,f11,f12; 如果年数再多呢?…。显然,这种表示方式很不方便。 为了满足这种应用需求,C语言提供了数组类型,它允许程序员方便地定义多个同类型的变量。 数组有一维数组和多维数组之分,下面先从一维数组说起。 float f1,f2,f3,f4,f5,f6,f7,f8,f9,f10,f11,f12; float f13,f14,f15,f16,f17,f18,f19,f20,f21,f22,f23,f24; float f25,f26,f27,f28,f29,f30,f31,f32,f33,f34,f35,f36; 可以按以下方式定义一个一维数组: 类型 数组名[整型常量表达式]; 例如, int a[10]; float f[20-5]; char c[9*2]; 以数组a为例,它共有10个元素,依次编号为0~9,该编号称为数组元素的下标;这些元素被依次命名为a[0] 、a[1]、…、a[9]。 其中, 类型可以是整型、实型以及字符型等; 数组名是一个标识符,要符合标识符的要求; 常量表达式规定了数组元素的个数。 9 8 7 6 5 4 3 2 1 0 a[9] a[8] a[7] a[6] a[5] a[4] a[3] a[2] a[1] a[0] a 另外,每个数组元素都是int型的,可以象int型变量一样来使用,存储整型数据。 下标 名字 对于程序中定义的每个数组,C系统会根据类型和元素个数,在内存中分配地址连续的存储空间。 a[9] 320 a[8] 318 a[7] 316 a[6] 314 a[5] 312 a[4] 310 a[3] 308 a[2] 306 a[1] 304 a[0] 302 对于数组a, 为它分配10个大小为2字节的存储单元,每个数组元素对应一个存储单元,而且是顺序的。 a代表整个数组的起始地址。 注意:常量表达式中不能有变量、实数。 例如, ①int n=10; float f[n]; ②char name[10.5]; 9 8 7 6 5 4 3 2 1 0 a[9] a[8] a[7] a[6] a[5] a[4] a[3] a[2] a[1] a[0] a 前面提到,数组a的元素被依次命名为a[0] ~a[9]。可以看出,是按 a[下标] 方式命名或引用数组a的元素的。 一般地,C语言按照 数组名[下标] 的方式来命名/引用任一数组的元素。 需要注意的是,下标可以是个整型表达式。 ①a[3-3]表示a的第0个元素。 ②若k=5,则a[k]、a[k-2]分别表示a的第5、3个元素。 ③a[10]、a[25] 都非法。 在程序中,可以象使用变量一样使用数组元素。 特别提醒: 1.数组要先定义后使用。 2.要区分定义和引用。 3.注意下标不要越界。 下标 名字 例一、int a[10],y; a[1]=2; a[2]=a[1]*2; y=a[a[2]-2]-3; 例二、P132例7.1(exc\ch7\ex7-1.c)。 a[9] a[8] a[7] a[6] a[5] a[4] a[3] a[2] a[1] a[0] 0 1 2 3 4 5 6 7 8 9 a 数组的初始化是指在定义数组时,为数组元素设置初值。例如, int a[10]={9,8,7,6,5,4,3,2,1,0}; 初值的个数 不能超过数组的元素个数 还可以为部分元素设置初值,例如, a[9] a[8] a[7] a[6] a[5] a[4] a[3] a[2] a[1] a[0] 0 0 0 0 0 0 6 7 8 9 a 其余元素被初始化为0 int a[10]={9,8,7,6}; char c[8]={ ’C’,’H’,’I’,’N’,’A’}; c[7] c[6] c[5] c[4] c[3] c[2] c[1] c[0]

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值