c语言表达式8大于6大于3值,全国自考(微型计算机原理与接口技术)模拟试卷7...

一、1.单项选择题

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

A.8051

B.8051AH

C.8094BH

D.8052BH

1. 字符"H"的ASCII码值是(  )

A.72

B.73

C.74

D.75

2. 为表示关系x大于等于y且大于等于z,C语言表达式是(  )

A.(x>=y)&&(y>=z)

B.(x>=y)AND(y>=z)

C.(x>=y)&&(x>=z)

D.(x>=y)&(y>=z)

3. C语言中while和do-while循环的主要区别是(  )

A.do-while的循环体至少无条件执行一次

B.while的循环控制条件比do-while的循环控制条件严格

C.do-while允许从外部转到循环体内

D.do-while循环体不能是复合语句

4. 下面程序段执行的结果是(  )  char*p="abcde";p+=3;printf("%d",p);

A.cde

B.de

C.bcde

D.c

5. fopen打开新的二进制文件,既能读又能写的方式字符串是(  )

A.ab+

B.rb+

C.wb+

D.ab

6. 对于8031来说,EA脚总是(  )

A.接地

B.接电源

C.悬空

D.不用

7. 下面不是运算器完成的主要任务是(  )

A.算术运算

B.位运算

C.数据处理

D.指令译码

8. 不是伪指令关键字的是(  )

A.ORG

B.START

C.EQU

D.DATA

9. 8051/8031型单片机提供中断源的个数是(  )

A.3

B.4

C.6

D.5

10. MCS-51单片机I/O的数据是(  )

A.同步传输

B.异步传输

C.随机传输

D.实时传输

11. 共阴极显示管点亮时输入电平是(  )

A.低电平

B.低电压

C.低阻态

D.高电平

12. 单片机中PUSH和POP指令常用来(  )

A.保护断点,恢复断点

B.保护现场

C.保护现场,恢复现场

D.保护断点

13. MCS-51寻址方式,操作数Ri加前缀“@”的寻址方式是(  )

A.寄存器间接寻址

B.寄存器寻址

C.基址加变址寻址

D.立即寻址

14. 当定时器T0发出中断请求后,中断响应的条件是(  )

A.SETB ET0

B.SETB EX0

C.MOV IE,#82H

D.MOV IE,#61H

15. 8051单片机串行口用工作方式0时(  )

A.数据从RDX串行输入,从TXD串行输出

B.数据从RDX串行输出,从TXD串行输入

C.数据从RDX串行输入或输出,同步信号从TXD输出

D.数据从TXD串行输入或输出,同步信号从RXD输出

二、2.填空题

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

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

2. 以下程序是求数组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);}

}

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

三、3.改错题

0. #include"stdio.h"

void fact(int k)

{

int i,s;

s=s*i:

return(s);

}

错误:______

改正:______

1. 运行以下程序的结果是321。

main()

{int x;

x=3;

do

{printf("%d",x--);

}while(!x);}

错误:______

改正:______

2. 程序输入1,输出One,输入其他,输出Other。

main()

{scanf("%d",&a);

if(a=1)printf("One ");

else printf("Other ");

}

错误:______

改正:______

3. main()

{int n;

float s=1.0;

for(n=10;n>1;n--)

s=s+1/n;

printf("%6.1f ",s);

}

错误:______

改正:______

四、4.程序阅读题

0. main()

{inta[]={2,4,6},*ptr=&a[0],x=8,y,z;

for(y=0;y<3;y++)

{z=(*(ptr+y)<y)?*(ptr+y):x;

printf("%d ",z);}

}

程序运行结果是:_________

1. main()

{int n1,n2;

scanf("%d",&n2);

while(n2 !=0)

{n1=n2%10;

n2=n2/10;

printf("%d",n1);}

}

程序运行时从键盘上输入1298<回车>,则输出结果是:_________

2. main()

{char n;

scanf("%e",&n);

switch(++n)

{default:printf("error");break;

ease"a":case"A":ease"b":case"B":printf("good");break;

case"c":case"C":printf("pass");

case"d":ease"D":printf("warn");}

}

程序运行时从键盘输入字母c<回车>,则运行结果是:_________

3. #include

main()

{int i,j,n;

scanf("%d",&n);

for(i=n;i<5;i++)

for(j=2;j<=i;j++)putchar("#");

}

程序运行时从键盘输入1<回车>,则运行结果是:_________

五、5.程序设计题

