C语言程序设计基础与实践模块四编程高级应用任务4.1数组C语言程序设计基础与实践课程组04技能点拓展03技能点详解02技能点分析目录CONTENTS任务4.1数组01问题引入05技能点检测一问题引入足球场上,双方球员在快速奔跑,抢断,为了团队的荣誉拼搏。作为观众的我们,无法看见球员的面孔,我们通过球衣的颜色和图案区别球队。但是,如何区别哪一位球员呢?有的时候解说员在解说比较激烈的场面的时候,通常喊的是球员身后的号码,当我们看到号码的时候,就知道是哪位球员,比如C罗的7号,马拉多拉的10号。这种用球队多少号球员的命名方式,在C语言中就是数组的命名方式。那么数组在使用时我们应该注意哪些事项呢?04技能点拓展03技能点详解02技能点分析目录CONTENTS01问题引入05技能点检测任务4.1数组二技能点分析1.掌握一维数组的应用2.掌握多维数组初始化的3.掌握访问数组元素的方法学习目标1.什么是数组?2.如何声明一维数组和二维数组?3.数组如何被初始化?4.如何访问数组元素?元素的索引是什么?学期预习04技能点拓展03技能点详解02技能点分析目录CONTENTS01问题引入05技能点检测任务4.1数组数组是一组具有相同数据类型的变量集合,它是一系列相同类型的变量。一维数组的定义typename[size1];C语言支持多维数组。多维数组声明的一般形式如下:typename[size1][size2]...[sizeN];数组中的每一项称为数组的元素,每个元素都有对应的下标(n),用于表示元素在数组中的位置序号,下标从0开始。数组的声明是声明一个数组变量,有一个统一的名称,比如定义一个数组name,然后用name[n]的形式访问其中的每一个变量,称为数组元素。三技能点详解——数组数组中的每一项称为数组的元素,每个元素都有对应的下标(n),用于表示元素在数组中的位置序号,下标从0开始。数组的声明是声明一个数组变量,有一个统一的名称,比如定义一个数组name,然后用name[n]的形式访问其中的每一个变量,称为数组元素。三技能点详解——数组1)声明数组在C中要声明一个数组,需要指定元素的类型和元素的数量,如下所示:typearrayName[arraySize];这叫做一维数组。[]中的arraySize必须是一个大于零的整数常量,type可以是任意有效的C数据类型。要声明一个类型为float的包含6个元素的数组b,声明语java技术基础教学ppt句如下:floatb[6];现在b是一个可用的数组,可以容纳6个类型为float的数字。三技能点详解——1一维数组三技能点详解——1一维数组2)初始化数组(1)直接对数组中的所有元素赋值。需要注意的是:大括号{}中的值的数目不能大于我们在数组声明时在方括号[]中指定的元素数目。比如下例中定义的数组b长度是5,那么初始化的值的数目最多也只能是5个。floatb[5]={9990.0,1.0,5.0,7.0,56.0};(2)只对数组中的一部分元素赋值。
结果是给b[0],b[1]赋了初始值,其他元素没有初始值(也可以理解为是个随机数值)floatb[5]={9990.0,1.0};(3)对数组全部元素赋值,但不指定长度。如果省略掉了数组的大小,这时数组的长度等于初始化时元素的个数。floatb[]={9990.0,1.0,5.0,7.0,56.0};这将创建一个数组,虽然没有指定数组长度,它与前一个实例中所创建的数组是完全相同的,也是5个数组元素。3)访问数组元素
数组元素可以通过数组名称加索引进行访问。元素的索引是放在方括号内,跟在数组名称的后边。b[4]=56.0;这个语句把数组中第五个元素的值赋为56.0,b[4]可以看作是一个独立的变量,我们可以通过这个变量直接修改数组中的元素值或者引用其中的值。三技能点详解——1一维数组1)声明二维数组声明一个x行y列的二维整型数组,形式如下:typearrayName[m][n];其中,type可以是任意有效的C数据类型,arrayName是一个有效的C标识符。一个二维数组在逻辑上就是一个m行和n列的表格。下面是一个二维数组,包含4行和3列:inta[4][3];因此,数组中的每个元素是使用形式为a[m][n]的元素名称来标识的,其中a是数组名称,m和n是唯一标识数组a中每个元素的下标。三技能点详解——2二维数组2)初始化二维数组inta[3][4]={
{0,1,2,3},//初始化索引号为0的行
{4,5,6,7},//初始化索引号为1的行
{8,9,10,11}//初始化索引号为2的行
};多维数组可以通过在括号内为每行指定值来进行初始化。下面是一个带有3行4列的数组。内部嵌套的括号是可选的,下面的初始化与上面是等同的:之所以可以这样初始化,是因为数组的物理结构还是一个数据列表,数组中的数据存放在内存中时还是按照线性结构顺序存储在内存空间中的。例如上例中的a数组在内存中的结构实际是这样的:三技能点详解——2二维数组二维数组中的元素是通过使用下标(即数组的行索引和列索引)来访问的。例如:intval=a[2][3];上面的语句将获取数组中第3行第4个元素赋值给变量val。3)访问二维数组元素三技能点详解——2二维数组三技能点详解——1访问二维数组元素二维数组中的元素是通过使用下标(即数组的行索引和列索引)来访问的。例如:intval=a[2][3];上面的语句将获取数组中第3行第4个元素赋值给变量val。案例4.1.1读写一维数组/内容简述:一位数组初始化和输出*/#include
<stdio.h>
//头文件
intmain(void){
intn[10]; //n是一个包含10个整数的数组
inti,j;
for(i=0;i<10;i++) //初始化数组元素 { n[i]=i+100; //设置元素i为i+100 }
for(j=0;j<10;j++) //输出数组中每个元素的值 { printf("Element[%d]=%d ",j,n[j]); }
return0;}三技能点详解——案例三技能点详解——案例实例4.1.2读写二维数组/内容简述:二维数组初始化和输出*/#include
<stdio.h>
intmain(void){
/*一个带有5行2列的数组*/
inta[5][2]={{0,0},{1,2},{2,4},{3,6},{4,8}};
inti,j;
for(i=0;i<5;i++)//输出数组中每个元素的值{
for(j=0;j<2;j++){printf("a[%d][%d]=%d ",i,j,a[i][j]);}}
return0;}三技能点详解——案例04技能点拓展03技能点详解02技能点分析目录CONTENTS01问题引入05技能点检测任务4.1数组四技能点拓展——1数组越界数组的下标都有一个范围,即“0~[数组长度-1]”,假设数组的长度为:5,其下标范围为0~4。当访问数组中的元素时,下标不能超出这个范围,否则程序会出错。/内容简述:数组越界显示问题*/#include
<stdio.h>
//头文件intmain(void){
inta[5]={1,2,3,4,5};//一维数组的5个元素
inti;
for(i=0;i<6;i++)//输出5个数值 { printf("a[%d]=%d ",i,a[i]); }
版权声明:
本文来源网络,所有图片文章版权属于原作者,如有侵权,联系删除。
本文网址:https://www.bianchenghao6.com/h6javajc/19584.html