(完整word版)C51语言复习题参考答案

上传人:hs****ma 文档编号:487453110 上传时间:2024-01-28 格式:DOC 页数:16 大小:178KB
返回 下载 相关 举报
(完整word版)C51语言复习题参考答案_第1页
第1页 / 共16页
(完整word版)C51语言复习题参考答案_第2页
第2页 / 共16页
(完整word版)C51语言复习题参考答案_第3页
第3页 / 共16页
(完整word版)C51语言复习题参考答案_第4页
第4页 / 共16页
(完整word版)C51语言复习题参考答案_第5页
第5页 / 共16页
点击查看更多>>
资源描述

《(完整word版)C51语言复习题参考答案》由会员分享,可在线阅读,更多相关《(完整word版)C51语言复习题参考答案(16页珍藏版)》请在金锄头文库上搜索。

1、一、单项选择题:(每小题2分,共10分。在每小题备选答案中选出一个正确答案,并将正确答案的代码填在题中括号内。选对得分,不选、选错均不得分。)1利用下列(D)关键字可以改变工作寄存器组A、interruptB、sfrC、whileD、using2. C51中一般指针变量占用(C)字节存储。A、一个 B、两个 C、三个 D、四个3使用宏来访问绝对地址时,一般需包含的库文件是(B )A、reg51.h B、absacc.h C、intrins.hD、startup.h4. 执行 #define PA8255 XBYTE0x3FFC;PA8255=0x7e;后存储单元0x3FFC的值是(A )A、O

2、x7eB、8255HC、未定D、7e5. 设有 int i ;则表达式 i=1,+i,+i|+i,i 的值为(C)A、1B、2C、3D、46. 设有 int a =10,11,12,*p=&a0;则执行完 *p+;*p+=1;后 a0,a1,a2 的值依次是(C)A、10,11,12 B、11,12,12 C、10,12,12 D、11,11,127. 设有int i ;则表达式i=1,+i,i|+i,i的值为(B)A、1B、2C、3D、4二、 判断题:(每小题1分,共10分。正确的在括号内打错误的打“X。”判对得分, 不判、判错均不得分。)1若一个函数的返回类型为void,则表示其没有返回值

3、。(V )2. 特殊功能寄存器的名字,在C51程序中,全部大写。(V )3. “sfr后面的地址可以用带有运算的表达式来表示。(X )4. #include 与#include“ reg51.h是等价的。(V )5. sbit不可以用于定义内部RAM的可位寻址区,只能用在可位寻址的SFR上。(X )6. Continue 和break都可用来实现循环体的中止。(X )7若一个函数的返回类型为void,则表示其没有返回值。(V )&所有定义在主函数之前的函数无需进行声明。(X)9. int i,*p=&i;是正确的 C说明。( V )10. 7&3+12 的值是 15。(X)11. 一个函数利用

4、return不可能同时返回多个值。(V )三、填空( 每空1分,共20分。在空白处填上正确的内容)1. KeiL C51软件中,工程文件的扩展名是,编译连接后生成可烧写的文件扩展名是HEX”2. C51支持的指针有一般指针和存储器指针。3. C51中,没有专门的循环语句,我们可以用函数 crol完成一个字节的循环左移,用 _ro_完成二个字节的循环左移。4. 函数 是C语言的基本单位。5. C语言中输入和输出操作是由库函数scanf 和 printf等函数来完成。6. 若有说明 int i,j,k;则表达式 i=10,j=20,k=30,k*=i+j 的值为 900.。7. 数组是一组有固定数

5、目和相同类型成分分量的有序集合。&变量的指针就是变量的地址:指针变量的值是指针 。9在C语言中,把多个不同类型的变量结合在一起形成的一个组合型变量,称为结构变量 ,简称 结构 。10.C51的数据类型有基本类型、构造类型、指针类型、空类型。11.C51的基本数据类型有位型 、字符型、整形、长整形 、浮点型 、双精度浮点型。12.C51的构造数据类型有数组类型、结构类型、共用体型、梅举型 。13. C51 的存储类型有data 、bdata 、 idata 、 pdata 、 xdata 、 code 。14. C51 的存储模式有SMALL、 COMPACT 和 LARGE 。15. C51程

6、序与其他语言程序一样,程序结构也分为顺序结构 、 选择结构(或分支结构)、 循环结构 三种。16数组的一个很重要的用途就是查表 。17.四、问答题(共20分)1. 简述C51语言和汇编语言的比较(5分)使用C51语言进行嵌入式系统的开发,有着汇编语言所不可比拟的优势: 编程调试灵活方便; 生成的代码编译效率高; 模块化开发; 可移植性好; 便于项目的维护;2. 简述单片机的C语言的特点(7分)单片机的C语言的特点主要体现在以下几个方面: 无需了解机器硬件及其指令系统,只需初步了解MCS-51的存储器结构; C51能方便的管理内部寄存器的分配、不同存储器的寻址和数据类型等细节问题,但对硬件控制有

