单片机c语言开发技术

单片机c语言开发技术

ID:26751571

大小:432.85 KB

页数:63页

时间:2018-11-28

单片机c语言开发技术_第1页
单片机c语言开发技术_第2页
单片机c语言开发技术_第3页
单片机c语言开发技术_第4页
单片机c语言开发技术_第5页
资源描述:

《单片机c语言开发技术》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库

1、单片机C语言开发技术第六章数组与指针内容概述数组是一种构造类型的数据,通常用来处理具有相同属性的一批数据。本章主要介绍一维数组、二维数组、多维数组以及字符数组的定义、初始化、引用及应用。C51语言还提供了构造类型的数据,它们有:数组类型、结构体类型、共用体类型。构造类型数据是由基本类型数据按一定规则组成的,因此有的书称它们为“导出类型”。6.1一维数组6.1.1一维数组的定义一维数组的定义方式为:类型说明符数组名[常量表达式];例如:inta[10];它表示数组名为a,此数组有10个元素。说明:1)数

2、组名的定名规则和变量名相同,遵循标识符定名规则;2)数组名后是用方括弧括起来的常量表达式,不能用圆括弧,下面用法不对:inta(10);3)常量表达式表示元素的个数,即数组长度。例如,在a[10]中,10表示a数组有10个元素,下标从0开始,这10个元素是,a[0],a[1],a[2],a[3],a[4],a[5],a[6],a[7],a[8],a[9]。注意不能使用数组元素a[10];(4)常量表达式中可以包括常量和符号常量,不能包含变量。也就是说,C51不允许对数组的大小作动态定义,即数组的大小不

3、依赖于程序运行过程中变量的值。例如,下面这样定义数组是不行的:intn;scanf("%d",&n);inta[n];6.1.2一维数组元素的引用数组必须先定义,后使用。C51语言规定只能逐个引用数组元素而不能一次引用整个数组。数组元素的表示形式为:数组名[下标]下标可以是整型常量或整型表达式。例如:a[0]=a[5]+a[7]-a[2*3]例6-1-1数组元素的引用#include#includervoidmain(void){inti,a[10];#ifndef

4、MONITOR51/*需要串口输出时请作如下设置*/SCON=0x50;/*方式1,允许接收*/TMOD

5、=0x20;/*TMOD:定时器1方式2*/TH1=221;/*1200bps@16MHz*/TR1=1;/*启动定时器1*/TI=1;/*KeilC自带的puchar()函数需要设置TI=1*/#endiffor(i=0;i<=9;i++)a[i]=i;for(i=9;i>=0;i--)printf("%d",a[i]);}6.1.3一维数组的初始化对数组元素的初始化可以用以下方法实现:1)在定

6、义数组时对数组元素赋以初值。例如:inta[10]={0,1,2,3,4,5,6,7,8,9};2)可以只给一部分元素赋值。例如:inta[10]={0,1,2,3,4};定义a数组有10个元素,但花括弧内只提供5个初值,这表示只给前面5个元素赋初值,后5个元素值为0。3)如果想使一个数组中全部元素值为0,可以写成inta[10]={0,0,0,0,0,0,0,0,0,0};不能写成inta[10]={0*10};4)在对全部数组元素赋初值时,可以不指定数组长度。例如:inta[5]={1,2,3,4

7、,5};可以写成inta[]={1,2,3,4,5}6.1.4一维数组应用举例例6-1-2已知某课程的平时、实习、测验和期末成绩,求该课程的总评成绩。其中平时、实习、测验和期末分别占10%、20%、20%、50%。#include#includevoidmain(void){inti=1,j;charcon_key='x20';//‘x20’空格键的ASCII码floatscore[5],ratio[4]={0.1,0.2,0.2,0.5};/*定义成绩、比例系

8、数数组*/#ifndefMONITOR51/*需要从串口1输出时请作如下设置*/SCON=0x50;/*方式1,允许接收*/TMOD

9、=0x20;/*TMOD:定时器1方式2*/TH1=221;/*1200bps@16MHz*/TR1=1;/*启动定时器1*/TI=1;/*KeilC自带的puchar()函数需要设置TI=1*/#endifwhile(con_key=='x20'){printf("输入第%2d个学生的成绩",i++);printf("平时实习测验期末成绩");score[4

10、]=0;/*score[4]:存储总评成绩*/for(j=0;j<4;j++){scanf("%f",&score[j]);score[4]+=score[j]*ratio[j];}printf("总评成绩为:%6.1f",score[4]);getchar();}}6.2二维数组6.2.1二维数组的定义二维数组定义的一般形式为类型说明符数组名[常量表达式][常量表达式]例如:floata[3][4],b[5][10];不能写成floata[3,4

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

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

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