课题二C51数组、指针和运算基础.docVIP

  • 2
  • 0
  • 约3.12千字
  • 约 6页
  • 2017-06-10 发布于北京
  • 举报
课题二 C51数组、指针及运算基础 邢鹏康 2011年2月 本课题的目标 学习完本课题后,您将能够: 清楚C51程序中数组的使用。 清楚C51程序中指针的概念及应用方法。 清楚C51基本的运算符号及基本运算功能。 本课题的要求 本课题教学完成后,初学者必须做到: 牢记C51程序中一维与二维数组的使用方法。 牢记C51程序中基本的运算符号及运算功能。 牢记C51程序中指针变量的定义、引用方法。 本课题讲解内容 1.C51的数组 2.C51的指针 3.C51运算基础 讲解进程参考 学时 序号 内容提要 讲解时间 第一学时 1 明确本次课程目标、导入课题 5分钟 2 C51的一维数组 8分钟 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分钟 本课题笔记 一、C51的数组 1.C51的一维数组 (1)一维数组的定义: 类型说明符 数组名[整型表达式]; 例:char ch[5]; 注: []内只能是确定的数据(整型数据或整型表达式),不能是变量。 (2)一维数组的初始化: 1)定义时初始化 例: int a[5]={1,2,3,4,5};等价于:a[0]=1; a[1]=2; a[2]=3; a[3]=4; a[4]=5; 注:全部赋值可省略长度 例: int a[]={1,2,3,4,5,6}; 2)定义时部分初始化 例: int a[5]={1,2,3}; 等价于: a[0]=1; a[1]=2;a[2]=3; a[3]=0; a[4]=0; (3)一维数组的引用: 数组名[下标] 例:ch[0]、ch[1]、ch[2]、ch[3]、ch[4] 注:下标从0开始到n-1,不能越界,下标可以是变量。 例:ch[i]; 2.C51的二维数组 (1)二维数组的定义: 类型说明符 数组名[整型表达式1] [整型表达式2]; 例:char ch[3][2]; 元素个数=行数*列数,3行2列,共6个数组元素。 (2)二维数组的引用: 数组名[下标1] [下标2] 注:内存是一维的,数组元素在存储器中的存放顺序按行序优先,即“先行后列”。 (3)二维数组的初始化: 二维数组初始化也是在类型说明时给各下标变量赋以初值。 二维数组可按行分段赋值,也可按行连续赋值。 例如数组a[5][3]: 1)按行分段赋值可写为 int a[5][3]={ {80,75,92},{61,65,71},{59,63,70},{85,87,90},{76,77,85} }; 2)按行连续赋值可写为 int a[5][3]={ 80,75,92,61,65,71,59,63,70,85,87,90,76,77,85 }; 3.C51的字符数组 用来存放字符量的数组称为字符数组。 例如: char c[10];  用字符串的方式对数组作初始化赋值。 例如: char c[]={c, ,p,r,o,g,r,a,m}; 可写为: char c[]={C program}; 或去掉{}写为: char c[]=C program;   用字符串方式赋值比用字符逐个赋值要多占一个字节, 用于存放字符串结束标志\0。上面的数组c在内存中的实际存放情况为: C program\0`\0是由C编译系统自动加上的。由于采用了`\0标志,所以在用字符串赋初值时一般无须指定数组的长度, 而由系统自行处理。 二、C51的指针 指针是一个特殊的变量,它里面存储的数值是内存里的一个地址。 指针变量:存放变量地址的变量 1.指针变量定义的一般形式: 数据类型说明符 [存储器类型] *指针变量名; 数据类型说明符说明了该指针变量所指向的变量的类型。 例:int * pointer; //定义一个指向整型变量的指针变量pointer 注意:指针变量名前的“*”号表示该变量为指针变量,但指针变量名应该是pointer而不是* pointer。 2.指针变量的操作 —— 取地址运算符。 * —— 指针运算符,取指针所指向变量的内容。 例:int a=2; int * i_pointer=a i_pointe ----- 指针变量,它的内容是地址量 a --- 变量指针,就是变量a的地址 * i_pointer ---- 指针的目标变量,它的内容是数据,即变

文档评论(0)

1亿VIP精品文档

相关文档