|京ICP备14027590号-282

2022年安徽大学835软件工程专业基础考研真题及辅导材料(2022年安徽大学录取分数线一览表)

点击查看:2022年安徽大学835软件工程专业基础考研真题及辅导材料-【书乐书院】

??材料列表

· 全国名校软件工程考研真题汇编
· 谭浩强《c程序方案》(第5版)笔记和课后习题详解
· 谭浩强《c程序方案》(第5版)配套题库【考研真题精选+章节题库】

??真标题录(有些)

封面
内容简介
目录
1.北京邮电大学软件工程专业归纳历年考研真题
 2013年北京邮电大学807软件工程专业归纳考研真题
 2012年北京邮电大学807软件工程专业归纳考研真题
 2011年北京邮电大学807软件工程专业归纳考研真题
2.我国传媒大学软件工程历年考研真题
 2014年我国传媒大学822软件工程考研真题
 2013年我国传媒大学822软件工程考研真题
 2012年我国传媒大学822软件工程考研真题
3.河北工业大学软件工程及使用[专业硕士]历年考研真题
 2012年河北工业大学804软件工程及使用[专业硕士]考研真题
 2011年河北工业大学804软件工程及使用[专业硕士]考研真题
4.浙江工业大学软件工程[专业硕士]历年考研真题
 2014年浙江工业大学959软件工程[专业硕士]考研真题
 2013年浙江工业大学959软件工程[专业硕士]考研真题
 2012年浙江工业大学959软件工程[专业硕士]考研真题
 2011年浙江工业大学959软件工程[专业硕士]考研真题
5.聊城大学程序方案基础与软件工程历年考研真题
 2014年聊城大学820程序方案基础与软件工程考研真题
 2013年聊城大学820程序方案基础与软件工程考研真题
 2012年聊城大学820程序方案基础与软件工程考研真题
6.江西师范大学软件工程导论历年考研真题
 2014年江西师范大学864软件工程导论考研真题
 2013年江西师范大学864软件工程导论考研真题
 2012年江西师范大学836软件工程导论考研真题
阐明:精选了18套名校软件工程历年考研真题。

??教辅试读

第一有些 考研真题精选
一、选择题
1以下均是合法变量名的是(  )。[武汉科技大学2021研]

a.#name? ?total

b.node  value_max

c._var  long

d.stu-code? ?a+b

【答案】b查看答案

【解析】c言语中变量名只能包括数字,字母和下划线,且只能以字母和下划线初步。a项含不合法字符#,差错;c中long为要害词,变量不能以要害词命名;d中含不合法字符-和+。

2以下选项中不归于c言语类型的是(  )。[武汉科技大学2021研]

a.short int

b.unsigned long int

c.char

d.bool

【答案】d查看答案

【解析】c言语中没有bool型,只需c++才有boolean型,也称bool。c言语中一般用“0”标明“假”,用“1”标明“真”。

3若有声明语句:int x; char y[20];
double z; 则正确的输入语句是(  )。[武汉科技大学2021研]

