c语言中后缀字母如 d h b l i,2007年4月全国自考(微型计算机原理与接口技术)真题试卷...

一、1.单项选择题

0. 通常使用后缀表明数的各种进制,以下叙述不正确的是(  )

A.后缀B:二进制

B.后缀H:十六进制

C.后缀D:十进制

D.后缀A:八进制

1. 大写字母"A"的ASCII码值为65,则字母"G"的ASCII码是(  )

A.60

B.70

C.71

D.72

2. 以下有关C语言的说法中,正确的叙述是(  )

A.C语言不但具备高级语言特征,还具备部分汇编语言的功能

B.C语言是一种模块化和结构化的程序设计语言,但程序只能有一个函数组成

C.C语言具有多种多样的数据类型,任何其他语言所有的数据类型,C语言都有

D.C什与C语言不兼容,因而用户很难从面向过程的程序设计过渡到面向对象的程序设计

3. 已知float x[20];,则下面表达式正确的是(  )

A.x[20]=x[1]+x[2]

B.x[2]=x[2]+x[3]

C.x[0]=x[-1]+x[1]

D.x[18]=x[20]-x[2]

4. 已知char s1[20]="china",char s2[20]="Beijing",执行语句pine("%s",strcat(s1,s2));后,则在屏幕上显示的内容是(  )

A.China

B.ChinaBeijing

C.Beijing

D.BeijingChina

5. 如果要把数据写入二进制文件"filel.dat"中,打开文件的正确表达是(  )

A.fopen("filel.dat","w")

B.fopen("file1.dat","a")

C.fopen("fiel.dat","rb")

D.fopen("file1.dat","wb")

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

A.ACC

B.SP

C.B

D.PSW

7. 8031单片机片内RAM中4q-2:作寄存器区的地址范围为(  )

A.08-17H

B.20H-2FH

C.60H-7FH

D.00H-1FH

8. 8031单片机访问片外存储器时,其地址总线由并行口提供,分别为(  )

A.P0口——低8位地址,P1口——高8位地址

B.P0口——低8位地址,P2口——高8位地址

C.P0口——高8位地址,P1口——低8位地址

D.P0口——高8位地址,P2口——低8位地址

9. 关于传送指令的性质,以下说法中,不正确的是(  )

A.片内外ROM数据传送,均用MOVC指令

B.片内外RAM数据传送,均用MOVX指令

C.传送指令一般不影响PSW中标志位,只有改变累加器A的值时除外

D.堆栈操作指令和数据交换指令,均属数据传送类指令

10. 执行下列指令组后,(A)的内容为(  )  MOV A,#35H  ANL A,#0FH

A.0FH

B.05H

C.3F

D.35H

11. 执行长调用指令LCALL addr16,它的操作是(  )

A.将断点地址进栈保存(保护断点)

B.将子程序地址送PC(构成目的地址)

C.保护断点和构成目的地址

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

12. 在地址为4400H开始存放无条件转移指令SJMP 30H,执行该指令后,(PC)的内容为(  )

A.4430H

B.4370H

C.43D2H

D.4432H

13. 8031单片机定时器TO的中断服务程序入口地址是(  )

A.0000H

B.0003H

C.000BH

D.0013H

14. RS-232接口表示逻辑1时,信号电平为(  )

A.-12V

B.-1V

C.5V

D.12V

15. 8K字节的EPROM 2764,地址线的根数应为(  )

A.13根

B.14根

C.15根

D.16根

二、2.填空题

0. 已知y=1,执行语句x=y++;后,则x的值是______。

1. 表达式胁10&&!(60<20)的值是____________。

2. 以下程序的功能是判断输入的整数是否是素数,试在程序空白处填上适当的内容。

Main()

{

int m,i;

scan("%d",&m);

for(i=2;i<m;i++)

if(m%i==0)

______;

if(i<m)

prind("%d是素数 ",m);

else

prind("%d不是素数 ,",m);

}

