百年教育职业培训中心 百年教育学习服务平台
题库试卷

东大C++程序设计期末考试复习资料与参考答案

来源: 更新时间:

3亿多的题库,支持文字、图片,语音搜题,包含国家开放大学、广东开放大学、云南开放大学、北京开放大学、上海开放大学、江苏开放大学、超星、青书、奥鹏等等多个平台题库,考试作业必备神器。正确答案:微信搜索【

3亿多的题库,支持文字、图片,语音搜题,包含国家开放大学、广东开放大学、云南开放大学、北京开放大学、上海开放大学、江苏开放大学、超星、青书、奥鹏等等多个平台题库,考试作业必备神器。

正确 答案:微信搜索【渝粤搜题】公众号

广东开放大学 2023年春季招生简章



C++程序设计复习题

一、选择题

1.一个C++程序的执行是从( )

A、本程序文件的第一个函数开始,到本程序main函数结束

B、本程序的main函数开始,到本程序文件的最后一个函数结束

C、本程序的main函数开始,到main函数结束

D、本程序文件的第一个函数开始,到本程序文件的最后一个函数结束


2.下列标识符中不是合法的标识符的是( )

A、ho_do

B、ca1

C、_pri

D、2ab



3.以下能正确定义整型变量x,y和z并为其赋初值5的语句是( )

A、in x=y=z=5;

B、in x,y,z=5;

C、x=5,y=5,z=5;

D、x=y=z=5;

答案:A


4.已知char c; 则下列语句中正确的是( )

A、c='a'

B、c="a"

C、c="97"

D、'97'




5.下列变量名中,( )是合法的.

A、CHINA

B、bye-size

C、double

D、A+a



6.以下程序的输出结果是( )

#include <iosream>

using namespace sd;

in main()

{

in a=12,b=12;

cou<<--a<<" "<<++b<<endl;

reurn 0;

}

A、10 10

B、12 12

C、11 10

D、11 13




7.下列关于条件语句的描述中,( )是错误的。

A、i 语句中只有一个else 子句

B、i 语句中可以有多个else i 子句

C、i 语句中i 体内不能是swich语句

D、i 语句的i 体中可以是循环语句



8.若有 in m; 则以下循环执行次数是__________。

or(m=2;m==0; )

{;}

A、无限次

B、0次

C、1次

D、 2次




9.执行下面程序片段的结果是( )

in x=13;

do

{ cou<<--x;}

while(!x);

A、打印出212

B、打印出12

C、不打印任何内容

D、陷入死循环



10.若有说明语句:saic in a[3][4]={0};

则下面叙述正确的是:( )

A、只有a[0][0]元素可得到初值0;

B、数组a中每个元素均可得到初值0。

C、数组a中各元素都可得到初值,但值不一定为0;

D、此说明语句不正确




11.在C++语言中,有以下定义:

char b[10]={'h','n','s','p','k','s'};

则语句cou<<b[1]; 的结果为( )

A、h

B、n

C、s

D、p



12.若有以下定义:

in a[5]={ 5, 4, 3, 2, 1 } ;

char b= 'a', c, d, e;

则下面表达式中数值为2的是( )

A、a[3]

B、a[e-c]

C、a[d-b]

D、a[e-b]




13.在C++语言中,定义数组in a[12]={1,2,3,4,5,6,7,8,9,10,11,12},则a[3]的值

( )

A、3

B、4

C、5

D、6



14.在C++语言中,合法的数组定义是( )。

A、in a[]="sring";

B、in a[5]={0,1,2,3,4,5};

C、in s="sring";

D、char a[]={0,1,2,3,4,5};




15.下面程序。

#include<iosream.h>

in main( )

{

in a[3][3]={{1,2},{3,4},{5}};

in sum=0;

or (in i=1;i<3;i++)

or(in j=0;j<=i;j++)

sum+=a[i][j];

cou<<sum<<endl;

reurn 0;

}

的输出结果是( )。

