23、下列程序的功能是将数组中的所有元素全部输出,对于程序中缺少的语句,下列语句填入其中不正确的是______。
int a[]={1,2,3,4};
int *pa=a;
for(int i=0;i<4;i++)
______;
A、cout<<*a++<<' '
B、cout<<*pa++<<' '
C、cout<<*(a+i)<<' '
D、cout<<*(pa+i)<<' '
本题考查的是指针和数组。
数组名实际上是一个常量指针,存放数组第一个元素的地址。既然是一个常量指针其值是不可改变的,所以不能有a++之类的语句。
故本题选A。
24、执行下列程序后,输出的结果是______。
int fact(int n)
{
if(n<=1)
return 1;
else
return n+fact(n-1);
}
int main()
{
cout<<fact(4)<<endl;
return 0;
}
A、1
B、4
C、10
D、15
本题考查的是递归函数。
如果一个函数直接调用它自己该函数叫直接递归。fact(int n)函数,其中如果n>1调用了自身n-1次。
故本题选C。
25、虚函数的______可以不同。
A、函数体内容
B、返回类型
C、参数个数
D、函数名
本题考查虚函数的概念。
虚函数是一种单界面多实现版本的实现方法,即函数名、返回类型、函数类型和个数顺序完全相同,但函数体内容可以完全不同。
故本题选A。
26、下列变量名的写法中,正确的是______。
A、byte-size
B、CHINA
C、double
D、A+a
本题考查变量名的命名规则。
标识符识用户为程序中各种需要命名的的”元素“所起的名字。这些元素:包括变量、符号常量、函数、函数的参数、结构、类等。标识符是以一个字母或者下划线开头有字母下划线和数字组成。不能与任意一个关键字同名。区分大小写。
故本题选B。
27、假定AB为一个类,px为指向该类动态对象数组的指针,该数组的长度为n,则执行"delete []px;"语句时,自动调用该类的析构函数的次数为______。
A、0
B、1
C、n
D、n+1
本题考查的是类的析构函数的调用。
释放px是,后自动调用px所指向对象数组的析构函数,都会调用类的析构函数。
故本题选C。
28、对于结构中定义的成员,其隐含访问权限为______。
A、public
B、protected
C、private
D、static
本题考查结构体的概念。
结构体默认的访问权限是public,而类默认的访问权限是private。
故本题选A。