C51数组、指针及运算基础

上传人:飞*** 文档编号:53056885 上传时间:2018-08-27 格式:PDF 页数:7 大小:46.17KB
返回 下载 相关 举报
C51数组、指针及运算基础_第1页
第1页 / 共7页
C51数组、指针及运算基础_第2页
第2页 / 共7页
C51数组、指针及运算基础_第3页
第3页 / 共7页
C51数组、指针及运算基础_第4页
第4页 / 共7页
C51数组、指针及运算基础_第5页
第5页 / 共7页
点击查看更多>>
资源描述

《C51数组、指针及运算基础》由会员分享,可在线阅读,更多相关《C51数组、指针及运算基础(7页珍藏版)》请在金锄头文库上搜索。

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

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

3、2,3,4,5; 等价于: a0=1; a1=2; a2=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;2C51的二维数组(1)二维数组的定义:类型说明符数组名 整型表达式 1 整型表达式 2; 例:char ch32; 元素个数 =行数*列数, 3行2列,共 6个数组元素。(2)

4、二维数组的引用:数组名 下标 1 下标 2 注:内存是一维的, 数组元素在存储器中的存放顺序按行序优先,即“ 先行单片机技术应用基础理论3 后列” 。(3)二维数组的初始化:二维数组初始化也是在类型说明时给各下标变量赋以初值。二维数组可按行分段赋值,也可按行连续赋值。例如:数组 a53 1)按行分段赋值可写为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 ; 3C51的字符数组用来存放字符量的数组称为字

5、符数组。例如: char c10; 用字符串的方式对数组作初始化赋值。例如:char c=c, ,p,r,o,g,r,a,m; 可写为:char c=“C program“; 或去掉 写为:char c=“C program“; 用字符串方式赋值比用字符逐个赋值要多占一个字节,用于存放字符串结束标志 0。上面的数组c 在内存中的实际存放情况为:C program00是由 C编译系统自动加上的。由于采用了0标志,所以在用字符串赋初值时一般无须指定数组的长度,而由系统自行处理。二、 C51的指针指针是一个特殊的变量,它里面存储的数值是内存里的一个地址。指针变量: 存放变量地址的变量1指针变量定义的

6、一般形式:数据类型说明符存储器类型 *指针变量名;数据类型说明符说明了该指针变量所指向的变量的类型。例:int * pointer; /定义一个指向整型变量的指针变量pointer 单片机技术应用基础理论4 注意:指针变量名前的“ * ” 号表示该变量为指针变量,但指针变量名应该是pointer而不是 * pointer 。2指针变量的操作int * i_pointer= (将变量 a地址给 p) p=array; (将数组 array首地址给 p) p= (将数组元素地址给 p) p1=p2; (指针变量 p2值给p1) 不能把一个整数给 p,也不能把 p的值给整型变量指针的算术运算:P+i

7、 等价于 p +(i*d ) (i为整型数, d为p指向的变量所占字节数 ) p+, p-, p+i, p-i, p+=i, p-=i 等例:p指向int型数组,且 p= 则p+1 指向a1 4指针与一维数组的关系int *p 与int q10 数组名是指针(地址)常量p=q; p+i 是 qi的地址数组元素的表示方法 :下标法和指针法,即若 p=q, 则pi qi *(p+i) *(q+i) 单片机技术应用基础理论5 形参数组实质上是指针变量,即int q int *q 在定义指针变量(不是形参)时,不能把int *p 写成 int p; 系统只给 p 分配能保存一个指针值的内存区(一般 2

8、 字节) ;而给 q 分配 2*10 字节的内存区。5指针与字符数组的关系char *cp; 与char str20; str由若干元素组成,每个元素放一个字符;而cp 中存放字符串首地址char str20; str=“I love China!”; ( ) char *cp; cp=“I love China!”; ( ) str是地址常量; cp 是地址变量cp 接受键入字符串时 ,必须先开辟存储空间例char str10; scanf( “%s ”,str); ( ) 而char *cp; scanf( “%s ”, cp); ( ) 改为: char *cp,str10; cp=st

9、r; scanf( “%s ”,cp); ( ) 三、 C51运算基础1算术运算+ 加- 减* 乘/ 除% 取模2逻辑运算& 逻辑与 | 逻辑或 !逻辑非3关系运算大于 = 大于等于= 测试等于 != 测试不等于4位运算& 按位与| 按位或 按位异或单片机技术应用基础理论6 按位取反位右移5自增减运算+i , -i 在使用 i之前,先使 i值加(减) 1。i+ , i- 在使用 i之后,再使 i值加(减) 1。6赋值运算= 赋值运算+= 加后赋值-= 减后赋值*= 乘后赋值/= 除后赋值%= 取模后赋值= 右移后赋值&= 按位与后赋值= 按位异或后赋值|= 按位或后赋值运算优先级由高到低单目运算符算术运算符关系运算符逻辑运算符赋值运算符

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 资格认证/考试 > 其它考试类文档

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号