选择题Word文档下载推荐.docx
- 文档编号:878519
- 上传时间:2023-04-29
- 格式:DOCX
- 页数:12
- 大小:32.56KB
选择题Word文档下载推荐.docx
《选择题Word文档下载推荐.docx》由会员分享,可在线阅读,更多相关《选择题Word文档下载推荐.docx(12页珍藏版)》请在冰点文库上搜索。
A.inta[]={1,2,3};
B.inta[10]={0};
C.inta[];
D.inta[5];
9.若有以下说明,则数值为4的表达式是()。
inta[12]={1,2,3,4,5,6,7,8,9,10,11,12};
charc='
a'
d,g;
A.a[g-c]
B.a[4]
C.a['
d'
-'
c'
]
D.a['
-c]
10.
在C语言中,下面关于数组的描述正确的是()。
A.数组的大小是固定的,但可以有不同类型的数组元素
B.数组的大小是可变的,但所有数组元素的类型必须相同
C.数组的大小是固定的,所有数组元素的类型必须相同
D.数组的大小是可变的,可以有不同的类型的数组元素
11.
一个函数功能不太复杂,但要求被频繁调用,选用____。
A.内联函数
B.重载函数
C.递归函数
D.嵌套函数
12.
下列带缺省值参数的函数说明中,正确的说明是 。
A.intFun(intx,inty=2,intz=3);
B.intFun(intx=1,inty,intz=3);
C.intFun(intx,inty=2,intz);
D.intFun(intx=1,inty,intz);
13.
在C++中函数原型不能标识:
____。
A.函数的返回类型
B.函数的参数个数
C.函数的功能
D.函数参数类型
14.
下面有关重载函数的说法中正确的是____。
A.重载函数必须具有不同的返回值类型;
B.重载函数形参个数必须不同;
C.重载函数必须有不同的形参列表
D.重载函数名可以不同;
15.
以下程序有语法性错误,有关错误原因的正确说法是:
main()
{intG=5,k;
voidprt_char();
……
k=prt_char(G);
……
}
A.语句voidprt_char();
有错,它是函数调用语句,不能用void说明
B.变量名不能使用大写字母
C.函数说明和函数调用语句之间有矛盾
D.函数名不能使用下划线
16.
下列选项中,()具有文件作用域。
A.函数形参
B.局部变量
C.全局变量
D.静态变量
17.
正确的函数原型形式为()。
A.voidfun(void);
B.doublefun(intx;
inty);
C.intfun(int=0,int);
D.doublefun(intx,y)
18.
下面叙述中错误的是()。
A.调用函数必须在一条独立的语句中完成
B.一个函数中可以有多条return语句
C.函数中通过return语句传递函数值
D.主函数名main也可以带有形参
19.
在函数的返回值类型与返回值表达式类型的描述中,错误的是()。
A.函数返回值的类型是在定义函数时确定的,在函数调用时不能改变
B.函数返回值得类型就是返回值表达式的类型
C.函数返回值的类型与返回值表达式类型不同时,函数表达式类型应该转换成返回值类型
D.函数返回值的类型决定了返回值表达式的类型
20.
必须用一对大括号括起来的程序段是()。
A.switch语句中的case标号语句
B.if语句的分支
C.循环语句的循环体
D.函数的函数体
21.
语句int*p();
的含义是____。
A.p是一个函数,该函数返回指针。
B.p是指针变量,指向一个整型数据。
C.p是一个指向一维数组的指针变量。
D.p是数组,数组的元素是指针。
22.
设intx[]={1,2,3,4,5,6},*p=x;
则值为4的表达式是____。
A.p+=2,*++p
B.p+=2,*p++
C.p+=4,*p
D.p+=3,++*p
23.
以下选项中,不能正确赋值的是()
A.chars[]=“china”;
B.chars[10];
s1[]=“china”;
C.char*s=“china”;
D.char*s[4]=“china\n”;
24.
已知:
inta[6],*p=a;
则下列不能表示a[1]地址的表达式是()
A.p+1
B.++p
C.a+1
D.a++
25.在整型指针变量p1、p2的定义中,错误的是()。
A.intx,*p1,p2;
B.int*p1,x,*p2;
C.intx,*p1=&
x,*p2;
D.int*p1,x,*p2=&
x;
26.
若有intk=1,a[10]={10,20,30,40};
int*p1=a,*p2=&
a[2];
则下列不能正确执行的语句是()。
A.k=*p1+*p2;
B.p2=k;
C.p1=p2;
D.k=p2-p1;
27.
若有int*p[3];
则以下表述中正确的是()。
A.p是一个指向有3个元素的整型数组的指针
B.p是一个指向int型变量的指针
C.p是一个有3个元素的指针数组,每个元素是一个int型指针
D.p是一个数组,该数组的元素是指针p所指向的变量
28.
设有语句intarray[3][4];
则在下面几种引用下标为i和j的数组元素的方法中,不正确的引用方式是()。
A.array[i][j]
B.*(*(array+i)+j)
C.*(array[i]+j)
D.*(array+i*4+j)
29.
若有以下说明和语句,请选出哪个是对c数组元素的正确引用()
intc[4][5],(*cp)[5];
cp=c;
A.cp+1
B.*(cp+3)
C.*(cp+1)+3
D.*(*cp+2)
30.
设已有定义:
char*st=“howareyou”;
下列程序段中正确的是()
A.chara[11];
strcpy(++a,st);
B.chara[11],*p;
strcpy(p=a+1,&
st[4]);
C.chara[11];
strcpy(a,st);
D.chara[],*p;
strcpy(p=&
a[1],st+2);
31.
以下程序的运行结果是()
point(char*p){p+=3;
intmain()
{charb[4]={‘a’,‘b’,‘c’,‘d’},*p=b;
point(p);
cout<
<
*p<
endl;
return0;
}
A.a
B.b
C.c
D.d
32.
阅读下面程序,执行后的结果为()
#include<
iostream>
usingnamespacestd;
voidfun(int*a,int*b)
{intk=5;
*a=k;
*b=*a+k;
intmain()
{int*a,*b,x=10,y=15;
a=&
x;
b=&
y;
fun(a,b);
cout<
*a<
”,”<
*b<
endl;
return0;
A.10,15
B.5,15
C.5,10
D.15,10
33.
下面程序段的运行结果是()。
charstr[]="
ABC"
*p=str;
printf("
%d\n"
*(p+3));
A.67
B.0
C.字符′C′的地址
D.字符′C′
34.
有如下程序段
int*p,a=10,b=1;
p=&
a=*p+b;
执行该程序段后,a的值为()。
A.编译出错
B.12
C.11
D.10
35.
若有“floata=1.5,b=3.5,*pa=&
*pa*=3;
pa=&
b;
”,则正确的是()
A.pa的值是1.5
B.*pa的值是4.5
C.*pa的值是3.5
D.pa的值是3.5
36.
设有以下说明语句
typedefstruct
{intn;
charch[8];
}PER;
则下面叙述中正确的是()。
A.PER是结构体变量名
B.PER是结构体类型名
C.typedefstruct是结构体类型
D.struct是结构体类型
37.
structstu
{inta;
floatb;
}stutype;
则下面的叙述不正确的是()。
A.struct是结构体类型的关键字
B.structstu是用户定义的结构体类型
C.stutype是用户定义的结构体类型名
D.a和b都是结构体成员名
38.
阅读下面程序,输出结果是()
#include<
stdio.h>
voidmain()
{
uniondata{
inti;
charch;
floatf;
}a;
a.f=101;
a.i=101;
%c%.1f\n"
a.ch,a.f);
A.101101.0
B.e101.0
C.e不确定的值
D.不确定的值不确定的值
39.
若有以下声明语句,则下列错误的引用是()。
structworker
{intno;
charname[20];
}w,*p=&
w;
A.w.no
B.p->
no
C.(*p).no
D.*p.no
40.
以下结构类型可用来构造链表的是()。
A.structaa{inta;
int*b;
};
B.structbb{inta;
bb*b;
C.structcc{int*a;
ccb;
D.structdd{int*a;
aab;
41.
有如下定义
structperson{charname[9];
intage;
};
structpersonclass[10]={“Johu”,17,
“Paul”,19
“Mary”,18,
“Adam16,};
根据上述定义,能输出字母M的语句是()。
A.cout<
class[3].mane;
B.cout<
class[3].name[1];
C.cout<
class[2].name[1];
D.cout<
class[2].name[0];
42.
设有如下定义
structss
{charname[10];
intage;
charsex;
}std[3],*p=std;
下面各输入语句中错误的是()。
A.cin>
&
(*p).age;
B.cin>
std.name;
C.cin>
std[0].sex;
D.cin>
(p->
sex);
43.
下面关于结构体概念的叙述中,正确的说法是()。
A.相同类型数据的集合称为结构体
B.不同类型数据的集合称为结构体
C.数据的集合称为结构体
D.整数的集合称为结构体
44.
C++语言结构体类型变量在程序执行期间()。
A.所有成员一直驻留在内存中
B.只有一个成员主留在内存中
C.部分成员驻留在内存中
D.没有成员驻留在内存中
45.
在说明一个结构体变量时系统分配给它的存储空间是()。
A.该结构体中第一个成员所需存储空间
B.该结构体中最后一个成员所需存储空间
C.该结构体中占用最大存储空间的成员所需存储空间
D.该结构体中所有成员所需存储空间的总和
46.
类的实例化是指()。
A.定义类
B.创建类的对象
C.指明具体类
D.调用类的成员
47.
下面描述中,不正确的是()。
A.构造函数定义了创建对象的方法,提供了初始化对象的一种简便手段。
B.析构函数完成对象被删除前的一些清理工作。
C.如果程序中未声明构造函数,则系统自动产生出一个缺省形式的构造函数。
D.析构函数允许重载,但析构函数不得返回任何值,即使关键字void也不允许有。
48.
以下哪项表明displayBreed()函数是Animal类的成员函数()。
A.Animal:
:
displayBreed()
B.Animal.displayBreed()
C.displayBreed():
Animal
D.displayBreed()&
Animal
49.
下列语句中,错误的是。
A.constintbuffer=256;
B.constinttemp;
C.constdouble*point;
D.double*constpt=newdouble(5.5);
50.
下列关于类和对象的叙述中,错误的是。
A.一个类只能有一个对象
B.对象是类的具体实例
C.类是某一类对象的抽象
D.类和对象的关系就像数据类型和变量的关系
51.
有以下类声明:
classMyClass{intnum;
};
则MyClass类的成员num是。
A.公有数据成员
B.公有成员函数
C.私有数据成员
D.私有成员函数
52.
有以下程序:
classTest
{
private:
inta;
//数据成员
public:
Test(){cout<
"
无参构造函数"
<
endl;
} //无参构造函数
Test(inta){cout<
a<
} //带参构造函数
Test(constTest&
copy;
):
a(copy.a) //复制构造函数
{cout<
\"
复制构造函数"
}
~Test(){cout<
析构函数"
} //析构函数
intmain() //主函数main()
Testa(3);
//定义对象
return0;
//返回值0,返回操作系统
运行时的输出结果是。
A.3
B.无参构造函数析构函数
C.复制构造函数析构函数
D.3析构函数
53.
下列关于构造函数的描述中,错误的是
A.构造函数名与类名相同
B.构造函数可以有返回值
C.构造函数可以重载
D.构造函数在对象生成时自动调用
54.
若MyClass是一个类名,且有如下语句序列
MyClassc1,*c2;
MyClass*c3=newMyClass;
MyClass&
c4=c1;
上面的语句序列所定义的类对象的个数是
A.1
B.2
C.3
D.4
55.
要定义一个引用变量p,使之引用类MyClass的一个对象,正确的定义语句是
A.MyClassp=MyClass;
B.MyClassp=newMyClass;
C.MyClass&
p=newMyClass;
D.MyClassa,&
p=a;
56.
classA
A(){cout<
A"
} //构造函数
classB:
publicA
B(){cout<
B"
intmain(void) //主函数main()
Bobj;
//定义对象
cout<
//换行
执行后的输出结果是。
A.AB
B.BA
C.A
D.B
57.
~A(){cout<
} //析构函数
~B(){cout<
intmain() //主函数main()
B*p=newB;
//定义指针
deletep;
//释放动态空间
//换行
//返回值0,返回操作系统
执行后的输出结果是。
58.
} //无参构造函数
A(charc){cout<
c;
B(charc){cout<
Bobj('
B'
);
执行这个程序,屏幕上将显示输出。
A.B
C.AB
D.BB
59.
下列关于派生类构造函数和析构函数的说法中,错误的是。
A.派生类的构造函数会隐含调用基类的构造函数
B.如果基类中有默认构造函数(无参构造函数),那么派生类可以不定义构造函数
C.在建立派生类对象时,先调用基类的构造函数,再调用派生类的构造函数
D.在销毁派生类对象时,先调用基类的析构函数,再调用派生类的析构函数
60.
如果派生类以protected方式继承基类,则原基类的protected成员和public成员在派生类的访问权限分别是。
A.public和public
B.public和protected
C.protected和public
D.protected和protected
61.
派生类的成员函数不能访问基类的。
A.公有成员和保护成员
B.公有成员
C.私有成员
D.保护成员
62.
A(intx=0){cout<
x;
} //构造函数
B(intx=0){cout<
Bobj
(1);
程序的输出结果是。
A.0
B.1
C.01
D.001
63.
下列对派生类的描述中,错误的是()。
A.一个派生类可以作为另一个派生类的基类
B.派生类至少有一个基类
C.派生类的缺省继承方式是private
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 选择题