测品娱乐
您的当前位置:首页2014年10月全国自考微型计算机原理与接口技术考前密卷02205(含答案)

2014年10月全国自考微型计算机原理与接口技术考前密卷02205(含答案)

来源:测品娱乐
2014年10月全国自考微型计算机原理与接口技术考前密卷02205(含答案)

一、单项选择题(C语言程序设计 本大题共6小题,每小题1分,共6分)在每小题列出的四个备选项中只有一个选项是符合题目要求的,请将其代码填写在题后的括号内。错选、多选或未选均无分。 第1题 大写字母‘A’的ASCII码值为65,则字母‘E’的ASCII码是() A. 66 B. 69 C. 70 D. 72

【正确答案】 B 【你的答案】

本题分数 1 分

第2题

【正确答案】 A 【你的答案】

本题分数 1 分

第3题 设a为5,执行下列计算后,b的值不为2的是() A. b=a/2

B. b=6-(--a) C. b=a%2

D. b=a<3?3:2

【正确答案】 C 【你的答案】

本题分数 1 分

第4题 以下集成块型号中不属于单片机型号的是() A. 8096BH B. 80486DX C. 8051AH D. 83C152JC

【正确答案】 B

【你的答案】

本题分数 1 分

第5题 从循环体内某一层跳出,继续执行循环外的语句是() A. break语句 B. return语句 C. continue语句 D. 空语句

【正确答案】 C 【你的答案】

本题分数 1 分

第6题 下列字符列中,可以作为“字符串常量”的是() A. ABC

B. “ABC” C. ‘abc’ D. ‘a’

【正确答案】 B

二、单项选择题(单片机原理与接口技术 本大题共10小题,每小题1分,共10分)在每小题列出

的四个备选项中只有一个选项是符合题目要求的,请将其代码填写在题后的括号内。错选、多选或未选均无分。

第1题 单片机上电或按手动复位键,都可复位,使PC和大多数特殊功能寄存器(SFR)的初值为零。但有一个SFR为07H,它是() A. SP B. ACC C. PSW D. A

【正确答案】 A 【你的答案】

本题分数 1 分

第2题 MCS?51单片机有四个并行口,其中()是真正三态口 A. P0 B. P1 C. P3 D. P2

【正确答案】 A 【你的答案】

本题分数 1 分

第3题 MCS-51系列单片机的下列特殊功能寄存器中,()是堆栈指针寄存器。 A. ACC B. SP C. PSW D. TCON

【正确答案】 B 【你的答案】

本题分数 1 分

第4题 以下各指令中,不属于MCS-51系列的指令的是() A. ADD A,Rn B. ADD Rn,#30H C. ADDC A,30H D. ADD A,@Ri

【正确答案】 B 【你的答案】

本题分数 1 分

第5题 SJMP 指令的跳转范围是() A. -128~+127 B. -127~+128 C. -128~+128 D. 0~256

【正确答案】 A 【你的答案】

本题分数 1 分

第6题 计算机CPU由()构成。 A. 运算器和控制器 B. 运算器和ROM C. RAM和定时器 D. 控制器和译码器

【正确答案】 A 【你的答案】

本题分数 1 分

第7题 8031单片机的定时器1的中断程序入口地址为() A. 001BH B. 0003H C. 000BH D. 0013H

【正确答案】 A 【你的答案】

本题分数 1 分

第8题 F6H是用8位二进制补码表示的十六制数,那么相应的十进制数是() A. 246 B. -10 C. -118 D. -9

【正确答案】 B 【你的答案】

本题分数 1 分

第9题 执行长调用指令LCALL addr16,它的操作是()

A. 保护断点、保护现场(即所用到的寄存器内容入堆栈)及构成目的地址 B. 保护断点和构成目的地址

C. 将子程序地址送PC(构成目的地址) D. 将断点地址进栈保存(保护断点)

【正确答案】 B 【你的答案】

本题分数 1 分

第10题 MCS-51单片机片内RAM中字节地址为0EH的单元,其对应工作寄存器名为() A. R0 B. R1 C. R6 D. R7

【正确答案】 C

三、填空题(C语言程序设计 本大题共4小题,每小题2分,共8分)请在每小题的空格中填上正确

答案。错填、不填均无分。

第1题 以下程序段的输出结果是___。 int x=17,y=26;

printf(“%d”,y/=(x%=6));

【正确答案】 (P28) 5 【你的答案】

本题分数 2 分

你的得分

第2题 以下程序的输出结果是___。 main() {int y=9;

for(;y>0;y--) if(y%3==0)

{printf(“%d”,--y);continue;} }

修改分数

【正确答案】 (P54) 852 【你的答案】

本题分数 2 分

你的得分

第3题 ___

修改分数

【正确答案】 (P34)((x*y)*(x*y))*((-2*x)*(-2*x)*(-2*x)) 【你的答案】

本题分数 2 分

你的得分

修改分数

第4题 设有定义“struct {int a; float b; char c;} abc, *p_abc=&abc;”,则对结构体

