考研高级程序设计在线题库每日一练(二十一)
以下是希赛网给大家分享考研高级程序设计在线题库每日一练,希望通过刷题可以帮助大家巩固重要知识点,对知识点查漏补缺,祝愿大家能顺利通过考试!
本文提供考研高级程序设计在线题库每日一练,以下为具体内容
1、以下叙述中正确的是( )。
A、局部变量说明为static存储类,其生存期将得到延长;
B、全局变量说明为static存储类,其作用域将被扩大;
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、若有语句int c[4][5],(*p)[5];p=c;能正确引用数组元素的是( )。
A、p+1
B、*(p+3)
C、*(p+1)+3
D、*(p[0]+2)
4、设C语言中,int类型数据占2个字节,则short类型数据占( )。
A、1个字节
B、2个字节
C、4个字节
D、8个字节
5、下面的变量声明中,正确的是( )。
A、char ch="A";
B、int i=j+1;
C、int a[5]={3};
D、char *p=1024;
1、试题答案:A
试题解析:
【考点】本题考查局部变量与全局变量的存储类别。
【解析】static类型的变量是静态变量,它的值在函数调用结束后不会消失,而是保留原值;它生存期从定义该变量开始直到程序结束。局部变量是在函数内部定义的变量,它只在本函数范围内有效;故局部变量说明为static存储类(即静态局部变量),其生存期将得到延长,故A选项正确。全局变量的作用域从定义该变量开始直到程序结束(允许被其他文件引用),全局变量说明为static存储类,其作用域将缩小(只限本文件引用),故选项B错误。
若定义变量时未赋初值,静态局部变量编译时自动赋初值0,自动变量的值是一个不确定的值;故选项C错误。
局部变量可以使用static,而形参不可以;两者都可以使用auto(自动变量)、register(寄存器变量)类别;故选项D错误。
综上本题选A。
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
试题解析:
【考点】本题考查指针指向一维数组。
【解析】语句int (*p)[5];表示p为指向包含5个元素的一维数组的指针变量。且有p=c,故p指向二维数组c的第一行,则有:
p+1指向二维数组c的第二行(即c[1]的地址);
*(p+3)指向数组c的第四行的第1个元素(即c[3][0]的地址);
*(p+1)+3指向数组c的第二行的第4个元素(即c[1][3]的地址);
p[0]指向数组c的第一行的第1个元素,则*(p[0]+2)表示数组c第一行的第3个元素(即数组元素c[0][2])。
综上本题选D。
4、试题答案:B
试题解析:
【考点】本题考查数据类型的存储大小。
【解析】由下表可知,short类型数据占2个字节,故本题选B。
5、试题答案:C
试题解析:
【考点】本题考查变量的初始化。
【解析】选项A,其中"A"使用双撇号表示A是一个字符串,将其赋值给字符变量ch错误,类型不匹配。选项B中,j是一个变量,未对其初始化,不能将j+1赋值给i,故错误。选项C中,只对数组a中的第一个元素赋值为3,则系统会将其他元素默认赋值为0,故正确。选项D中,p是指针变量,不能将整数1024直接赋值给指针变量,故错误。综上本题选C。

