收藏 分享(赏)

C++选择题汇总_题库 (电子版).doc

上传人:a****2 文档编号:3263282 上传时间:2024-02-08 格式:DOC 页数:28 大小:125KB
下载 相关 举报
C++选择题汇总_题库 (电子版).doc_第1页
第1页 / 共28页
C++选择题汇总_题库 (电子版).doc_第2页
第2页 / 共28页
C++选择题汇总_题库 (电子版).doc_第3页
第3页 / 共28页
C++选择题汇总_题库 (电子版).doc_第4页
第4页 / 共28页
C++选择题汇总_题库 (电子版).doc_第5页
第5页 / 共28页
C++选择题汇总_题库 (电子版).doc_第6页
第6页 / 共28页
亲,该文档总共28页,到这儿已超出免费预览范围,如果喜欢就下载吧!
资源描述

1、重庆大学学长QQ1964907139,全校各院专业课考研资料有售一二章1.下列C+标点符号中表示行注释开始的是 C 。A)# B); C)/ D)2.下列字符串中可以用作C+标示符的是 A 。A)_256 B)class C)delete D)5char3.下列关于C+函数的描述中正确的是 C 。A)主函数是程序的入口,它是由用户定义的函数调用。B)函数是C+中面向对象程序设计框架的基本组成元素。C)函数在调用前必须先被声明。 D)每个用户定义函数只能被其他函数调用一次。4.下列关于C+关键字的说法中正确的是 D 。A)关键字是用户为程序中各种需要命名的“元素”所起的名字。B)关键字是对程序中

2、的数据进行操作的一类单词。C)关键字是在程序中起分割内容和界定范围作用的一类单词。D)关键字是C+中预先定义并实现一定功能的一类单词。5.每个C+程序都必须有且仅有一个 B 。A)预处理命令 B)主函数 C)函数 D)语句6.下面关于对象概念的描述中, A 是错误的。A)对象就是C语言中的结构变量 B)对象代表着正在创建的系统中的一个实体C)对象是一个状态和操作(或方法)的封装体 D)对象之间的信息传递是通过消息进行的7.C+对C语言做了很多改进,下列描述中 D 使得C语言发生了质变,即从面向过程变成面向对象。A)增加了一些新的运算符 B)允许函数重载,并允许设置默认参数 C)规定函数说明必须

3、用原型 D)引进类和对象的概念8.下面关于类概念的描述中, D 是错误的。A)类是抽象数据类型的实现 B)类是具有共同行为的若干对象的统一描述体C)类是创建对象的样板 D)类就是C语言中的结构体类型9.C+语言是以 B 语言为基础逐渐发展而演变而成的一种程序设计语言。A)Pascal B)C C)Basic D)Simula6710.C+语言中规定函数的返回值的类型是由 D 。A)return语句中的表达式类型所决定的 B)调用该函数式的主调用函数类型所决定的C)调用该函数式系统临时确定的 D)在定义该函数式所指的数据类型所决定的11.下列关于C+与C语言关系的描述中错误的是 C 。A)C+是

4、C语言的超集 B)C+是C语言进行了扩充C)C+和C语言都是面向对象的程序设计语言 D)C+包含C语言的全部语法特征12.下列字符串中可以用做C+标示符的是 A 。A) _521 B)computer1 C)case D)3var13.面向对象程序设计思想的主要特征中不包括 D 。A)封装性 B)多态性 C)继承性 D)功能分解,逐步求精14.下列C+标点符号中表示一条预处理命令开始的是 A 。A)# B)/ C) D);15.下列关于C+类的描述中错误的是 C 。A)类与类之间可以通过一些手段进行通信和联络B)类用于描述事物的属性和对事物的操作C)类与类之间必须是平等的关系,而不能组成层次关

5、系D)类与类之间可以通过封装而具有明确的独立性16.下列C+标点符号中表示一条语句结束的是 A 。A); B)/ C)# D)17.下列C+标点符号中表示复合语句结束的标记符是 C 。A)# B)/ C) D);18.下列C+标点符号中表示复合语句开始的标记符是 A 。A) B)/ C) D);19.下列关键字中, B 即在C语言中使用,又在C+语言中使用。A)inline B)break C)private D)public20.下列字符串中不可以用作C+标示符的是 C 。A)_521 B)computer123 C)int D)flower21.下列不正确的选项是 D 。A)C+语言是一种

