考研真题 湖南大学829计算机程序设计考研真题及答案解析

 2022-10-06 18:37:09  考研全封闭式培训机构    20
[摘要]

2014年湖南大学招收硕士钻研生入学测验试题 测验科目名称:829计较机步伐设计 总分:150分 考生注重:所有谜底必需写在答题纸(卷)上,写在本试题上一概不给分。 单项选择题(2*21=42分)如下论述毛病的是_____。 A、C说话源步...



2014年湖南大学招收硕士钻研生入学测验试题

测验科目名称:829计较机步伐设计 总分:150分

考生注重:所有谜底必需写在答题纸(卷)上,写在本试题上一概不给分。

单项选择题(2*21=42分)如下论述毛病的是_____。

A、C说话源步伐颠末编译后天生后缀名为.obj的方针步伐。

B、C说话颠末编译、毗连步调以后才能构成一个真正可履行的二进制呆板指令文件。

C、用C说话编写的步伐成为源步伐,它以ASC2代码情势寄存在一个文本文件中。

D、C说话中的每条可履行语句和非履行语句终极都将会被转换成二进制的呆板指令。

若如下选项中的变量已准确界说,则准确的赋值语句是_____。

A、x1=26.8%3 B、1-2=x2 C、x3=0x12 D、x4=1+2=3

有如下步伐,步伐运行后输出的成果是_____。

main( )

int m=3,n=4,x;

x=-m++;

x=x+8/++n;

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

A、3 B、5 C、-1 D、-2

若x和y代表整型数,如下表达式中不克不及准确暗示的数学瓜葛式|x-y|<10的是_____。

A、abs(x-y)<10 B、x-y>-10&&x-y<10

C、!(x-y)<-10||!(y-x)>10 D、(x-y)*(x-y)<100

如有阐明语句:int a,b,c,*d=&c,则准确从键盘读入三个别离赋给变量a、b、c的语句是_____。

A、scanf(“%d%d%d”,&a,&b,d);

B、scanf(“%d%d%d”,&a,&b,&d);

C、scanf(“%d%d%d”,a,b,d);

D、scanf(“%d%d%d”,a,b,&d);

有如下步伐,步伐运行后输出的成果是_____。

main( )

int a=3,b=4,c=5,d=2;

if(a>b)

if(b

printf(“%d”,d+++1);

else

printf(“%d”,++d+1);

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

A、2 B、3 C、43 D、44

有以下步伐,该步伐输出的成果是_____。

main( )

int x=1,a=0,b=0;

switch(x)

case 0:b++;

case 1:a++;

case 2:a++;b++;

printf(“a=%d,b=%d\n”,a,b);

a=2,b=1 B、a=1,b=1 C、a=1,b=0 D、a=2,b=2有以下步伐,该步伐输出的成果是_____。

main( )

int i,s=0;

for(i=1,i<10;i+=2) s+=i+1;

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

天然数1-9的累加和 B、天然数1-10的累加和

C、天然数1-9中奇数之和 D、天然数1-10中偶数之和

有以下步伐

main( )

int i,sum=0;

for(i=1;i<=3;sum++) sum+=i;

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

6 B、3 C、死轮回 D、0以下论述中准确的是_____。

A、C说话预编译时不查抄语法

B、C说话的子步伐有进程和函数两种

C、C说话的函数可以嵌套界说

D、C说话中所有的函数都是外部函数

如下能准确界说一维数组的选项是_____。

A、int num[ ];

B、#define N 100

int num[N];

C、int num[0...100];

int N=100;

int num[N];

设稀有组界说:char array[ ]=“China”;则数组array所占据的空间为_____。

A、4个字节 B、5个字节 C、6个字节 D、7个字节

如有界说:int *p[3];则如下论述准确的是_____。

A、界说了一个根基类型为int的指针变量p,该变量具备三个指针

B、界说了一个指针数组P,该数组含有三个元素,每一个元素都是基类型为int的指针

C、界说了一个名为*p的整型数组,该数组含有三个int类型的元素

D、界说了一个可指向一维数组的指针变量p,所指一维数组应具备三个int类型元素

已界说以下函数

fun(char *p2,char *p1)

while((*p2=*p1)!=‘\0’)

{p1++;p2++}

A、将p1所指的字符串复制到p2所指的内存空间

B、将p1所指的字符串的地点赋给指针p2

C、对p1和p2两个指针所指的字符串举行比力

D、查抄p1和p2两个指针所指字符串中是不是有‘\0’

设有以下罗列类型界说

enum language{Basic=3,Assembly,Ada=100,COBOL,Fortran};

罗列量Fortran的值为_____。

A、4 B、7 C、102 D、103

设有如下阐明语句

struct ex

int x;

float y;

char z;

}example;

