2021年中国人民公安大学824《C 语言程序设计和数字电子技术》硕士研究生考研试题及答案

 您现在的位置: 考博信息网 >> 文章中心 >> 考研复习 >> 专业课 >> 正文 2021年中国人民公安大学824《C 语言程序设计和数字电子技术》硕士研究生考研试题及答案

考研试卷库
2021年中国人民公安大学824《C 语言程序设计和数字电子技术》硕士研究生考研试题及答案

2021年中国人民公安大学硕士研究生考研试题及答案

Ⅳ.参 考 试 题

第一部分 C语言程序设计

一、单项选择题:下列每题给出的四个选项中,只有一个选项是符合题目要求的(每小

2分,共 20 分)。

1.以下选项中,能用作用户标识符的是()。

A.void B.6_6 C._0_ D.unsigned

2.已知 int j,i=1; 则执行 j=-i++; i 和 j 的值为()。

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

3.有以下程序,程序运行后的输出结果是()。

main() {

int a=1,b=0;

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

6


 

printf("%d",a=2*b); }

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

4.设有定义: int a=1,b=2,c=3;,以下语句中执行效果与其它三个不同的是( )。

A.if(a>b) c=a,a=b,b=c; B.if(a>b){c=a,a=b,b=c;}

C.if(a>b) c=a;a=b;b=c; D.if(a>b){c=a;a=b;b=c;}

5.有以下定义语句,编译时会出现编译错误的是()。

A. char a='a'; B.char a='\n';

C. char a='aa'; D.char a='*';

6.有以下程序,已知字母 A 的 ASCII 码为 65,程序运行后的输出结果是 ( )。

main() {

char c1,c2;

c1='A'+'8'-'4';

c2='A'+'8'-'5';

printf("%c,%d\n",c1,c2); }

A.E,68 B.D,69 C.E,D D.输出无定值

7.有以下程序,若要使程序的输出值为 2,则应该从健盘给 n 输入的值是______。

main() {

int s=0,a=1,n;

scanf("%d",&n);

do {s+=1; a=a-2;}

while(a!=n);

printf("%d\n",s); }

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

8.若有定义: int a[ ][4];则 a[i][j]前有______个元素。

A. j*4+i B.i*4+j C.i*4+j-1 D. i*4+j+1

9.下面有关 for 循环的正确描述是: ()。

A. for 循环只能用于循环次数已经确定的情况

B. for 循环是先执行循环体语句,后判断表达式

C.for 循环中,可以用 break 语句跳出循环体

D. for 循环中,可以包含 if 语句,但必须用花括号括起来

10.以下不正确的描述是: ()。

A. continue 语句的作用是结束本次循环的执行

B. break 语句只能在 switch 语句体内使用

C.在循环体内使用 break 语句或 continue 语句的作用完全不同

D.从多层循环嵌套中退出时,可以使用 goto 语句

二、程序填空题(每小题 2分,共 10分)。

1.若程序运行后的输出结果是1,3,7”,请填空。

2.若程序的运行结果是 10,请填空。

 int main() {

int a=3,b=5;

int i,n[5]={0};

int max(int a,int b) {

 for(i=1;i<4;i++){

int c;

n[i]= ;

? a:b; return(c);

printf("%d\n", );

}

} }

main() {

int a=10;

int max(int a,int b);

printf("%d", );

}

7


 

3.函数 fun 的功能是使字符串 str 按逆序存放,请填空。

void fun (char str[]) {

char m; int i, j;

for (i=0, j=strlen(str); i< ; i++, j--)

{

m = str[i];

str[i] = str[j-1];

str[j-1] = m; }

printf("%s\n",str);

}

三、读程序写结果题(每小题 5分,共 15分)

1.程序运行后的输出结果是( )。

main() {

int a=1,b=7;

do{ b=b/2;a+=b;

} while (b>1);

printf("%d\n",a);

}

2.程序运行时,若输入 1 2 3 4 5 0<回车>,则输出结果是( ) 。

