考研高级程序设计在线题库每日一练(二十)
以下是希赛网给大家分享考研高级程序设计在线题库每日一练,希望通过刷题可以帮助大家巩固重要知识点,对知识点查漏补缺,祝愿大家能顺利通过考试!
本文提供考研高级程序设计在线题库每日一练,以下为具体内容
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、已知函数的调用形式:fread(buffer,size,count,fp);其中buffer代表的是()。
A、一个整数,代表要读入的数据项总数
B、一个文件指针,指向要读的文件
C、一个指针,指向要读入的数据的存放地址
D、一个存储区,存放要读的数据项
4、已知x=43,ch='A',y=0;则表达式(x>=y&&ch<'B'&&!y)的值是()。
A、0
B、语法错误
C、1
D、false
5、若有typedef int *POINTER[3];想定义了一个含有3个指向int型指针的一维指针数组的正确形式是()。
A、POINTER *P;
B、POINTER *P[3];
C、POINTER P[3];
D、POINTER P;
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
试题解析:
【考点】本题考查文件函数fread。
【解析】fread(buffer,size,count,fp)其中:
buffer:是一个地址。对fread来说,是用来存放从文件中读入的数据的存储区的地址。对fwrite来说,是要把此地址开始的存储区中的数据写入文件中。
size:要读写的字节数
count:要读写多少个数据项(每个数据项长度为size)
fp:FILE类型指针
故本题选D。
4、试题答案:C
试题解析:
【考点】本题考查关系表达式。
【解析】由题,x>=y即43>=0为真,ch<'B'即'A'<'B'为真,!y为真,故表达式(x>=y&&ch<'B'&&!y)为真(值为1);故本题选C。
5、试题答案:D
试题解析:
【考点】本题考查关键字typedef。
【解析】关键字typedef用以给数据类型取别名。题中定义中,用别名POINTER取代int *[3],故想要达到题中要求,定义应为POINTER P;。故本题选D。
用typedef声明新类型名,例:
typedef int Integer; //指定用Integer为类型名,作用与int相同
typedef struct //声明一个新类型名Data,代表上面的一个结构体类型
{ int data;
int num;
}Data;
typedef int Num[100]; //声明Num为整数数组类型名