《[自学考试密押题库与答案解析]微型计算机原理与接口技术自考题模拟2》由会员分享,可在线阅读,更多相关《[自学考试密押题库与答案解析]微型计算机原理与接口技术自考题模拟2(20页珍藏版)》请在金锄头文库上搜索。
1、自学考试密押题库与答案解析微型计算机原理与接口技术自考题模拟2自学考试密押题库与答案解析微型计算机原理与接口技术自考题模拟2微型计算机原理与接口技术自考题模拟2一、单项选择题在每小题列出的四个备选项中只有一个选项是符合题目要求的。问题:1. 以下集成块型号中不属于MCS-96系列单片机型号的是A.8095BHB.83C51FBC.80C198D.80C196KB答案:B问题:2. 用8位(bit)二进制能够表示的无符号数的范围是A.253B.254C.255D.256答案:D解析 28=256。问题:3. 当x为大于1的奇数时,值为0的表达式是A.x%2=1B.x%2=0C.x%2!=0D.x
2、/2答案:B解析 x为奇数除2等于1,不等于0,所以x%2=0为0。问题:4. 若inti,j;则for(i=j=0;i10j8;i+,j+ =3)控制的循环体执行的次数是A.9B.8C.2D.3答案:D解析 j=0,3,6时进入循环。问题:5. 若定义char s10;不表示s1的地址的是A.s+1B.s+C.s0+1D.s1答案:B解析 数组名是常量,不能s+。问题:6. 对以下定义的表述中,正确的是 struct node int num;char name10;stud; A.stud是一个结构体变量B.stud是一个结构体类型C.node是一个结构体数据D.node是一个结构体变量答
3、案:A解析 node结构体变量。问题:7. MCS-51内部RAM字节数是A.128B.256C.107D.4K答案:B问题:8. 带进位的循环移位指令是A.RLB.RRC.CLRD.RLC答案:D问题:9. 下面不是中断响应条件的是A.CPU处于开中断状态B.低级中断源C.高级中断源D.一条指令执行完毕答案:B解析 当系统中断时不响应低级中断源。问题:10. 8051定时器/计数器T0工作方式0和方式1的区别是A.前者是16位后者是13位B.前者是16位后者是8位C.前者是13位后者是8位D.前者是13位后者是16位答案:D问题:11. 协调CPU与外围设备之间的数据传送的是A.三态门B.锁
4、存器C.缓冲器D.寄存器答案:C问题:12. MCS-51的程序计数器PC为16位计数器,因此其寻址范围是A.8KB.16KC.32KD.64K答案:D解析 216/1024=64K。问题:13. 在扩展系统中,能够提供地址信号的高8位的端口是A.P0口B.P1口C.P2口D.P3口答案:C问题:14. 在堆栈中压入一个数据时A.先压栈,再令SP+1B.先令SP+1,再压栈C.先压栈,再令SP-1D.先令SP-1,再压栈答案:B问题:15. 8031的外部程序存储器常采用的芯片是A.2764B.8255C.74LS06D.2114答案:A问题:16. 共阴极LED数码管显示字符”2”的段码是A
5、.02HB.FEHC.5BHD.A4H答案:C二、填空题问题:1. 若int s=6;则表达式s%2+(s+1)%2的值是_。答案:1解析 6除2余0,7除2余1,0+1=1。问题:2. 若a=5,b=2,c=1,则表达式a-bc|b=c的值是_。答案:0解析 先算术,后逻辑,再比较运算。问题:3. 鸡兔共有30只,脚共有90个,下面程序是计算鸡兔各有多少只。请填空。 main() int x,y; for(x=1:x=29:x+) y=30-x; if(_)printf(%d,%dn,x,y); 答案:2*x+4*y= =90问题:4. 输入两个整数,n1,n2(要求n1n2),统计两整数范
6、围内的素数的个数。请填空。 #includemathh #includestdioh int prime(int x) int k; for(k=2;k=sqrt(x);k+) if(x%k=0)return(0); return(1) main() int a,b,j,n=0; printf(n请输入两个数:); scanf(%d,%d,a,b); if(ab)_ for(j=a;j=b,j+) if(prime(j)n+; printf(a=%4d,b=%4d,n=%4dna,b,n); 答案:j=a;a=b;b=j解析 注意循环条件。三、改错题每小题只有一处错误或不妥。请指出。并将其改正
7、。问题:1. main() int x=1;y; y=x+: printf(y=%d,y); int z; z=+x: printf(z=%dn,z); 错误:_ 改正:_ 答案:错误:int x=1;y; 改正:int x=1,y;解析 申明变量时同类型变量名间用,隔开。 问题:2. main() int s,i; for(s=0,i=1;i3;i+,s+ =i) printf(%dn,s); 错误:_ 改正:_ 答案:错误:printf(%dn,s); 改正:将其修改为printf(%dn,s);解析 printf函数的一般形式:printf(格式控制字符串,输出数据表列);而s为对象地址
8、。 问题:3. int ff(int n) static int f=1; f=f*n: return f; main() int i; for(i=1;i=5;i+); printf(%dn,ff(i); 错误:_ 改正:_ 答案:错误:for(i=1;i=5;i+); 改正:将其修改为for(i=1;i=5;i+)解析 for语句形式:for(表达式1;表达式2;表达式3)循环语句s; 问题:4. 下面程序的输入数据的形式是Input number:4.5 2回车 main() int a;float f; printf(nInput number:); scanf(%f,%d,f,a);
9、 printf(nf=%f,a=%dn”,f,a); 错误:_ 改正:_ 答案:错误:scanf(%f,%d,f,a); 改正:将其修改为scanf(%f%d,f,a);解析 scanf函数的一般形式为:scanf(格式控制字符串,输入对象地址表列); 四、程序阅读题请阅读下列程序,写出程序运行结果。问题:1. #includestdio.h main() int y; for(y=5;y0;y-) if(y%2=0)continue; printf(%d,y); 程序运行结果是:_ 答案:531解析 y=5,3,1时循环输出。continue;语句结束本次循环。问题:2. #includes
10、tdio.h int main() int i,n; double fact; scanf(%d,n); fact=1; for(i=1;i=n;i+) fact* =i: printf(%.0fn,fact); 程序运行时输入5回车,则程序运行结果是:_ 答案:120解析 12345=120问题:3. #includestdio.h main() float a,b scanf(%f,a); if(a10.0)b=1.0/2; elseif(a0.5)(a!=2.0)b=1.0/(a+2.0); else if(a10.0)b=1.0/2; else b=10.0; printf(%fn,a
11、); 程序运行时输入2.0回车,则程序的输出结果是:_ 答案:0.500000解析 注意嵌套条件语句。问题:4. #includestdio.h main() char c; int v0=0,v1=0,v2=0; do switch(c=getchar() casea: casee: casei: caseo: caseu:v1+ =1: default:v0+ =1;v2+ =1; while(c!=n); printf(v0=%d,v1=%d,v2=%dn”,v0,v1,v2); 程序运行时,从键盘输入ADescriptor回车,则程序的运行结果是:_ 答案:v0=12,v1=3,v2=12解析 当c=A,D,s,c,r,p,t,r,n时,v0和v2共加9次,对应c=e,i,o时v1加3次,v0和v2加3次。所以,v0=9+3=12,v2=9+3=12,v1=3。五、程序设计题问题:1. 编制程序,输入n个整数(n从键盘输入,n0),输出它们的偶数和。答案:#includestdio.h void main() int i,n,x,sum=0; scanf(%d,n)