湖南第一师范学院《高级语言程序设计》复习。
一、单选题。
1、下列函数中,不能重载的是(c)。
a)成员函数(b)非成员函数(c)析构函数(d)构造函数2、使用操作符setw对数据进行格式输出时,需要包含(c)文件。( a) 下面关于带默认形式参数值的函数声明正确的是(c)。
a) int fun(int a=1, int b, int c);(b) int fun(int a, int b=2, int c);(c) int fun(int a, int b=2, int c=3);(d) int fun(int a=1, int b, int c=3);
4、下面有关函数重载的程序段正确的是( d)。
a)int fun(int x, int y);int fun(int a, int b);(b)float fun(int x, int y);int fun(int x, int y);(c)int main();void main();
d)int fun(int x, int y);int fun(float x, float y);5、下列(d)的调用是引用调用。
a)形参是指针,实参是地址(b)形参和实参都是变量(c)形参和实参都是数组名(d)形参是引用,实参是变量。
6、有如下类声明:class ab ;则ab类的成员fun是(d)
a公有数据成员b公有成员函数c私有数据成员d私有成员函数7、在下列函数原型中,可以作为类aa构造函数的是(d)
a void aa(int);b int aa( )c aa(int)const;d aa(int);8、有如下程序:
#include using namespace std;class a
;class b
public: b( )class c : public a};
int main( )
c obj;return 0; }
执行后的输出结果是(d)
a cba b bac c acbd abc
9、下列有关内联函数的叙述中,正确的是(b)。a、内联函数在调用时发生控制转移。
b、内联函数必须通过关键字inline来定义。
c、编译器会根据函数的返回值类型和参数表来区分函数的不同重载形式。
本文档为精品文档,如对你有帮助请**支持,如有问题请及时沟通,谢谢支持!d、内联函数体的最后一条语句必须是return语句10、下列情况中,不会调用拷贝构造函数的是(b)。
a、用一个对象去初始化同一类的另一个新对象时b、将类的一个对象赋值给该类的另一个对象时。
c、函数的形参是类的对象,调用函数进行形参和实参结合时d、函数的返回值是类的对象,函数执行返**用时11、以下关键字不能用来声明类的访问权限的是( b)。
a、publicb、staticc、protectedd、private
12、运算符重载是对已有的运算符赋予多重含义,因此(a)
a可以对基本类型(如int类型)的数据,重新定义“+”运算符的含义b可以改变一个已有运算符的优先级和操作数个数c只能重载c++中已经有的运算符,不能定义新运算符d c++中已经有的所有运算符都可以重载。
13、通过(a)调用虚函数时,采用动态联编。
a对象指针b对象名c成员名限定d派生类名14下面有关重载函数的说法中正确的是(c)
a重载函数必须具有不同的返回值类型;b重载函数形参个数必须不同;c重载函数必须有不同的形参列表d重载函数名可以不同;15、下列关于构造函数的描述中,错误的是(d)
a构造函数可以设置默认参数;b构造函数在定义对象时自动执行c构造函数可以是内联函数;d构造函数不可以重载16、下面描述中,表达错误的是(b)
a公有继承时基类中的public成员在派生类中仍是public的;b公有继承是基类中的private成员在派生类中仍是private的;c公有继承时基类中的protected成员在派生类中仍是protected的;d私有继承时基类中的public成员在派生类中是private的;17、引入内联函数的主要目的是( b)
a)缩短程序**,少占用内存空间。
b)既可以保证程序的可读性,又能提高程序的运行效率(c)占用内存空间少,执行速度快(d)使程序的结构比较清晰18、重载函数是(a)
a)以函数参数来区分,而不用函数的返回值来区分不同的函数(b)以函数的返回值来区分,而不用函数参数来区分不同的函数(c)参数表完全相同而返回值类型不同的两个或多个同名函数(d)参数表和返回值类型都必须是不同的两个或多个同名函数。
19、当保护继承时,基类的(b)在派生类中成为保护成员,不能通过派生类的对象来直接访问该成员。
a)任何成员(b)公有成员和保护成员(c)保护成员和私有成员(d)私有成员20、关于虚函数,下面说法是正确的(b)
a)在基类中被说明为虚函数的类的成员函数必须在每个派生类中说明为虚函数,才能具有多态的特征。
b)如果派生类的成员函数的原型与基类中被定义为虚函数的成员函数原型相同,那么,这个函数自动继承基类中虚函数的特性。(c)纯虚函数可以在类外定义其函数体。
d)纯虚函数只有函数名而不具备函数功能,能被调用。
21、c++对c语言作了很多改进,下列描述中(d)使得c语言发生了质变,从面向过程。
本文档为精品文档,如对你有帮助请**支持,如有问题请及时沟通,谢谢支持!变成了面向对象。
a、增加了一些新的运算符;
b、允许函数重载,并允许设置缺省参数;c、规定函数说明必须用原型;d、引进了类和对象的概念;
22、在c++中,关于下列设置缺省参数值的描述中,(b)是正确的。
a、不允许设置缺省参数值;
b、在指定了缺省值的参数右边,不能出现没有指定缺省值的参数;c、只能在函数的定义性声明中指定参数的缺省值;d、设置缺省参数值时,必须全部都设置;23、(d)不是构造函数的特征。a、构造函数的函数名与类名相同;b、构造函数可以重载;
c、构造函数可以设置缺省参数;d、构造函数必须指定类型说明。24、(d)是析构函数的特征。
a、析构函数可以有一个或多个参数;b、析构函数名与类名不同;
c、析构函数的定义只能在类体内;d、一个类中只能定义一个析构函数;25、关于成员函数特征的下列描述中,(a)是错误的。a、成员函数一定是内联函数;b、成员函数可以重载;
c、成员函数可以设置缺省参数值;d、成员函数可以是静态的;26、下列静态数据成员的特性中,(c)是错误的。a、说明静态数据成员时前边要加修饰符static;b、静态数据成员要在类体外进行初始化;c、静态数据成员不是所有对象所共用的;
d、引用静态数据成员时,要在其名称前加《类名》和作用域运算符;27、友元的作用是(a)。a、提高程序的运用效率;b、加强类的封装性;c、实现数据的隐藏性;d、增加成员函数的种类;
28、关于new运算符的下列描述中,(d)是错误的。a、它可以用来动态创建对象和对象数组;
b、使用它创建的对象或对象数组可以使用运算符delete删除;c、使用它创建对象时要调用构造函数;
d、使用它创建对象数组时必须指定初始值;29、关于delete运算符的下列描述中,(c)是错误的。a、它必须用于new返回的指针;
b、使用它删除对象时要调用析构函数;c、对一个指针可以使用多次该运算符;
d、指针名前只有一对方括号符号,不管所删除数组的维数。30、const int *p说明不能修改(b)。a、p指针;
b、p指针指向的变量;c、p指针指向的数据类型;
d、上述a、b、c三者;
31、派生类的对象对它的基类成员中(a)是可以访问的。a、公有继承的公有成员;
本文档为精品文档,如对你有帮助请**支持,如有问题请及时沟通,谢谢支持!b、公有继承的私有成员;c、公有继承的保护成员;
d、私有继承的公有成员;32、设置虚基类的目的是(b)。a、简化程序;b、消除二义性;c、提高运行效率;
d、减少目标**;
33、下列描述中,正确的是(c)
a、虚函数是一个static类型的成员函数;b、虚函数是一个非成员函数;c、抽象类是指具有纯虚函数的类;
d、抽象类可以说明其对象;34、下列描述中,(d)是不正确的。a、面向对象程序设计可重用性较好;b、对象之间通过消息进行信息传递;c、多态性体现了行为共享;
d、面向对象方法的核心是继承;
35、执行下列语句后的输出结果是(c)。
int hot=100;int &rad=hot;hot+=100;
cout<36、在c++中,关于下列函数参数的描述中,(b)是正确的。a、c++语言中,实参是按照自左至右的顺序求值的;
b、若一个参数设置了默认值,则其右边的所有参数都具有默认值;c、函数参数的默认值不允许是表达式;
d、设置参数默认值时,应该全部参数都设置;
37、在(c)情况下适宜采用inline定义内联函数。a、函数体含有循环语句;b、函数体含有递归语句;c、函数**小,频繁调用;d、函数**多,不常调用;
38、定义析构函数时,应该注意(c)。a、其函数名与类名完全相同;b、函数返回类型是void类型;c、无形参,也不可重载;
d、函数体中必须有delete语句;39、关于继承的描述中,(b)是正确的。a、派生类是基类的子集;b、析构函数不能被继承;c、子类型关系是可逆的;d、派生类是基类的子类型;
40、在c++中,关于下列设置参数默认值的描述中,(c)是正确的。a、不允许设置参数的默认值;
b、设置参数默认值只能在定义函数时设置;
c、设置参数默认值时,应该是先设置右边的,再设置左边的;d、设置参数默认值时,应该全部参数都设置。
本文档为精品文档,如对你有帮助请**支持,如有问题请及时沟通,谢谢支持!41、重载函数在调用时选择的依据中,(c)是错误的。a、参数个数;b、参数的类型;c、函数名字;d、函数的类型。
42、下列描述中,(d)是抽象类的特性。a、可以说明虚函数;
b、可以进行构造函数重载;c、可以定义友元函数;d、不能说明其对象。
43、下列表示引用的方法中,正确的是(b)。
a)int m=10;int &x=m;(b)int m=10;int &y=10;(c)int m=10;int &z;(d)int m=10;ifloat &t=&m;
44、通常拷贝初始化构造函数的参数是(c)。
a)某个对象名(b)某个对象的成员名(c)某个对象的引用名(d)某个对象的指针名45、(c)是一个在基类中说明的虚函数,它在该类中没有定义,但要求任何派生类都必须定义自己的版本。
a)虚析构函数(b)虚构造函数(c)纯虚函数(d)静态成员函数。
二、判断题(下列叙述中,正确的请打上“√”错误的打上“×”1.构造函数不是类的成员函数f是类的成员函数。
2.引用一旦初始化,就维系在一定目标上,任何对该引用的赋值都不能使引用维系在其他。
目标上。t任何对该引用的赋值,都是对引用所维系的目标赋值,而不是将引用维系到另一个目标上。
3.函数重载的目的是提高运行效率。f是为了各种数据类型的转换。
4.类的静态数据成员需要在定义每个类的对象时进行初始化。f只可以在类外引用更不。
用说初始化了。
5.函数的参数和返回值类型可以是简单数据类型,也可以是指针、引用、数组和类。t6.在基类中被说明为虚函数的类的成员函数必须在每个派生类中说明为虚函数,才能具有多。
态的特征。f会有一个虚函数表。
7.在类定义时,允许对其数据成员直接进行初始化。t三、程序阅读分析题。
1、阅读程序,写出程序运行结果。#include ""class b1;class b2
void print()}class b3
cout < int getb3()} class a:public b2,public b1;void main() a aa(1,2,3,4); ####加强各实验项目练习。 四、编程题。 1、编程实现。定义一个圆类,计算圆的面积和周长。要求:①使用构造函数、构造函数重载和析构函数;②分别用成员函数和友元函数来求圆的面积和周长。####加强各实验项目练习。 b2::print(); cout < 一 简答题 10选2,每题5分 1 简要叙述指针为函数参数的使用方法。2 简要叙述结构体特点。3.简述机器语言 汇编语言和高级语言。4.简述c语言的特点。5.简述c语言程序的编辑 编译与运行。6 简述程序设计语言的分类 高级语言及其分类。7.简述c语言的发展简史。8.简要列举c语言中的常用表达式。9... 1 选择题 每小题2分,2x20 40分 2 填空题 每小题2分或1分,共10分 第1 二大题考查的知识覆盖 章,其中注意以下复习要点 第一章注意c语言的特点与性质。第3章注意标识符的规则 各类型的合法常量 变量的定义与运算符 表达式等相关知识。第4章注意关系表达式 逻辑表达式 if语句 switc... 0 a 0 48 2 填空题。1.指针变量中存放的是地址 2.设inta 从键盘输入数据给变量a的输入语句是。语句除可在循环语句中使用外,还可以用于 switch语句 4.一个源程序中允许有多个函数,但必须有且只能有一个主函数 5.设intm 10 p 使指针变量p指向数组m首元素的语句是 p m ...高级语言程序设计复习
高级语言程序设计复习
高级语言程序设计复习