C语言编程实现地址累加器,2012年微型计算机原理与接口技术自考题模拟(8)

2012年微型计算机原理与接口技术自考题模拟(8):2012年微型计算机原理与接口技术自考题模拟。本试卷总分100分;共有10类型题目

一、单项选择题 ,每小题1分,共16分,在每小题列出的四个备选项中只有一个选项是符合题目要求的,请将其代码填写在题后的括号内。

1.以下集成块型号中属于8位系列单片机型号的是(    )

A.80C196MC

B.80C196KR

C.80196KC

D.83C51FC

2.以下说法不正确的是(    )

A.C语言具有一些汇编语言的功能

B.C语言是面向对象的程序设计语言

C.C语言具有多种存储类型

D.C语言具有预处理功能

3.int a=30,b=20,c=10,d;d=a>b>c;则d的值是(    )

A.10

B.1

C.30

D.0

4.以下正确的函数定义形式是(    )

A.double fun(int x;int y)

B.double fun(int x,int y)

C.double fun(int x,int y);

D.double fun(int x,y);

5.对于循环for(i=1;0;i++)可以认为是(    )

A.逻辑错误

B.语法错误

C.不进入循环

D.死循环

6.fscanf函数的正确调用形式是(    )

A.fscanf(fp,格式字符串,输出列表);

B.fscanf(格式字符串,输出列表,fp);

C.fscanf(格式字符串,文件指针,输出列表);

D.fscanf(文件指针,格式字符串,变量地址列表);

7.MCS-51布尔处理机的存储空间指的是(    )

A.00H~0FH

B.10H~1FH

C.20H~2FH

D.30H~3FH

8.不影响程序状态字.PSW的指令关键字是(    )

A.ADD

B.ADDC

C.SUBB

D.RRC

9.下面不属于中断处理过程的是(    )

A.保护现场与恢复现场

B.开中断与关中断

C.中断向量

D.中断服务与中断返回

10.MCS-51单片机的定时器/计数器工作方式1是(    )

A.16位计数器结构

B.8位计数器结构

C.13位计数器结构

D.2个8位计数器结构

11.用户可以直接使用的8031单片机I/O接口是(    )

A.P0

B.P2

C.P1

D.P3

12.逻辑“异或”操作指令的助记符是(    )

A.ORL

B.ANL

C.XRL

D.MOV

13.短转移指令的助记符是(    )

A.AJMP

B.ANL

C.SJMP

D.LJMP

14.执行指令MOVX A,@DPTR时,、脚的电平是(    )

A.高电平,高电平

B.低电平,高电平

C.高电平,低电平

D.低电平,低电平

15.执行如下三条指令后,30H单元的内容是(    )

MOV R1,#30H

MOV 40H,#0EH

MOV @R1,40H

A.40H

B.0EH

C.30H

D.FFH

16.下列指令判断若累加器A的内容不为0就转LP的是(    )

A.JB A,LP

B.JNZ A,LP

C.JZ LP

D.CJNE A,#0,LP

二、填空题每小题2分,共8分请在每小题的空格中填上正确答案。

17.intx=12,n=5;则表达式x%=(n%=2)的值是______。

18.当a=5,b=4,c=2时,表达式a>b!=c的值是______。

19.以下程序是求数组a中偶数的个数和偶数的平均值。请填空。

main()

{int a[10]={1,15,16,18,14,17,24,23,12};

int k,i,j;float ave;

for(k=i=j=0;j<10;j++)

{if(a[j]%2!=0)continue;

i+=______;

k++;}

if(k!=0){ave=i/j;printf("%d,%f ",k,ave);}

}

20.下列程序中,函数fun的功能是:根据整型形参m的值,计算如下公式的值:t=1-1/(2×2)-1/(3×3)-…-1/(m×m)请填空。

#include<conio.h>

#include<stdio.h>

double fun(int m)

{double y=1.0;int i;

for(______)

y-=1.0/(i*i);

return(y);

}

main()

{int n=5;

printf(" The result is%1f ",fun(n));}

三、改错题每小题2分,共8分每小题只有一处错误或不妥。请指出。并将其改正。

21.#include"stdio.h"

main()

{int a,b;

scanf("%d,%d"a,b);

printf("%d %d ",a,b);

}

错误:______

改正:______

22.以下程序是给数组a所有元素赋值。

main()

{int a[10],i;

for(i=1;i<10;i++)

scanf("%d",&a[i]);}

错误:______

改正:______

