2010-11江科大vc阶段测试7 - 10章

2026/1/14 10:25:05

一、选择题(每题2分,计2 0分)

C 1、设有变量定义int x=5,n,*p1=&x,*p2;下列表达式正确的是( )。 A、p2=&p1 B、*p1=*p2 C、p2=p1 D、n=*p2 A 2、若有定义“int a[6],*p=a;”,则对a 数组元素地址的正确引用是( )。

A、p+5 B、*a+1

C、&a+1

D、*(p+2)

C 3、下列引用的定义中,正确的是( )。

A、int &j=new int; B、int &j=new int; j=10;

C、int &j=*new int(10); D、int &*j=new int; A 4、设有变量说明int a[3][4],(*p)[4]=a;则与表达式*(a+1)+2不等价的是( )

A、p[1][2] B、*(p+1)+2 C、p[1]+2 D、a[1]+2 D 5、关于类的访问特性的说明,下列说法正确的是( )

A 必须首先说明私有特性

B 成员数据必须说明为私有的

C 必须在每一个成员前单独标明访问特性

D 在同一个类中,说明访问特性的关键字可以多次使用 B 6、在定义类A时,下列( )不可以作为类的成员

A 指向类A的对象指针 B 类A的对象

C 指向另一个不同的类的对象指针 D 另一个不同类的对象

C 7、通常拷贝初始化构造函数的参数是( )。

A 某个对象 B 某个对象的成员名

C 某个对象的引用名 D 指向某个对象的指针名 B 8、设有如下类的定义:

class Ex{ int *p; public: ~Ex(){delete p;} Ex(int x=0){p=new int(x);}

};

则下列对象的定义中,不正确的是( )。 A、Ex ex; B、Ex ex1(50),ex2=ex1; C、Ex ex=Ex(50); D.Ex ex=50; D 9、下列说法中,( )是析构函数的特征

A 析构函数没有返回值,所以其类型定义为void

B 析构函数名与类名相同 C 析构函数必须有缺省的参数

D 析构函数不能重载

B 10、某结构体变量定义如下,对此结构体变量的成员的引用形式正确的是( )。

共8页,第1页

sstruct st{ int a,b; float x,y; }s1,*p; p=&s1; A、s1->a

B、p->b C、p.x

D、*p.y

二、填空题(每空2分,计60分) ? 基本概念题

1、结构体的缺省访问特性是 public ,而类的缺省访问特性 private 。 2、设有函数原型说明:void fun(int x,int y); 则指向该函数的指针变量f的定义形式为:void (*f)(int,int)。

3、当一个类对象的成员函数被调用时,该成员函数的this 指向调用它的对象。 4、当使用new运算符对指定类型对象动态分配内存并返回该类型的指针后,在对象使用完毕后必须使用delete运算符释放动态内存空间。 ? 阅读程序题

5、下列程序的运行结果是80。

[程序]

#include void sub(int*x,int n,int k) { }

if(k<=n)sub(x,n,3*k); *x+=k;

void main()

{ int x=0;sub(&x,27,2); cout<

6、下列程序的运行结果是 name is: man 。

[程序]

#include #include void function(char*); void main() {

char name[]=\ ptr=name; function(ptr);

cout<<\

共8页,第2页

}

void function(char*ptr) {

*(ptr+2)=*(ptr+2)+1; *(ptr+strlen(ptr)-1)='\\0'; }

7、执行下列程序后,程序的第一行输出为x=1,y=2,程序的第三行输出为 x=5,y=6

[程序]

#include class sampl{ int x,y;

public:

void get(int a,int b)

{ x=a; y=b; } void disp()

{ cout<<\};

void main()

{ sampl *p;

p=new sampl[3];

p[0].get(1,2); p[1].get(3,4); p[2].get(5,6); for(int i=0;i<3;i++) delete p; }

8、执行下列程序后,程序的第三行输出为类C的构造函数,程序的第四行输出为2 3 4 ,程序的最后一行输出为类B的析构函数。

[程序]

#include class A{ int a; public:

p[i].disp();

A(int x)

{ a=x; cout<<\类A的构造函数。\\n\int geta(){return a;}

~A(){cout<<\类A的析构函数。\\n\

共8页,第3页

}

};

class B{ int b; public:

B(int x)

{ b=x; cout<<\类B的构造函数。\\n\ int getb(){return b;}

~B(){cout<<\类B的析构函数。\\n\}; class C{ int c; public:

B b1;

A a1;

C(int x,int y,int z):b1(y),a1(x)

{ c=z; cout<<\类C的构造函数。\\n\

void show() {cout<

{ C c1(2,3,4); c1.show(); }

9、执行下列程序后,程序的第一行输出为25,程序的第二行输出为6,4,1。

[程序]

#include class X{ public:

int x;

int fun(int); }; int x=3; int fun(int &x) { ++x;

return 1; }

int X::fun(int y)

{ x=y*y; ::x++; return x; } void main() { int x=5; X t;

cout<

cout<

共8页,第4页


2010-11江科大vc阶段测试7 - 10章.doc 将本文的Word文档下载到电脑
搜索更多关于: 2010-11江科大vc阶段测试7 - 10章 的文档
相关推荐
相关阅读
× 游客快捷下载通道(下载后可以自由复制和排版)

下载本文档需要支付 10

支付方式:

开通VIP包月会员 特价:29元/月

注:下载文档有可能“只有目录或者内容不全”等情况,请下载之前注意辨别,如果您已付费且无法下载或内容有问题,请联系我们协助你处理。
微信:xuecool-com QQ:370150219