main() {

int s;

main(){

scanf("%d",&s);

 char ch[2][5]={“6937”,”8254”},*p[2];

while(s>0) {

int i,j,s=0;

switch(s) {

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

case 1:printf("%d,",s+5);

 p[i]=ch[i];

case 2:printf("%d,",s+4); break;

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

case 3:printf("%d,",s+3);

 for(j=0;p[i][j]>’\0’;j+=2)

default:printf("%d,",s+1);break; }

 s=10*s+p[i][j]-‘0’;

scanf("%d",&s);

printf(“%d\n”,s);

}

}

}

3.有如下程序

main() {

char ch[2][5]={“6937”,“8254”},*p[2];

int i,j,s=0;

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

 p[i]=ch[i];

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

for(j=0;p[i][j]>\0’;j+=2)

 s=10*s+p[i][j]-‘0’;

8

printf(“%d\n”,s);

}


 

该程序的输出结果是()。

四、编程题(每题 15分,共 30分)。

1.所谓“水仙花数”是指一个 3 位数,其各位数字立方和等于该数本身。例如,153

一个水仙花数,因为 153=13+53+33。编写 C 语言程输出所有的水仙花数并求所有水 仙花

数之和。

2.在主函数中输入 10个字符串,用另一个函数对它们排序。然后在主函数输出这 10

个排好序的字符串。

第二部分 数字电子技术

一、单项选择题(每小题 1分,共 10分)

1.将十六进制数(BE.4)16转换成十进制数是( )

A. (190.25)10 B. (190.4)10

C. (176.25)10 D.(176.4)10

2.在不影响逻辑功能的情况下,CMOS 与非门的多余输入端可( )

A. 接高电平 B. 接低电平

C. 悬空 D. 通过电阻接地

3.若要将一异或非门当作反相器(非门)使用,则输入端 A、B 端的连接方式是( )

A. A 或 B 中有一个接1 B. A 或 B 中有一个接0

C. A 和 B 并联使用 D. 不能实现

4.图示逻辑电路为()。

A. 与非门 B.与门

C. 或门 D.或非门

5.在时序电路的状态转换表中,若状态数 N=3,则状态变量数最少为( )

A. 3 B. 4

C. 8 D. 2

6.一个八位二进制减法计数器,初始状态为 00000000,问经过 268 个输入脉冲后,此

计数器的状态为( )

A. 11001111 B. 11110100

C. 11110010 D. 11110011

7.为将 D触发器转换为 T触发器,下图所示电路的虚线框内应是( )

9


 

A. 或非门 B. 与非门

C. 异或门 D. 同或门

8.n个触发器构成的环型计数器中,有效状态有( )个。

A. n B. 2n

C. 2n-1 D. 2n-2n

9.只能按地址读出信息,而不能写入信息的存储器为( )

A. RAM B. ROM

C. PROM D. EPROM

10.存储容量为 8K×8位的 ROM存储器,其地址线为( )条。

A.8 B.12

C.13 D.14

二、填空题(每空 1分,共 20分)

1.时序逻辑电路的输出不仅和_________有关,而且和________有关。

2.门电路的输入、输出高电平赋值为________,低电平赋值为 ________,这种关系称

为负逻辑关系。

3.八位移位寄存器,串行输入时经________个 CP脉冲后,8位数码全

部移入寄存器中。若该寄存器已存满 8位数码,欲将其串行输出,则

需经________个脉冲后,数码才能全部输出。

4.衡量 A/D转换器性能优劣的主要指标是________和________。

5.555定时器的最基本应用有_________、__________、__________。

6.三态门的输出状态有________、________和 ________三种状态。

7.如将或非门做反相器使用,则其他输入端应接________电平,如将异或门做反相器使

用,则其他输入端应接________电平。

8.使用 TTL集成门电路时,为实现线与逻辑功能应选用 ________门

电路,为实现总线系统应选用________门电路。

