2013年高级程序设计考研真题答案及解析
考研真题,是用来研究考试规律的。考生可通过真题,来确定自己的复习范围,来研究考试的重点、难点是哪些内容。希赛网为大家整理2013年高级程序设计考研真题答案及解析,供大家参考!
本文提供2013年高级程序设计考研真题答案及解析,以下为具体内容
1、在C语言中,下列关于函数的说法不正确的是( )。
A、可以嵌套定义
B、嵌套调用和递归调用均可
C、不可以嵌套调用
D、可以嵌套但不可以递归调用
2、若有语句int a[4][4],*p,*q[4];,且0<=i<4,则错误的赋值是( )。
A、p=a
B、q[i]=a[i]
C、p=q[i]
D、p=&a[2][1]
3、若有定义:typedef struct{long i;int k[6];char c[4];}DATA;,则表达式sizeof(DATA)的值是( )。
A、12
B、20
C、24
D、32
4、以下叙述中正确的是( )。
A、局部变量说明为static存储类,其生存期将得到缩短;
B、全局变量说明为static存储类,其作用域将被缩小;
C、任何存储类的变量在未赋初值时,其值都是不确定的;
D、形参可以定义为static存储类
5、下面关于C语言字符数组的描述,其中错误的是( )。
A、不可以用赋值语句给字符数组名赋字符串
B、可以用输入语句把字符串整体输入给字符数组
C、字符数组中的内容不一定是字符串
D、字符数组只能存放字符串
1、试题答案:B
试题解析:
【考点】本题考查函数的定义与调用。
【解析】C语言的函数定义是互相平行、独立的,在定义函数时,一个函数不能再定义另一个函数,即不能嵌套定义;但可以嵌套调用函数,即在调用一个函数的过程中,又调用另一个函数。故选项A、C错误。
在调用一个函数的过程中又出现直接或间接地调用该函数本身,称为函数的递归调用,C语言的特点之一就在于允许函数的递归调用。故选项B正确,选项D错误。
综上本题选B。
2、试题答案:A
试题解析:
【考点】本题考查指针指向二维数组。
【解析】由题中定义inta[4][4],*p,*q[4];,则a是二维数组,p是指向int型的指针,q是一个数组,且每个元素皆指向一个int型。A选项中a代表数组首地址,赋值给p,以行计算二维(错误);B选项中q[i]是一个指针变量,a[i]表示第i行首元素地址(正确);C选项中q[i]是个指向int型指针与p相同(正确);D选项中&a[2][1]是元素的地址(正确)。综上本题选A。
3、试题答案:D
试题解析:
【考点】本题考查数据类型。
【解析】sizeof(DATE)计算结构体变量DATE所占空间大小=4*1+4*6+1*4=32(字节),故本题选D。
各数据类型所占字节数如下表:
4、试题答案:B
试题解析:
【考点】本题考查局部变量与全局变量的存储类别。
【解析】static类型的变量是静态变量,它的值在函数调用结束后不会消失,而是保留原值;它生存期从定义该变量开始直到程序结束。局部变量是在函数内部定义的变量,它只在本函数范围内有效;故局部变量说明为static存储类(即静态局部变量),其生存期将得到延长,故A选项错误。全局变量的作用域从定义该变量开始直到程序结束(允许被其他文件引用),全局变量说明为static存储类,其作用域将缩小(只限本文件引用),故选项B正确。
若定义变量时未赋初值,静态局部变量编译时自动赋初值0,自动变量的值是一个不确定的值;故选项C错误。
局部变量可以使用static,而形参不可以;两者都可以使用auto(自动变量)、register(寄存器变量)类别;故选项D错误。
综上本题选B。
5、试题答案:D
试题解析:
【考点】本题考查指针变量的类型及含义。
【解析】不可以用赋值语句将字符串常量或字符数组直接给字符数组;只能使用strcpy函数将一个字符串复制到;另一个字符数组中。故选项A正确。可用printf函数和scanf函数一次性输出输入一个字符数组中的字符串,故选项B正确。字符数组不仅可以存放字符串,也可以存放字符,故选项C正确,选项D错误。综上本题选D。