A、12

B、14

C、15

D、13




16.函数表达式为un ((1,2),(3,4,5),6),则函数函数un中实参的个数是( )。;

A、3

B、4

C、5

D、6



17.以下叙述中正确的是( )

A、全局变量的作用域一定比局部变量的作用域范围大

B、静态( )类别变量的生存期贯穿于整个程序的运行期间

C、函数的形参都属于全局变量

D、未在定义语句中赋初值的auo变量和saic变量的初值都是随机值



18.在 C++中,编译系统自动为一个类生成缺省构造函数的条件是( )

A、该类没有定义任何有参构造函数

B、该类没有定义任何无参构造函数

C、该类没有定义任何构造函数

D、该类没有定义任何成员函数




19.下列关于构造函数的描述中,错误的是( )。

A、构造函数可以设置默认参数

B、构造函数在说明类变量时自动执行

C、构造函数可以对静态数据成员进行初始化

D、构造函数可以重载



20.下列对重载函数的描述中,( )是错误的。

A、重载函数中不允许使用默认参数

B、重载函数中编译时根据参数表进行选择

C、不要使用重载函数来描述毫无相干的函数

D、构造函数重载将会给初始化带来多种方式



21.以下关于reurn语句的叙述中正确的是

A、一个自定义函数中必须有一条reurn语句

B、一个自定义函数中可以根据不同情况设置多条reurn语句

C、定义成void类型的函数中可以有带返回值的reurn语句

D、没有reurn语句的自定义函数在执行结束时不能返回到调用处



22.有关类和对象的说法不正确的是( )。

A、对象是类的一个实例

B、一个类只能有一个对象

C、任何一个对象只能属于一个具体的类

D、类与对象的关系和数据类型和变量的关系相似



23.说明友元函数使用关键字( )

A、riend

B、saic

C、cons

D、colaile



24.类的静态成员( )

A、是指静态数据成员

B、是指静态函数成员

C、为该类的所有对象共享

D、遵循类的其他成员做遵循的所有访问权限



25.在下列关键字中,用以说明类中保护成员的是( )

A、public

B、privae

C、proeced

D、riend




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

A、()是基类的私有成员

B、派生类的继承方式为私有

C、()是基类的保护成员

D、派生类的继承方式为保护



27.下面程序的输出结果为( )

#include<iosream.h>

void pr(in *x,in *y,in *z)

{

cou<<+ + *x<<","<<+ + *y<<","<<*(z++)<<endl;

}

in a=10;

in c=20;

in b=40;

void main()

{

pr(&a,&b,&c);

pr(&a,&b,&c);

}

A、11,42,31 12,21,41

B、11,41,20 12,42,20

C、11,21,40 11,21,41

D、11,41,21 12,42,22



28.一个( )允许拥护为类定义一种模式,使得类中的某些数据成员、某些成员函数的参数和返回值可以取任意数据类型。

A、函数模板

B、模板函数

C、类模板

D、模板类



29.在C++中,打开一个文件就是将这个文件与一个( )建立关联;关闭一个文件就是取消这种关联。

A、流

B、类

C、结构

D、对象



30.要利用 C++流进行文件操作,必须在程序中包含的头文件是( )

A、iosream

B、sream

C、srsream

D、iomanip



31.有如下两个类定义

class AA{};

class BB{

  AA v1,*v2;

  BB v3;

  in *v4;

};

其中有一个成员变量的定义是错误的,这个变量是( )

A、v1

B、v2

C、v3

D、v4



32.以下关于reurn语句的叙述中正确的是

A、一个自定义函数中必须有一条reurn语句

B、一个自定义函数中可以根据不同情况设置多条reurn语句

C、定义成void类型的函数中可以有带返回值的reurn语句

D、没有reurn语句的自定义函数在执行结束时不能返回到调用处



33.在一个被调用函数中,关于reurn 语句使用的描述,( )是错误的。

A、被调用函数中可以不用reurn 语句