6、面向对象的程序设计语言,它支持面向对象思想中的3个主要特征B)标点符号是在程序中起分割内容和界定范围作用的一类单词 C)iostream是一个标准的头文件,定义了一些输入输出流对象D)类与类之间不可以进行通信和联络22.下列不正确的选项是 B 。A)封装是一种信息隐藏技术 B)标识符是由字母、数字、下划线组成的字符串,必须以数字或下划线开头C)编译是由源程序文件转换到目标文件的过程D)一个C+程序可以认为是函数串23.下列与流程控制有关的关键字是 A 。A)goto B)static C)int D)sizeof24.下列正确的选项是 A 。A)继承是创建一个具有别的类的属性和行为的新类的能力

7、B)C语言支持面向对象的程序设计 C)空白符是一种可以被编译的符号D)标示符不宜过长,一般设定为16个字符25.下列关于C+语言的发展说法错误的是 C 。A)C+语言起源于C语言 B)C+语言最初被称为“带类的C”C)在1980年C+被命名 D)在1983年C+被命名27.下列表示引用的方法中, A 是正确的。已知:int k=1000;A)int &x=k; B)char &y; C)int &z=1000; D)float &t=&k;28.下列程序的执行结果为 A 。i ncludevoid mian() int n=10; int* pn=&n; int* &rn=pn; (*pn)+

8、; coutn=nendl; (*rn)+; cout”n=”nendl;A) n=11 n=12 B) n=11 n=11C) n=10 n=11 D) n=11 n=1029.下列引用的定义中, B 是错误的。A)int i; int &j=i; B)int i; int &j; j=i;C)float i; float &j=i; C)char d; char &k=d;30. B 是给对象取了一个别名,他引入了对象的同义词。A)指针 B)引用 C)枚举 D)结构31.下列表示引用的方法中, A 是正确的。已知:int m=10;A)int &x=m; B)int &y=10; C)in

9、t &z; D)float &t=&m;32.下面程序的运行结果是 A 。i ncludevoid fun(int &a,int &b) int p; p=a; a=b; b=p;void exchange(int &a,int &b,int &c) if(ab)fun(a,b); if(ac)fun(a,c); if(bc)fun(b,c);void main() int a,b,c; a=12; b=639; c=78; exchange(a,b,c); couta=a,b=b,c=cendl;A)a=639,b=78,c=12 B)a=12,b=639,c=78 C)a=639,b=12

10、,c=78 D)a=78,b=12,c=63933.下面的程序输出结果为 C 。includevoid main() int *ir; int i; ir=&i; i=17; coutint i=iendl; coutint ir=*irendl;A)int i=17 int ir=0 B)int i=0 int ir=17C)int i=17 int ir=17 D)程序语法错误,没有输出结果34.对定义重载函数的下列要求中, D 是错误的。A)要求参数的个数不同 B)要求参数中至少有一个类型不同C)要求参数个数相同时,参数类型不同 D)要求函数的返回值不同35.下面函数调用语句中实参的个数

11、是 A 。xxx(v1,v2),(v3,v4,v5),v6);A)3 B)4 C)5 D)636.系统在调用重载函数时往往根据一些条件确定哪个重载函数被调用,在下列选项中,不能作为依据的是 D 。A)参数个数 B)参数的类型 C)函数名称 D)函数的类型37.若要定义一个只允许本源文件中所有函数使用的全局变量,则该变量需要使用的存储类别是 D 。A)extern B)register C)auto D)static38.在C+中,关于下列设置参数默认值的描述中,正确的是 C 。A)不允许设置设置参数的默认值 B)设置参数默认值只能在定义函数时设置C)设置参数默认值时,应该事先设置右边的再设置左

12、边的D)设置参数默认值时,应该全部参数都设置39.若有下面函数调用语句: fun(a+b,(x,y),fun(n+k,d,(a+b);在此函数调用语句中实参的个数是 A 。A)3 B)4 C)5 D)640.下列对重载函数的描述中, A 是错误的。A)重载函数中不允许使用默认参数B)重载函数中编译时根据参数表进行选择C)不要使用重载函数来描述毫无相干的函数D)构造函数重载将会给初始化带来多种方式41.在函数声明时,下列 D 项是不必要的。A)函数的类型 B)函数参数类型 C)函数的名字 D)返回值表达式42.在函数的返回值类型与返回值表达式的类型的描述中,错误的是 B 。A)函数返回值的类型是

