1、在函数调用时,如某一默认参数要指明一个特定值,则有( A )A)其之前所有参数都必须赋值 B)其之后所有参数都必须赋值C)其前、后所有参数都必须赋值 D)其前、后所有参数都不必赋值下列哪个类型函数不适合声明为内联函数( A )A)函数体语句较多 B)函数体语句较少 C)函数执行时间较短 D)函数执行时间过长int Func(int,int);不可与下列哪个函数构成重载( B )A)int Func(int,int,int); B)double Func(int,int);C)double Func(double,double); D)double Func(int,double);下面的哪个保
2、留字不能作为函数的返回类型( C )A)void B)int C)new D)long一个函数功能不太复杂,但要求被频繁调用,选用( A )。A. 内联函数 B. 重载函数 C. 递归函数 D. 嵌套函数已知函数f的原型为:void f (int&a,char*b);变量s,t的定义是:int s;char t =ABCD;把s和t分别作为第一参数和第二参数来调用函数f,正确的调用语句是( C )A f(&s,&t); B f(&s,t); C f(s,t); D f(s,&若定义cinstr;当输入Microsoft Visual Studio 6.0!所得结果是str=(B)。A、 Mic
3、rosoft Visual Studio 6.0!B、 MicrosoftC、 Microsoft Visual D、 Microsoft Visual Studio 6.0.函数模板(C)。A、代表某一具体函数B、与模板函数是同一个函数C、与某一个具体的数据类型连用D、是模板函数实例化的结果在C+中,关于下列设置参数默认值的描述中,正确的是(C)A、不允许设置参数的默认值B、设置参数默认值只能在定义函数时设置C、设置参数默认值时,应该是先设置右边的再设置左边的D、设置参数默认值时,应该全部参数都设置下列表示引用的方法中,(A)是正确的。 k=1000; A、int &x=k; B、char
4、&y;C、int &z=1000; D、float &t=&k;有如下模板定义:template T fun(T x,T y)return x*x+y*y;在下列对fun的调用中,错误的是:A)fun(2,8) B)fun(2.0,8.2) C)fun(2.3,8) D)fun (2,8)通常情况下,函数模板中的类型参数个数不能是( A )A)0个 B)1个 C)2个 D)3个1.2填空题1、 假定有如下定义:int x;,若要将整型变量y定义为变量x的引用,则应使用的定义语句是_int &y=x;_。具有相同函数名但具有不同参数表的函数称为 重载函数。2、 在进行函数调用时,将把参数的值传递
5、给值参数,把参数的_地址_传递给引用参数。3、 执行完下列三条语句后,指针变量c指向_b_。Int a,b,*c=&a;int *&p=c;p=&b;4、 假设有如下函数定义:void Fun(int x,int y=100);则语旬Fun(5)语句_ Fun(5,100)_等价。5、 在一个C+程序中,每个变量都必须遵循_先定义后使用_的原则。6、 下面是一个求数组元素之和的程序。主程序中定义并初始化了一个数组,然后计算该数组各元素之和,并输出结果。函数TotalSum 计算数组元素之和。请完成下列程序。#include _ intTotalsum(intarray,intlen)_ ;vo
6、id main()int a5=2,3,6,8,10;_int Total _;Total =Totalsum(a,5);Sum of array:Totalendl;int Totalsum(int array,int len)_int sum =0_ ;for(int I=0;_Ilen_ ;I+)_ sum += arrayI_ ;return sum; 7、 下面的函数Fun未使用中间变量实现了对两个数的交换,请完成下列函数的定义。Void Fun (int &x,int &y)x+ = y;y =_x-y_ ;_x = x - y_ ;8、 定义一个函数时,若只允许函数体访问形参的值
7、而不允许修改它的值,则应把该形参声明为_常量_,即在该形参声明的前面加上_const_关键字进行修饰。9、 在一个函数的定义或声明前加上关键字_inline_时,该函数就声明为内联函数。1.3简答题A、.内联函数的含义在函数前加上关键字inline说明了一个内联函数,这使一个函数在程序行里进行代码扩展而不被调用。这样的好处是减少了函数调用的开销,产生较快的执行速度。但是由于重复编码会产生较长代码,所以内联函数通常都非常小。如果一个函数在类说明中定义,则将自动转换成内联函数而无需用inline说明。B、.函数重载的含义在同一作用域范围内,相同的函数名通过不同的参数类型或参数个数可以定义几个函数,
8、编译时编译器能够识别实参的个数和类型来决定该调用哪个具体函数。需要注意的是,如果两个函数仅仅返回类型不同,则编译时将会出错,因为返回类型不足以提供足够的信息以使编译程序判断该使用哪个函数。所以函数重载时必须是参数类型或者数量不同。C、引用与指针的区别D、内联函数使用上的限制E、定义带默认参数值函数的规则F、指针与常量的关系1.4程序阅读题1)写出下列程序的运行结果。 int x; int &p=x; x=10; p=x+10; coutx,p结果:20,202)写出下列程序的运行结果。int f(int a) return +a;int g(int &a) int m=0,n=0; m+=f(
9、g(m); n+=f(f(n);m=mn=nm=3n=23) 写出下列程序的运行结果。void Fun() int num=20;The Funs num isnum int num=10;The mains num is Fun(); int num=30; cout静态成员函数没有( B )。A返回值 B. this指针 C. 指针参数 D. 返回类型在下列关键字中,用于说明类中公有成员的是( A )。Apublic; Bprivate; Cprotected; Dfriend不是构造函数的特征( D )。A构造函数的函数名与类名相同; B. 构造函数可以重载;C. 构造函数可以设置缺省参
10、数; D. 构造函数必须指定类型说明。是析构函数的特征( A )。A一个类中只能定义一个析构函数; 析构函数名与类名不同;C. 析构函数的定义只能在类体内; 析构函数可以有一个或多个参数。关于成员函数特征的下述描述中,( A )是错误的。A成员函数一定是内联函数; 成员函数可以重载;C. 成员函数可以设置参数的缺省值; 成员函数可以是静态的。下述静态数据成员的特性中,( D )是错误的。A 说明静态数据成员时前边要加修饰符static;B 静态数据成员要在类体外进行初始化;C引用静态数据成员时,要在静态数据成员名前加和作用域运算符;D静态数据成员不是所有对象所共用的。2.2填空题1、 在撤销类
11、的对象时,C+程序将自动调用该对象的_析构_函数。2、 类中的构造函数是一个特殊的成员函数,它由类的对象_自动_调用,它的作用是_为对象分配内存,数据成员初始化_。3、 对类中的成员函数和属性的访问是通过_public_、_protected_和_private_这3个关键字来控制的。4、 _delete_运算符删除new运算符所动态分配的内存空间。5、 假定用户没有给一个名为MyClass的类定义析构函数,则系统为其定义的默认析构函数形式为_MyClass()_。6、 类中构造函数有_一个或多_个,析构函数有_一_个。7、 类是对具有共同属性和行为的一类事物的抽象描述,共同属性被描述为类中的
12、_数据成员_ ,共同行为被描述为类中的_成员函数_。8、 若要把类FriendClass定义为类MyClass的友元类,则应在类MyClass的定义中加入语句_friend class FriendClass;_。9、 在结构定义中,数据和成员函数默认权限是_public_。在类定义中,数据和成员函数默认权限是_private_。10、 在下面程序的横线处填上适当的语句,使类型该程序执行结果为10。class MyClasspub1ic:_ MyClass ( int a ) _x = a; _/为x置值_int GetNum() return x; _ /取x值private: ;Mycla
13、ss my(10);Coutmy.GetNum()end;11、 完成下面的类定义。Class MyClassMyClass()x=0;_friend_int GetNum(_MyClass _my);int GetNum(_MyClass _my)_return my.x;12、 _new_运算符对指定类型对象动态分配内存并返回该类型的_指针_。13、 若要把函数void FriendFunction()定义为类MyClass的友元函数,则应在类MyClass的定义中加入语句_friend void FriendFunction();_。14、 类的具体表现是通过定义_对象_来操作的。15、
14、 在定义类的对象时,C+程序将自动调用该对象的_构造_函数初始化对象自身。16、 一般情况下,按照面向对象的要求,把类中的数据成员(属性)定义为_private_权限,而把成员函数(方法)定义为_public_权限。17、 在类中定义和实现的函数称为_内联函数_。18、 非成员函数应声明为类的_友元函数_才能访问这个类的private成员。2.3简答题A、类的含义B、构造函数的特点C、拷贝构造函数的调用D、析构函数的定义及其特点E、静态成员的分类及各自的特点2.4程序阅读题1) 写出下列程序的运行结果。 char ch; MyClass(); MyClass(char character);
15、void Print(); MyClass();MyClass:MyClass()This is a constructor! ch=a;MyClass(char character) ch=character;void MyClass:Print()The value of ch is chMyClass()This is a destructor! MyClass first,second(b); first.Print(); second.Print();运行结果:The value of ch is aThe value of ch is b2)写出下列程序的运行结果MyClass();void Print();MyClass();int I;static int j;int MyClass:j=0;This is constructor!j+=10;The value of j is JMyClass first,second;first.Print();second.Print();The value of j is20继承与派生3.1选择题.在C+中,类与类之间的继承关系具有( C )A)自反性 B)对称性 C)传递性 D)反对称性.在公有继承的情况下,基类的成员(私
copyright@ 2008-2022 冰豆网网站版权所有
经营许可证编号:鄂ICP备2022015515号-1