同学们,是时候准备复试了,此份资料是中国人民警察大学-网络空间安全学科2020考研复试笔试科目的参考试题和参考书目,大家用心琢磨一下,毕竟是院校官网资料,值得信赖,文都考研小编还会给大家整理一些其他专业的复试笔试资料,敬请期待。
警察大学2020考研复试笔试试题-网络空间安全学科
参考试题
一、单项选择题(共10小题,每小题2分,共20分)
1.以下符合C语言语法的实型常量是( )。
A.5E-3
B.1.2E0.5
C.3.14.159E
D.E15
2.putchar函数可以向终端输出一个( )。
A.整型变量表达式
B.字符或字符型变量值
C.字符串
D.实型变量值
3.若有以下定义和语句
char c1=’b’,c2=’e’;
printf(”%d,%c\n ”,c2-c1,c2-‘a’+’A’);
则输出结果是( )。
A.2,M
B.3,E
C.2,E
D.输出项与对应的格式控制不一致,输出结果不确定
4.为了避免嵌套的条件语句if-else的二义性,C语言规定:else与( )配对。
A.编排位置相同的if
B.其之前最近的if
C.其之后最近的if
D.同一行上的if
5.设a=5,b=6,c=7,d=8,m=2,n=2,执行(m=a>b)&&(n=c>d)后n的值为( )。
A.0
B.1
C.2
D.7
6.在C语言中,以下错误的描述是( )。
A.break语句不能用于循环语句和switch语句外的任何其它语句
B.在循环语句中使用continue语句是为了结束本次循环,而不是终止整个循环
C.在switch语句中使用break语句或continue语句的作用相同
D.在循环语句中使用break语句是为了使流程跳出循环体,提前结束循环
7.在C语言中,数组作为函数的形参,函数调用时,若用数组名作为函数的实参,则实际上传递给形参的是( )。
A.数组中全部元素的值
B.数组的个元素值
C.数组元素的个数
D.数组首地址
8.若有说明:int a[][4];则a[i][j]前有( )个元素。
A.j*4+i
B. i*4+j+1
C.i*4+j-1
D.i*4+j
9.若有以下说明: int a[10]={1,2,3,4,5,6,7,8,9,10},*p=a;
则数值为6的表达式是( )。
A.*p+6
B.*(p+6)
C.p+5
D.*p+=5
10.有如下程序:
int main( )
{int n=9;
while ( n>5) {n-- ; printf(“%d”, n); }
return 0;}
该程序的输出结果是( )。
A.8765
B. 876
C.9876
D.987
二、填空题(请将正确答案填写在括号内。每空2分,共10分)
1.以下函数的功能是:求x的y次方,请填空:
double fun ( double x , int y)
{ int i ; double z;
for ( i=1 , z=x ; i
return z ;
}
2.若有以下定义,则不移动指针p,且通过指针p引用值为98的数组元素的表达式是( )
int w[10]={23,54,10,33,47,98,72,80,61},*p=w。
3.设有以下定义的语句:
int a[3][2]={10,20,30,40,50,60},(*p)[2];
p=a;
则*(*(p+2)+1)值为( )。
4.设有以下程序:
int main ( )
{ int a,b,k=4,m=6,*p1=&k,*p2=&m;
a=p1= =&m;
b=( *p1) / (*p2)+7;
printf (“a=%d \ n” ,a);
printf (“b=%d \ n” ,b);
return 0;}
执行该程序后,a的值为( ),b的值为( )。
三、程序阅读题(写出以下程序运行的结果,每小题5分,共25分)
1.以下程序的运行结果是:
#include
int main()
{ int a,b,c,d;
unsigned u;
a=12;b=-24;u=10;
c=a+u;d=b+u;
printf("a+u=%d,b+u=%d\n",c,d);
return 0;}
2.以下程序的运行结果是:
#include
int main()
{ int i, k=0, s[10]={1,2,3,4,5,6,7,8,9,10};
for(i=0;i<10;i++)
if(i%2) k+=s[i];
for(i=i-1;i>=0;i--)
if(i%5= =0) printf(“%d\t”,s[i]);
printf(“%d\n”,k);
return 0;}
3. 以下程序的运行结果是:
#include
int main()
{ char s[]={"12345"};
void sub_s1(char s[],int n) ;
void sub_s2(char s[ ],int n);
sub_s1(s,5);sub_s2(s,6);
return 0;
}
void sub_s1(char s[],int n)
{ int i,j;
for(i=0;i
{ for(j=0;j
printf("\n");
}
}
void sub_s2(char s[ ],int n)
{ int i,j;
for(i=0;i
{ for( j=i;j
printf("\n");
}
}
4. 以下程序的运行结果是:
#include
void swap(int *,int *);
int main()
{
int a=5, b=7, *ptr1, *ptr2;
ptr1=&a, ptr2=&b;
swap (ptr1,ptr2);
printf("*ptr1=%d,*ptr2=%d\n",*ptr1,*ptr2);
printf("a=%d,b=%d\n",a,b);
return 0;
}
void swap (int *p1, int *p2)
{
int p;
p=*p1;
*p1=*p2;
*p2=p;
}
5.以下程序的运行结果是:
#include
int main( )
{
FILE *fp;
int i,k=0,n=0;
fp=fopen("d1.dat","w");
for(i=1;i<4;i++)
fprintf(fp, "%d",i);
fclose(fp);
fp=fopen("d1.dat","r");
fscanf(fp, "%d%d",&k, &n);
printf("%d,%d\n",k, n) ;
fclose(fp);
return 0;}
四、程序设计题(每小题15分,共45分)
1.编写程序实现,假设有十个人,每个人年龄不同,用冒泡法将他们的年龄从小到大排列并输出。从键盘输入十个人的年龄。要求排序过程用函数实现。
2.编写程序,将字符串中的第m个字符开始的全部字符复制成另一个字符串。要求在主函数中输入字符串及m的值,并输出复制结果,在被调函数中完成复制。
3.定义N×N的二维数组,并在主函数中赋值。请编写函数fun,函数的功能是:求出数组周边元素的平均值并作为函数值返回给主函数中的s。例如,若a数组中的值为:

则返回主程序后s的值应为3.375。
参考答案
一、单项选择题(共10小题,每小题2分,共20分)。
1.A 2.B 3.B 4.B 5.C 6.C 7.D 8.D 9.D 10.A
二、填空题(每空2分,共10分)
1.x
2.*(p+5)
3.60
4.0; 7
三、程序阅读题(每小题5分,共25分)
1.a+u=22,b+u=-14
2.6 1 30 (注:6和1后面是7个空格)
3.
1
12
123
1234
123451
23451
3451
451
51
4.*ptr1=7,*ptr2=5
a=7,b=5
5.123,0
四、程序设计题(每小题15分,共45分)
1.参考答案
#include
int main()
{
int a[10];
int i;
void sort(int array[]);
printf("print 10 numbers:\n");
for (i=0;i<10;i++)
scanf("%d",&a[i]);
printf("\n");
sort(a);
for(i=0;i<10;i++)
printf("%d ",a[i]);
printf("\n");
return 0;
}
void sort(int a[])
{
int i,j,t;
for(i=0;i<9;i++)
for(j=0;j<9-i;j++)
if (a[j]>a[j+1])
{t=a[j];a[j]=a[j+1];a[j+1]=t;}
}
2.参考答案
#include
#define MAX 80
void copystr(char *str1,char *str2, int m)
{ int i=0;
while(str2[m]!='\0') str1[i++]= str2[m++];
str1[i]= '\0';
}
int main( )
{ int m;
char st1[MAX], st2[MAX];
printf(" please enter a string:");
scanf("%s",st2);
printf(" please enter a number:");
scanf("%d",&m);
copystr( st1, st2,--m);
printf("%s\n",st1);
return 0;
}
3.参考答案
#include
#define N 5
int main()
{
int i,j;
int C_array[N][N];
float fun(int a[N][N]);
float ave;
for(i=0;i
{
for(j=0;j
{
scanf("%d",&C_array[i][j]);
}
}
ave=fun(C_array);
printf("%f",ave);
return 0;}
float fun(int a[N][N])
{
int i,j;
float sum=0;
float ave;
for(j=0;j
{
sum+=a[0][j];
sum+=a[N-1][j];
}
for(i=1;i
{
sum+=a[i][0];
sum+=a[i][N-1];
}
ave = sum/(4*N-4);
return ave;
}
参考书目
1.《C程序设计教程(第三版)》,谭浩强著,清华大学出版社,2018.8。
以上资料就是中国人民警察大学-网络空间安全学科2020考研复试笔试科目的参考试题和参考书目,想要更多的2020考研复试资料,可以多多关注文都考研网复试资料栏目。
推荐阅读:

文都考研微信