C51数组、指针及运算基础_第1页
C51数组、指针及运算基础_第2页
C51数组、指针及运算基础_第3页
C51数组、指针及运算基础_第4页
C51数组、指针及运算基础_第5页
已阅读5页,还剩1页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、C51数组、指针及运算基础2011年2月本课题的目标学习完本课题后,您将能够:1 .清楚C51程序中数组的使用。2 .清楚C51程序中指针的概念及应用方法。3 .清楚C51基本的运算符号及基本运算功能。本课题的要求本课题教学完成后,初学者必须做到:1 .牢记C51程序中一维与二维数组的使用方法。2 .牢记C51程序中基本的运算符号及运算功能。本课题讲解内容3 .牢记C51程序中指针变量的定义、引用方法。1. C51的数组2. C51的指针3. C51运算基础单片机技术应用基础理论讲解进程参考学时序号内容提要讲解时间学 时1明确本次课程H标、导入课题5分钟C51的一维数组8分钟3C51的维数组5

2、分钟4C51的字符数组5分钟5指针变收的定义5分钟6指针变我的操作6分钟7指针受奴的运算6分钟8指针与一维数组的关系10分钟休息第二学时1环术运算6分钟)逻辑送算6分钟3发泰运笄6分钟4位运算8分钟5自增减运算6分钟6赋值运算8分钟7课题总练明确木课题的要求10分钟1单片机技术应用基础理论本课题笔记一、C51的数组1. C51的一维数组(1) 一维数组的定义:类型说明符 数组名整型表达式;例:char ch5;注:口内只能是确定的数据(整型数据或整型表达式),不能是变量。(2) 一维数组的初始化:1)定义时初始化例:int a5=1,2,3,4,5;等价于:a0=1; a1=2; a2=3;

3、a3=4; a4=5;注:全部赋值可省略长度例:int a=1,2,3,4,5,6;2)定义时部分初始化例:int a5=1,2,3;等价于:a0=1; a1=2;a2=3; a3=0; a4=0;(3) 一维数组的引用:数组名下标例:ch0、ch1、ch2、ch3、ch4注:下标从0开始到n-1,不能越界,下标可以是变量。例:chi;2. C51的二维数组(1)二维数组的定义:类型说明符 数组名整型表达式1整型表达式2;例:char ch32;元素个数二行数*列数,3行2列,共6个数组元素。(2)二维数组的引用:数组名下标1下标2注:内存是一维的,数组元素在存储器中的存放顺序按行序优先,即

4、先行2单片机技术应用基础理论后列”。(3)二维数组的初始化:二维数组初始化也是在类型说明时给各下标变量赋以初值。二维数组可按行分段赋值,也可按行连续赋值。例如:数组a531)按行分段赋值可写为int a53= 80,75,92,61,65,71,59,63,70,85,87,90,76,77,85 ;2)按行连续赋值可写为int a53= 80,75,92,61,65,71,59,63,70,85,87,90,76,77,85 ;3. C51的字符数组用来存放字符量的数组称为字符数组。例如:char c10;用字符串的方式对数组作初始化赋值。例如:char c='c', 

5、9; ','p','r','o','g','r','a','m'可写为:char c="C program"或去掉写为:char c="C program"用字符串方式赋值比用字符逐个赋值要多占一个字节,用于存放字符串结束标志'0'0上面的数组c在内存中的实际存放情况为:C program0'0'是由C编译系统自动加上的。由于采用了 '0'标志,所以在用字符串赋初值时一般无须指定数组的 长

6、度,而由系统自行处理。二、C51的指针指针是一个特殊的变量,它里面存储的数值是内存里的一个地址。指针变量:存放变量地址的变量1 .指针变量定义的一般形式:数据类型说明符存储器类型*指针变量名;数据类型说明符说明了该指针变量所指向的变量的类型。例:int * pointer; /定义一个指向整型变量的指针变量 pointer3单片机技术应用基础理论注意:指针变量名前的”号表示该变量为指针变量,但指针变量名应该是pointer 而不是* pointer。2 .指针变量的操作6 取地址运算符。* 指针运算符,取指针所指向变量的内容。例:int a=2;int * i_pointer=&ai_

7、pointe 指针变量,它的内容是地址量&a -变量指针,就是变量a的地址* i_pointer-指针的目标变量,它的内容是数据,即变量 a的值23 .指针变量的运算指针变量的赋值运算:p=&a;(将变量a地址给p)p=array;(将数组array首地址给p)p=&arrayi;(将数组元素地址给 p) p1=p2;(指针变量p2伯合p1)不能把一个整数给p,也不能把p的值给整型变量指针的算术运算:P+i等价于p + (i*d ) (i为整型数,d为p指向的变量所占字节数)p+, p-, p+i, p-i, p+=i, p-=i 等例:p指向int型数组,且p=&am

8、p;a0;则p+1指向a14 .指针与一维数组的关系int *p 与 int q10数组名是指针(地址)常量p=q; p+i是qi的地址数组元素的表示方法:下标法和指针法,即若p=q, pi ? qi ? *(p+i) ? *(q+i)则4单片机技术应用基础理论形参数组实质上是指针变量,即int q ? int *q在定义指针变量(不是形参)时,不能把 int *p写成int p口;系统只给p分配能保存一个指针值的内存区(一般2字节);而给q分配2*10字 节的内存区。5 .指针与字符数组的关系char *cp;与 char str20;str由若干元素组成,每个元素放一个字符;而cp中存放字

9、符串首地址char str20; str= " I love China!” ;(char *cp; cp= " I love China?!) ” ;(str是地址常量;cp是地址变量cp接受键入字符串时,必须先开辟存储空间例 char str10;scanf( "S',s?)(而 char *cp;scanf( " S' , cp);(改为:char *cp,str10;cp=str;scanf( "S',cp)(三、C51运算基础1 .算术运算+加-减*乘/除取模2 .逻辑运算&&逻辑与|逻辑或!逻辑非3 .关系运算<小于 > 大于 <二小于等于 >=大于等于=测试等于!=测试不等于4 .位运算&按位与|按位或人按位异或5单片机技术应用基础理论按位取反 <<位左移 >>位右移5 .自增减运算+i , -i在使用i之前,先使i值加(减)1。i+ , i-在使用i之后,再

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

最新文档

评论

0/150

提交评论