admin 管理员组

文章数量: 1086019


2024年2月27日发(作者:指数函数反函数怎么求)

二级C++-214

(总分67.5,考试时间90分钟)

选择题

1. 下面叙述中错误的是______。

A. 软件测试的目的是发现错误并改正错误

B. 对被调试的程序进行“错误定位”是程序调试的必要步骤

C. 程序调试通常也称为Debug

D. 软件测试应严格执行测试计划,排除测试的随意性

2. 下列语句都是程序运行时的第1条输出语句,其中一条语句的输出效果与其他三条语句不同,该语句是______。

A. cout<<internal<<32345;

B. cout<<left<<12345;

C. cout<<right<<12345;

D. cout<<setw(6)<<12345;

3. 有如下程序:

#include<iostream>

using namespace std;

class test{

private:

int a;

public:

test(){cout<<"constructor"<<endl;}

test(int a){cout<<a<<endl;}

test(const test &_test){

a=_test.a;

cout<<"copy constructor"<<endl;

}

~test(){cout<<"destructor"<<endl;}

};

int main(){

test A(3);

return 0;

}

执行这个程序的输出结果是______。

A. 3 B. constructordestructor

C. copy constructordestructor D. 3destructor

4. 索引属于

A. 模式 B. 内模式

C. 外模式 D. 概念模式

5. C++模板包括____。

A. 类模板和函数模板 B. 模板类和模板函数

C. 类和函数 D. 对象和函数

6. 有如下程序:

#include<iostream>

using namespace std;

class Base{

protected:

Base(){cout<<"Base";}

Base(char c){cout<<c;}

};

class Derived:public Base{

public:

Derived(char c){cout<<c;}

};

int main(){

Derived d("Derived");

return 0;

}

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

A. Derived B. DerivedBase

C. BaseDerived D. DerivedDerived

7. 下列函数的运行结果是______。

#include<iostream.h>

int f(int a,int b)

{ int c;

if(a>b)c=1;

else if(a==b)c=0;

else c=-1;

return(c);}

void main()

{ int i=2,j=3;

int p=f(i,j);

cout<<p;}

A. -1 B. 1

C. 2 D. 编译出错,无法运行

8. 下列语句都是程序运行时的第1条输出语句,其中一条语句的输出效果与其他三条语句不同,该语句是______。

A. cout<<intemal<<12345;

B. cout<<left<<12345;

C. cout<<right<<12345;

D. cout<<setw(6)<<12345;

9. 对虚函数的调用____。

A. 一定使用动态联编 B. 必须使用动态联编

C. 一定使用静态联编 D. 不一定使用动态联编

10. 若执行下面的程序时,从键盘上输入5和2,则输出结果是______。

# include<iostream.h>

void main()

{ int a,b,k;

cin>>a>>b;

k=a;

if(a<b)

k=a%b;

else

k=b%a;

cout<<k<<endl;}

A. 5 B. 3

C. 2 D. 0

11. 下面对静态数据成员的描述中,正确的是____。

A. 静态数据成员可以在类体内进行初始化

B. 静态数据成员不可以通过类的对象调用

C. 静态数据成员不能受private(私有)控制符的作用

D. 静态数据成员可以直接通过类名调用

12. 有如下程序:

# include <ioslreclm>

Using namespace std;

class Base{

public:

Base(int x=0):valB(x){cout<<valB;}

~Base(){cout<<valB;}

Private:

int valB;

};

class, Derived: public Base{

public:

Dcrived(int x=0,int y=0):Base(x),valD(y)

{cout<<valD;}

~Derived(){cout<<valD;}

private:

int valD;

};

int main(){

Derived obj12(2,3);

return 0;

}

运行时的输出结果是____,

A. 2332 B. 2323

C. 3232 D. 3223

13. 最简单的交换排序方法是

A. 快速排序 B. 选择排序

C. 堆排序 D. 冒泡排序

14. 有下列程序:

#include <stdio.h>

int b=2;

int fun(int*k)

{ b=*k+b;return(b);}

void main()