13、在定义函数时确定,在函数调用时是不能改变的B)函数返回值的类型就是返回值表达式的类型C)函数返回值表达式类型与返回值类型不同时,函数表达式类型应转换成返回值类型D)函数返回值类型确定了返回值表达式的类型43.下面变量和函数说明:i ncludechar ch=*;void sub(int x,int y,char ch,double *z) switch(ch) case +:*z=x+y;break; case -:*z=x-y;break; case *:*z=x*y;break; case /:*z=x/y;break; 下面合法的函数调用语句是 B 。A) sub(10,20,ch,y

14、); B) sub(1.2,3.2,+,&z); C) sub(sub(1,2,+,&y),sub(3,4,+,&x),-,&y); D) sub(a,b,&x,ch);44.下列程序的输出结果是 B 。includevoid sub1(char a,char b) char c; c=a; a=b; b=c;void sub2(char *a,char b) char c; c=*a; *a=b; b=c;void sub3(char *a,char *b) char c; c=*a; *a=*b; *b=c;void main() char a,b; a=A; b=B; sub1(a,b)

15、; putchar(a); putchar(b); a=A; b=B; sub2(&a,b); putchar(a); putchar(b); a=A; b=B; sub3(&a,&b); putchar(a); putchar(b); putchar(n);A)ABABAB B)ABBBBA C)ABBABA D)ABABBA45.下面程序的正确执行结果为 D 。includeint f(int);void main() int a=2,i; for(i=0;i3;i+) coutf(a) ; coutendl;int f(int a) int b=0; static int c=3; b+

16、; c+; return (a+b+c);A)7 7 7 B)7 10 13 C)7 9 11 D)7 8 946.下面程序的正确执行结果为 C 。i ncludevoid fun(char * *m) m+; cout*mendl;void main() static char *a=MORNING,AFTERNOON,EVENING; char * *n; n=a; fun(n);A)为空 B)MORNING C)AFTERNOON D)EVENING47.下面程序的输出结果 B 。i ncludeint fun(char *s) char *p=s; while(*p!=0) p+; r

17、eturn (p-s);void main() coutfun(ABCDEF)endl;A)3 B)6 C)8 D)048.当一个函数无返回值时,函数的类型应定义为 A 。A)void B)任意 C)int D)无49.下面叙述中不正确的是 D 。A)在函数中,通过return语句传回函数值B)在函数中,可以有多条return语句C)主函数名main()后面的一对圆括号中也可以带有形参D)调用函数必须在一条独立的语句中完成50.下列 D 的调用方式是引用调用。A)形参是指针,实参是地址值 B)形参和实参都是变量 C)形参是数组,实参是变量 D)形参是引用,实参是变量51.在C+中,函数原型不能

18、标识 D 。A)函数的返回类型 B)函数参数的个数 C)函数参数类型 D)函数的功能52.下列标识符中, C 是文件级作用域的。A)函数形参 B)语句标号 C)外部静态类标识符 D)自动类标识符53.在传值调用中,要求 C 。A)形参和实参类型任意,个数相等 B)实参和形参类型都完全一致,个数相等C)实参和形参对应的类型一致,个数相等 D)实参和形参对应的类型一致个数任意54.有一个int型变量,在程序中频繁使用,最好定义它为 A 。A)register B)auto C)extern D)static55.考虑下面的函数原型:void testDefaulParam(int a,int b=

19、7,char z=*);下面函数调用中不合法的 C 。A)testDefaulParam(5); B)testDefaulParam(5,8);C)testDefaulParam(5,#); D)testDefaulParam(0,0,*);56.采用函数重载的目的在于 D 。A)实现共享 B)减少空间 C)提高速度 D)使用方便,提高可靠性57.要求通过函数来实现一种不太复杂的功能,并且要加快执行速度,选用 A 。A)内联函数 B)重载函数 C)递归函数 D)嵌套函数58.下面程序的输出结果是 D 。i ncludevoid fun(int i);int main() int n=2; fu

20、n(n); return 0;void fun(int i) static int x=1; int y=1; if(i0) +x; +y; coutx y ; fun(i-1); A)语法错误,不能输出正确结果 B)2 2 2 2 C)2 2 3 3 D)2 2 3 259.下面程序的输出结果为 B 。i ncludevoid prt(int *x,int *y,int *z) cout+ + *x,+ + *y,*(z+)endl;int a=10;int c=20;int b=40;void main() prt(&a,&b,&c); prt(&a,&b,&c);A)11,42,31 1