成员a的引用方法可以是abc.a和p_abc___a。

【正确答案】 (P85)->

四、改错题(C语言程序设计 本大题共4小题,每小题2分,共8分)每小题只有一处错误或不妥,请指出,并将其改正。

第1题 有一个一维数组,内放10个学生成绩,下列通过一个函数,在主程序中算出平均分

【正确答案】 (P74)【你的答案】

本题分数 2 分

你的得分

第2题 下列程序是让y的值等于19。 int y=1,x,*p,a[]={2,4,6,8,10}; p=a[1];

for(x=0;x<3;x++) y+=*(p+x);

printf(“%d\n”,y); 答:错误: 改正:

修改分数

【正确答案】 (P81)错误:p=a[1];

改正:p=&a[1];

【你的答案】

本题分数 2 分

修改分数

你的得分

第3题 main() {int n ;

float s=1.0; for(n=10;n>1;n--) s=s+1/n;

printf(“%6.1f\n”,s);} 答:错误: 改正: 【正确答案】 (P27)错误:s=s+1/n;

改正:s=s+1.0/n;

【你的答案】

本题分数 2 分

修改分数

你的得分

第4题 程序可以实现对12个整数进行升序冒泡排序。 main()

{int a[12]; int m,n,p; for (m=0;m<=11;m++)

scanf(“%d”,&a[m]); for (m=0;m<=11;m++)

for(n=0;n<11-m;n++)

if(a[n]{p=a[n]; a[n]=a[n+1]; a for (m=0;m<=11;m++)

printf(“%d”,a[m]);} 答:错误: 改正:

【正确答案】 (P62)错误:if (a[n]a[n+1])

[n+1]=p; }

【你的答案】

五、程序阅读题(C语言程序设计 本大题共4小题,每小题4分,共16分)

第1题 main()

{int i,b,c,a[]={1,10,-3,-21,7,13},*p_b,*p_c; b=c=1;p_b=p_c= a; for(i=0;i<6; i++)

{if(b<*(a+i)) {b=*(a+i);p_b=&a;} if(c>*(a+i)) {c=*(a+i); p_c=&a;}}

i=*a;*a=*p_b;*p_b=i;i=*(a+5);*(a+5)=*p_c;*p_c=i; printf(“%d,%d,%d,%d,%d,%d\n”, a[0],a[1],a[2],a[3], a[4], a[5]); }

程序运行结果为:

【正确答案】 (P58)13,10,-3,1,7,-21

[解析]程序定义了一个整型数组,由给它所赋的初值知,该数组有六个元素。程序另定义了三个整型变量i、b、c和两个指针变量p_b、p_c,程 序首先置变量b和c都为1,p_b和p_c都指向数组a 的首元素a[0],接着执行六次循环,循环体由两个if语句。第一个if语句是当 b的值小 于*(a+i)(就是a)时,将*(a+i)的值复制到b,并让p_b

指向a,这是在a中找最大值,将最大值存于b,最大值元素的指针存于指针变量 p_b,第二个if语句是当c的值大于*(a+i)(就是a)时,将*(a+i) 的值复制到c,并让p_c指向a,这是在a中找最小值,将最小值存于 c,最小值元素的指针存于指针变量p_c,循环结束后的前三个语句实现最大元素与a[0]交换。接着三个语句是在已经过前面交换的基础上,将最小元与 a[5]交换。最后程序顺序输出数组a的六个元素。 【你的答案】 本题分数 4 分

你的得分

第2题 #include main()

{char *p1,*p2,str[80]=“one”; p1=“two”; p2=“three”;

strcpy(str+2,strcat(p1+1,p2+2)); printf(“%s\\\\n”,str); }

程序运行结果为:

【正确答案】 (P63)onworee

修改分数

[解析]通过strcat(p1+1,p2+2)函数得到的字符串的起始位置是p1+1,字符串的内容是woree,在strcpy函数中目标位置是str+2,所以e被覆盖。最后的答案是onworee。 【你的答案】

本题分

数 4 分

你的得分

第3题 main() {int a,b,c;

scanf(“%d,%d,%d”,&a,&b,&c); printf{“f()=%d\n”,f(a,b,c)}; }

int max(a,b,c) {int a,b,c; a=aint min(a,b,c) {int a,b,c; a=aint f(a,b,c) {int a,b,c;

{return(max(a,b,c)+min(a,b,c))/2;}}

输入三个数为:90,72,48。程序运行结果为:

【正确答案】 (P68)f()=69 【你的答案】

修改

分数

本题分数 4 分

你的得分

修改分数

第4题 main() {int s;

s=fibonacci(4);

printf(“fibonacci(4)=%d\n”,s);} int fibonacci(n) int n;

{int i,a=1,b=1,s=0; for(i=0;i<n;i++) {s=s+(a+b);

printf(“%4d%4d”,a,b); a=a+b; b=b+a;}

printf(“\n”); return s;}

程序运行结果为:

【正确答案】 (P68)1123581321

fibonacci(4)=54

【你的答案】

六、程序设计题(C语言程序设计 本大题共1小题,共8分)

第1题 将两个两位数的正整数a、b合并形成一个整数放在c中。合并的方式是:将a数的十位和个位数依次放在c数的千位和十位上,b数的十位和个位数依次放在c数 的百位和个位上。例如,当a=45,b=12。调用该函数后,c=4152。

【正确答案】 (P28、68)

void fun(int a,int b,long *c)

{*c=a/10*1000+a%10*10+b/10*100+b%10; }

main()

{int a,b; long c;

printf(“Input a,b:”); scanf(“%d%d”,&a,&b);

fun(a,b,&c);

printf(“The result is: %d\n”, c); }

[解析]根据题意可知,函数fun的功能是将两个两位数的正整数a、b合并形成一个整数放在c中。根据提供的合并方式,取出a的十位数,显然是通 过表达式a/10,而取出a的个位数,是通过表达式a%10。取出b的十位和个位数同理。将一个数字放到千位上,显然是乘1000。而将一个数字放到十位 上是乘10,同理将一个数字放到百位上是乘100。将一个数字放到个位上,直接相加即可。

【你的答案】

七、填空题(单片机原理与接口技术 本大题共8小题,每小题2分,共16分)请在每小题的空格中填上正确答案。错填、不填均无分。

第1题 单片机的汇编语言程序设计中,一共有两条子程序返回指令,即一般子程序返回和中断子程序返回,它们各自的指令分别是___和___。

【正确答案】 (P139)RETRETI 【你的答案】

本题分数 2 分

你的得分

修改分数

第2题 8051单片机的中断源有___个,其中000BH是的入口地址___。

【正确答案】 (P171)5定时器T0 【你的答案】

本题分数 2 分

你的得分

修改分数

第3题 8031单片机中,如希望CPU能响应定时器0和定时器1的中断,而不响应其他中断,其IE寄

存器的内容应为___。

【正确答案】 (P172)8AH或10001010B 【你的答案】

本题分数 2 分

你的得分

第4题 74LS373的功能是___。

【正确答案】 (P198)三态锁存器 【你的答案】

修改分数

本题分数 2 分

你的得分

修改分数

第5题 堆栈区是在___区开辟的一个区域,其数据的存取遵守___的原则。

【正确答案】 (P123)内RAM后进先出 【你的答案】

本题分数 2 分

你的得分

修改分数

第6题 一般说,一条指令有两部分组成即___和___。

【正确答案】 (P117)操作码操作数 【你的答案】

本题分数 2 分

你的得分

修改分数

第7题 MCS-51有5个中断源,有2个中断优先级,优先级由软件填写特殊功能寄存器___加以选择。

【正确答案】 (P174)IP 【你的答案】

本题分数 2 分

你的得分

修改分数

第8题 当程序状态字PSW为(10001001)时,当前工作寄存器组是___组,对应的工作寄存器R1、R7

的地址是___H、___H。

【正确答案】 (P120)1090F

【你的答案】

八、改错题(单片机原理与接口技术 本大题共2小题,每小题2分,共4分)每小题只有一处错误

或不妥,请指出,并将其改正。

第1题

【正确答案】 【你的答案】

本题分数 2 分

你的得分

修改分数

第2题 将外部RAM 0030H单元送内部RAM 30H。 MOVP2,#0 MOVR0,30H MOVXA,@R0 MOV@R0,A 答:错误: 改正:

【正确答案】 (P124)错误:MOVR0,30H

改正:MOVR0,#30H

【你的答案】

九、程序阅读题(单片机原理与接口技术 本大题共2小题,每小题4分,共8分)请阅读下列程序,写出程序运行结果。

第1题

【正确答案】 (P214)【你的答案】

本题分数 4 分

修改分数

你的得分

第2题 执行了下列指令组后,A=,B=。 MOVA,#34H ADDA,#48H MOVB,A DAA

【正确答案】 (P127)82H7CH

【你的答案】

十、程序设计题(单片机原理与接口技术 本大题共1小题,共8分)

第1题 试编写程序完成以内部RAM 30H为首地址的20个数据传送,目的地址为外部RAM 为首地址的区域。

【正确答案】

【你的答案】

十一、应用题(单片机原理与接口技术 本大题共1小题,共8分)

以2000H

第1题

【正确答案】 (P216)①MOVX②DPTR ③0C5H④@DPTR

[解析]本题主要是通过8255来控制定时器,完成分频任务。根据题中要求,可以算得初值=5000 =1388H然后利用MOV DPTR,#7F04给出定时器的低8位地址,再用INC DPTR调整定时器的高8位地址。接下来分别利用

MOVA,#88H

MOVX@DPTR,A 和

MOVA,#13H MOVX@DPTR,A

2段程序完成对定时器的低高8位数据进行装载。 【你的答案】

因篇幅问题不能全部显示,请点此查看更多更全内容