B、被调用函数中可以使用多个reurn 语句

C、被调用函数中,如果有返回值,就一定要有reurn 语句

D、被调用函数中,一个reurn 语句可返回多个值给调用函数



34.在函数定义中的形参属于( )。

A、寄存器变量

B、全局变量

C、局部变量

D、静态变量



35.下列定义正确的是( )

A、saic in a[]={1,2,3,4,5}

B、in b[1]={2,5}

C、in a(10)

D、in 4e[4]



36.以下选项中不属于C++语言的类型的是( )

A、 signed shor in

B、 unsigned long in

C、 unsigned in

D、long shor


37.不正确的变量说明是( )

A、unsignes in ui

B、shor in s

C、double in a;

D、in I,j,k;


38.设有定义:in x=2;以下表达式中,值不为6的是(( ))

A、x*=x+1

B、x++,2*x

C、x*=( )

D、2*x, x+=2


39.表达式(in)((double)9/2)-(9)%2的计算结果是(B )。

A、0

B、3

C、4

D、5


40.以下不正确的是( B )

A、or( )表示无限循环

B、or( )表示无限循环

C、语句or( )表示无限循环

D、while( )表示无限循


41.下列关于C++函数的描述中正确的是( )

A、主函数是程序的入口,它是由用户定义的函数调用。

B、函数是C++中面向对象程序设计框架的基本组成元素。

C、函数在调用前必须先被声明。

D、每个用户定义函数只能被其他函数调用一次。


42.在下列原型所示的 C++函数中,按“传值”方式传递参数的是( )

A、void 1(in x);

B、void 2(in*x);

C、void 3(cons in*x);

D、void 4(in&x);


43.有如下类定义:

class Poin{

privae;

saic in how_many;

};

( ( )) how_many=0;

要初始化Poin 类的静态成员how_many,下划线处应填入的内容是

A、ing

B、saic in

C、in Poin::

D、saic in Poin::


44.对于下面定义的类A在函数()中将对象成员n的值修改为60的语句应该是( )

class A

{

public:

A(in x){n=x;}

void SeNum(in n1){n=n1;}

privae

in n;

}

in ()

}

A *pr=new A(6);

}


A、A(60)

B、SeNum(60)

C、Pr->SeNum(60)

D、Pr->n=60


二、编程题

1、从键盘读入一个百分制分数,转换为5分制分数,并输出。规则如下:

( )大于等于90且小等于100对应字符A

( )大于等于80且小于90对应字符B

( )大于等于70且小于80对应字符C

( )大于等于60且小于70对应字符D

( )小于60对应字符E


#include <iosream>

using namespace sd;

in main()

{

char c='E';

loa s=0;

cin>>s;

i(s<60)

c='E';

else i (s<70)

c='D';

else i(s<80)

c='C';

else i(s<90)

c='B';

else i(s<=100)

c='A';

cou<<c<<endl;

reurn 0;

}


2、定义类Suden描述学生信息,包括姓名、年龄、住址等信息,并定义geAddress函数返回对象的住址。要求实现构造函数和析构函数


suden.h

class Suden

{

public:

Suden();

Suden(char name[32],in age,char address [64]);

virual ~Suden();

void geAddress (char address[]) ;

privae:

char name[32];

in age;

char address [64];

};


suden.cpp

Suden::Suden()

{

srcpy(his->name,"");

srcpy(his-> address,"");

his->age = 18;

}


Suden::~Suden()

{

//dor

}


Suden::Suden(char name[32],in age,char address [64])

{

srcpy(his->name,name);

srcpy(his-> address, address);

his->age = age;


}

void Suden:: geAddress (char address[]){

srcpy(address,his-> address );

}

main.cpp


#include <iosream>

#include <suden.h>

using namespace sd;

in main()

{

Suden s("张三",18,"机械学院");

char address[64];

s.ge Address (address);

cou<<address<<endl;

reurn 0;

}

电话咨询