7、限;而汇编语言可以完全控制硬件资源; C51在小应用程序中,产生的代码量大,执行速度慢;但在较大的程序中代码效率高; C51程序由若干函数组成,具有良好的模块化结构,便于改进和扩充; C51程序具有良好的可读性和可维护性;而汇编语言在大应用程序开发中,开发难度增加,可读性差; C51有丰富的库函数,可大大减少用户的编程量,显著缩短编程与调试时间,大大提高软件开发效率; 使用汇编语言编制的程序,当机型改变时,无法直接移植使用,而C语言程序是面向用户的程序设计语言,能在不同机型的机器上运行,可移植性好。3. 哪些变量类型是51单片机直接支持的? ( 5分)答:C51编译器支持的数据类型有:位型(

8、bit )、无符号字符型(unsigned char )、 有符号字符型(signed char )、无符号整型(unsigned int )、有符号整型(signed int )、无符号长整型(unsigned long)、有符号长整型(signed long )、浮点型(float )和指针型等。C51编译器支持的数据类型、长度和值域如表1-1所示。表1-1 C51的数据类型数据类型长度/bit长度/byte值域bit10,1unsigned char810 255signed char81-128 127unsigned int1620 65 535signed int162-32 76

9、832 767unsigned long3240 4 294 967 295signed long324-2 147 483 6482 147483 647float3241. 176E-38 3. 40E+38(6 位数字)double6481. 176E-38 3. 40E+38(10 位数字)一般指针243存储空间065 5354. 简述C51的数据存储类型(10分)答:我们都知道,8051单片机存储区可分为内部数据存储区、外部数据存储区以及程序存储区。8051单片机内部的数据存储区是可读写的,8051派生系列最多可有256字节的内部数据存储区,其中低 128字节可直接寻址,高128字节

10、(从0x80到0xFF )只能间接寻 址,从20H开始的16字节可位寻址。内部数据区可分为3个不同的存储类型:data、idata 和 bdata 。外部数据区也是可读写的,访问外部数据区比访问内部数据区慢,因为外部数据区是通过数据指针加载地址来间接访问的。C51提供两种不同的存储类型xdata 和pdata访问外部数据。程序存储区是只能读不能写。程序存储区可能在 8051单片机内部或者在外部或者内外都有,这由8051单片机的硬件决定。C51提供了 code存储类型来访问程序存储区。每个变量可以明确地分配到指定的存储空间,对内部数据存储器的访问比对外部数据存储器的访问快许多,因此应当将频繁使用

11、的变量放在内部存储器中,而把较少使用的变量放在外部存储器中。各存储区的简单描述如表1-2所示。表1-2 C51存储类型与8051存储空间的对应关系存储区描述DATA片内RAM的低128字节,可在一个周期内直接寻址BDATA片内RAM的位寻址区,16字节IDATA片内RAM的256字节,必须采用间接寻址XDATA外部数据存储区,使用 DPTR间接寻址PDATA外部存储区的256个字节,通过P0 口的地址对其寻址。使用 MOVX Ri,需 要两个指令周期CODE程序存储区,使用DPTR寻址。以上介绍的是 C51的数据存储类型,C51存储类型及其大小和值域如表1-3所示。表1-3 C51存储类型及其

12、大小和值域存储类型长度/bit长度/byte值域data810 255idata810 255pdata810 255code1620 65 535xdata1620 65 5355. 简述C51对51单片机特殊功能寄存器的定义方法(5分)答:MCS-51通过其特殊功能寄存器(SFR)实现对其内部主要资源的控制。MCS-51单片机有21个SFR,有的单片机还有更多的 SFR,它们分布在片内RAM的高128字节中,其 地址能够被8整除的SFR一般可以进行位寻址。关于MCS-51单片机的特殊功能寄存器参看附 录A。对SFR只能用直接寻址方式访问。C51允许通过使用关键字sfr、sbit或直接引用编

13、译器提供的头文件来实现对 SFR的访问。( 1 )使用关键字定义 sfr为了能直接访问特殊功能寄存器SFR, C51 提供了一种自主形式的定义方法。这种定义方法与标准的C语言不兼容,只适用于对 8051系列单片机进行C编程。这种定义的方法是引 入关键字 “sfr ”,语法如下:sfr 特殊功能寄存器名字 = 特殊功能寄存器地址;如:sfr SCON=0x98;/* 串口控制寄存器地址 98H*/sfr TMOD=0X89 ;/* 定时器 / 计数器方式控制寄存器地址 89H*/( 2)通过头文件访问 SFR8051 系列单片机的寄存器数量与类型是极不相同的,因此对单片机特殊功能寄存器的 访问可

14、以通过对头文件的访问来进行。为了用户处理方便, C51 编译器把 MCS-51 单片机的常用的特殊功能寄存器和特殊位进 行了定义,放在一个 “reg51.h ”或“reg52.h ”的头文件中。当用户要使用时,只需要在使 用之前用一条预处理命令 “#include ” 把这个头文件包含到程序中,然后就可 以使用特殊功能寄存器名和特殊位名称了。用户可以通过文本编辑器对头文件进行增减。(3)SFR中位定义在8051单片机的应用问题中,经常需要单独访问SFR中的位,C51的扩充功能使之成为可能,使用关键字“sbit ”可以访问位寻址对象。特殊位(sbit )的定义,像SFR一样不与标准C兼容。与SFR定义一样,用关键字“sbit ”定义某些特殊位,并接受任何符号名,“=”号后将绝对地址赋给变量名。这种地址分配有三种方法:第一种方法:sbit位名=特殊功能寄存器名A位置;当特殊功能寄存器的地址为字节( 8位)时,可使用这种方法。特殊功能寄存器名必须是已定义的SFR的名字。“人”后的 位置”语句

展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 商业/管理/HR > 商业计划书

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