21、2,21,41 B)11,41,20 12,42,20C)11,21,40 11,21,41 D)11,41,21 12,42,2260.下面程序的正确运行结果为 C 。i ncludefun(int a,int b) static int m=1,i=2; i+=m+1; m=i+a+b; return(m);void main() int k=5,m=2,p; p=fun(k,m); coutp,; p=fun(k,m); coutpendl;A)11,22 B)12,23 C)11,23 D)10,2361.下面程序的输出结果是 D 。i ncludevoid fun(int *s,in

22、t *y) static int t=3; *y=st; t-;void main() int a=1,2,3,4; int i,x=10; for(i=0;i4;i+) fun(a,&x); coutx,; coutendl;A)1,2,3,4 B)0,0,0,0 C)4,4,4,4 D)4,3,2,162.下面程序的输出结果是 A 。i ncludeint fun(char *s) char *p=s; while(*p!=0) p+; return (p-s);void main() coutfun(ABCDEFGHIJKLMNIPQRST)endl;A)20 B)6 C)19 D)06

23、3.下面程序的输出结果是 C 。i ncludeint x=10;void fun(int c);void main() fun(x); coutx=xendl;void fun(int x) x=1;A)x=0 B)x=1 C)x=10 D)语法错误,不能输出正确结果64.下面程序的执行结果是 B 。i ncludevoid main() void swap(); extern int a,b; a=3; b=10; swap(); couta=a,b=endl;int a,b;void swap() int temp; temp=a; a=b; b=temp;A)a=3,b=10 B)a=

24、10,b=3 C)a=temp,b=temp D)语法错误,不能输出正确结果65.下列程序的输出结果是 A 。i ncludevoid f() static int i=15; i+; couti=iendl;void main() for(int k=0;k2;k+) f();A)i=16 i=17 B)i=16 i=15 C)i=15 i=16 D)i=15 i=1766.在横线处填上适当的语句 C ,使下面程序执行结果是13,18,23。includeint add(int x,int y=8);void main() ; coutadd(a),; coutadd(a,add(a),;

25、coutadd(a,add(a,add(a)endl;int add(int a,int b) int s=a+b; return s;A)int a=3 B)int b=3 C)int a=5 D)int b=567.在横线处填上适当的语句A ,使下面的程序的执行结果是19 24 30 37 45。includeint fun(int a) static int x=10; int y=1; x+=a; a+; y+; return(x+y+a);void main() int i=3; while(i8) ; coutendl;A)coutfun(i+) B)coutfun(i) C)co

26、utfun(i+) , D)coutfun(i) ,68.在C+语言中,局部变量的隐含存储类型是 D 。A)auto B)static C)extern D)无存储类型69.下面程序的输出结果为 D 。includeint fun(char *s);int main() coutp=3 C)s.*p=3 D)*s.p=39.已知f1(int)是类X的公有成员函数,p是指向成员f1()的指针,采用它赋值, _ B _是正确的.A)p=f1 B)p=X:f1 C)p=x:f1 D)p=f1()10.已知类X中的一个成员函数说明如下:Void Set(x &a);其中,X &a的含义是_ C _.A

27、)指向类X的指针为aB)将a的地址赋给变量SetC)a是类X的对象引用,用来做为Set()的形参D)变量X是a按位相与作为函数Set()的参数11.一个类的友元函数能够访问该类的_ D _.A)私有成员 B)保护成员 C)公有成员 D)所有成员12.有关类和对象的说法不正确的是_ B _.A)对象是类的一个实例B)一个类只能有一个对象C)任何一个对象只能属于一个具体的类D)类与对象的关系和数据类型和变量的关系相似13.下列静态数据成员的特性中,_ D _是错误的.A)说明静态数据成员时前边要加关键字static来修饰B)静态数据成员在类体外进行初始化C)引用静态数据成员时,要在静态数据成员名前