3. 以下程序的功能是在100个随机数中求其中最大值,试在程序空白处填上适当的内容。

WSnclude"stdlib.h"

main()

{

int i,max,a[100];

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

a[i]=rand();

max=a[0];

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

if(______)

max=a[i];

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

}

4. 8051单片机内部有两个______位定时器/计数器,可完成______功能。

5. 片内RAM21 H单元的最低位(D0)的位地址为_______,累加器ACC(直接地址为EOH)的最高位D7的位地址为______。

6. 指令MOV A,#41H,其源操作数的寻址方式为______。指令MOV A,41H其源操作数的寻址方式为______。

7. MCS-51单片机中的堆栈是在______区中开辟的一个区域,其数据的存取遵守______的原则。

8. 已知堆栈指针内容(SP)=30H,执行下列指令后,

MOV  30H,#16H

POP  40H

则(SP)=______;(40H)=______。

9. 8031单片机时钟频率12MHz,如将T1设定为方式2,定时时间200μS,则TH1应为______。

10. 8031单片机若要求将外中断1和定时器0设置成高优先级,其余为低优先级,所用的字节操作指令为______。

IP寄存器各位内容

e5f2045a3da11b6e2aea4c2f23208510.png

11. EPROM中的信息可采用______照射的方法擦除。

三、3.改错题

0. main()

{

int r=5;

float s;

s=3.14*r*r;

prinff("s=%d ",s)

}

错误 ______

改正 ______

1. 以下程序是计算分段函数的值

d530d8603e22474aedac456c0b1e0ec4.png

main()

{

float x,y;

scanf("%f",&x);

if(x<=0)

y=x*x;

else if(0<x<=1)

y=1/x;

else y=2*x;

printf("%f ",y);

}

错误 ______

改正 ______

2. #include<stdio.h>

#include<string.h>

main()

{char a[10],*pa="012345678";

a=pa;

printf("%s ",a);

}

错误______

改正 ______

3. # include "stdio.h"

siruct student

{int number;

char name[10]=" ";

};

main()

{stmct student s;

s.number=12345;

printf("%d ",s.number);

}

错误 ______

改正 ______

四、4.程序阅读题

0. 写出程序运行结果

main()

{

int a,b,c;

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

while(o!=0)

{

c=a%b;

a=b;

b=c;

}

prine("运行结果是:%d ",a);

}

运行时变量a、变量b的输入值分别为:24 9,则程序运行结果是:______

1. main()

{

int a[5],s,i;

for(i=0,s=0;i<5;i++)

{

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

s=s+a[i];

}

s=s/5;

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

if(a[i]>s)

printf("%6d",a[i]);

prind("\n");

}

程序运行时输入的5个数为:55 60 65 70 75程序运行结果是:______

2. #include<stdio.h>

#define N 10

int table[N*N];

void muld()

{int i,j;

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

{for(j=0;j<N;++j)

{table[i*N+j]=i*j;}

}

}

void disPlay()

