2014年程序设计考研真题答案及解析
考研真题,是用来研究考试规律的。考生可通过真题,来确定自己的复习范围,来研究考试的重点、难点是哪些内容。希赛网为大家整理2014年程序设计考研真题答案及解析,供大家参考!
本文提供2014年程序设计考研真题答案及解析,以下为具体内容
1、下面选项中()是不合法的C(C++)语言用户标识符。
A、_123
B、scanf
C、void
D、Struct
2、C(C++)语言程序的三种基本结构是顺序结构、选择结构和()结构。
A、循环
B、递归
C、转移
D、嵌套
3、算术运算符、赋值运算符和关系运算符的运算符优先级按从高到低的顺序依次为( )。
A、算术运算、赋值运算、关系运算
B、关系运算、赋值运算、算术运算
C、算术运算、关系运算、赋值运算
D、关系运算、算术运算、赋值运算
4、设整型变量m,n,a,b,c,d均为1,执行“(m=a>b)&&(n=a>b)" 后,m,n的值是()。
A、0,0
B、0,1
C、1,0
D、1,1
5、下列语句中,错误的是()。
A、while(x=y) x++;
B、do x++; while(x==10);
C、while(0);
D、do a++ while (a==b);
6、设有定义“int a=3, b, *p=&a;" ,则下列语句中使b不为3的语句是()。
A、b=*&a;
B、b=*p;
C、b=a;
D、b=*a;
7、若有定义“int a[3][4],*p;" ,则对数组元素a[i][j](0<=i<3,0<=j<4)正确的引用是( )。
A、p=a
B、*(*(p+i)+j)
C、*(p+i*4+j)
D、*(*(a+i)+j)
8、能把函数处理结果的二个数据返回给主调函数,在下面的方法中不正确的是()。
A、return这二个数
B、形参用二个元素的数组
C、形参用二个这种数据类型的指针
D、用二个全局变量
9、设有如下定义,则对data中的a成员的正确引用是()。struct sk {int a; float b; }data, *p=&data;
A、(*p).data.a
B、(*p).a
C、p->data.a
D、p.data.a
10、对于以下结构定义:struct{ int len; char *str;}a[5],*p=a;++p->str中的++加在()。
A、指针str上
B、指针p上
C、str所指的内容上
D、以上均不是
1、试题答案:C
试题解析:
C语言规定标识符只能由字母、数字、下划线3种字符组成,且第一个字符必须为字母或下划线。编译系统将大写字母和小写字母认为是两个不同的字符。关键字不能作为用户标识符。选项A、B、D符合命名规则。选项C中void是关键字:声明函数无返回值或无参数,声明无类型指针,是不合法的标识符。故本题选C。
2、试题答案:A
3、试题答案:C
试题解析:
运算符优先级如下:
故本题选C。
4、试题答案:B
试题解析:
逻辑表达式(m=a>b)&&(n=a>b)中(m=a>b),m的值为a>b的值(即0);则逻辑与'&&'出现短路评估,右侧的表达式不执行,那么逻辑表达式只改变m的值。故m,n的值分别是0,1,则本题选B。
如果 &&(||) 运算符左侧的子表达式为 false(true),则不会检查右侧的表达式。因为只要有一个子表达式为 false(true),则整个表达式都为 false(true),所以再检查剩余的表达式会浪费 CPU 时间。这被称为短路评估。
5、试题答案:D
试题解析:
选项D中,循环体a++后没有';',不是完整的语句,不能作为循环体,故错误,则本题选D。
6、试题答案:D
试题解析:
题中语句b=*&a;、b=*p;、b=a;均表示b=a,则b的值为3;故A、B、C不符题意。语句b=*a;错误,a是int型变量,不能使用指针运算符(*)。综上本题选D。
指针运算符(*):*p表示指针变量p所指向的变量。
取地址运算符(&):&a是变量a的地址。
7、试题答案:D
试题解析:
由题,a是二维数组名,p是int型指针变量,两者之间不能直接赋值,故选项A错误。且指针变量p与数组a没有关联,则不能通过指针p引用数组a中的元素,故选项B、C错误。由下表可知*(*(a+i)+j)表示数组元素a[i][j],故选项D正确。综上本题选D。
8、试题答案:A
试题解析:
函数的返回值是一个确定的值,不能返回两个数据,故选项A错误。用数组,或指针作为形参,可以通过地址传递,改变其所指向的变量的值,将结果传给实参,故B、C选项正确。全局变量从定义处到程序结束都有效,故选项D正确。综上本题选A。
9、试题答案:B
试题解析:
由题指针p指向结构体变量data,则*p就表示结构体变量data;故data不是p的一个成员变量,那么选项A、C、D错误。(*p).a表示data.a,即结构体变量data的成员变量a,故本题选B。
若要通过指针p直接引用成员,需使用指向结构体成员运算符(->),则有p->a。
10、试题答案:A
试题解析:
指向结构体成员运算符(->)的优先级高于自增运算符(++),故p先与str结合,即p->str(表示指针str),再对p->str进行自增运算;综上本题选A。