测试(基础5)
隐藏答案
1
【单选题】C51数据类型中关键词 “ sfr用于定义 ” ____。
正确答案: D
2
【单选题】将 aa 定义为片外 RAM 区的无符号字符型变量的正确写法是 ______。
正确答案: D
3
【单选题】以下选项中合法的 C51变量名是 ______。
正确答案: C
4
【单选题】C51 数据类型中关键词“ bit ”用于定义 ______。
正确答案: A
5
【单选题】已知 P0 口第 0 位的位地址是 0x90,将其定义为位变量 P1_0 的正确命令是 _____。
正确答案: B
6
【单选题】将 bmp 定义为片内 RAM 区的有符号字符型变量的正确写法是 ______。
正确答案: A
7
【单选题】设编译模式为 SMALL,将 csk 定义为片内 RAM 区的无符号字符型变量的正确写法是 ______
正确答案: B
8
【单选题】下列关于 C51与汇编语言混合编程的描述中 ______是不正确的。
正确答案: B
9
【单选题】在 xdata 存储区里定义一个指向 char 类型变量的指针变量 px 的下列语句中, ______是正确的(默认为 SMALL编译模式)。
正确答案: A
10
【简答题】C51与汇编语言相比有哪些优势?怎样实现两者的互补?
正确答案:
C51语言具有结构化语言特点和机器级控制能力,代码紧凑,效率可与汇编语言媲美。由于接近真实语言,程序的可读性强,易于调试维护,编程工作量小,产品开发周期短。 C51 语言与汇编指令无关,易于掌握。但对于有较高程序代码执行速度要求的场合,如 I/O 接口地址处理、 中断向量地址安排, 汇编语言仍有一定优势。 可以采用在 C51中调用汇编程序和在C51中嵌入汇编代码的方法实现两种语言优势互补。
11
【简答题】在 C51 中为何要尽量采用无符号的字节变量或位变量?
正确答案:
这两种变量占用内存少,代码长度短,执行效率高。有符号的字节变量虽然也只占用 1 字节,但 CPU 需要进行额外的操作来测试代码的符号位,这会降低代码效率。使用浮点型的变量时,编译系统还将调用相应的库函数来保证运算精度,这会明显增加运算时间和代码长度。
12
【简答题】为了加快程序的运行速度, C51中频繁操作的变量应定义在哪个存储区?
正确答案:
由于片内存储器的数据传送多为单周期指令, 而片外存储器多为双周期指令, CPU处理前者数据的速度要快于后者,因此频繁操作的变量应尽量定义在片内存储器中,选择如 data,bdata 或 idata 等存储类型的变量。
13
【简答题】C51的变量定义包含哪些要素?其中哪些是不能省略的?
正确答案:
变量定义中包含着存储种类、 数据类型、 存储类型和变量名 4 项要素, 其中数据类型和变量名在变量定义时是不能省略的,存储种类和存储类型在变量定义时可以采用相应缺省值。
14
【简答题】C51数据类型中的关键词 sbit 和 bit 都可用于位变量的声明, 但二者有何不同之处?
正确答案:
bit 型变量的位地址是由编译器为其随机分配的(定义时不能由用户指定),位地址是在片内 RAM 的可位寻址区 (bdata 区)中;而 sbit 型变量的位地址则是由用户指定的, 位地址是在可位寻址的 SFR单元内(但利用 bdata 限定变量存储类型后, 可将位地址范围扩大到 bdata区)。

