版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、编辑ppt 第九章第九章 数组数组数据类型基本类型(简单类型)构造类型(组合类型)指针类型空类型(void)数值类型字符类型(char)枚举类型(enum)整型实型单精度(float)双精度(double)短整型(short)整型(int)长整型(long)数组类型结构类型(stru)共用类型(union)文件类型(FILE)C引 入上一页下一页暂 停重 放系统返 回休息编辑ppt一、数组的概念 数组是指一组同类型数据组成的序列。数组中的每个数据称为一个元素,用一个统一的名字来标识,用下标指示数组中的各个元素。 二、数组的维数一维:只含有一个下标的数组称为一维数组 a9二维:含有两个下标的数组
2、称为二维数组 b34多维:含有多个下标的数组称为多维数组 c2354上一页下一页暂 停重 放系统返 回休息编辑ppt 第一节第一节 一维数组一维数组一、定义格式: 类型标识符 数组名常量表达式;(1) 用 , 不能用 ( ) (2) 下标只能用常量 (3) 下标必须是大于零的整数 (4) 下标最大元素个数是65535 指明数组中各元素的数据类型指明数组包含的元素个数举例:int ab10 ;说明:练习上一页下一页暂 停重 放系统返 回休息编辑ppt二、数组元素的初始化在定义数组时对各元素指定初始值,称为数组的初始化例:int ab5=1,3,5,7,9 ;内存中存储格式为:12579例:cha
3、r c10 = c, ,l,a,n,g,u,a,g,e 内存中存储格式为:clanguage ab0 ab1 ab2 ab3 ab4c0 c1 c2 c3 c4 c5 c6 c7 c8 c9abc上一页下一页暂 停重 放系统返 回休息编辑ppt说明:1. 下标是从 0 开始的2. 初始化数据用 括起,各数据间用 “ ,” 分隔3. 数据个数可以少于数组的元素个数,但不能大于元素个数。int a5= 1,3,5 ;int a5= 1,2,3,4,5,6,7 ;4. 当给所有元素赋值时,可以省略数组元素个数,系统根据数据个数确定数组元素的个数。float b3=1.0,2.0,3.5; float
4、 b =1.0,2.0,3.5; float b =1.0,2.0,3.5; float b8=1.0,2.0,3.5; 上一页下一页暂 停重 放系统返 回休息编辑ppt三、数组元素的引用引用格式: 数组名下标(1) 定义与引用的区别int a9; a9=10 ; (2) 数组元素的赋值只有在初始化时才能整体赋值,以后只能通过逐个赋值的方法进行。 例: int b3=1,0,5 ; 例: a2 = 3 ;说明:a0=a4+a2;int b3 ; b = 1,0,5 ; 上一页下一页暂 停重 放系统返 回休息编辑ppt上一页下一页暂 停重 放系统返 回休息二、数组首地址引用方法第二节 一维数组和
5、指针例: *(a+2)= 3 ; scanf(“%d”, a+i); printf(“%d”,*(a+i);例:int a5=1,3,5,7,9 ;内存中存储格式为:13579 a0 a1 a2 a3 a4地址a+1a+2a+3a+4a一、一维数组和数组元素的地址引用格式: 数组名+i编辑ppt上一页下一页暂 停重 放系统返 回休息例: *(p+2)= 3 ; for (I=0;I=4;I+) scanf(“%d”, p+); p=a; for (I=0;I=4;I+) printf(“%d”, *p+); 例:int a5=1,3,5,7,9 , *p=a;内存中存储格式为:12579 a0
6、 a1 a2 a3 a4p+1p+2p+3p+4p三、利用指针引用一维数组元素引用格式: 指针名+i编辑ppt上一页下一页暂 停重 放系统返 回休息例: p2=5 ; for (i=0;i=4;i+) scanf(“%d”, &pi); for (i=0;i=4;i+) printf(“%d”, pi); 当指针指向一维数组以后,就可以像使用数组一样使用指针内存中存储格式为:12579 a0 a1 a2 a3 a4P1P2P3P4P0四、用带下标的指针引用一维数组元素引用格式: 指针名I例: p=&a2 ; *p=2; for (i=0;ib return a; else re
7、turn b; 第三节 指针和数组做为函数参数二、数组名和指针做实参(传址调用)三、数组和指针做形参格式1: 函数类型 函数名(参数类型 指针) 例: int max(int *p);格式2: 函数类型 函数名( 参数类型 数组 ) 例: int max( int a ); 或 int max( int aM );例: main()int a=1,2,3,4,5; printf(“%d”,mix(a1,a3);编辑ppt第四节 数组元素的引用举例输出下列矩阵上一页下一页暂 停重 放系统返 回休息#include “stdio.h”main()int i; int a20; for (i=0;i
8、20;i+) ai=i+1;for (i=0;i20;i+) if (i%5=0) printf(“n”); printf(“%8d”,ai); 2 3 4 5 7 8 9 1011 12 13 14 1516 17 18 19 20printf( “%8d”,*(a+i) );*(a+i)=i+1;编辑ppt输入十个数,计算其平均值输入十个数,计算其平均值float aver( float a ,int n)int i; float sum=0, average; for (i=0;i=n-1;i+) sum=sum+ai;average=sum/n;return average;上一页下一
9、页暂 停重 放系统返 回休息输入十个数,利用 计算其均方差21)(xxnnimain()int i; float sum=0, a10, av; for (i=0;i10;i+) scanf(“%f”,&ai); av=aver(a,10);for (i=0;i10;i+) sum=sum+(ai-av)*(ai-av);printf(“%f”,sum);编辑ppt 第五节第五节 二维数组二维数组一、引言假设某班级学生的成绩如下:李四 赵五 60 90 83 79 93 75姓名 语文 数学 物理 化学 英语 政治张三85 69 90 95 89 65 87 85 79 82 98 8
10、0 李六 60 90 83 79 93 75张涛 60 90 83 79 93 75.王天 78 87 65 87 80 69上一页下一页暂 停重 放系统返 回休息编辑ppt二、定义格式: 类型 数组名常量表达式1常量表达式2举例: int b34 ; 说明:1. 二维数组的排列顺序是按行排列的2. 二维数组所有元素个数不能大于65535 int b200400 ;b00b01b02b03b10b11b12b13b20b21b22b23b00b01b02b03b10b11b12b13b20b21b22b23上一页下一页暂 停重 放系统返 回休息编辑ppt三、初始化同一维数组一样,二维数组也可以
11、在定义的时候赋值int b34= 1,2,3,4, 5,6,7,8, 9,10,11,12 ; 说明:1. 初始化可以采用分行的方法完成 2. 也可以直接按各个元素在数据中的排列顺序直接列出int b34=1,2,3,4,5,6,7,8,9,10,11,12 ; 这种方式直观,清晰,是最常见的一种方式这种方式分不清行列间的关系,而且数据较多时很容易出错上一页下一页暂 停重 放系统返 回休息编辑ppt3. 给所有元素赋值时或采用分行方式赋值时,下标1可省略例:int 3=1,2,3,6,5,4;a00 a01 a02 a10 a11 a12 int a23=1,2,1;int b3 =1,2,3
12、,4,5,6,7,8,9,10,11,12 ; int a23=1,2,3,6,5,4;123654int a3=1,2,1 12 0100a00 a01 a02 a10 a11 a12 4. 任何时候下标2不能省略,因为系统无法判断元素个数121000a00 a01 a02 a10 a11 a12 上一页下一页暂 停重 放系统返 回休息编辑ppt四、二维数组的引用 与一维数组的引用类似,二维数组的引用也是通过数组名和两个下标进行的例: 编写输入各位同学成绩的程序段(假设有40位同学) main() int i , j ; float cj416; for (i=1;i=40;i+) for
13、(j=1;j=5; j+) printf(“请输入第%d位同学第d门成绩”),i , j ); scanf(“%f”,cjij ); 上一页下一页暂 停重 放系统返 回休息编辑ppt指向指针的指针i4p2&ip1&p2 定义方法: 类型标识符 *指针变量名 *结合方向:自右自左 *p 相当于 *(*p) 例:int *p1; int *p2; int i=3; p2=&i; p1=&p2; 定义一个指向指针变量的变量 p1 定义一个指针变量p2 定义一个整型变量i 将变量i的地址传给p2,即使p2指向变量i 将指针变量p2的地址传给p1,即使p1指向p2 一个指
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 贸易装运合同范本
- 培训机构合同范本
- 2024版PHC管桩知识产权保护与许可合同
- 软件 使用 合同范本
- 二零二四年度加工承揽合同承揽物描述及质量要求
- 二零二四年度教育培训项目合作与教材买卖合同
- 2024年度广告投放购销合同
- 04版大学校园安保劳务合同
- 《空间理论视域下《金色眼睛的映像》中的生存困境研究》
- 重庆电话营销外包合同范本
- 2024年社区专职干部招聘考试全真模拟试卷及答案【共四套】
- 2024年公路标识安装合同
- (北师大版)2024-2025学年九年级数学上学期期中测试卷
- 01-专题一 信息类文本阅读
- 山东省济宁市-八年级(上)期中数学试卷-(含答案)
- 中小学-珍爱生命 远离毒品-课件
- 金融学期末试卷及答案
- 奢沟小学2024年春季学期法治副校长进校园开展安全、法制知识讲座实施方案
- 道法珍惜师生情谊教学课件 2024-2025学年统编版道德与法治七年级上册
- 2024新苏教版一年级数学册第三单元第1课《图形的初步认识》课件
- (正式版)HGT 22820-2024 化工安全仪表系统工程设计规范
评论
0/150
提交评论