则下面的论述中不准确的是_____。

A、struct是布局体类型的关头字 B、example是布局体类型名

C、x,y,z都是布局体成员 D、struct ex是布局体类型

在C步伐中,可以把整型数以二进制情势寄存到文件中的函数是_____。

A、fprintf函数 B、fread函数 C、fwrite函数 D、fputc函数

有如下步伐

#include

int main( )

FILE *f;

f=fopen(“filea.txt”,“w”);

fprintf(f,“abc”);

fclose(f);

若文本文件filea.txt华夏有内容为:hello,则运行以上步伐后,文件filea.txt中的内容为_____。

A、helloabc B、bclo C、abc D、abchello

如有如下步伐段

int r=8;

printf(“%d\n”,r>>1);

输出成果是_____。

16 B、8 C、4 D、2设char型变量中x中的值为10100111,则表达式(2+x)^(~3)的值是_____。

A、10101001 B、10101000 C、11111101 D、01010101

如有阐明语句:char c=‘\101’;则变量c是_____。

A、包括一个字符 B、包括两个字符 C、包括三个字符 D、阐明分歧法

步伐理解题,浏览下面步伐,写出步伐成果(5*6=30分)#include

int main( )

int a[ ]={2,3,5,4},i;

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

switch(i%2)

case 0:switch(a[i]%2)

{case 0:a[i]++;break;

case 1:a[i]--;

}break;

case 1:a[i]=0;

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

printf(“%d”,a[i]);

printf(“\n”);

#include

int main( )

int i,n=0;

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

do

if(i%3) continue;

n++;

}whi1e(!i);

n++;

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

#include

int main( )

int i,j,sum;

for(i=3;i>=1;i--)

sum=0;

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

sum+=i*j;

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

#include

void f(int y,int *x)

y=y+*x;*x=*x+y;

int main( )

int x=2,y=4;

f(y,&x);

printf(“%d %d\n”,x,y);

#include

int a=5;

fun(int b)

static int a=10;

a+=b++;

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

int main( )

int c=20;

fun(c);

a+=c++;

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

#include

int main( )

int a[3][3]={{1,2,3},{4,5,6},{7,8,9}};

int b[3]={0},i,j;

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

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

b[i]=b[i]+a[i][j]*a[j][i];

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

printf(“%d”,b[i]);

步伐填空题(6*5=30分)如下步伐的功效是:输出100之内(不含100)能被3整除且个位数为6的所有整数。

#include

int main( )

int i,j;

for(i=0;__________;i++)

j=i*10+6;

if(__________)

continue;

printf(“%d”,j);

如下步伐经由过程函数SunFun求f(0)f(1)f(2)f(3)…(9)f(10)这十一项之和。此中,f(x)=x*x+1,由F函数实现。

#include

SunFun(int);

F(int);

int main( )

printf(“The sum=%d\n”,SumFun(10));

SunFun(int n)

int x,s=0;

for(x=0;x<=n;x++)

s+=F(__________);

return s;

F(int x)

return (__________);

如下步伐的功效是删除字符串s中的所稀有字字符。

void dele(char *s)

int n=0,i;

for(i=0;s[i];i++)

