7.1 概述(课件)-高二《程序设计基础》同步教学(人民邮电版)
2023-07-24
|
19页
|
117人阅读
|
0人下载
普通
内容正文:
第7章 数组
概述
7.1
一维数组
7.2
字符串
7.3
数组在函数中的应用
7.4
数组是C语言中一种复杂而又重要的数据类型,用于处理内存中连续存放的一组数据。与函数一样,数组既是C语言中学习的重点也是学习的难点,要全面掌握C语言程序设计技巧,就必须掌握对数组的熟练使用。
【学习目标】
· 掌握对数组的正确定义
· 掌握对数组的正确引用
· 掌握对数组的初始化
· 字符串的输入、输出和处理
· 掌握数组在函数中的运用
7.1 概述
在前面的学习中,已经讲到C语言中的数据都是有类型的,如整型、实型和字符型,这些都是基本数据类型。在这些基本数据类型变量中,1个变量中只能存储单一数据,如果需要处理多个数据又怎么办呢?
在C语言中,通常采用复杂数据类型(也称组合数据类型)来解决这类问题。数组是C语言中1种典型的复杂数据类型,引入数组后,可以根据需要1次存储多个同类型数据,并可以分别单独访问数组中的每个数据。
从本质上讲,数组就是数量固定、类型相同的1组变量的有序集合,这些变量在数组中占用连续的内存空间。数组通常划分为
· 一维数组;
· 二维数组;
· 多维数组。
7.2 一维数组
一维数组是最基本、最简单的数组类型,是多维数组的基础。一维数组实际上就是一组在内存中连续存放的变量,它们具有统一的名称(数组名),可以像基本数据类型的变量一样对其赋值和使用。
1.一维数组的定义
与基本数据类型一样,数组也必须先定义后才能使用。对数组定义的目的是向系统申请一定长度的内存空间,并告之系统已申请的内存空间是用于存储何种类型的数据。
(1)定义格式
一维数组的定义格式如下:
数据类型 数组名[常量表达式];
其中,
· 数据类型:用来确定在该数组中存放的数据的类型,例如整型、实型以及字符型等。
· 数组名:代表数组名称的标识符,它遵循C语言中标识符的命名规则。
· 常量表达式:用来确定数组最多能存放的数据(变量)的数目(也称为数组的长度)。
举例如下。
· 定义一个存放10个整数的数组a:
int a[10];
· 定义一个存放20个实数的数组b:
float b[20];
· 定义一个存放15个字符的数组c:
char c[15];
(2)用法说明
就一维数组的定义着重指出以下两点。
· “常量表达式”是用方括号括起来,而不是用大括号括起来。
· “常量表达式”一定是常量,不能包含变量,数组中元素的个数在对数组的定义时就必须已确定。
(3)一维数组中的元素
定义1个一维数组实际上就是定义了1组具有确定数量的变量,这些变量在程序中可以像普通变量一样使用,称一维数组中每个变量为数组的1个元素。
例如以下定义:
int a[10];
定义了具有10个整型变量的数组,因此该数组具有10个元素。
2.一维数组的引用
数组中的元素在内存中是有序地连续存放的。当定义一个数组后,C编译程序将为定义的数组在内存中开辟一组连续的存储单元。
(1)一维数组的存储
例如,有以下数组定义:
int a[10];
定义整型数组a后,编译程序就为该数组开辟了10个连续的整型变量的存储空间 ,在这10个存储单元中,每个存储单元只能存放1个整数,每个存储单元对应着唯一的编号
(2)数组元素的引用
在一维数组中,使用下标来引用数组中的某一个元素,下标放在数组名后面的方括号中
3.一维数组中元素的地址
在C语言中,任何一个变量都与一段内存空间相对应,程序在对变量进行读写操作时,必须首先知道变量在内存中的准确存储位置,为此,需要引入“地址”的概念。
(1)地址的定义
简单地说,变量的地址就是变量在内存中对应的存储单元的编号。系统访问变量时,首先查找到该变量的地址,然后到该地址对应的存储单元中访问变量。
关于“地址”的进一步介绍将放在第8章指针中。
(2)一维数组的地址
在一维数组中,数组名具有特殊的用途,它代表该数组第1个元素的地址,也称数组的首地址。由于一维数组中的数组元素的地址是连续的,因此知道数组首地址后,以后的各元素的地址即可依次求出。
将数组的首地址加上一个整数(该整数小于数组元素个数)即可获得该数组中其他元素的地址。
(3)取地址运算:“&”
在表示数组元素的地址时,除了用该数组某一元素的地址加整数的方法外,还可以使用取地址运算符“&”。在数组元素名前加上取地址运算符“&”可以获得该元素的地址。
4.一维数组的初始化
当数组被定义后,系统只在内存中为其开辟了相应的存储空间,至于在开辟的这些内存区间中有多少被存放了数据,这些数据又是多少,都无从知道。要正确使用数组中各元素进行运算,就必须对定义的数组进行初始化。
$
由于学科网是一个信息分享及获取的平台,不确保部分用户上传资料的 来源及知识产权归属。如您发现相关资料侵犯您的合法权益,请联系学科网,我们核实后将及时进行处理。