9.施密特触发器和________是两种常用的脉冲整形电路。

10.根据对偶规则,直接写出函数Y = A+ CD + 0的对偶函数式=________。

三、简答题(每小题 5分,共 15分)

1.将逻辑函数式 F(A, B,C, D) = ((A + B)D) + (AB + BD)C + ABCD + D化为

最简与或式。

2.已知边沿触发 D触发器的时钟和输入信号电压波形如下图所示,试画出输出端对应的

电压波形,设触发器的初态为 0。

3.已知逻辑电路如下图所示,试写出逻辑函数式,并化简为最简与或式。

10


 

四、分析设计题(共 30分)

1.在举重比赛中有 A、B、C三名裁判,A为主裁判,当两名以上裁判(必须包括 A在内)

认为运动员上举杠铃合格时,按动电钮可发出裁决合格信号。请设计该逻辑电路,并用

74LS138译码器实现。设计过程中要有真值表、卡诺图、逻辑函数式、逻辑电路图(10分)

2.试用 D触发器和门电路设计一个 13进制计数器,要求体现逻辑抽象、状态化简、状

态方程、特性方程、驱动方程和输出方程等中间过程,画出逻辑电路图,检查所设计的电路

能否自启动。(20分)

V.参考答案

第一部分 C语言程序设计

一、单项选择题(20分)

1.C 2.C 3.D 4.C 5.C

6.A 7.B 8.B 9.C 10.B

二、程序填空题(10分)

1. n[i-1]*2+1 n[i]

2. c=a>b max(a,b)

3. j/2

三、读程序写结果题(15分)

1.5

2.6,5,6,6,4,5,6

3.6385

四、编程题(30分)

11


 

1.参考答案

main() {

int i,j,k,n ,sum=0 ;

for(n=100;n<1000;n++){

i=n/100;

j=n/10-i*10;

k=n%10;

if(n= =i*i*i+j*j*j+k*k*k )

{ printf("flower is= %d \n",n) ;

sum=sum+n;} }

printf("the number is =%d",sum); }

2.参考答案

#include<stdio.h>

#include<string.h>

int main(){

void sort(char *[]);

int i;

char *p[10],str[10][10];

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

 p[i]=str[i];

print(“input 10 strings:\n”);

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

 scanf(“%s”,p[i]);

 sort(p);

printf(“the sorted strings:\n”);

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

printf(“%s\n”,p[i]);

void sort(char *s[])

{

int i,j;

char *tp;

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

for(j=0;j<9-i;j++)

if(strcmp(*(s+j), *(s+j+1))>0)

 {tp=*(s+j); *(s+j)= *(s+j+1); *(s+j+1)=tp;}

}

12


 

第二部分 数字电子技术

一、单项选择题

1.A 2.C 3.C 4.A 5.A

6.B 7.D 8.B 9.B 10.C

二、填空题

1.时间,幅值

2.转换速度,转换精度

3.组合逻辑电路,时序逻辑电路

4.施密特触发电路,单稳态电路,多谐振荡电路

5.随机存储器,只读存储器

6.低,高

7.单稳态触发器

8.字扩展,位扩展,字位扩展

9.存储矩阵

10.移位

11.A(C + D)

三、简答题

1.解: F=C+AB

2.解:

3.解:(1)有稳态和暂稳态两个状态;(2)在外界触发脉冲作用下,能从稳态翻转到暂

稳态,暂稳态持续一段时间后,自动回到稳态;(3)暂稳态持续时间的长短取决于电路本身

参数,与触发脉冲的宽度和幅度无关。

四、分析设计题

1.略

2.略

 

考博咨询QQ 135255883 考研咨询QQ 33455802 邮箱:customer_service@kaoboinfo.com
考博信息网 版权所有 © kaoboinfo.com All Rights Reserved
声明:本网站尊重并保护知识产权,根据《信息网络传播权保护条例》,如果我们转载或引用的作品侵犯了您的权利,请通知我们,我们会及时删除!