电子文档交易市场
安卓APP | ios版本
电子文档交易市场
安卓APP | ios版本

C语言课程课件 第九章 数组

41页
  • 卖家[上传人]:杨****
  • 文档编号:36590062
  • 上传时间:2018-03-30
  • 文档格式:PPT
  • 文档大小:621.50KB
  • / 41 举报 版权申诉 马上下载
  • 文本预览
  • 下载提示
  • 常见问题
    • 1、第9章 数组 9.1 一维数组的定义和一维数组元素的引用 9.2 一维数组和指针 9.3 函数之间对一维数组和数组元素的引用 9.4 一维数组应用举例 9.5 二维数组的定义和二维数组元素的引用 9.6 二维数组和指针 9.7 二维数组名和指针数组作为实参 9.8 二维数组程序举例9.1 一维数组的定义和一维数组元素的引用9.1.1 一维数组的定义数组是具有相同类型的变量的集合,这些变量在内存中占有连续的存储单元。一维数组的定义形式如下:类型名 数组名整型常量表达式和变量名的命名规则相同也叫下标表达式,当只有一 个下标时,为一维数组例如:int a8; /*定义了一个名为a的一维数组*/int b35; /*定义了一个名为b的二维数组*/ 方括号中的8规定了a数组含有8个元素(变量),它们是a0、 a1、 、 a7。 类型名int规定了a数组中每个元素都是整型,在每个元素中只能存放整型数。 在使用该数组时,它的下标范围是从07,即下标的下界为0,上界为7。 定义数组,也就是在内存中开辟了一块连续的空间。如图所示。例如:int a8; /*定义了一个名为a的一维数组*/a0 a1 a2

      2、a3 a4 a5 a6 a7 在一个定义数组语句中,可以有多个数组说明 符,它们之间用逗号隔开。如: double w22,v100,u5; 数组说明符和普通变量名可同时出现在一个类型定义语句中,例如:注意数组说明符的一对方括号中只能是整型常量或整型常量表达式。char c1,c2,carr51;char c1,c2,carr10+71;9.1 一维数组的定义和一维数组元素的引用9.1.2 一维数组元素的引用(使用)若有以下定义语句:double x8;则我们可以引用(使用)的数组元素可以有:x0、 x1、 x2、 、 x7。引用的形式还可以是:int i,j,k;i=1;j=3;k=5;xi=7.5;xj=7.5;xi+k=7.5;x1=7.5;x3=7.5;x6=7.5;说明1. 一个数组元素实质上就是一个变量,代表内存中的一个存储单元。 2. 在引用数组元素时,数组元素中下标表达式的值必须是整数,下标 表达式值的下限从0开始。9.1 一维数组的定义和一维数组元素的引用9.1.3 一维数组的初始化(定义时赋初值)为所定义的数组元素赋初值:int a8=2,4,6,8,10,12,1

      3、4,16;以上语句就相当于:int a8;a0=2; a1=4; a2=6; a3=8; a4=10; a5=12; a6=14; a7=16;注意1. 在初始化时,一对花括号中的数值类型必须与所说明的类型一致。 他们之间用逗号隔开。 2. 在初始化时,一对花括号中的数据个数不能多于所定义数组的元素 个数。否则在编译时将给出出错信息。 3. 当所赋初值少于所定义数组的元素个数时,系统将自动给后面的元 素补以初值0。例如:int a5=2,4;a0=2; a1=4; a2=0; a3=0; a4=0;9.1 一维数组的定义和一维数组元素的引用9.1.4 通过赋初值定义数组的大小例如: a =0,0,0,0,0,0,0,0;这时我们可以确定数 组的大小为8a8=0,0,0,0,0,0,0,0; 或 a8=0;9.1 一维数组的定义和一维数组元素的引用9.1.5 一维数组的定义和数组元素引用举例例9.1 编写程序,定义一个含有30个元素的int类型数组。依次给数组元素赋奇 数1、3、5、,然后按每行10个数顺序输出,最后再按每行10个数逆序输出。程序分析: 首先定义数组; 给数组赋值; 顺序

      4、输出,每行10个; 逆序输出,每行10个;#include #define M 30 main() int sM,i,k=1;for(i=0;i=0;i-)printf(“%4d“,si);if(i%10=0) printf(“n“); printf(“n“); Sequence Output:1 3 5 7 9 11 13 15 17 1921 23 25 27 29 31 33 35 37 3941 43 45 47 49 51 53 55 57 59Invert Output:59 57 55 53 51 49 47 45 43 4139 37 35 33 31 29 27 25 23 2119 17 15 13 11 9 7 5 3 19.2 一维数组和指针9.2.1 一维数组和数组元素的地址如下定义的是一个包含5个元素的一维数组:int a5;数组a在内存中开辟存储单元的示意图如下: a0 a1 a2 a3 a4a0 、a1、 a2、 a3、 a4 实质上就是五个变量名。这时我们引用该元素的时候,只是引用其中的值, 那我们如何获取该元素的地址呢?例如:int *p;p=除此之

      5、外,数组中还有一个特殊的地址表示方式:数组名 a也表示地址相等地址(指针)a 永远是指向 这边的。/*定义a为包含5个整型数据的数组*/ /*定义p为指向整型变量的指针变量*/ /*把数组中第一个元素的地址赋给指针变量p,即p指向a数组的第一个元素*/p=a;p例如:p=a+1;p+;pp请问a+是否合法?非法,因为a是数组首地址,是地址常量,常量不能进行+和- -运算9.2 一维数组和指针9.2.1 一维数组和数组元素的地址举例说明:float a10,*p; int k; p=a; for(k=0;k=0 int arrin(int *); /*函数说明语句*/ main() int sM,k;k=arrin(s);arrout(s,k); int arrin(int *a) /*a为指针,因为传递过来是地址s*/ int i=0,x;scanf(“%d“,while(x=0) /*为负数时退出循环*/*(a+i)=x; /*因为a指向数组s中的元素,所以相当于si=x*/i+;scanf(“%d“,return i; /*返回你输入数据的个数*/ void arrout(int

      6、*a,int n) /*输出该数组中的数据*/ int i;for(i=0;i 50 30 -510 50 30int arrin(int a) int arrin(int aM)void arrout(int a,int n) int i;for(i=0;i #define M 10 #define B 4 void setstar(char *,int); void arrout(char *,int); main() char cM=A,B,C,D,E,F,G,H,I,J;setstar(arrout(c,M); void setstar(char *a,int n) int i;for(i=0;i #define N 10 int *fun(int aN,int n) int bN;:return b; main() int wN;*p;:p=fun(w,N);: 由于b数组在自定义函数中,所以说fun函数执行 完毕后,该数组在内存中将不存在了,也就是说他 的地址也没有了,虽然程序中的意思是想返回该 地址,但该数组已经不存在了,所以指针变量p将 不指向任何对象而成为”无向指针”

      7、。9.5 二维数组的定义和二维数组元素的引用9.5.1 二维数组的定义二维数组的定义形式如下:类型名 数组名整型常量表达式1 整型常量表达式2例如:int a34; 定义了一个名为a的二维数组。 a中每个元素都是整型。 a数组中共有两个下标,第一个方括号中的下标的下限为0,上限为2;第二个方括号中的下标的下限为0,上限为3。a数组中的数组元素共有12(3X4)个,它们分别如下:a00 a01 a02 a03 a10 a11 a12 a13 a20 a21 a22 a23第1行第1列第2列第3列第4列第2行 第3行 在二维数组中,每个元素都有两个下标,第一个方括号中的下标代表行号,称为行下标;第二个方括号中的下标代表列号,称为列下标。行下标和列下标的下限总为0。9.5 二维数组的定义和二维数组元素的引用9.5.1 二维数组的定义 a数组中的元素在内存中也是占一片连续的存储单元。数组元素在内存中的排列顺序如下图:a00 a01 a02 a03a10 a11 a12 a13a20 a21 a22 a23注意在C语言中,也可以把二维数组中的每一行单独作为一个一维 数组,如以上的二维数组也可以看

      8、成是由a0 、a1、 a2三 个一维数组组成,其中每个一维数组中又包含四个元素。a0a1a2a0a0 a0 a0a1 a1 a1 a1a2 a2 a2 a29.5 二维数组的定义和二维数组元素的引用9.5.2 二维数组元素的引用(使用)若有以下定义语句: double w42;则我们可以引用(使用)的数组元素可以有: w00、 w01 、 w20 、 、 w31 。引用的形式还可以是:int i,j,k;i=1;j=3;k=5;wji=7.5;wj0=7.5;wi+1k-j-i=7.5;w3 1=7.5;w30=7.5;w21=7.5; 在引用数组元素时,数组元素中下标表达式的值必须是整数, 下标表达式值的下限从0开始,且不能超越界限。 引用二维数组时,一定要把两个下标分别放在两个方括号内。例如:注意w0,1 wj,i wi+1,k-j-i不合法9.5 二维数组的定义和二维数组元素的引用9.5.3 二维数组的初始化(定义时赋初值) 为所定义的数组元素赋初值: int a43=1,2,3, 4,5,6, 7,8,9, 10,11,12;a00=1; a01=2; a02=3; a10=4; a11=5; a12=6;a20=7; a21=8; a22=9; a30=10; a31=11; a32=12; 当每行所赋初值的个数与数组元素个数不同时,例如:int a43=1,2, 4,5, 7, 10; a00=1; a01=2; a02=0; a

      《C语言课程课件 第九章 数组》由会员杨****分享,可在线阅读,更多相关《C语言课程课件 第九章 数组》请在金锄头文库上搜索。

      点击阅读更多内容
    最新标签
    监控施工 信息化课堂中的合作学习结业作业七年级语文 发车时刻表 长途客运 入党志愿书填写模板精品 庆祝建党101周年多体裁诗歌朗诵素材汇编10篇唯一微庆祝 智能家居系统本科论文 心得感悟 雁楠中学 20230513224122 2022 公安主题党日 部编版四年级第三单元综合性学习课件 机关事务中心2022年全面依法治区工作总结及来年工作安排 入党积极分子自我推荐 世界水日ppt 关于构建更高水平的全民健身公共服务体系的意见 空气单元分析 哈里德课件 2022年乡村振兴驻村工作计划 空气教材分析 五年级下册科学教材分析 退役军人事务局季度工作总结 集装箱房合同 2021年财务报表 2022年继续教育公需课 2022年公需课 2022年日历每月一张 名词性从句在写作中的应用 局域网技术与局域网组建 施工网格 薪资体系 运维实施方案 硫酸安全技术 柔韧训练 既有居住建筑节能改造技术规程 建筑工地疫情防控 大型工程技术风险 磷酸二氢钾 2022年小学三年级语文下册教学总结例文 少儿美术-小花 2022年环保倡议书模板六篇 2022年监理辞职报告精选 2022年畅想未来记叙文精品 企业信息化建设与管理课程实验指导书范本 草房子读后感-第1篇 小数乘整数教学PPT课件人教版五年级数学上册 2022年教师个人工作计划范本-工作计划 国学小名士经典诵读电视大赛观后感诵读经典传承美德 医疗质量管理制度 2
    关于金锄头网 - 版权申诉 - 免责声明 - 诚邀英才 - 联系我们
    手机版 | 川公网安备 51140202000112号 | 经营许可证(蜀ICP备13022795号)
    ©2008-2016 by Sichuan Goldhoe Inc. All Rights Reserved.