{int i,j;

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

{for(j=1;j<N;++j)

{printf("%3d",table[i*N+j];}

printf(" ");

}

}

void main()

{muld();

display();

}

答:______

3. #include"stdio.h"

void main()

{int x=7,y=90,z[10]={0,11,22,33,44,55,66,77,88,99};

iht *p1=&x,*p2=z,*p3=&z[5];

printf("%d%d%d%d ",*p1,*p2,*p3,*(p3+1));

++p2;p3++;

printf("%d%d%d ",*p1,*p2,*p3);

p2=z+7;p3=Z+8;

printf("%d%d%d ",*p1,*p2,*p3);

printf("%d ",*(p1=p2-5));

}

答:______

五、5.程序设计题

0. 某一农场有一头刚出生的小母牛,这头母牛自第4年起每年生一头母牛,假设所有的母牛都健康地活着,而且都是从第4年起每年生一头母牛,请计算到第n(n<30)年该农场共有多少头母牛?要求n在程序执行时输入(根据提示编写funcow函数)。

提示:农场各年的牛数存放于名为COW的数组中,则:

cow[0]=0, cow[1]=1, cow[2]=1, cow[3]=1,

cow[n]=cow[n-1]+cow[n-3]。

#include"stdio.h"

void main()

{int fun cow(int);

int n;

printf("请输入年数(大于3,小于30):");

scanf("%d",&n);

if(n>3&&n<30)

{printf(" 第%d年共有%d头母牛。 ",n,funcow(n));}

else

{printf(输入年数不在限定的范围内!”);}

}

/*请根据提示编写。funcow函数,funcow函数定义如下:*/

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

0. 把A中的补码数转换为原码,仍存于A中的子程序如下:

TR:JNB ACC.7,DONE

CPL A

INC A

ANL A,#80H

DONE:RET

错误 ______

改正 ______

1. 8031单片机时钟频率为12MHz,TO方式1,50mS定时的初始化程序如下:

MOVTMOD,#10H

MOV TH0,#3CH

MOV TL0,#0B0H

SETB TR0

MOV IE,#82H

IE寄存器各位内容:

bf0ba836868409714ff0453e190584d3.png

错误 ______

改正 ______

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

0. 已知:(30H)=23H,(31H)=13H,(40H)=72H,(41H)=08H

执行:

MOV A,30H

ADD A,40H

DA  A

MOV 30H,A

MOV A,31H

ADDC A,41H

DA  A

MOV 31H,A

则结果为:(30H)=______H,(31H)=______H,(40H)=______H,(CY)=______。

1. 如8031单片机时钟频率为12MHz,运行以下程序后,P1.0口将产生连续的、频率为______Hz的______波。

ORG 0000H

LIMP BEG

ORG 001BH

MOV TH1,#9EH

MOV TL1,#58H

CPL P1.0

RETI

BEG:MOV FMOD,#10H

MOV TH1,#9EH

MOV TL1,#58H

SETB TR1

MOV IE,#88H

SJMP$

IE寄存器各位内容:

ed3c3a61ef31a077f3049abbc289d2ba.png

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

0. 编写两个4字节无符号数相减的程序。被减数存放在片内RAM 30H开始的数据区,减数存放在40H开始的数据区(均为低位在前),差值存回30H开始的存储单元,试补全下列程序。

MOV R0,#30H

MOV R1,#40H

MOV R3,#04H

SJMP $

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

0. 如题43图所示,某8031单片机实验装置中的数模转换部分的电路,P2.7连接DAC0832的

a45f9900e92ebae7075197c6c0a3c081.png端,P2.6~P2.0作为其他芯片的片选线(选DAC0832时必须为1)。以下程序段用查表的方式,在Aout端产生一正弦波(每个周期有40个数据)。请填满程序中的缺少部分。

2fd058bb1424f9a8656b9c32a9a63c53.png  

题43图

MOV P2,* (1) H

LP0:MOV R4,#40

MOV DPTR,#(2)

LP1:CLR A

MOVC A, (3)

(4) @R0,A

ACALL DELAY ; 延时子程序

INC (5)

DJNZ R4, (6)

SJMP (7)

DELAY:MOV R6,#80H

DEL1:DJNZ R6,DEL1

(8)

TABL:DB 80H,8CH,98H,OA5H,………

DB………

DB 5AH,67H,73H,7FH

(1)______;(2)______;

(3)______;(4)______;

(5)______;(6)______;

(7)______;(8)______。

  • 0
    点赞
  • 0
    评论
  • 0
    收藏
  • 一键三连
    一键三连
  • 扫一扫,分享海报

表情包
插入表情
评论将由博主筛选后显示,对所有人可见 | 还能输入1000个字符
©️2021 CSDN 皮肤主题: 数字20 设计师:CSDN官方博客 返回首页
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值