数组类型与指针类型ppt课件.ppt

数组类型与指针类型ppt课件.ppt

ID:58779335

大小:158.00 KB

页数:61页

时间:2020-10-03

数组类型与指针类型ppt课件.ppt_第1页
数组类型与指针类型ppt课件.ppt_第2页
数组类型与指针类型ppt课件.ppt_第3页
数组类型与指针类型ppt课件.ppt_第4页
数组类型与指针类型ppt课件.ppt_第5页
资源描述:

《数组类型与指针类型ppt课件.ppt》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库

1、第5章数组类型与指针类型5.1数据类型的构造*5.3指针类型*5.2数组类型结束放映系统预先提供的类型:C语言提供的基本数据类型,大致分为整型、实型、字符型等三大类用户新定义的类型:C语言提供构造新类型的方法,可以在已有数据类型的基础上构造新的数据类型,这种新的类型称为构造类型,根据构造方法的不同分为数组、指针、结构、联合等四种5.1数据类型的构造5.2数组类型为什么要用数组?(重点理解)问题:假如现在班级里有100个人,要求用C语言程序来实现求这100个人的数学成绩之和,(想一想怎么写?)使用数组的目的:为了解决这种大量同种类型数据的存储与使用问题5.2数组类型数

2、组类型的定义数组是由一系列同类型的元素(Element)所组成的集合,数组变量名就一个数组中元素的数据类型可以是基本类型,也可以是构造类型,若元素的类型是整型则称为整型数组,若元素类型是结构体类型则称为结构体数组,若元素类型是指针类型则称为指针数组,若成员的类型是数组则称为二维数组一维数组(重点掌握)当数组中元素的类型不是数组,而是基本类型,或者结构,指针等构造类型时,称为一维数组一维数组变量的定义的格式(掌握)元素数据类型数组变量名[常量或数值表达式]注意常量的值表示了数组的大小即元素的个数,必须为正整型(记住:这里数组的大小一定不能是个变量)。如果数组大小是个数

3、值表达式的值是小数,一定先取整,inta[7/2]即a[3]数组变量名需要符合标识符命名的要求,不能与已有的变量名或系统关键字相同。方式1:数组只能在定义的同时对数组整体进行赋初值(而普通变量可以先声明后初始化)格式:数据类型数组变量名[元素个数]={元素1初值,元素2初值,….}初值用一对{}括起来。相邻的值之间用逗号隔开例如:intarr[10]={9,8,7,6,5,4,3,2,1,0};上面定义了一个一维数组,名字为arr,共10个元素。元素的类型为int,初始值为从9到0。以下方式是错误的:intarr[10];arr[10]={9,8,7,6,5,4,3

4、,2,1,0};//errorArr=100;//error问题:前面我们讲了怎样定义一个一维数组的格式,那么定义完了如何给这个一维数组中的每个元素赋值呢?它的赋值方式和一个普通变量的赋值有什么区别?方式1注意:使用方式1给数组整体赋值,初值的个数不能超过数组的大小(即可以小于但觉不能大于)intarr[10]={9,8,7}//允许你这里定义了数组为10个元素,但你可以给它赋少于10个的初始值。但至少有一个,那么那些没有得到初始值的元素的值又是多少呢?他们则被编译器初始化为0,但是如果只定义数组,没有对其进行任何初始化,局部变量则是未定义的值(即不可预测的值),全

5、局变量将被编译器自动初始化为0方式2:先定义,后初始化时只能针对数组中单个的元素进行赋值,而不能进行整体赋值例如intarr[10];arr[0]=9;arr[1]=8;…….这里需要访问数组中的每个元素,所以需要使用下标来区分数组中的每个元素,下标只能是整形,C语言规定,访问数组中的元素下标从0开始,即第一个元素是数组名[0]方式3:用一个数组给另一个数组赋值例如:inta[5]={1,2,3,4,5}intb[5];怎样用a初始化数组b呢?想一想怎样用程序实现,能否自行编写出来。(提示:使用for循环实现)以下是错误的情况:b=a;//error一维数组的相关操

6、作举例例1:要求从键盘输入5个整数并存储到一个数组中。然后将此数组的内容进行打印输出(怎样实现?想一想)#includevoidmain(){inta[5];inti;for(i=0;i<5;i++){printf("pleaseinputthe%ddata:",i+1);scanf("%d",&a[i]);printf("");}for(i=0;i<5;i++){printf("%d",a[i]);}}例2求上一题目中数组a中元素的最大值的下标,并打印输出此下标和对应的元素的值(怎样修改)voidmain(){intmaxIndex=0;

7、inta[5]={1,2,3,4,5};inti;for(i=0;i<5;i++){if(a[i]>a[maxIndex])maxIndex=i;}printf("themaxIndexis%d",maxIndex);printf("thearraymaxvalueis%d",a[maxIndex]);}例3要求实现在一个数组中查找一个值,这个值由用户输入,判断此值是否在数组中(怎样实现)voidmain(){intvalue;inta[5]={1,2,3,4,5};inti;intflag=0;scanf("%d",&value);for(i=0;i<

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。