C语言基础 第7章一维数组优质PPT.pptx

上传人:b****1 文档编号:13217373 上传时间:2022-10-08 格式:PPTX 页数:19 大小:249.19KB
下载 相关 举报
C语言基础 第7章一维数组优质PPT.pptx_第1页
第1页 / 共19页
C语言基础 第7章一维数组优质PPT.pptx_第2页
第2页 / 共19页
C语言基础 第7章一维数组优质PPT.pptx_第3页
第3页 / 共19页
C语言基础 第7章一维数组优质PPT.pptx_第4页
第4页 / 共19页
C语言基础 第7章一维数组优质PPT.pptx_第5页
第5页 / 共19页
点击查看更多>>
下载资源
资源描述

C语言基础 第7章一维数组优质PPT.pptx

《C语言基础 第7章一维数组优质PPT.pptx》由会员分享,可在线阅读,更多相关《C语言基础 第7章一维数组优质PPT.pptx(19页珍藏版)》请在冰豆网上搜索。

C语言基础 第7章一维数组优质PPT.pptx

数组下标的个数,称为数组的维数。

7.1.1一维数组的定义,点击此处结束放映,和其他变量一样,数组也要遵循“先定义后引用”的原则。

程序中使用数组时,必须先用数组定义语句对其进行说明。

通过定义说明数组的名字,数据类型,维数和容量。

一维数组定义语句的一般格式为:

数据类型数组名常量表达式;

常量表达式表示的是数组容量,也叫做数组的长度。

它说明数组元素的个数。

当定义了一个数组后,系统就在内存的数据区为它开辟一个连续空间,用来存储各数组各元素的数据。

下标值是从零开始的。

作为变量的数组元素,它的下标,既可以是常量表达式,也可以是含变量的表达式,例如,abci,absi+j等。

点击此处结束放映,构造数据类型之一,数组:

有序数据的集合,用数组名标识,数组名常量表达式;

合法标识符,表示元素个数下标从0开始,:

数组运算符单目运算符,元素:

属同一数据类型,用数组名和下标优确先定级

(1),左结合不能用(),一维数组的定义定义方式:

数据类型例inta6;

a0a1a2a3a4a5,012345,a,编译时分配连续内存内存字节数=数组维数*sizeof(元素数据类型),数组名表示内存首地址,是地址常量,点击此处结束放映,7.1.2数组元素的引用数组元素的引用是通过数组下标变量的实现的。

下标变量的形式为:

数组名下标例7.1.1设有整型数组a,其长度为5。

编写程序,令5个数组元素的值依次为10,20,30,40和50并输出数组各元素的值。

这个问题可以用循环结构技术完成。

程序如下:

点击此处结束放映,#includestdio.hmain()inti,a5;

for(i=1;

i=5;

i+)ai-1=i*10;

/*为数组元素赋值*/for(i=0;

i=4;

i+)printf(a%d=%dn,i,ai);

/*输出数组各元素的值*/,点击此处结束放映,程序给出下面的输出结果:

a0=10a1=20a2=30a3=40a4=50,点击此处结束放映,可以看到,数组元素的引用是通过数组名和相应的下标引用的。

这种引用方法叫作“下标法”。

在程序中引用数组元素时,其下标不能超过该数组定义的长度。

C语言系统不进行数组是否超出定义的边界的检查,这个任务由用户自己解决。

这就要求程序设计人员必须给数组以足够的容量,当然,还要注意程序的正确性。

数组容量不够或程序的错误,都有可能导致数组的运算超出数组的边界。

运算超出数组边界是有一定危险的,编程时要特别注意。

点击此处结束放映,例inti=15;

(不能用变量定义数组维数),例inta10;

printf(“%d”,a);

(),必须for(j=0;

j10;

j+)printf(“%dt”,aj);

(),例intdaintatd5a;

tai;

点击此处结束放映,d一ata维5数=1组0;

的/引/C语用言对数组不作越界检查,使用时要注意数组必须先定义,后使用只能逐个引用数组元素,不能一次引用整个数组数组元素表示形式:

数组名下标其中:

下标可以是常量或整型表达式,7.1.3一维数组的初始化,初始化方式inta5=1,2,3,4,在5定;

义数组时,为数组元素赋初值等价于:

a0=1;

(在a1编=译2阶;

a段2使=之3;

得a到3初=4值;

)a4=5;

说明:

数组不初始化,其元素值为随机数对static数组元素不赋初值,系统会自动赋以0值只给部分数组元素赋初值当全部数组元素赋初值时,可不指定数组长度s如taticiinnttaa55=;

6,2,3;

等等价价于in于t:

a:

a=0a=10,02;

=,36a,;

41a,5=1,60=;

2a;

a22=0=;

3a;

a33=0=;

0a;

a44=0=;

0;

如编in译ta系3统=根6,据2,3初,5值,1个;

数(确)定数组维数,点击此处结束放映,7.1.4一维数组程序设计,点击此处结束放映,一维数组的程序设计,仍然离不开我们已经学过的顺序结构、选择结构和循环结构的设计方法。

但在这一节我们更关注的是数组的设计和处理。

我们要学习如何根据问题确定所需要的数组,如何处理数组中的各个数组元素。

对于若干个相互关联的,有某种联系的数据,一般用数组来组织这些数据,会对程序的数据处理带来很大的好处,减小程序设计的难度,提高数据处理的效率。

在加工处理数组数据方面,循环程序技术起着非常大的作用。

在许多情况下,不采用循环程序设计恐怕是不可能的。

下面通过一些程序例子来学习一维数组程序的设计。

点击此处结束放映,程序举例,步骤:

2.处理:

(a)先令max=min=x0,若minxi,令min=xi3.输出:

max和min,#include,点击此处结束放映,#defineSIZE10,例读10个整数存入数组ma,in找()出其中最大值和最小值intxSIZE,i,max,min;

printf(Enter10integers:

n);

for(i=0;

iSIZE;

i+),printf(%d:

i+1);

1.输入:

for循环输入10个整数scanf(%d,max=min=x0;

(b)依次用xi和max,min比fo较r(i=(循1;

i环S)IZE;

i+)若maxxi,令max=xiif(maxxi)max=xi;

if(minxi)min=xi;

printf(Maximumvalueis%dn,max);

printf(Minimumvalueis%dn,min);

例用简单选择法对10个数排序,排序过程:

首先通过n-1次比较,从n个数中找出最小的,将它与第一个数交换第一趟选择排序,结果最小的数被安置在第一个元素位置上再通过n-2次比较,从剩余的n-1个数中找出关键字次小的记录,将它与第二个数交换第二趟选择排序重复上述过程,共经过n-1趟排序后,排序结束,点击此处结束放映,k,例i=1,初始:

4193,k,k,j,38659776134927jjjjj,i=2jjjjj二趟:

13276597764938,点击此处结束放映,Ch5_201.c,输入n个数给a1到anfori=1ton-1,ajak,真k=j,输出a1到an,k=iforj=i+1ton,i!

=k,真aiak,假,#includemain(),点击此处结束放映,inta11,i,j,k,x;

printf(Input10numbers:

i11;

i+)scanf(%d,i+),假k=i;

for(j=i+1;

j=10;

j+)if(ajak)k=j;

if(i!

=k)x=ai;

ai=ak;

ak=x;

printf(Thesortednumbers:

i+)printf(%d,ai);

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 外语学习 > 英语学习

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1