28、加和作用域运算符D)静态数据成员不是所有对象所共有的14.类模板的使用实际上是类模板实例化成一个具体的_ A _.A)类 B)对象 C)函数 D)模板类15.通常拷贝构造函数的参数表是_ C _.A)某个对象名 B)某个对象的成员名C)某个对象的引用名 D)某个对象的指针名16.关于常数据成员的说法不正确的是_ D _.A)常数据成员的定义形式与一般常量的定义形式相同,只不过常数据成员的定义必须出现在类体中.B)常数据成员必须进行初始化,并且不能被更新C)常数据成员通过构造函数的成员初始化列表进行初始化D)常数据成员可以在定义时直接初始化17.已知X类.则当程序执行到语句X array3;时,

29、调用了_D_次构造函数.A)0 B)1 C)2 D)318.类模板的模板参数_ D _.A)只可作为数据成员的类型 B)只可作为成员函数的返回类型C)只可作为成员函数的参数类型 D)以上三者皆可19.下列_D_不是构造函数的特征A)构造函数的函数名与类名相同 B)构造函数可以重载C)构造函数可以设置默认参数 D)构造函数必须指定类型说明20.下列程序中说明的公有成员是_ D _.class Locationint X;public: void init(int initX,int initY);private:int Y;public: int GetX(); int GetY();A)XB)

30、init(int initX,int initY)C)GetX(),GetY()D)B)和C)都是21.类定义的内容允许被其他对象无限制地存取是_ C _.A)private 部分 B)protected 部分C)public 部分 D)以上都不对22.关于下面程度段说法正确的是_ A _.class Xprivate: int n;punblic: X(X&);X:X(X&x)n=x.nX obj1,obj2;obj2(obj1);A)语句obj2(obj1);的功能是用对象obj1初始化具有相同类类型的对象obj2B)语句obj2(obj1);的功能是用对象obj2初始化具有相同类类型的对

31、象obj1C) X(X&x)也可以不使用引用参数而仍然是拷贝构造函数D) X(X&x)不能访问对象的私有成员23.this指针是C+实现_B_的一种机制.A)抽象 B)封装 C)继承 D)重载24下面程序段中是内联函数的是_ C _。 chass locationprivate:int x ,y;public:void init(int initx,int inity) x=initx; y=inity;int getx()return x;int gety();inline int location:gety()return y;A) init (int initx,int inity) B

32、) getx(),gety() C) A)和B)都是 D) A)和getx()25关于对象成员的构造函数的调用顺序,说法正确的是_ C _。A)与它们在成员初始化列表中给出的顺序相同B)与析构函数的调用顺序相同C)与它们在类中说明顺序相同D)以上说法都不对26类摸板trmplateclassX,其中,友元函数f()成为该类模板实例化的每个模板类的友元,则其说明应为_ A _.A)friend void f()B)friend void f(X&);C)friend void A:f();D)friend void C:f(X&);27.运算符*的功能是( A )。A )用来表示指向对象指针对指

33、向类成员指针的操作。B)用来表示对象类成员的操作。C)用来表示指向对象指针对类成员的操作。D)用来表示对象指向类成员指针的操作。28.下列说明中const char * ptr;ptr 应该是 C 。A )指向字符的指针 B)指向字符的常量指针C)指向字符串常量的指针 D)指向字符串的常量指针29.下面关于友元的描述中,错误的是( D )。A) 友元函数可以访问该类的私有数据成员。B) 一个类的友元类中的成员函数都是这个类的友元函数。C) 友元可以提高程序的运行效率。D) 类与类之间的友元关系可以继承。30一个( C )允许拥护为类定义一种模式,使得类中的某些数据成员、某些成员函数的参数和返回值可以取任意数据类型。A) 函数模板 B)模板函数C) 类模板 D)模板类31有关构造函数说法不正确的是( D )A ) 构造函数的名字和类的名字一样。B) 在创建对象时,系统自动调用构造函数C) 构造函数无任何函数

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

当前位置:首页 > 教育教学 > 考试真题 > 2.29金太阳联考 > 2.29金太阳联考 > 更多高考新课联系:F8688333

copyright@ 2008-2023 wnwk.com网站版权所有

经营许可证编号:浙ICP备2024059924号-2