23.程序的功能是计算1~100之间的奇数和与偶数和。

main()

{intsum1=0,sum2=0,a;

for(a=1;a<=100;a++)

if(a%2=0)sum1+ =a;

else sum2+ =a;

printf("%d,%d",sum1,sum2);

}

错误:______

改正:______

24.下面程序是求1+2+3……+100的和。

main()

{int sum,k;

sum=0;k=1;

while(k<=100)

sum=sum+k;k++;

printf("sum=%d ",sum);}

错误:______

改正:______

四、程序阅读题每小题2分,共8分请阅读下列程序。写出程序运行结果。

25.main()

{inta[]={1,2,3,4,5,6,7,8,9,10},s=0,i;

for(i=0;i<10;i++)

if(a[i]%2==0)s=s+a[i];

printf("s=%d",s);

}

程序运行结果是:______

26.main()

{int k,p;

int s[]={1,-9,7,2,-10,3};

for(p=0,k=p;p<6;p++)

if(s[p]>s[k])k=p;

printf("%d ",k);

}

程序运行结果是:______

27.#include<stdio.h>

main()

{inta[]={1,2,3,4},i,j,s=0;

j=1;

for(i=3;i>=0;i--){s=s+a[i]*j;j=j*10;}

printf("s=%d ",s);

}

程序运行结果是:______

28.#include<stdio.h>

main()

{int a[]={0,2,5,8,12,15,23,35,60,65};

intx=15,i,n=10,m;

i=n/2+1;m=n/2;

while(m!=0)

{if(x<a[i]){i=im/2-1;m=m/2;}

elseif(x>a[i]){i=i+m/2+1;m=m/2;}

else break;}

printf("place=%d",i+1);

}

程序运行结果是:_____

五、程序设计题每小题1分,共5分

29.编程序对输入的1000以下的整数,求出其相应的个位数、十位数和百位数。

六、填空题每小题2分,共16分请在每小题的空格中填上正确答案。

30.MCS-51系列单片机有40个引脚其中:______为时钟引脚、______为复位引脚。

31.MCS-51系列单片机P0和P1口,当既作输入口又作______时,在输出转输入时应先给端口写入______然后再读取。

32.数码管要显示字形“5”,则______、c、d、f、g段亮,______、e段灭。

33.MCS-51系列单片机内设有______个可编程的______位定时器/计数器。

34.MCS-51系列单片机片内数据存储器工作寄存器区32个字节被均匀地分为4个组:第0组工作寄存器,地址为______;第1组工作寄存器,地址为______;第2组工作寄存器,地址为10H~17H;第3组工作寄存器,地址为18H~1FHH。

35.当定时/计数器工作方式寄存器______中的功能选择位为0时,工作于内部定时方式。

36.串行控制寄存器SCON的单元地址是______。

37.PCON寄存器中与串行通信有关的只有D7位(SMOD),该位为波特率倍增位。当SMOD=______时,串行口波特率增加一倍。

七、改错题每小题2分,共4分每小题只有一处错误或不妥,请指出,并将其改正。

38.下面程序段是将ROM2000H单元的内容送R1。

MOV#DPTR,#2000H

CLR A

MOVC A,@A+DPTR

MOV R1,A

错误:______

改正:______

39.下面程序段是将外部RAM30H单元的内容送内部RAM20H单元。

MOV R1,#30H

MOVX A,@R1

MOV 20H,ACC

错误:______

改正:______

八、程序阅读题,每小题5分,共10分请阅读下列程序,写出程序运行结果。

40.下面程序是将片外RAM 2000H开始的单元中______字节的数据,传送到片内RAM______开始的单元中去。

MAIN:MOV DPTR,#2000H

MOV R1,#20H

MOV R0,#05H

LOOP:MOVX A,@DPTR

MOV @R1,A

INC DPTR

INC R1

DJNZ R0,LOOP

RET

41.下面程序是对8255进行初始化,使其A口按方式0______,B口按方式0输出,C口上半部按方式0______,C口下半部按方式1输入。

MOV DPTR,#7FFFH

MOV A,#95H

MOVX @DPTR,A

九、程序设计题,共5分

42.编程查找在内部RAM的30H~3FH单元中出现0AH的次数,并将查找的结果存入50H单元。

十、应用题,共20分

43.编程实现在P1.0引脚接一驱动放大电路驱动扬声器,利用T1产生1000Hz的音频信号从扬声器输出。设fosc=12MHz。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值