a.scanf(

b.scanf(

c.scanf(

d.scanf(

【答案】c查看答案

【解析】y为一维数组名,指向数组首元素的地址,因而不需要再运用取地址运算符&,ab差错;d中%3.2f标明长度为3,小数为2位,可是小数点也占一位,因而d差错,答案选c。

4若a、b和t都为int变量,则下面不能交流变量a和b值的是(  )。[武汉科技大学2021研]

a.t=a; a=b; b=t;

b.a=t; t=b; b=a;

c.t=b; b=a; a=t;

d.a=a+b; b=a-b; a=a-b;

【答案】b查看答案

【解析】b中首要把t的值赋值给了a,则a的值现已被替代了,后边实施b=a,则ab的值都等于t的值。

5若有界说:int a=1,b=2; float x=3,w; 则合法的switch语句是(  )。[武汉科技大学2021研]

a.

switch(a){??case 1:w=a/b; break;??case 2: w=a%b; break;}

b.

switch(b){??case 1:z=a%b;??case 2: z=a/b; break;}

c.

switch(x){??case 2:w=a%b; break;??case 1:w=a/b; break;}

d.

switch(a+b);{??case 3:??case 2:w=a%b; break;}

【答案】a查看答案

【解析】b中,变量z不决义;c中x为浮点型,switch后边的表达式不能是浮点型,只能是整型和字符型;d中swith表达式后边不能加分号,答案选a。

6对下述程序段的描绘正确的是(  )。[武汉科技大学2021研]

scanf(if(a>b)??a=b;b=a;else??a++; b++;printf(

a.若输入4,5则输出a=5,b=6

b.若输入5,4则输出a=4,b=5

c.若输入5,4则输出a=5,b=5

d.有语法差错,不能经过编译

【答案】d查看答案

【解析】if(表达式)后边假定没有用花括号括起来,那么if的子语句只包括第一条语句,即在程序中只需a=b是归于if语句块的,if和else中心隔了一条语句b=a,编译无法经过。

7以下正确的描绘是(  )。[武汉科技大学2021研]

a.从多层循环嵌套中退出时,只能运用break语句

b.在循环体内运用continue和break语句,作用相同

c.只能在循环体内和switch体内运用break语句

d.continue语句的作用是结束整个循环的实施

【答案】c查看答案

【解析】从多层嵌套中退出不是只能运用break语句,也可以运用return或许程序自个实施完,a差错;在循环体内continue代表不实施该次循环中的剩下未实施语句,break代表直接跳出本层循环,bd差错,答案选c。

8假定有界说:int x=0,s=0; 则下面程序段的实施成果是(  )。[武汉科技大学2021研]

while(!x!= 0)??s+=x++;printf(“%d”,s);

a.1

b.0

c.无限循环

d.控制表达式不合法,无法编译

【答案】b查看答案

【解析】while后边的表达式中,首要实施!运算符,然后再实施!=运算符,初度判别中,x=0则!x!=0满足条件,进入循环中,实施s+=x++,x++是先运算,再自加,实施完后s=0,x=1,再回到while的判别条件,判别为false,跳出循环,输出s的值为0,答案选b。

9下面各语句中,能正确进行字符串操作的语句是(  )。[武汉科技大学2021研]

a.char
a[10]={

b.char a[10];?
a=

c.char *p;? *p=

d.char *s; scanf(

【答案】a查看答案

【解析】b项中,字符数组的数组名指向数组的首元素地址,初始化后不可以再被更改;cd两项中的字符指针在界说时均没有进行初始化,对其赋值对错法的,答案选a。

10以下能对数组value进行正确初始化的语句是(  )。[武汉科技大学2021研]

a.int value[2][]={{1,1},{2,2}};

b.int value[][3]={{1,,3},{4,5,6}};

c.int value[2][3]={1,2,3,4,5,6};

d.int value[][3]={{1},{4,6,}};

【答案】c查看答案

【解析】二维数组的界说有必要指定列数,可以不必指定行数,a差错;数组value为int型数组,不能给数组里边的元素赋空值,bd差错,答案选c。

11函数fun和实参数组的声明方法为:void fun(char
ch,float x[]); float a[5];

以下对函数的调用语句中,正确的是(  )。[武汉科技大学2021研]

a.fun(

b.t=fun(

c.fun(

d.fun(32,a[5]);

【答案】b查看答案

【解析

】调用函数fun需要传入两个实参,第一个实参的类型是char字符型,第二个实参的类型是float数组型,只需选项b满足条件。其间c项本身有语法差错,d项在传递数组时只需要数组名即可。

12设有界说int a[3][3];和函数调用语句sort(a,3); 则正确的函数声明是(  )。[武汉科技大学2021研]

a.void sort(int a,n);

b.void sort(int a[][],int n);

c.void sort(int a[][3],int n);

d.void sort(int a[][3],n);

【答案】c查看答案

【解析】根据函数调用语句可以晓得sort函数有两个参数,第一个参数的类型是一个二维int型数组,第二个参数是一个int型数据,所以a差错;b中因为二维数组必定要指定列数,b差错;d中形参n没有指定数据类型,差错;答案选c。

13有函数界说:int func(int *p),x和y是int型变量,则正确的调用是(  )。[武汉科技大学2021研]

a.y=func(x);

b.func(x);

c.func()=x;

d.y=func(&x);

【答案】d查看答案

【解析】根据func函数的界说可以晓得调用func函数需要传入一个指针,且该指针的指向类型是int型,只需d传入的是指向int型数据的指针,答案选d。

14已知书本规划界说如下,则对规划变量bk的正确赋值是(  )。[武汉科技大学2021研]

struct book{??struct??{????int year,month,day;??}publish;}bk;

a.bk.year=1998;?
bk.month=11;? bk.day=11;

b.publish.year=1998;? publish.month=11;
?publish.day=11;

c.year=1998;?
month=11;? day=11;

d.bk.publish.year=1998;?
bk.publish.month=11;? bk.publish.day=11;

【答案】d查看答案

【解析】变量bk是规划体book的一个规划体变量,该变量富含一个成员变量publish,publish也是一个规划体变量,该规划变量含三个成员变量,别离是year、month、day,规划体变量中的成员变量不可以直接造访,有必要以规划体变量名.成员变量名方法造访,所以只能经过bk.publish.year方法造访到最内层的变量并为其赋值,答案选d。

15关于以下界说,能打印出字母h的语句是(  )。[武汉科技大学2021研]

struct person{
char title[20];? int code;};

struct person
book[5]={

a.printf(

b.printf(

c.printf(

d.printf(

【答案】a查看答案

【解析】person是一个自界说规划体类型,该规划体富含两个成员变量,别离是一个字符数组和一个int数据,bc选项打印出来的是;d选项打印出来的是y,只需a打印出来的是h,答案选a。

16与十进制1100等值的十六进制数是(  )。[华南理工大学2021研]

a.44a

b.44c

c.54a

d.54c

【答案】b查看答案

【解析】1100变换成二进制为0100 0100 1100,因而变换为十六进制为44c。

17设int a=3;,下列哪一个表达式的值等于0(  )。[华南理工大学2021研]

a.a&&(a>0)

b.!a||a

c.a%=a

d.a>=a

【答案】c查看答案

【解析】a中a!=0且a>0所以表达式的值为1;b中||标明或,所以值也为1;d中表达式值也为1;答案选c。

18在c言语中,当函数的回来值缺省时,标明该函数回来值的类型是(  )。[华南理工大学2021研]

a.char

b.float

c.long

d.int

【答案】d查看答案

【解析】在c言语中,当函数的回来值缺省时,函数回来值的类型默许为int型。

19十六进制方法输出整数的格局阐明符是(  )。[华南理工大学2021研]

a.%u

b.%ld

c.%x

d.%o

【答案】c查看答案

【解析】a标明输出的是无符号整型;b标明输出的是有符号长整型;d标明输出的是8进制。

20若有阐明:int *p,m=5,n;,以下正确的程序段是(  )。[华南理工大学2021研]

a.

p=&n;??scanf(

b.

p=&n;??scanf(

c.

scanf(??p=n

d.

p=&n;??*p=n;

【答案】d查看答案

【解析】scanf语句中第二个参数大约是变量的地址,ab差错;c中p为指针变量,不可以以直接把一个int型变量赋值给指针型,c差错;答案选d。

21两次运转下面的程序,假定从键盘上别离输入6和4,则输出的成果是(  )。[华南理工大学2021研]

void main(void){??int x;??scanf(“%d”,&x);??if(x++>5) printf(“%d”,x);??else printf(“%d\n”,x–);}

a.7和5

b.6和3

c.7和4

d.6和4

【答案】a查看答案

【解析】当输入6时,判别x++>5为真,进入if语句块,此时x=7,输出7;当输入4时,进入else语句块,此时x=5,然后因为–是先运算后自减,所以先输出5,后x的值为4,答案选a。

22以下叙说中不正确的是(  )。[华南理工大学2021研]

a.在不一样的函数中可以运用相同名字的变量

b.函数中的方法参数是部分变量

c.在一个函数内界说的变量只能在本函数规模内有用

d.在一个函数的复合语句中界说的变量在本函数规模内有用

【答案】d查看答案

【解析】在一个函数的复合语句中界说的变量只在该复合语句中有用。

23设有下列程序

ff( ){??int c=9;??static int a=1, b=4;??if (b == 4)????{a+=c; b++;}??else????{a+= c; b– ;}??printf (“a=%d,b=%d\n”, a, b);}main ( ){ ff( ); ff( ); }

则该程序实施后,闪现的成果为(  )。[华南理工大学2021研]

a.a=10,b=5

a=19,b=5

b.a=10,b=4

a=19,b=5

c.a=10,b=4

a=19,b=4

d.a=10,b=5

a=19,b=4

【答案】d查看答案

【解析】初度调用ff()时,c=9,a=1,b=4,程序进入if语句块,实施完后a=10,b=5;第次调用ff(),因为a、b是静态变量,所以a、b的值不会从头初始化,所以进入else语句块,实施完后a=19,b=4,答案选d。

24以下数组界说中不正确的是(  )。[华南理工大学2021研]

a.int a[2][3];

b.int b[][3] = {0};

c.int c[100][100] = {0};

d.int d[3][] = {{1}, {1, 2,
3},{1}};

【答案】d查看答案

【解析】界说二维数组时必定要指定数组的列数,可以不指定数组的行数,d差错。

25若有界说:int *p,*s,c;,且各变量已正确赋值,则不合法的赋值表达式是(  )。[华南理工大学2021研]

a.p = s

b.c = *s

c.*s = &p

d.p = &c

【答案】c查看答案

【解析】c中p为指针变量,则&p标明的是指针的地址,若要赋值,则左面变量大约是一个二级指针,而*s代表的是s所指向地址的变量值,这个变量是一个int型,显着不正确。

26若有以下阐明:

int
w[3][4]={{0,1},{2,4},{5,8}};

int (*p)[4]=w;

则数值为4的表达式是(  )。[华南理工大学2021研]

a.*w[1]+1

b.p++,*(p+1)

c.w[2][2]

d.p[1][1]

【答案】d查看答案

【解析】a中*w[1]标明的的是数值2,则表达式的值为3,差错;b中p+1标明指向二位数组第二行的首元素地址,而*(p+1)代表的是第三行首元素值,b差错;c中标明的是数值0,答案选d。

27下列函数的功用是(  )。[华南理工大学2021研]

int fun1(char *x){??char *y=x;??while(* y++);??return (y-x-1);}

a.求字符串的长度

b.比照两个字符串的巨细

c.将字符串x仿制到字符串y

d.将字符串x联接到字符串y后

【答案】a查看答案

【解析】while后边的表达式是指针顺次遍历直到碰到\0,此时y指向字符串最终一个元素的后一个方位,可是因为y++,因而y会持续后移一位,而x指向字符串的头部,后边的y-x-1显着是用于核算字符串的长度。

28feof函数用来判别文件是不是结束,假定文件没有结束,则回来值是(  )。[华南理工大学2021研]

a.-1

b.0

c.1

d.eof

【答案】b查看答案

【解析】此题查询feof函数的界说与作用。

29设有阐明:file *fp; char *filename =

关于fp=fopen(filename,语句,下面说法正确的是(  )。[华南理工大学2021研]

a.翻开名为filename的文件读写

b.翻开名为paper的文件读写

c.翻开名为filename的文件只读

d.翻开名为paper的文件只读

【答案】b查看答案

【解析】filename只是一个字符指针变量的名字,不是文件的名字ac差错;rb+标明翻开二进制文件,且该文件可以读写,答案选b。

30若变量a,b,c的取值别离是1,2,3,则表达式“!((b+c)>(a+4))”的值是(  )。[北京航空航天大学2021研]

a.0

b.1

c.2

d.3

【答案】b查看答案

【解析】首要b+c等于5,a+4也等于5,因而(b+c)>(a+4)为“假”,即0,对0取非成果为1,因而答案为b。

31以下关于循环语句的叙说中,正确的是(  )。[北京航空航天大学2021研]

a.for循环语句的三个有些有必要都要有表达式

b.while循环语句的循环体内至少要有一条语句

c.do…while循环语句的循环体至少会被实施一次

d.continue语句可以退出包括它的整个循环体

【答案】c查看答案

【解析】for循环的三个表达式都可以省掉,可是之间的分号不能省掉,一起要有退出循环的机制,因而a项差错;while循环语句的循环体内可认为空,并不违背相应语法,只不过循环啥也不实施,因而b项差错;continue语句只是不实施本次循环的剩下语句,而并非退出整个循环,因而d项差错,答案选c。

32关于下列代码:

switch(option){??case ??case ??case ??break;}

若option的取值为,则该代码段的输出成果是(  )。[北京航空航天大学2021研]

a.welcome

b.welcome bye

c.hello welcome bye

d.以上成果都不对

【答案】b查看答案

【解析】因为option为,所以首要大约输出welcome,可是因为该语句后边没有break语句来中止选择语句switch,因而会持续实施下面的语句,直到遇上break,所以最终输出welcome bye,答案为b。

33若有以下变量的声明语句:

int
i=1,a[]={0,2,4},*b;

b=&i;

则下列选项中,其成果与表达式“*(a+1)”相等的是(  )。[北京航空航天大学2021研]

a.a[0]

b.*a+i

c.*(a+b)

d.*(a+*b)

【答案】d查看答案

【解析】a指向数组的首元素,因而*(a+1)标明取数组第二个元素的值,为2。a项,a[0]=0,不相等;b项,*a为数组第一个元素的值为0,再加上i=1,因而成果为1,不相等;c项,a和b都是指针,相加没有意义,差错;d项,*b的值i的值,即1,*(a+1)标明取数组第二个元素的值为2,相等,因而答案选d。

34若已知有如下宏界说

#define?
canberra(x,y)? ((x-y)/(x+y))

则以下表达式中,回来成果值最大的是(  )。[北京航空航天大学2021研]

a.canberra(3.0,2.0);

b.canberra(4.0,1.0);

c.canberra(1.0+2.0,0.0+2.0);

d.canberra(1.0+2.0,1.0+1.0);

【答案】c查看答案

【解析】a项中为1.0/5.0,成果为0.2;b项中为3.0/5.0,成果为0.6;c项中的宏替换后为(1.0+2.0-0.0+2.0)/(1.0+2.0+0+2.0)=1.0;d项中宏替换后为(1.0+2.0-1.0+1.0)/(1.0+2.0+1.0+1.0)=0.6,因而最终答案为c。

35关于以下c程序,其正确的是(  )。[北京航空航天大学2021研]

#include<stdio.h>int main(){??char str1[]=??char str2[]=??if(str1==str2)????printf(??else????printf(??return 0;}

a.unequal

b.equal

c.该程序无法经过编译

d.该程序运转时犯错

【答案】a查看答案

【解析】首要该程序契合语法规则,因而不会编译时发生差错,其次字符数组str1和str2都为指针常量,将他们直接用联络运算符进行比照必定是不相等的,可是它们所指的字符串是相等的,因而最终输出unequal。

36已知有以下sample.c程序的界说:

/*sample.c*/#include<stdio.h>int main(int argc,char *argv[]){??printf(??return 0;}

将该程序编译成可实施文件sample后,若在指令行下输入如下指令:

sample? january?
february? march

则该指令正确的输出是(  )。[北京航空航天大学2021研]

a.j

b.a

c.f

d.e

【答案】d查看答案

【解析】根据指令行的输入可知,四个字符串赋给相应的指针数组,所以argv[2]标明第三个字符串february,再进行++操作,指针指向字符串的第二个字符e,最终进行取值操作,成果为e,答案为d。

37以下程序运转后的输出成果是(  )。[中心财经大学2021研]

int main(){??double d;??float f;??long l;??int i;??i=f=l=d=20/3;??printf(??return 0;}

a.6 6 6.0 6.0

b.6 6 6.7 6.7

c.6 6 6.0 6.7

d.6 6 6.7 6.0

【答案】c查看答案

【解析】赋值运算符是自右向左联系的,所以首要实施d=20/3=6,一起i、l、f也全为6,在进行输出时,f和d要保存一位小数,所以答案选c。

38若有界说和语句:char
s[10];s=,则成果是(  )。[中心财经大学2021研]

a.输出abcd@#$

b.输出a

c.输出abcd

d.编译不经过

【答案】d查看答案

【解析】在界说一维字符数组时,s为数组名,指向数组首元素的地址,为地址常量,不可以更改,因而语句s=对错法的,编译不会经过。

39以下叙说差错的是(  )。[中心财经大学2021研]

a.在程序中但凡以“#”初步的语句行都是预处置指令行

b.预处置指令行的最终不能以分号标明结束

c.#include max是合法的宏界说指令行

d.c程序对预处置指令行的处置是在程序实施的进程中进行的

【答案】d查看答案

【解析】在c言语中,但凡以“#”最初的行都称为编译预处置指令行,为了差异c语句,后边是不加分号的。编译预处置是在编译程序对c源程序进行编译前实施的,而不是在程序实施进程中进行的。

40若有如下宏界说:

#define?
n? 2

#define?
y(n)? ((n+1)*n)

则实施下列语句:z=4*(n+y(5));后的成果是(  )。[中心财经大学2021研]

a.语句有差错

b.z值为68

c.z值为60

d.z值为180

【答案】b查看答案

【解析】y(5)=15,z=4*(n+y(5))=4*17=68,答案选b。

41有如下阐明

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

则数值为9的表达式是(  )。[中心财经大学2021研]

a.*p+9

b.*(p+8)

c.*p+=9

d.p+8

【答案】b查看答案

【解析】a中*p=1,*p+9=10,a差错。c中*p得到的是一个常量,常量不可以以被赋值,c差错。d中p是地址,p+8仍然标明一个地址。因而b项正确,p+8指向元素9,进行取值得9。

42若有以下阐明和语句:

struct worker{??int no;??char *name;}work,*p=&work;

则以下引证方法不正确的是(  )。[中心财经大学2021研]

a.work.no

b.(*p).no

c.p->no

d.work->no

【答案】d查看答案

【解析】规划体变量造访成员变量的引证方法选用“.”,而规划体指针选用“->”,因而ac是正确的,b项中*p标明规划体变量,因而可以用“.”,所以答案选择d。

43以下不合法的用户标识符是(  )。[四川大学2021研]

a.j2_key

b.double

c.4d

d._8_

【答案】c查看答案

【解析】标识符只能包括数字,字母,下划线,且不能以数字最初,选项c差错。

44算法具有五个特性,以下选项中不归于算法特征性的是(  )。[四川大学2021研]

a.有穷性

b.简练性

c.可行性

d.断定性

【答案】b查看答案

【解析】一个算法大约具有五个重要特征:①有穷性;②切当性;③输入性;④输出性;⑤可行性。因而简练性并不归于算法特征。

45已界说如下函数:

fun(int *p)

{return *p;}

该函数的回来值是(  )。[四川大学2021研]

a.不断定的值

b.形参p中存放的值

c.形参p所指存储单元中的值

d.形参p的地址值

【答案】c查看答案

【解析】p是一个指向int型的指针变量,*p标明的是p所指向内存存放的变量,是一个int型,所以return *p标明回来p所指存储单元中的值,答案选c。

46在c言语中,形参的缺省存储类型是(  )。[四川大学2021研]

a.auto

b.register

c.static

d.extern

【答案】a查看答案

【解析】形参是部分变量,缺省类型为auto型。

47语句:printf(的输出成果是(  )。[四川大学2021研]

a.无输出

b.成果不断定

c.-1

d.1

【答案】d查看答案

【解析】a=2为真,b=-2也为真,所以输出1,答案选d。

——材料来历:【书乐书院】

发表评论

|京ICP备18012533号-223