{ int a[10]={1,2,3,4,5,6,7,8},i;

for(i=2;i<4;i++)(b=fun(&a[i])+b;printf

("%d",b);}

printf("n"};

}

程序运行后的输出结果是______。

A. 10 12 B. 8 10

C. 10 28 D. 10 16

15. 在一个派生类的成员函数中,试图调用其基类的成员函数“void f();”,但无法通过编译。这说明______。

A. f()是基类的私有成员 B. f()是基类的保护成员

C. 派生类的继承方式为私有 D. 派生类的继承方式为保护

16. 对于类定义

class A {

public:

virtual void funcl(){}

void func2(){}

};

class D:public A{

public:

void funcl(){cout<< "class B rune 1"<<end1;}

virtual void func2(){cout<< "class B func 2"<<end1;}

};

下面正确的叙述是 ______。

A. A::func2()和B::funcl()都是虚函数

B. A::func2()和B::funcl()都不是虚函数

C. B::func1()是虚函数,而A::func2()不是虚函数

D. B::func1()不是虚函数,而A::func2()是虚函数

17. 要利用C++流实现输入/输出的各种格式控制中,必须在持续中包含的头文件是______。

A. fstream B. istream

C. ostream D. iomanip

18. 有如下程序:

#include<iostream>

using namespace std;

class A{

public:

A(int i):rl(i){}

void print(){cout<<"E"<<r1<<"-";}

void print()const{cout<<"C"<<r1*r1<<"-";}

private:

int rl;

};

int main(){

A al(2); const A a2(4);

(); ();

return 0;

}

运行时的输出结果是______。

A. 运行时出错 B. E2-C16-

C. C4-C16- D. E2-E4-

19. 有如下程序:

#include<iostream>

using namespace std;

class test {

private:

int a;

public:

test() {cout<<"constructor"<<endl;}

test(int a) {cout<<a<<endl;}

test(const test&_test) {

a=_test. a;

cout<<"copy constructor"<<endl;

}

~test() {cout<<"destructor"<<endl;}

};

int main() {

test A(3);

return 0;

}

执行这个程序的输出结果是______。

A.3

B.

C.

D.

