选择题.docx

上传人:wj 文档编号:661493 上传时间:2023-04-29 格式:DOCX 页数:12 大小:32.56KB
下载 相关 举报
选择题.docx_第1页
第1页 / 共12页
选择题.docx_第2页
第2页 / 共12页
选择题.docx_第3页
第3页 / 共12页
选择题.docx_第4页
第4页 / 共12页
选择题.docx_第5页
第5页 / 共12页
选择题.docx_第6页
第6页 / 共12页
选择题.docx_第7页
第7页 / 共12页
选择题.docx_第8页
第8页 / 共12页
选择题.docx_第9页
第9页 / 共12页
选择题.docx_第10页
第10页 / 共12页
选择题.docx_第11页
第11页 / 共12页
选择题.docx_第12页
第12页 / 共12页
亲,该文档总共12页,全部预览完了,如果喜欢就下载吧!
下载资源
资源描述

选择题.docx

《选择题.docx》由会员分享,可在线阅读,更多相关《选择题.docx(12页珍藏版)》请在冰点文库上搜索。

选择题.docx

1. 以下能正确定义一维数组的选项是()。

A.inta[5]={0,1,2,3,4,5};

B.chara={′A′,′B′,′C′};

C.inta[5]="0123";

D.chara[]={′0′,′1′,′2′,′3′,′4′,′5′,′\0′};

2. 若有定义语句:

inta[10];则下列对a中数组元素正确引用的是()。

A.a[10/2–5]     B.a[10]     C.a[4.5]     D.a

(1)

3. 能对一维数组正确初始化的语句是()。

A.inta[6]={6*1}     B.inta[6]={1,,,3}     C.inta[6]={}     D.inta[6]=(0,0,0)

4. 对以下说明语句的正确理解是()

  inta[10]={6,7,8,9,10};

A.将5个初值依次赋给a[1]至a[5]

B.将5个初值依次赋给a[0]至a[4]

C.将5个初值依次赋给a[6]至a[10]

D.因为数组长度与初值的个数不相同,所以此语句不正确。

5. 下列能正确定义一维数组a的语句是()

A.inta(10);     B.intn=10,a[n];     C.intn;scanf("%d",&n);inta[n];     D.#definen10inta[n];

6. 设array为一个数组,则表达式sizeof(array)/sizeof(array[0])的结果为()。

A.array数组首地址     B.array数组中元素个数     

C.array数组中每个元素所占的字节数     D.array数组占的总字节数

7. 下列给一维数组定义及赋初值时,正确的是()。

A.inta[];cin>>a;

B.inta[4];cin>>a[4];

C.inta[1];cin>>a[0]>>a[1];

D.inta[]={0};

8. 在下面的一维数组定义中,()有语法错误。

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['d'-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<

return0;

}

A.a     B.b     C.c     D.d

32. 阅读下面程序,执行后的结果为()

#include

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<

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;a=*p+b;

执行该程序段后,a的值为()。

A.编译出错     B.12     C.11     D.10

35. 若有“floata=1.5,b=3.5,*pa=&a;*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

voidmain()

{

uniondata{

inti;

charch;

floatf;

}a;

a.f=101;

a.i=101;

printf("%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<

B.cout<

C.cout<

D.cout<

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<<"无参构造函数"<

Test(inta){cout<

Test(constTest©):

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

{

public:

A(){cout<<"A";} //构造函数

};

classB:

publicA

{

public:

B(){cout<<"B";} //构造函数

};

intmain(void) //主函数main()

{

Bobj; //定义对象

cout<

return0; //返回值0,返回操作系统

}

执行后的输出结果是。

A.AB     B.BA     C.A     D.B

57. 有以下程序:

classA

{

public:

~A(){cout<<"A";} //析构函数

};

classB:

publicA

{

public:

~B(){cout<<"B";} //析构函数

};

intmain() //主函数main()

{

B*p=newB; //定义指针

deletep; //释放动态空间

cout<

return0; //返回值0,返回操作系统

}

执行后的输出结果是。

A.AB     B.BA     C.A     D.B

58. 有以下程序:

classA

{

public:

A(){cout<<"A";} //无参构造函数

A(charc){cout<

};

classB:

publicA

{

public:

B(charc){cout<

};

intmain() //主函数main()

{

Bobj('B'); //定义对象

cout<

return0; //返回值0,返回操作系统

}

执行这个程序,屏幕上将显示输出。

A.B     B.BA     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. 有以下程序:

classA

{

public:

A(intx=0){cout<

};

classB:

publicA

{

public:

B(intx=0){cout<

};

intmain() //主函数main()

{

Bobj

(1); //定义对象

cout<

return0; //返回值0,返回操作系统

}

程序的输出结果是。

A.0     B.1     C.01     D.001

63. 下列对派生类的描述中,错误的是()。

A.一个派生类可以作为另一个派生类的基类

B.派生类至少有一个基类

C.派生类的缺省继承方式是private

展开阅读全文
相关资源
猜你喜欢
相关搜索
资源标签

当前位置:首页 > 人文社科 > 法律资料

copyright@ 2008-2023 冰点文库 网站版权所有

经营许可证编号:鄂ICP备19020893号-2