全国高等教育自学考试微型计算机原理与接口技术试题

一、单项选择题(本大题共21小题,每小题1分,共21分)

全国高等教育自学考试微型计算机原理与接口技术试题

在每小题列出的四个备选项中只有一个是符合题目要求的,请将其代码填写在题后的括号内,2004年4月全国高等教育自学考试微型计算机原理与接口技术试题。错选、多选或未选均无分。

()

{ int x,y;

x=y=1;

y=++x;

printf(″%d,%d″,x,y);

}

程序运行结果为( )

A.2,2 B.1,2 C.2,1 D.1,1

()

{

int x=5,y=3,z=1;

printf(″%d″,x>y0);

}

程序运行结果为( )

A.1 B.3 C.5 D.0

()

{ int k=10;

while(k= =0)

{k=k-1;

printf(“k=%d”,k);}

}

程序中循环体执行的情况是( )

A.执行10次 B. while构成无限循环

C.一次也不执行 D.执行一次

4.文件中依次存放0-9十个字符( )

#include“ stdio.h”

main()

{FILE*p;

int i;

char c;

p=fopen(“”,“r”);

for(i=0; ib?a=1;b=0:a+b;

printf(“c=%f”,c);

}

()

{ int a,*p;

a=20;

p=a;

printf(“a=%d”,*p);

}

()

{struct student

{char name;

int age;

float score;

}s,t, *p;

p=

scanf(“%s”,);

scanf(“%d”,

scanf(“%f”,

e=*p->score;

printf(“%f”,e);

}

26.下列指令组,要完成当(A)≤80H时,转去执行2800H开始的程序,当(A)>80H时,执行3700H开始的`程序。请找出错误,并改正之。

CJNE A, #80H, NEXT

TEN: LJMP?2800H

NEXT: JNC?TEN

/p>

27.下列子程序欲将累加器A中的原码表示的8位带符号二进制数变为补码形式仍存于A中,自考试题《2004年4月全国高等教育自学考试微型计算机原理与接口技术试题》。

请找出错误,并改正之。

COPL: JNB?ACC.7, DONE

CPL?A

INC?A

ORL?A,#80H

DONE: SJMP DONE

三、填空题(本大题共15小题,每小题2分,共30分。)

请在每小题的空格中填上正确答案。错填、不填均无分。

28.以下程序的功能是在输入的一组正整数中找出其中的最大者,若输入的数值为0,程序结束。

main()

{int a,max=0;

scanf(“%d”

while(a)

{if(________)max=a;

scanf(“%d”,}

printf(“%d”,max);

}

29.以下程序是计算s=1*2*3*4*5的值

main()

{ int k,s=1;

for(k=1;_______;k++)

s=s*k;

printf(“s=%d”,s);

}

30.下列程序的功能是:若数组元素的值为偶数则置0,奇数保持不变。

main()

{int ad,i;

for(i=0;i0)return n*f(n-1);

else return 1;

}

main()

{ int k;

k=f(5);

printf(“k=f(5)=%d”,k);

}

程序运行结果是:

45.阅读下列程序,说明程序的功能

MOV DPL, #00H

MOV R1, #20H

MOV R2, #30H

MOV R0, #50

LOOP: MOV DPH, R1

MOVX A, @DPTR

MOV DPH, R2

MOVX @DPTR, A

INC DPTR

DJNZ R0, LOOP

HERE: SJMP HERE

46.见右图,通过8031单片机的P1口接8只发光二极管,为L1~L8.

读如下程序后回答问题

ORG 0000H?

LJMP 0200H

ORG 0200H

START: MOV A, #80H

LOOP: MOV P1, A

LCALL D2S;调用延时2秒子程序

RR A; A循环右移一位

SJMP LOOP

D2S: ……; 子程序略

RET

END

(1)第一次调用子程序时,哪个发光二极管亮?

(2)第二次调用子程序时,哪个发光二极管亮?

(3)第八次调用子程序时,哪个发光二极管亮?

(4)第九次调用子程序时,哪个发光二极管亮?

五、程序设计题(本大题共2小题,第47小题7分,第48小题6分,共13分)

47.已知数组a中的元素是从小到大排序的,要求对于任意输入的一个整数x,把它插到数组a后,仍保持数组a的排序次序不变。

# include“stdio.h”

main()

{

int ae,i,x,k;

for (i=0;i