C51单片机复习重点:选择、判断与填空题
版权申诉
80 浏览量
更新于2024-07-04
收藏 125KB DOC 举报
"C51单片机复习题1.doc" 是一份关于C51单片机的学习资料,包含了选择题、判断题和填空题等多种题型,主要涵盖了C51编程语言的基本概念、关键字使用、指针操作、内存管理、特殊功能寄存器(SFR)、库文件的引用以及程序流程控制等内容。
1. 关键字using可以改变工作寄存器组,用于指定使用哪一组通用寄存器。
2. C51中一般指针变量占用3个字节存储,因为C51单片机的地址空间较大,需要3个字节来存储24位的地址信息。
3. 使用宏来访问绝对地址时,一般需包含`absacc.h`库文件,该文件提供了访问绝对地址的宏定义。
4. `#define PA8255XBYTE[0x3FFC]; PA8255=0x7e;` 这段代码会将0x7e赋值给地址0x3FFC,所以存储单元0x3FFC的值是0x7e。
5. 表达式`i=1,++i,++i||++i,i`的值为3,因为逗号运算符从左到右依次计算,`||`操作符在逻辑运算中短路,当左边的`++i`为非零(即2)时,右边的`++i`不会执行,最后的`i`值为3。
6. 执行`*p++;*p+=1;`后,数组a的值变为`10,12,12`,因为指针p首先指向a[0],`*p++`使a[0]加1变为11,然后指针p移动到a[1],`*p+=1`使a[1]加1变为12。
7. 表达式`i=1,++i,i||++i,i`的值为2,与题目6的区别在于`||`操作符前的`i`(此时为2)已满足非零条件,因此右边的`++i`不会执行。
判断题中:
1. void类型的函数确实没有返回值。
2. 特殊功能寄存器的名字在C51中通常全大写。
3. SFR后面的地址不能用带有运算的表达式,必须是常量。
4. `#include`的尖括号和引号在大部分情况下是等价的,但这里可能是指在特定编译环境下。
5. sbit可以用于定义内部RAM的可位寻址区,也可以用于SFR。
6. continue用于结束本次循环,而break直接退出整个循环。
7. void类型的函数确实没有返回值。
8. 定义在主函数之前的函数需要进行声明,除非在之前已经定义过。
9. int i, *p=&i; 是合法的C语言声明,指针p指向整型变量i。
10. 表达式7 & 3 + 12的值是7,因为根据运算符优先级,先进行按位与操作,然后是加法。
11. 函数的return语句只能返回一个值,不能同时返回多个。
填空题部分:
1. Keil C51软件中,工程文件的扩展名是**UV2**。
这份复习资料旨在帮助学习者巩固C51单片机的基础知识,包括语法、数据类型、内存管理、指针操作、函数使用以及控制结构等方面,对于准备嵌入式硬件开发和单片机编程的人员具有参考价值。
2021-09-25 上传
2021-10-02 上传
2021-09-19 上传
2024-10-31 上传
2023-04-01 上传
2023-12-23 上传
2023-10-24 上传
2023-06-01 上传
2023-11-29 上传
matlab大师
- 粉丝: 2712
- 资源: 8万+
最新资源
- BottleJS快速入门:演示JavaScript依赖注入优势
- vConsole插件使用教程:输出与复制日志文件
- Node.js v12.7.0版本发布 - 适合高性能Web服务器与网络应用
- Android中实现图片的双指和双击缩放功能
- Anum Pinki英语至乌尔都语开源词典:23000词汇会话
- 三菱电机SLIMDIP智能功率模块在变频洗衣机的应用分析
- 用JavaScript实现的剪刀石头布游戏指南
- Node.js v12.22.1版发布 - 跨平台JavaScript环境新选择
- Infix修复发布:探索新的中缀处理方式
- 罕见疾病酶替代疗法药物非临床研究指导原则报告
- Node.js v10.20.0 版本发布,性能卓越的服务器端JavaScript
- hap-java-client:Java实现的HAP客户端库解析
- Shreyas Satish的GitHub博客自动化静态站点技术解析
- vtomole个人博客网站建设与维护经验分享
- MEAN.JS全栈解决方案:打造MongoDB、Express、AngularJS和Node.js应用
- 东南大学网络空间安全学院复试代码解析