c语言程序第七章数组答案,C语言程序设计第七章数组.ppt

C语言程序设计第七章数组.ppt

C语言程序设计第七章数组 主要内容 7.1 一维数组 7.2 字符数组与字符串 7.3 多维数组 概述 我们已经熟悉了整型、浮点型、字符型数据。本章要介绍构造类数据 -- 数组。构造类数据是由上述基本类型数据按一定规则排序构成的数据集合体。是C语言的重要内容。构造类型数据有: 数组类型; 结构体类型; 共用体类型。 7.1 一维数组 一维数组的定义格式 数据类型 数组名[元素个数]; 说明 数据类型:指数组元素的类型。有int型、 float型、 char型。 数组名:代表一个数据集合的数组的名字。 下标: 用方括号即“[ ]”届定。不能用圆括号和花括号,下标值从0开始计数。 元素个数:数组包含数据的个数。元素个数必须是大于或等于1的整数。 数组必须先定义,后使用。 7.1 一维数组 例1:例: int data[4]; 该数组有4个元素,它们是: data[0] data[1] data[2] data[3] 我们然后可以象普通变量一样使用数组: data[1] =10; data[2] =12; data[3] = data[1] + data[2] * 2; printf (“%d”; data[3]); 7.1 一维数组 例2:请看下列程序段有什么错误: int x; int weight[x]; // 元素个数不能用变量来定义。应该是常量 char name(50); // 下标符不能用圆括号 int num[-5]; // 元素个数不能定义成负数。 float deptname[x+15]; //定义数组不能用变量表达式。只能用常量表达式 int array[10.5]; //元素个数不能用小数定义 7.1 一维数组 例3: #define BUFSIZE 512 // 宏定义,用指定的标识符来代替后面的数字 #define STACKSIZE 24 // 宏定义 int inbuffer[BUFSIZE]; //等效为 inbuffer[512]; 在编译时进行替换 char outbuffer[STACSIZE]; //等效为 outbuffer[24]; 在编译时进行替换 float s[15+5],x[10]; 7.1 一维数组 数组元素的存储和使用 每个数组元素都占用内存中的一个存储单元,每个元素都是一个变量,可以像以前讲过的普通变量一样使用,只不过数组元素是通过数组名和方括号“[ ]”里的下标来确定的。 系统为数组元素在内存中分配连续的存储单元。 例: int a[5]; 数组名a。 数组元素的数据类型为int整型数据。 数组元素的下标值从0开始。 数组元素的个数为15个,它们是: a[0]、a[1]、a[2] .. ..a[13]、a[14] 数组名a是数组存储区的首地址,即存放数组第一个元素的地址。 a?&a[0];因此数组名是一个地址常 量。不能对数组名进行赋值和运算。 7.1 一维数组 数组的使用 就是对数组元素的读写操作。使用数组与使用普通变量类似,也是先定义后使用。与变量不同的是不能对数组整体进行(读取)操作,只能对数组的元素进行操作。 一维数组的引用格式 数组名 [ 下标 ] 说明 下标可以是常量或常量表达式。 下标可以是变量,也可以是表达式。 下标如果是表达式, 首先计算表达式, 计算的最终结果为下标值。 下标值若不是整型,C系统会自动取整。 下标值从0开始。而不是从1开始。 使用数组时,下标不能超过或等于定义时的下标值。 7.1 一维数组 例4: int a[10],i,p; i=2; a[2*i-1]=1; //√下标为变量表达式。 a[5]=1; //√对数组a的第六个元素a[5]赋值1 p=a[5]; //√将数组a的第六个元素a[5]的值赋给变量p a[10-10]=1; // √将1赋给数组a的第一个元素a[0]。 a=11; // ×不能对数组整体进行读写,即不能对数组名读写 printf(“a=%d”,a); // ×同上 a[10]=a[0]-a[1]; // ×下标超限 7.1 一维数组 一维数组的初始化 数组的初始化就是在定义数组的同时给各数组元素赋初值。初始化是在程序运行前编译时完成的。 一维数组初始化的格式 数据类型标识符 数组名[元素个数]={ 数值1,数值2,.. ..数值n }; 花括号{ }中的数值用于数组元素赋初值。赋值是按对应次序进行。 花括号{ }中的数值之间用逗

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值