- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
第8章 数组
程序设计语言
2
回顾
上学期我们学了什么?
3
回顾
循环结构的特点是,在给定条件成立时,重复执行某程序段,直到条件不成立为止
while 循环用于在给定条件为真的情况下重复执行一组操作,while循环先判断后执行
do-while循环先执行后判断,因此循环将至少执行一次
在循环中,需要修改循环变量的值以改变循环条件,否则有可能形成死循环
4
回顾
for 循环与 while 循环类似,属于先判断后执行
for 语句中有三个表达式:表达式1通常用来给循环变量赋初值;表达式2通常是循环条件;表达式3用来更新循环变量的值
for 语句中的各个表达式都可以省略,但要注意分号分隔符不能省略
如果省略表达式2和表达式3需要在循环体内设法结束循环,否则会导致死循环
5
回顾
break 语句用在循环中时,可以直接终止循环,将控制转向循环后面的语句
continue 语句的作用是跳过循环体中剩余的语句而执行下一次循环
嵌套循环时,必须将被嵌套的循环语句完整地包含在外层循环的循环体内
6
教学内容
为什么要使用数组
理解 C 语言中数组
熟练掌握一维数组的使用
掌握二维数组的使用
数组作函数参数
熟悉用数组实现常用的算法
7
为什么要使用数组
一门课3000个同学的成绩怎样存储和处理?
一个班30门课的成绩怎样存储和处理?
如何从键盘输入100个数然后按相反顺序输出?
系数矩阵......
问题:
这些数据的特点:
1.具有相同的数据类型
2.使用过程中需要保留原始数据
这些数据是按一定顺序排列的
为了方便的使用这些数据,C语言提供了一种构造数据类型:数组。保存大量同类型的相关数据
C 语言中的数组
rate
1.5
3.2
0.09
45.3987
0
1
2
3
下标标明了元素在数组中的位置 ,从0开始
数组元素
下标
数组是可以在内存中连续存储多个元素的结构
数组中的所有元素必须属于相同的数据类型
rate[0] rate[1] rate[2] rate[3]
8.1 一维数组的定义和初始化
datatype arrayName[size];
类型说明符
int、char、float …
数组名
常量表达式:
数组大小
int num[5];
char initials[20];
double level[6];
数组和变量一样,必须先定义后使用;
定义一个有5个int型元素的数组
定义一个有20个char型元素的数组
定义一个有6个double型元素的数组
一维数组的定义
一维数组的存储
int num[5];
系统在内存分配连续的5个int空间给数组num
为什么数组下标从0开始?
使编译器简化,且运算速度少量提高
num
num[0]
数组名和首地址
一维数组的大小
int num[5];
标准C-C89中,规定数组大小必须是值为正的常量,不能为变量,一旦定义,不能改变大小
大小最好用宏定义,以适应未来的变化
#define SIZE 5
int num[SIZE];
一维数组的引用
允许快速随机访问
允许使用num[i]的形式访问数组中的每个元素
可以使用普通变量一样使用 num[0] num[1] … num[4]
num[i] or num[i*2]
数组名[下标]
引用时下标允许是
int型变量或表达式
int num[5];
一维数组的初始化
未初始化过的数组元素值是什么?
静态数组和全局数组自动初始化为0值
否则,是随机数
一维数组的初始化
int a[5] = { 12, 34, 56 ,78 ,9 };
int a[5] = { 0 };
int a[] = { 11, 22, 33, 44, 55 };
int a[5] = { 19, 28, 37 };
为一维数组动态赋值
double price[4];
printf(“Enter prices of 4 books\n”);
for (i = 0;i = 3; i++)
{
scanf(“%lf”,price[i]);
}
如何使两个数组的值相等?
int main()
{
int a[5] = {1,2,3,4,5};
int b[5];
b = a;
return 0;
}
解决方法
方法1:逐个元素赋值
b[0]=a[0];
b[1]=a[1];
b[2]=a[2];
b[3]=a[3];
b[4]=a[4];
方法2:通过循环赋值
int i;
for(i=0;i5;i++)
{
b[i] = a[
文档评论(0)