版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
21天学51单片机开发第六讲:C51的数组21天学51单片机开发第六讲:C51的数组课程安排数组的声明和表示初始化数组元素一维数组二维数组多维数组课程安排数组的声明和表示数组的声明和表示数组是把相同数据类型的变量,按照顺序组织起来的一个集合。数组中的单个变量称为数组元素。数组从结构上来说是一种构造类型或者聚合类型。数组的分类方法。数组的声明和表示数组是把相同数据类型的变量,按照顺序组织起来数组的声明和表示在C51语言中使用数组之前需要先声明。声明数组的一般形式如下:类型说明符数组名[常量表达式];注意:C51中不支持动态分配数组大小。数组的声明和表示在C51语言中使用数组之前需要先声明。数组的声明和表示数组只是一个集合,数组中的元素才是我们真正操作的对象。数组元素的表示一般采用数组名加下标的方法,如下所示:数组名[下标]下标表示了元素在数组中的顺序号。下标可以为整型常量、整型变量或整型表达式。数组的声明和表示数组只是一个集合,数组中的元素才是我们真正操初始化数组元素初始化数组元素就是为数组中的各个元素赋初始值。初始化数组元素可以采用两种方法:在声明数组时初始化动态初始化
初始化数组元素初始化数组元素就是为数组中的各个元素赋初始值在声明数组时初始化这种方式是指在数组声明的时候给数组元素赋予初值。在声明数组时初始化赋值,是在程序编译阶段进行的,这样不占用程序运行时间,可以提高效率。声明数组时初始化赋值数组元素,可以采用如下几种形式:完整声明初始化部分初始化省略数组大小在声明数组时初始化这种方式是指在数组声明的时候给数组元素赋予动态初始化
动态初始化也就是在声明数组的时候不指定元素的初始值,而在程序运行中通过赋值语句来动态为其赋值。01 #include<stdio.h> //头文件02 voidmain() //主函数03 { 04 inti,num[4]; //定义整型变量i和整型数组num05 printf("请输入4个整数\n"); //打印说明字符06 for(i=0;i<4;i++) //循环输入数组num中的元素07 {08 scanf("%d",&num[i]);09 }10 for(i=0;i<4;i++) //循环输出数组num中的元素11 {12 printf("num[%d]=%d",i,num[i]);13 }14 }动态初始化动态初始化也就是在声明数组的时候不指定元素的初始一维数组
一维数组跟一维空间有点类似,就是只有一个下标标号的数组。在C51语言中,一维数组的一般的声明形式如下:类型说明符数组名[常量表达式];类型说明符数组名[常量表达式]={值,值,…,值};数组由连续的存储单元组成,如下图所示。一维数组一维数组跟一维空间有点类似,就是只有一个下标标号的一维数组的引用
在使用时不能直接用数组名,因为其表示的不是数组元素。如果直接引用数组名,则表示的该数组中第一个元素的地址,而不是数组元素的值。01 #include<stdio.h> //头文件02 voidFun(inta[5]) //自定义函数03 {04 inti;05 for(i=0;i<5;i++) 06 {07 printf("a[%d]=%d\r\n",a[i]); //输出数组元素08 }09 }10 voidmain() //主函数11 {12 intch[5];13 inti;14 for(i=0;i<5;i++) //数组初始化15 {16 ch[i]=i;17 }18 Fun(ch); //函数调用,实参是数组名19 }一维数组的引用在使用时不能直接用数组名,因为其表示的不是数一维字符串数组
在C51语言中,用char标识的是字符数组。字符串数组则是一类特殊的字符数组。字符串数组的构成,如下图所示。一维字符串数组在C51语言中,用char标识的是字符数组。二维数组
二维数组便是包含两个维度的数组。二维数组的声明形式如下:类型说明符数组名[常量表达式1][常量表达式2];二维数组二维数组便是包含两个维度的数组。二维数组的初始化
初始化二维数组元素可以采用两种方法:在声明数组时初始化动态初始化二维数组的初始化初始化二维数组元素可以采用两种方法:在声明数组时初始化在声明数组的时候初始化二维数组,这样初始化过程不占用程序运行时间,大大提高了程序的效率。在声明数组时初始化赋值数组元素,可以采用如下几种形式:按行完整声明初始化按顺序完整声明初始化部分初始化在声明数组时初始化在声明数组的时候初始化二维数组,这样初始化动态初始化
动态初始化也就是在声明二维数组的时候不指定元素的初始值,而在程序运行中通过赋值语句来动态为其赋值。01 #include<stdio.h> //头文件02 voidmain() //主函数03 {04 intt,i,ch[3][4]; //定义变量和二维整型数组05 for(t=0;t<3;++t) //两重循环为ch赋值06 for(i=0;i<4;++i)07 ch[t][i]=(t*4)+i+1;08 for(t=0;t<3;++t) //循环,用于判断输出09 for(i=0;i<4;++i)10 {11 if(ch[t][i]%3==0) //判断元素值是否能被3整除12 printf("ch[%d][%d]=%d\n",t,i,ch[t][i]); //输出该元素13 }14 }动态初始化动态初始化也就是在声明二维数组的时候不指定元素的二维数组的内存分配
二维数组在单片机中是按照连续的存储单元来存放的。01 #include<stdio.h> //头文件02 voidmain() //主函数03 {04 intt,i,num[3][4]; //定义整型二维数组05 for(t=0;t<3;++t) //循环为其中的元素赋值06 for(i=0;i<4;++i)07 num[t][i]=(t*4)+i+1;08 }二维数组的内存分配二维数组在单片机中是按照连续的存储单元来二维字符串数组
二维字符串数组就是专门用于存放字符串的二维数组。二维字符串数组的定义形式如下:char数组名[常量表达式1][常量表达式2];二维字符串数组中对字符串的使用服从符合一维字符串数组的使用规则。对于二维字符串数组,必须在声明时指定其大小。
二维字符串数组二维字符串数组就是专门用于存放字符串的二维数多维数组
多维数组由二维数组扩展而来,是指数组的维数大于
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- GB/T 46089.4-2026输送机械检查与维护规范第4部分:斗式提升机
- 水上打桩工操作能力测试考核试卷含答案
- 煤间接液化分离操作工安全理论竞赛考核试卷含答案
- 民间工艺品制作工岗前评优竞赛考核试卷含答案
- 氯氢处理工岗前工作技巧考核试卷含答案
- 激光设备安装调试员安全文化测试考核试卷含答案
- 2026年糖尿病酮症酸中毒研讨
- 2026年护理工作规范培训课件
- 脂肪醇生产操作工岗中业务能力考核试卷含答案
- 锻件校正工岗位安全意识强化考核试卷含答案
- GB/T 31880-2026检验检测机构诚信基本要求
- 2026年注册会计师《财务管理》模拟试卷(含解析)
- 1.4 人口普查 课件(共25张) 北师大版数学四年级上册
- 2026广东汕尾市总工会招聘工会社会工作者及维权维稳专业队伍人员32人笔试模拟试题及答案详解
- 妊娠期妇女心肺复苏急救指南(2025版)中文版+围产期急救操作规范
- 中国骨科大手术静脉血栓栓塞症预防指南(2024年版)
- 电工竞赛考试题库及答案
- 2026年四川省成都市中考语文真题(试题+答案)
- 乳腺癌非药物干预患者版指南
- TCAWS 0007―2026 安全管理标准化班组评定通 用要求
- 手术前后病人的护理课件-3
评论
0/150
提交评论