好文档 - 专业文书写作范文服务资料分享网站

C++期末考卷B

天下 分享 时间: 加入收藏 我要投稿 点赞

湛江海洋大学2005年第二学期

《C++程序设计》课考试题(B卷)

使用班级:信息与计算科学 信计1041—1042

班级:题 号 各题分数 实得分数 一 36 二 20 三 20 四 9 五 15 总分 100 一、选择题(每题2分,共36分)

1、在每个C++程序中都必须包含有这样一个函数,该函数的函数名为________。 A. main B. MAIN C. name D. function

2、关于C++与C语言关系的描述中,________是错误的。

A.C语言是C++语言的一个子集 B.C语言与C++语言是兼容的 C.C++语言对C语言进行了一些改进 D.C++语言和C语言都是面向对象的 3、设x和y均为bool量,则x || y为假的条件是________。 A. 它们均为真 B. 其中一个为真

C. 它们均为假 D. 其中一个为假

4、在\a[ ][3]={{1},{3,2},{4,5,6},{0}};\中,a[2][2]的值是________

A.1 B.0 C.6 D.2

5、在下列表示引用的方法中,________是正确的。 已知:int m=10;

A.int &x=m; B.int &y=10; C.int &z; D.float &t=&m;

6、对于C/C++语言的函数,下列叙述中正确的是________。 A .函数的定义不能嵌套,但函数调用可以嵌套 B.函数的定义可以嵌套,但函数调用不能嵌套 C.函数的定义和调用都不能嵌套 D.函数的定义和调用都可以嵌套

第 1 页 共 8 页

姓名: 学号: 加白纸一张 7、在一个被调用函数中,关于return语句使用的描述,________是错误的。 A.被调用函数中可以不用return语句 B.被调用函数中可以使用多个return语句

C.被调用函数中,如果有返回值,就一定要有return语句 D.被调用函数中,一个return语句可以返回多个值给调用函数

8、在一个函数中,要求通过函数来实现一种不太复杂的功能,并且要求加快执行速度,选用________。

A.内联函数 B.重载函数 C.递归调用 D.嵌套调用

9、将两个字符串连接起来组成一个字符串时,选用________函数。 A.strlen( ) B.strcpy( ) C.strcat( ) D.strcmp( ) 10、________不是构造函数的特征

A.构造函数的函数名与类名相同 B.构造函数可以重载 C.构造函数可以设置缺省参数 D.构造函数必须指定类型说明 11、已知:print( )函数是一个类的常成员函数,它无返回值,下列表示中,________

是正确的。

A.void print( ) const; B.const void print( ); C.void const print( ); D.void print(const); 12、关于new运算符的下列描述中,________是错的。 A.它可以用来动态创建对象和对象数组

B.使用它创建的对象和对象数组可以使用运算符delete删除 C.使用它创建对象时要调用构造函数 D.使用它创建对象数组时必须指定初始值 13、下列for循环的次数为_______。 for(i=0, x=0; !x&&i<=5; i++) A.5 B.6 C.1 D.无限

第 2 页 共 8 页

14、对于\;\的描述中,_______是正确的。

A.pa是一个指向数组的指针,所指向的数组是5个int型元素

B.pa是一个指向某数组中第5个元素的指针,该元素是int型变量 C.pa[5]表示某个元素的第5个元素的值

D.pa是一个具有5个元素的指针数组,每个元素是一个int型指针 15、运行程序后a 的值为______: void main()

{ int a,k=4,m=6,*p1=&k,*p2=&m; a=p1==&m; cout<

A 4 B 1 C 0 D a无定值 16、以下的输出结果为______:

#include void main()

{int i=3,j=2,a=6;

a=(--i==j++)?--i:++j; printf(\

}

A 4,4,2 B 3,2,3 C 1,3,1 D 4,4,1

17、以下程序中,while循环的循环次数是______ void main( ) { int i=1; while(i<10)

{ if (i<1) continue; if (i==5) break; i++;} ……}

A)4 B)9 C)4 D)5 18、下面的程序,输出结果为 _______。

#include void main( ) { int *p, i;

int a[]={2, 6, 8, 7, 9}; p=a; i=2;

printf(\}

A、8 6 6 6 8 B、8 2 2 8 8

第 3 页 共 8 页

C、8 2 6 8 8 D、8 6 8 6 8

二、填空(后3题每空2分,其余每空1分,共20分)

1、已知‘A' ?‘Z'的ASCII码为65?90,当执行“int x=‘D'+5;”语句后x的值为________。 2、已知x=2.8,a=10,y=4.7,则x+a%3*(int)(x+y)%2/4的值为:________。 3、判断某年(year)为闰年的表达式为:________________________________________。 4、举出C++中两种用户自定义的数据类型:___________、____________

5、执行“typedef int ABC[10];”语句把ABC定义为具有10个整型元素的________, 那么语句“ABC a;”等价的语句是:________。

6、当一个类对象离开它的作用域时,系统将自动调用该类的____________。

7、在C++中,虽然友元提供了类之间数据进行访问的一种方式,但它破坏了面向对象

程序设计的____________特性。

8、使用const语句定义一个标识符常量时,则必须对它同时进行__________。 9、设变量均为int型,则表达式(b=51,i=++b)的值是__________。

10、全局变量和_______________若不显示初始化,则自动初始化为0。

11、若需要把一个函数“void F();”定义为一个类AB的友元函数,则应在类AB的定

义中加入一条语句:________________________。

12、假定p所指对象的值为25,p+1所指对象的值为46,则*p++的值为________。 13、假定 AB为一个类,则执行”AB a[5];”语句时,系统自动调用该类构造函数的次数

为________。

14、假定要动态分配一个类型为Worker的具有n个元素的数组,并由r指向这个动态

数组,则使用的语句为____________________________。

三、读程题(每小题5分,共20分)

1、#include int a[ ]={1,3,5,7,9};

int *p[ ]={a,a+1,a+2,a+3,a+4}; void main( )

{printf(\

printf(\-*(p+0),*(a+3)%a[4]);

}

该程序的运行结果是:

2、#include #include

double SD(int a, int b, char op)

第 4 页 共 8 页

{double x;

switch(op)

{ case '+': x=double(a)+b; break;

case '-': x=double(a)-b; break; case '*': x=double(a)*b; break; case '/': if(b) x=double(a)/b; else exit(1); break; default: exit(1); } return x; }

void main() { int x=20,y=8; cout<

}

该程序的运行结果是:

3、#include #include struct Worker

{char name[15]; //姓名 int age; //年龄 float pay; //工资 };

void main() { Worker x; char *t=\ int d=45; float f=1235; strcpy(x.name,t); x.age=d; x.pay=f; cout<

该程序的运行结果是:

第 5 页 共 8 页

C++期末考卷B

湛江海洋大学2005年第二学期《C++程序设计》课考试题(B卷)使用班级:信息与计算科学信计1041—1042班级:题号各题分数实得分数一36二20三20四9五15总分100一、选择题(每题2分,共36分)1、在每个C++程序中都必须
推荐度:
点击下载文档文档为doc格式
0rz7f1vvpp8xswm2yhl07916095ebr009ci
领取福利

微信扫码领取福利

微信扫码分享