微型计算机原理与接口技术-1
(总分100, 做题时间90分钟)
一、单项选择题
在每小题列出的四个备选项中只有一个选项是符合题目要求的。
在每小题列出的四个备选项中只有一个选项是符合题目要求的。
1.
变量的指针是( )
A 变量的首地址
B 变量的值
C 变量的名
D 变量的一个标志
分值: 1
答案:A
[解析] 指针的概念。
2.
以下集成块型号中,不属于MCS-51系列单片机型号的是( )
A 8094BH
B 83C452
C 80C32
D 8051AH
分值: 1
答案:A
[解析] 要熟记单片机型号。
3.
已知char ch='B';则以下表达式的值是( ) ch=(ch>='A'&&ch<='Z')?(ch+32):ch;
A A
B a
C b
D Z
分值: 1
答案:C
[解析] 条件表达式。
4.
下列选项中,合法的C语言关键字是( )
A default
B get
C integer
D VAR
分值: 1
答案:A
[解析] C语言关键字。
5.
控制串行口工作方式的寄存器是( )
A TCON
B PCON
C SCON
D TMOD
分值: 1
答案:C
[解析] 注意不同接口的工作方式寄存器。
6.
若设串行控制寄存器SCON=40H,则串行口的工作方式是( )
A 方式0
B 方式1
C 方式2
D 方式3
分值: 1
答案:B
[解析] 串行口的工作方式。
7.
地址指针DPTR是( )
A 4位的专用寄存器
B 8位的专用寄存器
C 16位的专用寄存器
D 32位的专用寄存器
分值: 1
答案:C
[解析] 注意专用寄存器的位数。
8.
在扩展系统中,能够提供地址信号的高8位的端口是( )
A P0口
B P1口
C P2口
D P3口
分值: 1
答案:C
[解析] P2口是系统扩展口。
9.
MCS-51外部中断1固定对应的中断入口地址为( )
A 0003H
B 000BH
C 0013H
D 001BH
分值: 1
答案:C
[解析] MCS-51外部中断1入口地址固定。
10.
8051与8751的区别是( )
A 内部数据存储器的数目不同
B 内部数据存储器的类型不同
C 内部程序存储器的类型不同
D 内部的寄存器的数目不同
分值: 1
答案:C
[解析] 注意不同芯片的内部程序存储器。
11.
执行下列3条指令后,30H单元的内容是( ) MOV R0,#30H MOV 40H,#0EH MOV @R0,40H
A 40H
B 30H
C 0EH
D FFH
分值: 1
答案:C
[解析] 寄存器间接寻址。
12.
单片机的指令地址存放在( )
A PSW
B DPTR
C SP
D PC
分值: 1
答案:D
[解析] PC是存放指令地址的。
13.
用8位(bit)二进制能够表示的有符号数的范围是( )
A -127~+128
B -128~+127
C -127~+127
D -128~+128
分值: 1
答案:C
[解析] 8位二进制数表示的范围。
14.
一个EPROM的地址有A0-A11引脚,它的容量是( )
A 2KB
B 4KB
C 11KB
D 12KB
分值: 1
答案:B
单片机printf函数[解析] 不同引脚的程序存储器的寻址空间。
15.
MOV C,00H指令中源操作数的寻址方式是( )
A 位寻址
B 直接寻址
C 立即寻址
D 寄存器寻址
分值: 1
答案:A
[解析] 指令的寻址方式。
16.
打开文件语句fp=fopen("a.dat","r");中fp的类型是( )
A File *
B file
C File
D FILE *
分值: 1
答案:D
[解析] 文件类型。
二、填空题
17.
int m=5,y=2;则执行表达式y+ =y- =m *=y后的y值是______。
分值: 2
答案:-16
[解析] 先乘除后加减。
18.
若a=3,b=4,c=5,则表达式a||b+c&&b= =c的值是_______。
分值: 2
答案:1
[解析] 注意算术、关系和逻辑运算符的优先顺序。
19.
等差数列的第一项a=2,公差d=3,下面程序的功能是在前n项和中,输出能被4整除的所有项的和。请填空。
#include<stdio.h>
main()
{int a,d,sum;
a=2;d=3;sum=0:
do{sum+ =a;
a+ =d:
if(______)printf("%d\n",sum);
}while(sum<200);
}
分值: 2
答案:sum%4= =0
[解析] 整除表达式的使用。
20.
求出2/1,3/2,5/3,8/5,13/8,21/13……这个数列的前20项之和。请填空。
main()
{int n,t,number=20;
floata=2,b=1,s=0;
for(n=1;n<=number;n++)
{
s=______;
t=a;a=a+b;b=t;
}
printf("sum is%9.6f\n",s);
}
分值: 2
答案:s+a/b
[解析] 分数求和的表达式。
三、改错题
每小题只有一处错误或不妥。请指出。并将其改正。
每小题只有一处错误或不妥。请指出。并将其改正。
21.
main()
{
int a b;
a=2;
b=3;
c=a*b
printf("c=%c",c);
}
错误:______
改正:______
分值: 2
答案:错误:printf("c=%c",c);
改正:将其修改为printf("c=%d",c);
[解析] printf函数格式错误
22.
下面程序的功能是计算1+2+3……+50的和。
main()
(int i,sum;
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论