if(!(s[i]>=‘0’&&________))

s[n++]=s[i];

s[n]=‘__________’;

如下步伐用来统计文件中字符的个数,请填空。

#include

int main( )

FILE *fp;

1ong num=0L;

if((fp=fopen(“fname.dat”,“r”))==NULL)

printf(“open error\n”);

exit(0);

whi1e(__________)

fgetc(fp);num++;

printf(“character number is %d”,num);

创建职工环境链表,每一个节点包括的成员为:姓名(name)、工资(salary)。从键盘输入节点中的所稀有据,然后挨次把这些节点的数据显示在屏幕上。

#include

#include

#define N 3

int main( )

struct node

char name[9];

int sarlay;

struct node *next;

struct node *head,*p;

int i;

head=NULL;

for(i=0;i

p=(struct node*)malloc(sizeof(struct node));

printf(“Input name:”);

scanf(“%s”,p->name);

printf(“Input salary:”);

scanf(“%d”,&p->salary);

head=p;

printf(“\n”);

p=head;

while(__________)

printf(“%s %d\n”,p->name,p->salary);

p=p->next;

编程题(12*4=48分)

完成以下各步伐中的函数界说(请勿点窜主函数main中的语句)。

步伐trans的功效是将十进制整数m转换成k进制(2<=k<=9)数的数字输出,比方输入78和8,则应当输出116。

#include

void trans(int m,int k);

int main( )

int b,n;

printf(“\n Please enter anumber and a base:\n”);

scanf(“%d%d”,&n,&b);

trans(n,b);

函数fun的功效是:统计跟春秋段的人数并存到b数组中,n小我员的春秋放在n数组中,春秋为1-9的人数存到b[0]中,春秋为10-19的人数存在b[1]中,春秋为20-29的人数存到b[2]中,春秋为30-39的人数存到b[3]中,春秋为40-49的人数存到b[4]中,春秋为50岁以上的人数存到b[5]中,比方:当n数组中的数据为:九、1八、2七、3八、5九、3三、1四、7五、38,挪用该函数后,b数组中寄存的数据应当是:一、二、一、三、0、2。

#include

void fun(int a[ ],int b[ ],int n);

int main( )

int i,b[6];

int a[100]={9,18,27,38,59,33,14,75,38};

fun(a,b,9);

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

printf(“%d”,a[i]);

printf(“\n”);

函数fact的功效是求k!({k<=100),请求利用递归界说该函数,并经由过程函数名传回主函数,比方:若k=10,则应当输出:3628800。

#include

double fact(int k);

int main( )

int b;

printf(“Please input an integer 1ess than 100”);

scanf(“%d”,&b);

printf(“%d!=%.0f\n”,b,fact(b));

函数deletestr的功效是将在字符串s中呈现、而未在字符串t中呈现的字符构成一个新的字符串放在u中,u中字符按本来字符串中字符次序分列,不去掉反复字符。比方:当s=“112345”,t=“2467”时,u中的字符串为“1135”。

#include

#include

void deletestr(char *s,char *t,char *u);

int main( )

char s[100],t[100],u[100];

printf(“\nPlease enter string s:”);

scanf(“%s”,s);

printf(“\nPlease enter string t:”);

scanf(“%s”,t);

deletestr(s,t,u);

printf(“The result is:%s\n”,u);

2014年湖南大学招收硕士钻研生入学测验试题解析

测验科目名称:829计较机步伐设计 总分:150分

考生注重:所有谜底必需写在答题纸(卷)上,写在本试题上一概不给分。

1、选择题

DCDCA AADCD BCBAC BCCCDA

2、步伐理解题

一、304


0

二、n=4

三、1

四、8 4

五、30 25

六、1 33 150

3、步伐填空题

一、i<10 j%3

二、x x*x+1

三、s[i]<='9' '\0'

四、!feof(fp) fclose(fp)

五、p->next=head p!=NULL

4、编程题

一、void trans(int m,int k)

if(m<0)

printf(“-”);

m=-m;

char chK[9]={'0','1','2','3','4','5','6','7','8'};

int result[32];

int i=0,j;

do

result[i]=m%k;

i++;

m=m/k;

}while(m!=0);

for(i--;i>=0;i--)

j=result[i];

printf(“%c”,chK[j]);

二、void fun(int a[ ],int b[ ],int n)

int i;

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

b[i]=0;

for(i=0;i

if(a[i]>=50)

b[5]++;

else

b[a[i]/10]++;

三、double fact(int k)

double c;

if(k==0||k==1)

c=1;

else

c=k*fact(k-1);

return c;

四、void deletestr(char *s,char *t,char *u)

int i,j,ms,mt;

ms=strlen(s);

mt=strlen(t);

for(i=0;i

for(j=0;j

if(s[i]==t[j])

break;

if(j>=mt)

*u++=s[i];

*u='\0';

2015年湖南大学招收硕士钻研生入学测验试题

测验科目名称:829计较机步伐设计 总分:150分

考生注重:所有谜底必需写在答题纸(卷)上,写在本试题上一概不给分。

单项选择题(3*10=30分)在C说话中,下面有关for轮回的准确描写是_____。

A、for轮回只能用于轮回次数已肯定的环境

B、for轮回是先履行轮回体语句,后果断表达式

C、在for轮回中,不克不及用break语句跳出轮回体

D、for轮回的轮回体语句中,可以包括多条语句,但必需用花括号括起来

C说话步伐中必需有的函数是_____。

A、#include“stdio.h” B、main C、printf D、scanf

在C说话中,援用数组元素时,其数组下标的数据类型容许是_____。

A、整型常量 B、整型


表达式

C、整型常量或整型表达式 D、任何类型的表达式

若已界说x和y是整型变量,x=2;,则表达式y=3.75+x/2的值是_____。

A、6.5 B、6 C、4 D、5.0

对付语句int *px[10],如下说法准确的是_____。

A、px是一个指针,指向一个数组,数组的元素是整型

B、px是一个数组,其数组的每个元素都是指向整数的指针

C、A和B均错,但在C说话中容许用*px来界说数组

D、C说话不容许有如许的界说方法

一个算法应当具备“肯定性”等5个特征,下面临其他特征的描写中毛病的是_____。

A、有零个或多个输入 B、只能有零个或一个输出

C、有穷性 D、有用性

如下说法中准确的是_____。

A、C说话步伐老是从第一个界说的函数起头履行

B、在C说话步伐中,要挪用的函数必需在main( )函数中界说

C、C说话步伐老是从main( )函数起头履行

D、C说话步伐中的main( )函数必需放在步伐的起头部门

下面步伐的输出是_____。

#include

int m=13;

int fun(intx,int y)

int m=3;

return(x*y-m);

void main( )

int a=7,b=5;

printf(“%d\n”,fun(a,b)/m);

A、1 B、2 C、7 D、10

如下数组界说中不准确的是_____。

A、int a[2]; B、int b[ ]={0,1,2,5,8};

C、float a[100][100]; D、int d[3][3]={{1,2}{1,2,3},{1,2,3,4}};

以下步伐段的输出成果是_____。

float x=213.82631;

printf(“%3d”,(int)x);

A、213.82 B、213.83 C、213 D、3.81

填空题(3*10=30分)计较机内部运算利用的数是_____进制。C说话源步伐的根基单元是_____,它由多条语句构成,用来实现一个特定功效,经由过程挪用来利


用。假设x=10,则表达式x<=10?70:34的值为_____。若x=5,y=10,则计较y*=++x表达式后,x和y的值别离是_____和_____。数值常量0x62对应的十进制值是_____。在C说话步伐的轮回体中,利用_____语句可以跳出轮回体,履行轮回体后面的语句。下面步伐的运行成果是_____。

#include

main( )

int i,x,y;

i=x=y=0;

do

++i;

if(i%2!=0)

{x=x+i;i++;}

y=y+i++;

}whi1e(i<=7);

printf(“x=%d,y=%d\n”,x,y);

请填写以下步伐中的两个语句,每一个语句作为一个填空。

/*用展转相除法求两个整数的最大条约数*/

main( )

int a,b,r;

scanf(“%d%d”,&a,&b);

while(r!==0)

a=b;

r=a%b;

printf(“%d”,b);

果断题(2*10=20分)递归挪用不克不及直接或间接挪用该函数自己。 ( )计较机不克不及直接辨认和履行用C说话写的源步伐,必需用编译步伐把C源步伐翻译成二进制情势的方针步伐后,才能正常履行。( )数组中的每个元素都必需属于统一数据类型。( )C说话中的continue语句只竣事本次轮回,而不是终止全部轮回的履行。( )对付全局变量,在步伐起头履行时给其分派存储区,步伐履行终了就开释( )算法是为领会决一个问题而采纳的法子和步调,算法=数据布局+步伐。( )采纳strcmp函数可以将两个字符数组中的字符串联接起来。( )do...while语句的履行进程是,先无前提的履行轮回体,然后果断轮回前提是不是建立。( )C说话划定标识符只能由字母、数字和下划线3种字符构成,第一个字符可所以数字。( )采纳fclose函数可以封闭数据文件,封闭就是撤消文件信息区和文件缓冲区,使文件指针变量再也不指向该文件。( )简答题(5*10=50分)扼要报告指针的优错误谬误。呆板说话和高档说话各有甚么特色。用数组方法求出Fibonacci数列前50个的值并输出到屏幕。有一个含n个整数的数组a,写一个C说话步伐,请求挪用函数实现n个整数反向次序从新分列寄存。一个球从200米高度自由下降,落地后弹起高度为本来高度的一半,写一个C说话步伐,求他第十次落地时的总活动间隔,第十次反弹多高。案例阐发(20分)

问题描写,从键盘输入肆意一个四位数的整数,然后查抄其是不是为11的整数倍;

(1)若是是11的整数倍,则输出该数到屏幕。

(2)若是不是11的整数倍,则将构成该数的四个数字从新分列构成一个新的四位整数,对能构成的所有四位整数中,对那些为11的整数倍的数全数输出到磁盘文件C:\output.dat(数之间用逗号分开),然后,读取磁盘文件C:\output.dat,求出最大数并输出到屏幕。

(3)若是在第二步中不存在是11整数倍的数,则在屏幕上输出“无”。

一、简述算法思绪并画出其流程图。(10分)

二、用C说话写出上述需求的实现代码。(10分)

2015年湖南大学招收硕士钻研生入学测验试题解析

测验科目名称:829计较机步伐设计 总分:150分

考生注重:所有谜底必需写在答题纸(卷)上,写在本试题上一概不给分。

1、选择题

DBCCB BCBDC

2、填空题

一、二

二、函数

三、70

四、6 60

五、98

六、Break

七、x=1,y=20

八、r=a%b b=r

3、果断题

错对对对对 错错对错对

4、简答题

一、长处:提高步伐编译效力和履行速率,使之加倍简便;

操纵指针直接操作内存地点;

函数经由过程指针传参,实现地点同享,双向传值;

操纵指针动态分派内存;

实现繁杂的数据布局,如链表;

错误谬误:轻易犯错,且毛病常常比力隐藏,利用不妥会呈现隐藏的、难以发明和解除的妨碍。

二、呆板说话:可以或许被呆板当即辨认并加以履行,具备履行速率快,占用内存小等长处,但难学、难记、难以推行利用。

高档说话:补充了呆板说话的不足,不依靠于详细呆板,轻易理解,较为便利。

三、#include

int main( )

int i;

double f[50]={1.0,1.0};//不克不及用int,第47个起头溢出

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

f[i]=f[i-1]+f[i-2];

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

if(i%5==0)

printf(“\n”);

printf(“%15.01f”,f[i]);

printf(“\n”);

return 0;

四、#include

int invet(int a[ ],int n);

int main( )

int i;

int a[10]={0,1,2,3,4,5,6,7,8,9};

int n=10;

invet(a,10);

for(i=0;i

printf(“%d\n”,a[i]);

return 0;

int invet(int a[ ],int n)

int i,b[n];

for(i=0;i

b[n-i-1]=a[i];

for(i=0;i

a[i]=b[i];

五、#include

int main( )

float sn=200.0;

float hn=sn/2;

int n;

for(n=2;n<=10;n++)

sn=sn+2*hn;

hn=hn/2;

printf(“the total of road is %f\n”,sn);

printf(“the tenth is %f meter\n”,hn);

return 0;

5、案例阐发

#include

#include

int checkFun(int num,int num_11[ ]);

void save(int num_11[ ],int count);

void printMax( );

int main( )

int num_in;

int num_11[24];

int count=0;

printf(“Enter an integer of four digits:”);

scanf(“%d”,&num_in);

if(num_in>9999||num_in<1000)

printf(“Enter integer error!\n”);

return 1;

if(num_in%11==0)//是11的整数倍

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

return 0;

count = checkFun(num_in,num_11);

if(count>0//重组存在11的整数倍数字

save(num_11,count);

printMax( );

}else//不存在

printf(“无”);

return 0;

int checkFun(int num,int num_11[ ]//查抄重组被11整除环境

int div[4];//保留四位数字

int numTemp;

int count=0;//计数重组能被11整除个数

int i1,i2,i3,i4,j;

for(j=3;j>=0;j--)//求出各个位数上的数字

div[j]=num%10;

num/=10;

for(i1=0;i1<4;i1++)

for(i2=0;i2<4;i2++)

for(i3=0;i3<4;i3++)

for(i4=0;i4<4;i4++)

if(i1!=i2&i1!=i3&&i1!=i4&&i2!=i3&&i2!=i4&&i3!=i4&&div[i1]!=0)

{/辨别四位数,且千位不克不及为0

numTemp=div[i1]*1000+div[i2]*100+div[i3]*10+div[4];

if(numTemp%11==0)

for[j=0;j

if(numTemp==num_11[j])

break;

if(j>=count)//疏忽反复数字

num_11[count++]=numTemp;

return count;

void save(int num_11[ ],int count)//保留到文件

FILE *fp;

int i;

if((fp=fopen(“C:l\output.txt”, “w”))==NULL)

printf(“Can not open file!\n”);

exit(0);

for(i=0;i

fprintf(fp,“%d,”,num_11[ ]);//用逗号离隔

fprintf(fp,“%d”,num_11[count-1]);

fclose(fp);

void printMax( )//从文件中找出最大数

int i;

int numTemp;

int max=0;

FILE *fp;

if((fp=fopen(“C:\\output.txt”,“r”))==NULL)

printf(“Can not open file!\n”);

exit(0);

while(!feof(fp))

fscanf(fp, “%d,”,&numTemp);

if(numTemp>max)

max=numTemp;

printf(“The Max num is:%d\n”,max);

fclose(fp);

另有甚么想领会的呢,接待鄙人方留言哦~,包含但不限于招生环境,初复试资料和找直系学长学姐

收拾不容易,点赞存眷一下吧~

考研真题:福州大学837经济学综合考研真题及谜底解析

考研真题:东北大学851经济学考研真题及谜底解析

考研真题:北京工业大学812质料力学考研真题

考研真题:北京科技大学856情况工程学真题

考研真题:北京科技大学835有机化学真题及谜底解析

考研真题:北京航空航天大学609数学根本真题

考研真题:北京理工大学871办理学真题

考研真题:北京邮电大学804旌旗灯号与体系真题

Notice: The content above (including the pictures and videos if any) is uploaded and posted by a user of NetEase Hao, which is a social media platform and only provides information storage services.
考研百天重要提醒! 返回列表

留言与评论(共有 20 条评论)