C51语言复习题参考答案
一、单项选择题:(每小题2分,共10分。在每小题备选答案中选出一个正确答案,并将正确答案的代码填在题中括号内。选对得分,不选、选错均不得分。) 1.利用下列( D )关键字可以改变工作寄存器组 A、interrupt B、sfr C、while D、using
2.C51中一般指针变量占用( C )字节存储。 A、一个 B、两个 C、三个 D、四个
3.使用宏来访问绝对地址时,一般需包含的库文件是( B ) A、reg51.h B、absacc.h C、intrins.h D、startup.h 4.执行#define PA8255 XBYTE[0x3FFC];
PA8255=0x7e;
后存储单元0x3FFC的值是(A )
A、Ox7e B、8255H C、未定 D、7e
5.设有int i;则表达式i=1,++i,++i||++i,i的值为 (C) A、1 B、2 C、3 D、4
6.设有int a[ ]={10,11,12},*p=&a[0];则执行完*p++;*p+=1;后a[0],a[1],a[2]的值依次是 (C)
A、10,11,12 B、11,12,12 C、10,12,12 D、11,11,12 7.设有int i;则表达式i=1,++i,i||++i,i的值为 (B) A、1 B、2 C、3 D、4
二、判断题:(每小题1分,共10分。正确的在括号内打“√”,错误的打“×”。判对得分,不判、判错均不得分。)
1.若一个函数的返回类型为void,则表示其没有返回值。( √ )
2.特殊功能寄存器的名字,在C51程序中,全部大写。(√ ) 3.“sfr”后面的地址可以用带有运算的表达式来表示。( × ) 4.#include 与#include “reg51.h”是等价的。(√ )
5.sbit不可以用于定义内部RAM的可位寻址区,只能用在可位寻址的SFR上。(× ) 6.Continue 和break都可用来实现循环体的中止。( × ) 7.若一个函数的返回类型为void,则表示其没有返回值。( √ ) 8.所有定义在主函数之前的函数无需进行声明。( × ) 9.int i,*p=&i;是正确的C说明。( √ ) 10.7&3+12的值是15。( × )
11.一个函数利用return不可能同时返回多个值。( √ )
三、填空( 每空1分,共20分。在空白处填上正确的内容)
1.KeiL C51软件中,工程文件的扩展名是,编译连接后生成可烧写的文件扩展名是_____HEX_______。