一. 单选 (共40题,共80分) A.“abcd” B.'d' C.'\0' D.不能确定 ★标准答案:C 30. 设有如下函数定义 int f(char *s) { char *p=s; while(*p!=’\0’) p++; return(p-s); } 在主函数中用cout<<f(“good”)调用上述函数, 则输出结果为( )。 (2分) A.3 B.4 C.5 D.6 ★标准答案:B 31. 下面语句( )是非法的。 (2分) A.char x='C'; B.char x='#'; C.char x=''; D.char x='$'; ★标准答案:C 32. 一个C++程序至少应包含( )个函数。 (2分) A.0 B.1 C.2 D.3 ★标准答案:B 33. 设a=12,n=5,则表达 式a%=(n%=2)运算后,a的值为( )。 (2分) A.0 B.1 C.6 D.12 ★标准答案:D 34. 下列关于单目运算符++、--的叙述中正确的是 (2分) A.它们的运算对象可以是任何变量和常量 B.它们的运算对象可以是char型变量和int型变量,但不能是float型变量 C.它们的运算对象可以是int型变量,但不能是double型变量和float型变量 D.它们的运算对象可以是char型变量、int型变量和float型变量 ★标准答案:D 35. 假定变量x定义为“int x=5;”,要使rx成为x的引用(别名),rx应定义为( )。 (2分) A.int rx=x; B.int rx=&x; C.int *rx=&x; D.int &rx=x; ★标准答案:D 36. 以下描述中正确的是( )。 (2分) A.for循环只能用于循环次数已经确定的情况 B.for循环是先执行循环体语句,后判断表达式 C.在for循环中,不能用break语句跳出循环体 D.for循环的循环体语句中,可以包含多条语句,但必须用花括号括起来 ★标准答案:D 37. 循环语句“for(int i=0; i<n; i++) cout<<i*i<<’ ’;”中循环体执行的次数为( )。 (2分) A.1 B.n-1 C.n D.n+1 ★标准答案:C 38. C++语言的跳转语句中,对于break和continue说法正确的是( )。 (2分) A.break语句只用于循环体中 B.continue语句只用于循环体中 C.break是无条件跳转语句,continue不是 D.break和continue的跳转范围不够明确,容易产生问题 ★标准答案:B 39. 在下面循环语句中循环体执行的次数为( )。 int i=0,s=0; while(s<20) {i++; s+=i;} (2分) A.4 B.5 C.6 D.7 ★标准答案:C 40. do语句能够改写为( )语句。 (2分) A.复合 B.if C.switch D.while ★标准答案:D
34444 5. 在关键字private后面定义的成员为类的( )成员。 (2分) 6. 一个C++程序文件的扩展名为( )。 (2分) D.3 ★标准答案:B 17. 假定AA为一个类,a()为该类公有的函数成员,x为该类的一个对象,则访问x对象中函数成员a()的格式为( )。 (2分) A.x.a B.x.a() C.x->a D.x->a() ★标准答案:B 18. 在C++中,当一个对象被创建后,它的每一个成员函数都含有一个系统自动生成的隐含的指针,称之为( )指针。 (2分) A.对象 B.派生 C.基类 D.this ★标准答案:D 19. 如果类B在类A的基础上构造,那么,就称( )。 (2分) A.类A为基类或父类,类B为超类或子类 B.类A为基类、父类或超类,类B为派生类或子类 C.类A为派生类,类B为基类 D.类A为派生类或子类,类B为基类、父类或超类 ★标准答案:B 20. C++的基类指针可以访问派生类对象,但不能访问派生类对象的( )成员。 (2分) A.private B.protected C.public D.新增 ★标准答案:A 21. 派生类的成员函数可以直接访问基类的( )成员。 (2分) A.所有 B.公有和保护 C.保护和私有 D.私有 ★标准答案:B 22. 派生类的对象对其基类中( )可直接访问。 (2分) A.公有继承的公有成员 B.公有继承的私有成员 C.公有继承的保护成员 D.私有继承的公有成员 ★标准答案:A 23. 当派生类中有和基类一样名字的成员时,一般来说,( )。 (2分) A.将产生二义性 B.派生类的同名成员将覆盖基类的成员 C.是不能允许的 D.基类的同名成员将覆盖派生类的成员 ★标准答案:B 24. c++语言的运算符可以重载为成员函数和( ): (2分) A.算术函数 B.输出函数 C.友元函数 D.逻辑函数 ★标准答案:C 25. 不能重载的运算符是:() (2分) A./ B.* C.:: D.+= ★标准答案:C 26. 要想在程序中使用strcpy()函数,须把( )包含到程序中。 (2分) A.iostream.h B.stdio.h C.string.h D.iomanip.h ★标准答案:C 27. 以下函数的返回结果是( )。 int function(char *x) { char *p=x; while(*p++); return(p-x-1); } (2分) A.求字符串的长度 B.将字符串x连接到字符串p后面 C.将字符串x复制到字符串p中 D.将字符串x反向存放 ★标准答案:A 28. 假定p是具有double类型的指针变量,则表达式++p使p的值(以字节为单位)增加( )。 (2分) A.1 B.4 C.sizeof(double) D.sizeof(p) ★标准答案:C 29. 假定指针变量p定义为“int *p=new int[30];”,要释放p所指向的动态内存,应使用语句( )。 (2分) A.delete p; B.delete *p; C.delete &p; D.delete []p; ★标准答案:D 30. 执行语句“char a[10]={"abcd"},*p; p=a;”后,*(p+4)的值是( ) (2分) A.“abcd” B.'d' C.'\0' D.不能确定 ★标准答案:C 31. 一个C++程序至少应包含( )个函数。 (2分) A.0 B.1 C.2 D.3 ★标准答案:B 32. 以下错误的描述是( )。 (2分) A.被调用函数中可以不用return语句 B.被调用函数中可以用多个return语句 C.被调用函数中,如果有返回值,就一定要有return语句 D.被调用函数中,一个return语句可返回多个值给调用函数 ★标准答案:D 33. 设a=12,n=5,则表达式a%=(n%=2)运算后,a的值为( )。 (2分) A.0 B.1 C.6 D.12 ★标准答案:D 34. 下列标识符中( )是正确。 (2分) A._suml23__ B._suml23$ C.*pt_123 D.Sum-Count ★标准答案:A 35. 函数调用不可以( )。 (2分) A.出现在一个表达式中 B.出现在执行语句中 C.作为一个函数的实参 D.作为一个函数的形参 ★标准答案:D 36. 在下面循环语句中循环体执行的次数为( )。 for(int i=0; i<n; i++) if(i>n/2) break; (2分) A.n/2 B.n/2+1 C.n/2-1 D.n-1 ★标准答案:B 37. C++语言的跳转语句中,对于break和continue说法正确的是( )。 (2分) A.break语句只用于循环体中 B.continue语句只用于循环体中 C.break是无条件跳转语句,continue不是 D.break和continue的跳转范围不够明确,容易产生问题 ★标准答案:B 38. C++中用于结构化程序设计的三种基本结构是 (2分) A.顺序结构、选择结构、循环结构 B.if、switch、break C.for、while、do-while D.if、for、continue ★标准答案:A 39. 有以下程序 void main() { int i; for(i=0;i<3;i++) switch(i) { case 1: cout<<i; case 2: cout<<i; default: cout<<i; } }执行后输出的结果是 (2分) A.011122 B.012 C.012020 D.120 ★标准答案:A 40. switch语句能够改写为( )语句。 (2分) A.for B.if C.do D.while ★标准答案:B
34555 一. 单选 (共40题,共80分) B.1 C.2 D.3 ★标准答案:B 5. 在一个类的定义中,包含有( )成员的定义。 (2分) A.数据 B.函数 C.数据和函数 D.数据或函数 ★标准答案:C 6. 对于一个类的析构函数,其函数名与类名( )。 (2分) A.完全相同 B.完全不同 C.只相差一个字符 D.无关系 ★标准答案:C 7. 下面有关重载函数的说法中正确的是( )。 (2分) A.重载函数必须具有不同的返回值类型; B.重载函数形参个数必须不同; C.重载函数必须有不同的形参列表; D.重载函数名可以不同; ★标准答案:C 8. 在关键字private后面定义的成员为类的( )成员。 (2分) A.私有 B.公用 C.保护 D.任何 ★标准答案:A 9. 类的构造函数可以带有( )个参数。 (2分) A.0 B.1 C.2 D.任意 ★标准答案:D 10. 假定AA为一个类,a为该类公有的数据成员,若要在该类的一个成员函数中访问它,则书写格式为( )。 (2分) A.a B.AA::a C.a() D.AA::a() ★标准答案:A 11. 假定AB为一个类,则执行AB x;语句时将自动调用该类的( )。 (2分) A.有参构造函数 B.无参构造函数 C.拷贝构造函数 D.赋值构造函数 ★标准答案:B 12. 一个类的友元不是该类的成员,与该类的关系密切,所以它( )。 (2分) A.有this指针,有默认操作的对象 B.没有this指针,可以有默认操作的对象 C.有this指针,不能执行默认操作 D.没有this指针,也就没有默认操作的对象 ★标准答案:D 13. 如果类A被说明成类B的友元,则( ) (2分) A.类A的成员即类B的成员 B.类B的成员即类A的成员 C.类A的成员函数不得访问类B的成员 D.类B不一定是类A的友元 ★标准答案:C 14. 引入友元的主要目的是为了( )。 (2分) A.增强数据安全性 B.提高程序的可靠性 C.提高程序的效率和灵活性 D.保证类的封装性 ★标准答案:C 15. 被非静态成员函数访问的类的数据成员( )。 (2分) A.可以是非静态数据成员或静态数据成员 B.不可能是类的静态数据成员 C.只能是类的非静态数据成员 D.只能是类的静态数据成员 ★标准答案:A 16. 静态成员函数对类的数据成员访问( )。 (2分) A.是不允许的 B.只允许是静态数据成员 C.只允许是非静态数据成员 D.可允许是静态数据成员或非静态数据成员 ★标准答案:B 17. 设px是指向一个类对象的指针变量,则执行 “delete px;”语句时,将自动调用该类的( )。 (2分) A.无参构造函数 B.带参构造函数 C.析构函数 D.拷贝构造函数 ★标准答案:C 18. 假定AA是一个类,abc是该类的一个成员函数,则参数表中隐含的第一个参数的类型为( )。 (2分) A.int B.char C.AA D.AA* ★标准答案:D 19. C++的继承性允许派生类继承基类的( )。 (2分) A.部分特性,并允许增加新的特性或重定义基类的特性 B.部分特性,但不允许增加新的特性或重定义基类的特性 C.所有特性,并允许增加新的特性或重定义基类的特性 D.所有特性,但不允许增加新的特性或重定义基类的特性 ★标准答案:A 20. 派生类的对象对它的基类成员中( )是可以访问的。 (2分) A.公有继承的公有成员; B.公有继承的私有成员; C.公有继承的保护成员; D.私有继承的公有成员; ★标准答案:A 21. 如果类B在类A的基础上构造,那么,就称( )。 (2分) A.类A为基类或父类,类B为超类或子类 B.类A为基类、父类或超类,类B为派生类或子类 C.类A为派生类,类B为基类 D.类A为派生类或子类,类B为基类、父类或超类 ★标准答案:B 22. 派生类的成员函数可以直接访问基类的( )成员。 (2分) A.所有 B.公有和保护 C.保护和私有 D.私有 ★标准答案:B 23. C++的基类指针可以访问派生类对象,但不能访问派生类对象的( )成员。 (2分) A.private B.protected C.public D.新增 ★标准答案:A 24. 静态联编又称为:() (2分) A.静多态 B.静态约定 C.静态约束 D.静态束定 ★标准答案:D 25. 凡是能用以派生新类,却不能创建自己的对象的类称为( )。 (2分) A.虚基类 B.抽象类 C.容器类 D.派生类 ★标准答案:B 26. 假定p是具有double类型的指针变量,则表达式++p使p的值(以字节为单位)增加( )。 (2分) A.1 B.4 C.sizeof(double) D.sizeof(p) ★标准答案:C 27. 在C++中,当为一个变量定义引用时,引用类型( )。 (2分) A.必须与变量类型一致 B.不一定与变量类型一致 C.也即变量的指针 D.也即变量的地址 ★标准答案:A 28. 假定有定义“int b[10]; int *pb;”,则不正确的赋值语句为( )。 (2分) A.pb=b; B.pb=&b[0]; C.*pb=new int; D.pb=b[5]; ★标准答案:D 29. 在下面的字符数组定义中,( )有语法错误。 (2分) A.char a[20]="abcdefg"; B.char a[]="x+y=55."; C.char a[15]; D.char a[10]='5'; ★标准答案:D 30. 有二维字符数组char s[4][6]={“zhang”,”gao”,”tang”,”wang”},执行程序cout<<s[2],屏幕上显示( ) (2分) A.gao B.tang C.g D.t ★标准答案:B 31. 以下正确的函数声明语句是( )。 (2分) A.double fun(int x,int y) B.double fun(int x;int y) C.double fun(int,int); D.double fun(int x,y); ★标准答案:C 32. 函数调用不可以( )。 (2分) A.出现在一个表达式中 B.出现在执行语句中 C.作为一个函数的实参 D.作为一个函数的形参 ★标准答案:D 33. 在一个C++程序中 (2分) A.main函数必须出现在所有函数之前 B.main函数可以在任何地方出现 C.main函数必须出现在所有函数之后
D.main函数必须出现在固定位置
12. 假定AB为一个类,则执行AB x;语句时将自动调用该类 19. 派生类的对象对其基类中( )可直接访问。 (2分) 21. ) A.类A为基类或父类,类B为超类或子类 B.类A为基类、父类或超类,类B为派生类或子类 C.类A为派生类,类B为基类 D.类A为派生类或子类,类B为基类、父类或超类 ★标准答案:B
22. C++中的虚基类机制可以保证( )。 (2分)
★标准答案:B 8. 对于任一个类,用户所能定义的构造函数的个数至多为( )。 (2分) A.0 B.1 C.2 D.任意个 ★标准答案:D 9. 假定AA为一个类,int a()为该类的一个成员函数,若该成员函数在类定义体外定义,则函数头为( )。 (2分) A.int AA::a() B.int AA:a() C.AA::a() D.AA::int a() ★标准答案:A 10. ( )是析构函数的特征。 (2分) A.析构函数可以有一个或多个参数; B.析构函数名与类名不同; C.析构函数的定义只能在类体内; D.一个类中只能定义一个析构函数 ★标准答案:D 11. 下列关于对象数组的描述中,( )是错的。 (2分) A.对象数组的下标是从0开始的; B.对象数组的数组名是一个常量指针: C.对象数组的每个元素是同一个类的对象; D.对象数组只能赋初值,而不能被赋值。 ★标准答案:D 12. 对于任意一个类,析构函数的个数最多为( ) (2分) A.0 B.1 C.2 D.3 ★标准答案:B 13. 有如下类声明:class Foo {int bar; };则Foo类的成员bar是 ( ) (2分) A.公有数据成员 B.公有成员函数 C.私有数据成员 D.私有成员函数 ★标准答案:C 14. 对于一个类的构造函数,其函数名与类名( )。 (2分) A.完全相同 B.基本相同 C.不相同 D.无关系 ★标准答案:A 15. 假定AB为一个类,则执行 “AB *s=new AB(a,5);”语句时得到的一个动态对象为( )。 (2分) A.s B.s->a C.s.a D.*s ★标准答案:D 16. 在一个类的定义中,包含有( )成员的定义。 (2分) A.数据 B.函数 C.数据和函数 D.数据或函数 ★标准答案:C 17. 对于任一个类,用户所能定义的析构函数的个数至多为( )。 (2分) A.0 B.1 C.2 D.任意个 ★标准答案:B 18. 在C++中,当一个对象被创建后,它的每一个成员函数都含有一个系统自动生成的隐含的指针,称之为( )指针。 (2分) A.对象 B.派生 C.基类 D.this ★标准答案:D 19. C++的继承性允许派生类继承基类的( )。 (2分) A.部分特性,并允许增加新的特性或重定义基类的特性 B.部分特性,但不允许增加新的特性或重定义基类的特性 C.所有特性,并允许增加新的特性或重定义基类的特性 D.所有特性,但不允许增加新的特性或重定义基类的特性 ★标准答案:A 20. 下面描述中,表达错误的是( )。 (2分) A.公有继承时基类中的public成员在派生类中仍是public的 B.私有继承时基类中的private成员在派生类中仍是private的 C.私有继承时基类中的protected成员在派生类中仍是protected的 D.私有继承时基类中的public成员在派生类中是private的 ★标准答案:C 21. 派生类的成员函数可以直接访问基类的( )成员。 (2分) A.所有 B.公有和保护 C.保护和私有 D.私有 ★标准答案:B 22. 在c++中,一个虚函数是通过关键字( )放在其基类说明的前面来加以说明的. (2分) A.virtual B.protected C.operator D.this ★标准答案:A 23. 对于公有继承,基类的公有和保护成员在派生类中将( )成员。 (2分) A.全部变成公有 B.全部变成保护 C.全部变成私有 D.仍然相应保持为公有和保护 ★标准答案:D 24. 凡是能用以派生新类,却不能创建自己的对象的类称为( )。 (2分) A.虚基类 B.抽象类 C.容器类 D.派生类 ★标准答案:B 25. 动态联编又称为() (2分) A.多态 B.动态束定 C.动态约束 D.动态约定 ★标准答案:B 26. 在下面的二维数组定义中,正确的是( )。 (2分) A.int a[5][]; B.int a[][5]; C.int a[][3]={{1,3,5},{2}}; D.int a[](10); ★标准答案:C 27. 若有一些定义和语句int a=4,b=3,*p,*q,*w;p=&a; q=&b; w=q; q=NULL;则以下选项中错误的语句是 (2分) A.*q=0; B.w=p; C.*p=&a; D.*p=*w; ★标准答案:C 28. 假定一条定义语句为“int a[10], x, *pa=a;”,若要把数组a中下标为3的元素值赋给x,则不正确的语句为( )。 (2分) A.x=pa[3]; B.x=*(a+3); C.x=a[3]; D.x=*pa+3; ★标准答案:D 29. 在下面的一维数组定义中,( )有语法错误。 (2分) A.int a[]={1,2,3}; B.int a[10]={0}; C.int a[]; D.int a[5]; ★标准答案:C 30. 假定变量m定义为“int m=7;”,则定义变量p的正确语句为( )。 (2分) A.int p=&m; B.int *p=&m; C.int &p=*m; D.int *p=m; ★标准答案:B 31. 10+'a'+1.5-567.345/'b'的结果是( )型数据。 (2分) A.long B.double C.int D.float ★标准答案:B 32. 以下正确的描述是( )。 (2分) A.函数的定义可以嵌套,函数的调用不可以嵌套 B.函数的定义不可以嵌套,函数的调用可以嵌套 C.函数的定义和函数的调用均可以嵌套 D.函数的定义和函数的调用均不可以嵌套 ★标准答案:B 33. C++中函数返回值的类型是由( )决定的。 (2分) A.return语句中表达式的类型 B.该函数定义时的类型 C.调用函数时的调用语句 D.系统根据结果 ★标准答案:B 34. 全局变量的作用域限于( )。 (2分) A.整个程序 B.从定义变量的位置开始到本源文件结束 C.本源文件 D.从定义变量的位置开始到本程序结束 ★标准答案:B 35. 下列对引用的陈述中不正确的是( )。 (2分) A.每一个引用都是其所引用对象的别名,因此必须初始化 B.形式上针对引用的操作实际上作用于它所引用的对象 C.一旦定义了引用,一切针对其所引用对象的操作只能通过该引用间接进行 D.不需要单独为引用分配存储空间 ★标准答案:C 36. 在下面循环语句中循环体执行的次数为( )。 int i=0; do i++; while(i*i<10); (2
A.4 B.3 C.5 D.2 ★标准答案:A 37. 以下描述中正确的是( )。 (2分) A.for循环只能用于循环次数已经确定的情况 B.for循环是先执行循环体语句,后判断表达式 C.在for循环中,不能用break语句跳出循环体 D.for循环的循环体语句中,可以包含多条语句,但必须用花括号括起来 ★标准答案:D 38. switch语句能够改写为( )语句。 (2分) A.for B.if C.do D.while ★标准答案:B 39. C++语言的跳转语句中,对于break和continue说法正确的是( )。 (2分) A.break语句只用于循环体中 B.continue语句只用于循环体中 C.break是无条件跳转语句,continue不是 D.break和continue的跳转范围不够明确,容易产生问题 ★标准答案:B 40. do语句能够改写为( )语句。 (2分) A.复合 B.if C.switch D.while ★标准答案:D 一. 单选 (共40题,共80分) 1. 在一个类的定义中,包含有( )成员的定义。 (2分) A.数据 B.函数 C.数据和函数 D.数据或函数 ★标准答案:C 2. 对于一个类的析构函数,其函数名与类名( )。 (2分) A.完全相同 B.完全不同 C.只相差一个字符 D.无关系 ★标准答案:C 3. 对于任一个类,用户所能定义的析构函数的个数至多为( )。 (2分) A.0 B.1 C.2 D.任意个 ★标准答案:B 4. 假定AA为一个类,a为该类公有的数据成员,若要在该类的一个成员函数中访问它,则书写格式为( )。 (2分) A.a B.AA::a C.a() D.AA::a() ★标准答案:A 5. 对于任一个类,用户所能定义的构造函数的个数至多为( )。 (2分) A.0 B.1 C.2 D.任意个 ★标准答案:D 6. 当将一个类A或函数f()说明为另一个类B的友元后,类A或函数f()能够直接访问类B的( )。 (2分) A.只能是公有成员 B.只能是保护成员 C.只能是除私有成员之外的任何成员 D.任何权限的成员 ★标准答案:D 7. ( )是析构函数的特征。 (2分) A.析构函数可以有一个或多个参数; B.析构函数名与类名不同; C.析构函数的定义只能在类体内; D.一个类中只能定义一个析构函数 ★标准答案:D 8. 假定AA为一个类,a()为该类公有的函数成员,x为该类的一个对象,则访问x对象中函数成员a()的格式为( )。 (2分) A.x.a B.x.a() C.x->a D.x->a() ★标准答案:B 9. 一个类的友元不是该类的成员,与该类的关系密切,所以它( )。 (2分) A.有this指针,有默认操作的对象 B.没有this指针,可以有默认操作的对象 C.有this指针,不能执行默认操作 D.没有this指针,也就没有默认操作的对象 ★标准答案:D 10. 被非静态成员函数访问的类的数据成员( )。 (2分) A.可以是非静态数据成员或静态数据成员 B.不可能是类的静态数据成员 C.只能是类的非静态数据成员 D.只能是类的静态数据成员 ★标准答案:A 11. 假定AB为一个类,则执行AB x;语句时将自动调用该类的( )。 (2分) A.有参构造函数 B.无参构造函数 C.拷贝构造函数 D.赋值构造函数 ★标准答案:B 12. 类的析构函数是一个对象被( )时自动调用的。 (2分) A.建立 B.撤消 C.赋值 D.引用 ★标准答案:B 13. 假定AA是一个类,abc是该类的一个成员函数,则参数表中隐含的第一个参数的类型为( )。 (2分) A.int B.char C.AA D.AA* ★标准答案:D 14. 假定AB为一个类,则执行 “AB x(a,5);”语句时将自动调用该类的( )。 (2分) A.带参构造函数 B.无参构造函数 C.拷贝构造函数 D.赋值重载函数 ★标准答案:A 15. 对于一个类的构造函数,其函数名与类名( )。 (2分) A.完全相同 B.基本相同 C.不相同 D.无关系 ★标准答案:A 16. 类的析构函数可以带有( )个参数。 (2分) A.0 B.1 C.2 D.任意 ★标准答案:A 17. 采用重载函数的目的是( )。 (2分) A.实现共享 B.减少空间 C.提高速度 D.使用方便,提高可读性 ★标准答案:D 18. 对于任意一个类,析构函数的个数最多为( ) (2分) A.0 B.1 C.2 D.3 ★标准答案:B 19. 设置虚基类的目的是( )。 (2分) A.简化程序; B.消除二义性; C.提高运行效率; D.减少目标代码; ★标准答案:B 20. 建立包含有类对象成员的派生类对象时,自动调用构造函数的执行顺序依次为( )的构造函数。 (2分) A.自己所属类、对象成员所属类、基类 B.对象成员所属类、基类、自己所属类 C.基类、对象成员所属类、自己所属类 D.基类、自己所属类、对象成员所属类 ★标准答案:C 21. C++的继承性允许派生类继承基类的( )。 (2分) A.部分特性,并允许增加新的特性或重定义基类的特性 B.部分特性,但不允许增加新的特性或重定义基类的特性 C.所有特性,并允许增加新的特性或重定义基类的特性 D.所有特性,但不允许增加新的特性或重定义基类的特性 ★标准答案:A 22. 派生类的对象对其基类中( )可直接访问。 (2分) A.公有继承的公有成员 B.公有继承的私有成员 C.公有继承的保护成员 D.私有继承的公有成员 ★标准答案:A 23. 在定义一个派生类时,若不使用保留字显式地规定采用何种继承方式,则默认为( )方式。 (2分) A.私有继承 B.非私有继承 C.保护继承 D.公有继承 ★标准答案:A 24. 面向对象方法的多态性是指( )。 (2分) A.一个类可以派生出多个特殊类 B.一个对象在不同的运行环境中可以有不同的变体 C.针对一消息,不同的对象可以以适合自身的方式加以响应 D.一个对象可以是由多个其他对象组合而成的 ★标准答案:C 25. c++语言的运算符可以重载为成员函数和( ): (2分) A.算术函数 B.输出函数 C.友元函数 D.逻辑函数
★标准答案:C 26. 在下面的字符数组定义中,( )有语法错误。 (2分) A.char a[20]="abcdefg"; B.char a[]="x+y=55."; C.char a[15]; D.char a[10]='5'; ★标准答案:D 27. 假定一个二维数组的定义语句为“int a[3][4]={{3,4},{2,8,6}};”,则元素a[2][1]的值为( )。 (2分) A.0 B.4 C.8 D.6 ★标准答案:A 28. 以下函数的返回结果是( )。 int function(char *x) { char *p=x; while(*p++); return(p-x-1); } (2分) A.求字符串的长度 B.将字符串x连接到字符串p后面 C.将字符串x复制到字符串p中 D.将字符串x反向存放 ★标准答案:A 29. sizeof("abcd")值为:( )。 (2分) A.3 B.4 C.5 D.0 ★标准答案:C 30. 在C++中,当为一个变量定义引用时,引用类型( )。 (2分) A.必须与变量类型一致 B.不一定与变量类型一致 C.也即变量的指针 D.也即变量的地址 ★标准答案:A 31. 设a为5,执行下列语句后,b的值不为2的是: (2分) A.b=a/2 B.b=6-(--a) C.b=a%2 D.b=a<3?3:2 ★标准答案:C 32. 设”int a=12;”,则执行完语句”a+=a*a;”后,a的值是( )。 (2分) A.12 B.144 C.156 D.288 ★标准答案:D 33. 全局变量的作用域限于( )。 (2分) A.整个程序 B.从定义变量的位置开始到本源文件结束 C.本源文件 D.从定义变量的位置开始到本程序结束 ★标准答案:B 34. 设有变量定义 int a=3,b=5,c=10; 则表达式(++a*b--)/2.0*c 的值是( )。 (2分) A.100、0 B.80.0 C.75.0 D.60.0 ★标准答案:A 35. 设a=12,n=5,则表达式a%=(n%=2)运算后,a的值为( )。 (2分) A.0 B.1 C.6 D.12 ★标准答案:D 36. 有以下程序 void main() { int i; for(i=0;i<3;i++) switch(i) { case 1: cout<<i; case 2: cout<<i; default: cout<<i; } }执行后输出的结果是 (2分) A.011122 B.012 C.012020 D.120 ★标准答案:A 37. 以下描述中正确的是( )。 (2分) A.for循环只能用于循环次数已经确定的情况 B.for循环是先执行循环体语句,后判断表达式 C.在for循环中,不能用break语句跳出循环体 D.for循环的循环体语句中,可以包含多条语句,但必须用花括号括起来 ★标准答案:D 38. 循环体至少被执行一次的语句为( )。 (2分) A.for循环 B.while循环 C.do循环 D.任一种循环 ★标准答案:C 39. 在下面循环语句中循环体执行的次数为( )。 int i=0; do i++; while(i*i<10); (2分) A.4 B.3 C.5 D.2 ★标准答案:A 40. 在下面循环语句中循环体执行的次数为( )。 for(int i=0; i<n; i++) if(i>n/2) break; (2分) A.n/2 B.n/2+1 C.n/2-1 D.n-1 ★标准答案:B |
C++考前热身
最新推荐文章于 2024-04-15 14:58:51 发布