20. 如果算符函数调用格式的表达式:or-(operator++(y,0)中的“—”是作为成员函数重载的,“++”是作为友元函数重载的,那么该表达式还可以表示为:()

A. x-y++ B. x-(++y)

C. (x++)-y D. ++x-y

21. 下面关于对象概念的描述中,____是错误的。

A. 对象就是C语言中的结构体变量

B. 对象代表着正在创建的系统中的一个实体

C. 对象是一个状态和操作(或方法)的封装体

D. 对象之间的信息传递是通过消息进行的

22. 有以下程序:

#include<iostream>

using namespace std;

class A{

public:

A(){cout<<"A";}

};

classB{public:B(){cout<<"B";}};

classC:public A{

B b:

public:

C(){cout<<"C";}

};

int main(){ C obj; return 0;}

执行后的输出结果是______。

A. CBA B. BAC

C. ACB D. ABC

23. 下列字符串中,不可以用做C++标识符的是______。

A. y_2006 B. _TEST_H

C. Return D. switch

24. 已知类IMS中两个成员函数的声明为“void listen()const;”与“void speak();”,另有两个对象的定义为“IMS obj1;”与“const IMS obj2;”,则下列语句中,产生编译错误的是______。

A. (); B. ();

C. (); D. ();

25. 以下定义语句中正确的是______。

A. int a=b=0;

B. char A=65+1,b="b";

C. float a=1,"b=&a,"c=&b;

D. double a=0.0;b=1.1;

26. 类模板的使用实际上是将类模板实例化成一个具体的____。

A. .类 B. 对象

C. 函数 D. 模板类

27. 有如下类定义:

class B{

public:

void fun1(){}

private:

void fun2(){}

protected:

void fun3(){}

};

class D:public B{

protected:

void fun4(){}

};

若obj是类D的对象,则下列语句中不违反访问控制权限的是______。

A. 1(); B. 2();

C. 3(); D. 4();

28. 下列语句分别是不同程序中的第一个输入输出语句。若去掉其中的“<<left”,输出效果将发生变化的是

A. cout<<left<<setfill("*")<<357;

B. cout<<left<<setw(5)<<357;

C. cout<<left<<setw(5)<<"ABCDE";

D. cout<<left<<"ABCDE";

29. 下列有关类继承的叙述中,错误的是______。

A. 继承可以实现软件复用

B. 虚基类可以解决由多继承产生的二义性问题

C. 派生类构造函数要负责调用基类的构造函数

D. 派生类没有继承基类的私有成员

30. 有如下程序:

#include<iostream>

using namespace std;

void fl(int8,.x,tnt8>-y) {int z=x;x=y;y=z;}

void f2(int x,int y) {int z=x;x=y;y=z;}

int main(){

int x=10,y= 26;

f1(x,y);

f2(x,y);

cout<<y<<endl;

return 0;

}

运行时的输出结果是______。

A. 10 B. 16

C. 26 D. 36

31. 有如下程序:

#include<iostream>

using namespace std;

class Test

{

public:

Test() {n+=2;}

~Test() {n-=3;}

static int getNum(){return n;}

private:

static int n;

};

int Test::n=1;

int main()

{

Test* p=new Test;

delete p;

cout<<"n="<<Test::getNum()<<endl;

return 0;

}

执行该程序的输出结果是______。

A. n=0 B. n=1

C. n=2 D. n=3

32. 有如下程序:

#include <iostream>

using namespace std;

class AA {

public:

virtual void f(){cout<<"AA";}

};

class BB:public AA{

public:

BB(){cout<<"BB";}

};

class CC:public BB{

public:

virtual void f() {BB::f(); cout<<"CC";}

};

int main(){

AA aa, *p;

BB bb;

CC cc;

p=&cc;

p->f();

return 0;

}

执行上面的程序将输出______。

A. BBAACC B. AABBCC

C. BBAABBCC D. BBBBAACC

33. 有如下程序:

#include<iostream>

using namespace std;

class Book{

public:

Book(char*t=" "){strcpy(title, t); }

______

private:

char title[40];

};

class Novel:public Book{

public:

Novel(char*t=" "):Book(t){}

char*Category()const{return "文学" ; }

};

int main(){

Book*pb;

pb=new Novel();

cout<<pb->Category();

delete pb;

return 0;

}

若程序运行时输出结果是“文学”,则横线处缺失的语句是______。

A. char*Category();

B. char*Category()const;

C. virtual char*Category()const;

D. virtual char*Category()const=0;

34. 以下不能正确定义二维数组的选项是____。

A. int a[2][2]={{1},{2}};

B. int a[][2]={1,2,3,4);

C. int a[2][2]={{1},2,3};

D. int a[2][]={{1,2},{3,4}};

35. 一棵二叉树共有25个结点,其中5个是叶子结点,则度为1的结点数为______。

A. 16 B. 10

C. 6 D. 4

36. 下列有关类的表述中。正确的是______。

A. 含有虚函数的类不能被实例化 B. 派生类不能访问基类的保护成员

C. 派生类只能隐含调用基类的构造函数 D. 纯虚函数没有函数体

37. C++源程序文件的扩展名为____。

A. .CPP B. .C

C. .DLL D. .EXE

38. 字面常量42、4.2、42L的数据类型分别是______。

A. long、double、int B. long、float、int

C. int、double、long D. int、float、long

39. 下列关于宏的叙述中正确的是______。

A. 宏名必须用大写字母表示 B. 宏定义必须位于源程序中所有语句之前

C. 宏替换没有数据类型限制 D. 宏调用比函数调用耗费时间

40. 下列函数模板的定义中,合法的是______。

A. template <typename T> T abs(T x) {return x<0? -x:x;}

B. template class <T> T abs(T x) {return x<0? -x:x;}

C. template T <class T> abs(T x){return x<0? -x:x;}

D. template T abs(T x){return x<0? -x:x;}


本文标签: 语句 输出 函数 成员 程序