- 3
- 0
- 约3.04千字
- 约 28页
- 2021-12-10 发布于广东
- 举报
第一页,共28页 任务4-1 简易运算器 任务描述(先熟悉用8键控制8灯): 掌握算术运算符、逻辑运算符和位运算符的应用,需要进行运算的两个数由P1和P2两个I/O口的接线开关提供,并将结果送P0,P3口发光二极管显示。 第二页,共28页 任务4-2 比大小 任务描述: 两个数由P1和P2两个I/O口的按键提供,比较2个数的大小,若P1大,则P0,P3口发光二极管构成跑马灯左流动;反之则右流动;若相等则闪烁。 第三页,共28页 利用DB指令在1000H地址处建立30个成绩数据,不及格10个,60-70分的10个,70以上的10个,编程将不及格的成绩搬运到RAM的50H单元开始的10个地址,将70以上的成绩搬运到RAM的70H单元开始的10个地址,将其余的成绩搬运到RAM的60H单元开始的10个地址。 拓展训练——成绩分类 第四页,共28页 上机训练图例 第五页,共28页 1.算术运算符 2.逻辑运算符和关系运算符 3.位运算符和复合赋值运算符 4.分支控制语句 5.I/O口内部结构 任务4知识点: 第六页,共28页 1 算术运算符 第七页,共28页 其中“/”和“%”这两个符号都涉及除法运算,“/”运算是取商,“%” 运算为取余数。例如“5/3”的结果为1(商),而“5%3”的结果为2(余数)。 自增和自减运算符是使变量自动加1或减1,自增和自减运算符放在变量前和变量之后是不同的。例如: ++i,--i:在使用 i 之前,先使 i 值加(减)1。 i++,i--:在使用 i 之后,再使 i 值加(减)1。 例如:若 i=4,执行 x=++i 时,先使 i 加1,再引用结果,运算结果 i=5,x=5。 再如:若 i=4,执行 x=i++ 时,先引用 i 值,再使 i 加1,运算结果 i=5,x=4。 第八页,共28页 2 逻辑运算符和关系运算符 逻辑运算符 第九页,共28页 关系运算符 第十页,共28页 3 位运算符和复合赋值运算符 位运算符 第十一页,共28页 在实际的控制应用中,常需要改变I/O口中的某一位的值,而不想影响其它位,如果I/O口是可位寻址的,这个问题就很简单。但有时外扩的I/O口只能进行字节操作,因此要想在这种场合下实现单独的位控,就要采用位操作。 [例]编写程序将扩展的某I/O口PORTA(只能字节操作)的PORTA.5清0 ,PORTA.1置为1。 #include absacc.h #define PORTA XBYTE[0xFFC0] void main( ) { …… PORTA=( PORTA0xDF)│0x02; …… } 第十二页,共28页 复合赋值运算符 构成复合赋值表达式的一般形式 变量?双目运算符 = 表达式 它等效于 变量 = 变量?运算符?表达式 例如:a+=5 等价于a=a+5 共有10种: += 加赋值 -= 减赋值 *= 乘赋值 /= 除赋值 %= 求余赋值 = 按位与赋值 | = 按位或赋值 ^= 按位异或赋值 = 左移位赋值 = 右移位赋值 第十三页,共28页 4 分支控制语句 第十四页,共28页 1. if语句 if 语句是用来判定所给定的条件是否满足,根据判定结果决定执行两种操作之一。 if 语句的基本结构: if (表达式) {语句;} 括号中的表达式成立时,程序执行大括号内的语句,否则程序跳过大括号中的语句部分,而直接执行下面其它语句。 C51语言提供3种形式的 if 语句: (1) 形式1 if (表达式) {语句;} 第十五页,共28页 例如: if (xy) {max=x; min=y;} 即如果xy,则x赋给max,y赋给min。如果xy不成立,则不执行大括号中的赋值运算。 (2) 形式2 if (表达式) {语句1;} else {语句2;} 例如: if (xy) {max=x; } else {min=y;} 本形式相当于双分支选择结构。 第十六页,共28页 (3) 形式3 if (表达式1) {语句1;} else if (表达式2) {语句2;} else if (表达式3) {语句3;} …
原创力文档

文档评论(0)