0. 请编一个函数int fun(float s[ ],int n),它的功能是:求高于平均分的人数,并作为函数值返回。数组s中存放n位学生的成绩。数组s的值由主函数从键盘读入,用-1来结束输入。

六、6.填空题-单片机原理与接口技术

0. MCS-51堆栈寄存器SP是______位寄存器,存放______。

1. MCS-51的P0~P3口中,______为真正的双向口,______为准双向口。

2. 执行完下列段指令后(A)=______,(B)=______

MOV  A,#08H

MOV  B,#45H

PUSH  A

PUSH  B

POP  A

POP  B

3. 下列程序段执行后,(7EH)=______,(7FH)=______。

MOV  R0,#7EH

MOV  7EH,#0FFH

MOV  7FH,#40H

INC  @R0

INC  R0

INC  @R0

4. 若IT1=0,当引脚______为低电平的时候,INT0的中断标志位______才能复位。

5. 片内RAM可进行位寻址的空间位地址范围是______。

6. MCS-51指令系统中direct表示的含义是:______。

7. 如果(P0)=65H,当执行下列程序段后执行后(P0)=______。

CPL   P0.2

SETB  C

MOV   P0.4,C

七、7.改错题-单片机原理与接口技术

0. 已知在累加器A中存放一个BCD(0~9),下面子程序实现一个查平方表。

SQR:  INC A

MOVC A,A+PC

RET

TAB:  DB 0,1,4,9,16

DB 25,36,49,64,81

错误:______

改正:______

1. 下列指令组要完成重复执行LOOP开始的程序20次。

MOV A,#14H

L00P:MOV R1,#01H

DEC A

JNC LOOP

错误:______

改正:______

八、8.程序阅读题-单片机原理与接口技术

0. 以下是8051单片机定时/计数器的初始化程序(设单片机晶振频率是6MHz):T0作为定时,定时时间为______,T1作为计数,记满______溢出。

ORG 0000H

LJMP 0050H

ORG 0050H

MOV TMOD,#20H

MOV TH0,#63H

MOV TL0,#18H

MOV TH1,#9CH

MOV TL,#9CH

SETB EA

SETB TR0

SETB TR1

SJMP  $

1. 下面程序是将片内RAM______开始的单元内10个二进制数,找出其中最大值并存于单元中。

START: MOV R0,#40H

MOV R7,#09H

MOV A,@R0

LOOP: INC  R0

MOV 30H,@R0

CJNE A,30H,NEXT

NEXT: JNC  BIE1

MOV A,30H

BIE1: DJNZ R7,LOOP

MOV 50H,A

RET

九、9.程序设计题-单片机原理与接口技术

0. 用89C51的P1口,监测某一按键开关,使每按键一次,输出一个正脉冲(脉宽随意)。

十、10.微型计算机原理与接口技术-应用题

0. 下面程序是动态显示程序,请分析程序完成说明。

MOV DPTR,#4400H

MOV A,#03H

MOVX @DPTR,A

SETB RS0  ;使用第1组工作寄存器

MOV R2,#08H

MOV R0,#30H

CLR  A

L1:  MOV @R0,A

INC  R0

INC  A

DJNZ R2,L1

DISP: MOV R0,#30H  ;显示缓冲区首址送R0

MOV R1,#00H

MOV R2,#08H  ;R2中的08H表示①

MOV R3,#7FH  ;选中最右端LED

DISP1: MOV A,@R0  ;第2次执行时A=②

MOV DPTR,#TAB  ;指向字形表首址

MOVC A,@A+DPTR  ;第2次执行时A=③

MOV DPTR,#4402H  ;4402H表示④

MOVX @DPTR,A  ;该条指令的作用是⑤

MOV A,R3  ;第2次执行时A=⑥

MOV DPTR,#4401H  ;指向位选口

MOVX @DPTR,A  ;位码送PA口

DJNZ R1,$  ;

DJNZ R1,$  ;该指令的作用是⑦

RR A  ;位选字移位

MOV R3,A  ;移位后的位选字送R3

INC R0  ;在本程序中,R0最大取值为⑧

MOV A,@R0  ;缓冲区数据送A

DJNZ R2,DISP1  ;未扫描完,继续循环

SJMP DISP

TAB:  DB 3FH,06H,5BH,4FH,66H;共阴极LED字形表

DB 6DH,7DH,07H,7FH,6FH

答:①______;②______;③______;④______;

⑤______;⑥______;⑦______;⑧______。

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值