浙江大学远程教学教育2018年度面向对象程序设计在线课后复习标准答案.doc
,.窗体顶端您的本次作业分数为:95分 单选题 1.【第1章】不是面向对象系统的特性是( )。A 封装性 B 继承性 C 保密性 D 多态性 正确答案:C单选题 2.【第1章】面向对象(O-O)程序设计是一种新的程序设计范型。这种范型的主要特征是( )。A 程序=对象+消息 B 程序=函数+调用 C 程序=算法+数据 D 程序=过程+调用 正确答案:A单选题 3.【第2章】以下叙述中不正确的是( )。A 在不同的函数中可以使用相同名字的变量 B 函数中的形式参数是局部变量 C 在一个函数内定义的变量只在本函数范围内有效 D 在一个函数内的复合语句中定义的变量在本函数范围内有效 正确答案:D单选题 4.【第2章】假设已经有定义“char *Const name="chen";”下面的语句中正确的是( )。A name3=q; B name= C name=newChar5; D name=newChar(q); 正确答案:A单选题 5.【第2章】下列选项中,当 x 为大于1 的奇数时,值为 0 的表达式是( )。A x%2=1 B x%2=0 C x%2!=0 D x/2 正确答案:B单选题 6.【第2章】如果定义并初始化一个数组 int s10=1,2,3,4,5,6,7,8,9,10; 则执行printf("%dn",aa1*a2)语句后的输出结果是( )。A 3 B 4 C 7 D 2 正确答案:C单选题 7.【第2章】下面有关重载函数的说法中正确的是( )。A 重载函数必须具有不同的返回值类型 B 重载函数形参个数必须不同 C 重载函数必须有不同的形参列表 D 重载函数名可以不同 正确答案:C单选题 8.【第2章】下面的类型声明中正确是( )。A int&a4; B int&*p; C int&&q; D inti,*p=&i; 正确答案:D单选题 9.【第2章】在面向对象的程序设计C+中,当用cin、cout输入、输出时程序头部要( )。A #include<stdio.h> B #include<iostream.h> C #include<stdli 正确答案:B单选题 10.【第2章】若定义intA23=1,2,3,4,5,6; 则值为4的数组元素是( )。A a10 B a11 C a20 D a21 正确答案:A单选题 11.【第2章】关于new运算符的下列描述中,( )是错误的。A 它可以用来动态创建对象和对象数组 B 使用它创建的对象或对象数组可以使用运算符delete删除 C 使用它创建对象时要调用构造函数 D 使用它创建对象数组时必须指定初始值 正确答案:D单选题 12.【第2章】执行x=-1; do x=x*x; while (!x); 循环时,下列说法正确的是( )。A 循环体将执行一次 B 循环体将执行两次 C 循环体将执行无限次 D 系统将提示有语法错误 正确答案:A单选题 13.【第2章】charA10 = "abcde",B8= "fghi"; strcpy(a+3,b+1); printf("%d ",strlen(a) ); 执行下面程序后的输出结果为( )。A 5 B 6 C 9 D 10 正确答案:B单选题 14.【第2章】下列语句中错误的是( )。A int*p=newint(10); B int*p=newint10; C int*p=newint; D int*p=newint40(0); 正确答案:D单选题 15.【第2章】下列表达式中,不正确的表达式是( )。A a=1,b=1 B y=int(x) C a=b=5 D i+ 正确答案:B单选题 16.【第2章】在C程序中,如果有FILE *fp;则对于文件指针fp,下面说法正确的是( )。A fp是文件读写位置 B 可以用一个fp同时对多个文件缓冲区操作 C fp是用以描述文件缓冲区信息的结构的指针 D 当对文件进行读写操作时,fp也跟着移动 正确答案:C单选题 17.【第2章】设有以下说明语句,则下面的叙述中不正确的是( )。struct XYZ int x ; float y;Char z ; xyz;A x,y,z都是结构成员名 B structXYZ是结构类型名 C struct是定义结构类型的关键字 D XYZ是结构类型名 正确答案:D单选题 18.【第2章】表示year为闰年的c语言表达式为( )。A (year%4=0&&year%100?!=0)&&(year%400=0) B (year%4=0&&year%100?!=0)|(year%400=0) C (year%4=0)&&(year%400=0) D (year%4=0)|(year%400=0) 正确答案:B单选题 19.【第2章】假设已经有定义“constChar * name="chen";”下面的语句中错误的是( )。A name3=q; B name= C name=newChar5; D name=newChar(q); 正确答案:A单选题 20.【第2章】下列条件语句中,功能与其他语句不同的是( )。A if(a)printf("%dn",x);elseprintf("%dn",y) B if(a=0)printf("%dn",y);elseprintf("%dn",x) C if(a!=0)printf("%dn",x);elseprintf("%dn",y) D if(a=0)printf("%dn",x);elseprintf("%dn",y) 正确答案:D单选题 21.【第2章】与数学式子对应的C语言表达式是( )。A 3*xn/(2*x-1) B 3*x*n/(2*x-1) C 3*pow(x,n)/(2*x-1) D 3*pow(n,x)/(2*x-1) 正确答案:C单选题 22.【第2章】若有定义char *words="FORTRAN", "BASIC","PASCAL","JAVA","C"; 则输出结果为AVA的语句是( )。A printf("%s",*words3+1) B printf("%s",*words4+1) C printf("%s",*(words+3)+1) D printf("%s",(*words+4)+1) 正确答案:C单选题 23.【第2章】下列属于合法的C语言赋值语句的是( )。A a=b=58 B i+ C a=58,b=58 D k=int(a+b) 正确答案:A单选题 24.【第2章】执行下列程序段后, int *p,A = 10,B=1;p = &b;A =a + (*p)+ ;变量a,b的值为:( )。A a=10,b=1 B a=10,b=2 C a=11,b=1 D a=11,b=2 正确答案:D单选题 25.【第2章】表达式:36.5-(12+7%4)/2.0的运算结果是( )类型。A double B int C float D char 正确答案:A单选题 26.【第2章】下列描述中,( )是错误的。A 内联函数主要解决程序的运行效率问题 B 内联函数的定义必须出现在内联函数第一次被调用之前 C 内联函数中可以包括各种语句 D 对内联函数不可以进行异常接口声明 正确答案:C单选题 27.【第2章】以下各语句或语句组中,正确的操作是( )。A chars6="123456"; B char*s;s="123456"; C char*s;gets(s); D chars6;scanf("%s",&s); 正确答案:B单选题 28.【第2章】C+程序中函数原型(函数声明)错误的写法是( )。A intAdd(intA,intB); B intAdd(int,int); C intAdd(intA,B); D intAdd(intA,int); 正确答案:C单选题 29.【第2章】关于delete运算符的下列描述中,( )是错误的。A 它必须用于new返回的指针 B 使用它删除对象时要调用析构函数 C 对一个指针可以使用多次该运算符 D 指针名前只有一对方括号符号,不管所删除数组的维数 正确答案:C单选题 30.【第2章】已知有预编译指令#define s(a,b) (a*b),则执行语句i=1;Area=s(3, 5-i)+3;后,变量area的值为( )。A 14 B 15 C 16 D 17 正确答案:D单选题 31.【第2章】在C+中,关于下列设置默认参数值的描述中,( )是正确的。A 不允许设置默认参数值 B 在指定了默认值的参数右边,不能出现没有指定默认值的参数 C 只能在函数的定义性声明中指定参数的默认值 D 设置默认参数值时,必须全部都设置 正确答案:B单选题 32.【第2章】在( )情况下适宜采用内联函数。A 函数代码小,频繁调用 B 函数代码多,频繁调用 C 函数体含有递归语句 D 函数体含有循环语句 正确答案:A单选题 33.【第2章】重载函数在调用时选择的依据中,( )是错误的。A 函数名字 B 函数的返回类型 C 参数个数 D 参数的类型 正确答案:B单选题 34.【第3章】不是构造函数的特征是( )。A 构造函数与类同名。 B 构造函数必须说明返回类型。 C 构造函数可以有形式参数。 D 编译系统会自动调用构造函数。 正确答案:B单选题 35.【第3章】关于成员函数特征的下述描述,不正确的是( )。A 成员函数一定要在类内定义。 B 成员函数可以重载。 C 成员函数可以设置参数的默认值。 D 可在类内定义。 正确答案:A单选题 36.【第3章】对象是现实世界中的一个实体,其特性的是( )。A 必须有一个关键字,以示区别。 B 每个对象都有对象标识名。 C 只有数据属性。 D 只有操作函数。 正确答案:B单选题 37.【第3章】C+中,类和对象之间的关系是( )。A 结构类型和结构体的关系。 B 定义和被定义的关系。 C 调用和被调用的关系。 D 型和值的关系。 正确答案:A单选题 38.【第3章】现实世界中的对象,以下不是它的特性的是( )。A 每一个必须有一个名字以区别于其他对象; B 用属性来描述对象的某些特征; C 有一组操作,每组操作决定对象的一种行为; D 有一关键字class 正确答案:D单选题 39.【第3章】对象是现实世界中的一个实体,不是其特性的是( )。A 必须有一个关键字,以示区别。 B 每个对象必须有一个名字。 C 有属性。 D 有操作。 正确答案:A单选题 40.【第3章】是构造函数的特征是( )。A 构造函数不能与类同名。 B 构造函数必须说明返回类型。 C 构造函数可以有形式参数。 D 程序中必须有调用构造函数的语句。 正确答案:C单选题 41.【第3章】类的友元可以访问该类的( )。A 只能是数据成员 B 所有成员 C 只能是成员函数 D 只能是公有成员 正确答案:B单选题 42.【第3章】定义类,再用类定义对象是( )。A 结构化程序设计的主要特点。 B C语言的主要特点。 C 面向过程的程序设计的主要特点 D 面向对象程序设计的主要特点。 正确答案:D单选题 43.【第3章】下面有关静态成员函数的描述中,正确的是( )。A 在静态成员函数中可以使用this指针 B 在建立对象前,就可以为静态数据成员赋值 C 静态成员函数在类外定义时,要用static前缀 D 静态成员函数只能在类外定义 正确答案:B单选题 44.【第3章】面向对象的程序设计中,定义类时保留字是用( )。A type B class C private D public 正确答案:D单选题 45.【第3章】析构函数的特征是( )。A 析构函数可以有多个参数。 B 析构函数只能在类体内定义。 C 一个类中只能定义一个析构函数。 D 一个类中能定义多个析构函数。 正确答案:C单选题 46.【第3章】类的友元允许访问该类的( )。A 只能是数据成员 B 私有成员 C 只能是成员函数 D 只能是公有成员 正确答案:B单选题 47.【第3章】不是析构函数的特征是( )。A 析构函数可以有多个参数。 B 析构函数是成员函数。 C 一个类中只能定义一个析构函数。 D 析构函数不能有参数。 正确答案:A单选题 48.【第3章】下面有关析构函数特征的描述中,正确的是( )。A 一个类中可以定义多个析构函数 B 析构函数名与类名完全相同 C 析构函数不能指定返回类型 D 析构函数可以有一个或多个参数 正确答案:C单选题 49.【第3章】于成员函数的说法,不正确的是( )。A 成员函数可以是内置函数。 B 成员函数可以在类内先声明,再在类外定义完整。 C 成员函数可以设置参数的默认值。 D 成员函数一定要在类内定义完整。 正确答案:D单选题 50.【第3章】下列的各函数中,是成员函数的是( )。A 主函数 B 返回对象的函数 C 默认参数的构造函数 D 友元函数 正确答案:C单选题 51.【第3章】造函数是在( )时被执行的。A 程序编译 B 创建对象 C 创建类 D 程序装人内存 正确答案:B单选题 52.【第3章】元的作用之一是( )。A 提高程序的运行效率 B 加强类的封装性 C 实现数据的隐藏性 D 增加成员函数的种类 正确答案:A单选题 53.【第3章】的概念是( )。A 所有对象的集合。 B 同一类记录的集合。 C 同一类数据的集合。 D 对一组具有共同的属性特征和行为特征的对象的抽象。 正确答案:D单选题 54.【第3章】下面有关对构造函数的描述中,正确的是( )。A 构造函数可以带有返回值 B 构造函数的名字与类名完全相同 C 构造函数必须带有参数 D 构造函数必须定义,不能默认 正确答案:B单选题 55.【第3章】下列的各函数中,不是成员函数的是( )。A 构造函数 B 拷贝构造函数 C 默认参数的构造函数 D 友元函数 正确答案:D单选题 56.【第3章】声明类时,下面的说法正确的是( )。A 可以在类的声明中给数据成员赋初值 B 数据成员的数据类型可以是registe C private、public、protected可以按任意顺序出现 D 没有用private、public、protected定义的数据成员是公有成员 正确答案:C单选题 57.【第3章】关于成员函数特征的下述描述,正确的是( )。A 成员函数一定是内置函数。 B 成员函数一定要在类外定义完整。 C 成员函数可以设置参数的默认值。 D 成员函数一定要在类内定义完整。 正确答案:C单选题 58.【第3章】下面有关友元函数的描述中,正确的说法是( )。A 友元函数是独立于当前类的外部函数 B 一个友元函数不能同时定义为两个类的友元函数 C 友元函数必须在类的外部定义 D 在外部定义友元函数时,必须加关键字friend 正确答案:A单选题 59.【第3章】先定义类,再用类定义对象、对象数组、对象指针是( )。A 结构化程序设计的主要特点。 B C语言的主要特点。 C 面向过程的程序设计的主要特点。 D 面向对象程序设计的主要特点。 正确答案:D单选题 60.【第3章】下列的各种函数中,是本类的成员函数( )。A 构造函数 B 拷贝构造函数 C 友元函数 D 缺省参数的构造函数 正确答案:C单选题 61.【第3章】是构造函数的特征是( )。A 构造函数不可以有形式参数。 B 在创建对象时被执行。 C 构造函数与类不同名。 D 构造函数必须说明返回类型。 正确答案:B单选题 62.【第4章】用派中类的主要原因是( )。A 提高代码的可重用性 B 提高程序的运行效率 C 加强类的封装性 D 实现数据的隐藏 正确答案:A单选题 63.【第4章】置虚基类的目的是( )。A 简化程序 B 消除二义性 C 提高运行效率 D 减少目标代码 正确答案:B单选题 64.【第4章】类成员在派生类中的访问属性描述中,正确的是( )。A 无论哪种派生,基类的公有成员不允许派生类的成员函数访问。 B 无论哪种派生,基类的保护成员不允许派生类的成员函数访问。 C 无论哪种派生,基类的私有成员允许派生类的成员函数访问。 D 无论哪种派生,基类的保护成员允许派生类的成员函数访问。 正确答案:D单选题 65.【第4章】生类构造函数的执行顺序正确的是( )。A 先执行基类的构造函数,再执行派生类的构造函数。 B 先执行派生类的构造函数,再执行基类的构造函数。 C 先执行派生类构造函数的函数体,再执行基类构造函数的函数体。 D 以上都不是。 正确答案:A单选题 66.【第4章】多继承构造函数定义中,几个基类构造函数用( )分隔。A : B ; C , D : 正确答案:C单选题 67.【第4章】类和派生类的相互关系不正确的是( )。A 从基类到派生类称为派生。 B 派生类还可以再作为另一派生类的基类。 C 从派生类到基类称为派生。 D 从派生类到基类称为继承。 正确答案:C单选题 68.【第4章】类和派生类的相互关系正确的是( )。A 从基类到派生类称为派生。 B 从基类到派生类称为继承。 C 从派生类到基类称为派生。 D 派生类包含了基类。 正确答案:A单选题 69.【第4章】生类析构函数的执行顺序正确的是( )。A 先执行基类的析构函数,再执行派生类的析构函数。 B 先执行派生类的析构函数,再执行基类的析构函数。 C 基类析构函数执行总是在先。 D 以上都不是。 正确答案:B单选题 70.【第4章】个基类可以派生出一个派生类,该派生类再派生出一个派生类,这种继承关系称为( )。A 多继承 B 多重继承 C 双重继承 D 单继承 正确答案:D单选题 71.【第4章】类和派生类正确的关系是( )。A 从基类到派生类称为继承。 B 从派生类到基类称为派生。 C 派生类包含了基类。 D 从基类到派生类称为派生。 正确答案:D单选题 72.【第4章】个基类可以派生出二个派生类,这种继承关系称为( )。A 多继承 B 多重继承 C 单继承 D 双重继承 正确答案:C单选题 73.【第4章】设已经定义好了一个类student,现在要定义类derived,它是从student私有派生的,定义类derived的正确写法是( )。A clasederived:studentprivate; B clasederived:studentpublic; C clasederived:privatestudent; D clasederived:publicstudent; 正确答案:C单选题 74.【第4章】类成员在派生类中的访问属性描述中,错误的是( )。A 无论哪种派生,基类的公有成员允许派生类的成员函数访问。 B 无论哪种派生,基类的保护成员允许派生类的成员函数访问。 C 无论哪种派生,基类的私有成员不允许派生类的成员函数访问。 D 无论哪种派生,基类的保护成员不允许派生类的成员函数访问。 正确答案:D单选题 75.【第5章】定义作运算符重载函数的是( )。A 构造函数 B 析构函数 C 主函数。 D 类以外的函数 正确答案:D单选题 76.【第5章】抽象类论述中,不正确的是( )。A 如果一个类至少有一个纯虚函数,那么该类为抽象类。 B 抽象类只能用作其他类的基类,不能建立抽象类对象。 C 抽象类可以用来定义指针。 D 抽象类可以作为某个函数的返回类型。 正确答案:D单选题 77.【第5章】对虚基类正确的论述正确的是( )。A 定义基类时加virtual。 B 成员函数前加virtual。 C 在派生类名前加virtual。 D 定义派生类时,在基类名前加virtual。 正确答案:D单选题 78.【第5章】对虚基类的论述,正确的是( )。A 定义基类时加virtual。 B 定义派生类时,在基类名前加virtual。 C 成员函数前加virtual。 D 在派生类名前加virtual。 正确答案:B单选题 79.【第5章】派生类中虚函数原型的( )。A 函数类型可以与基类中虚函数的原型不同 B 参数个数可以与基类中虚函数的原型不同 C 参数类型可以与基类中虚函数的原型不同 D 以上都不对 正确答案:D单选题 80.【第5章】还可定义作运算符重载函数的是( )。A 类以外的函数 B 构造函数 C 析构函数 D 主函数。 正确答案:A单选题 81.【第5章】下列关于纯虚函数与抽象类的描述中,错误的是( )。A 纯虚函数是一种特殊的函数,它允许没有具体的实现 B 抽象类是指具有纯虚函数的类 C 一个基类的说明中有纯虚函数,该基类的派生类一定不再是抽象类 D 抽象类只能作为基类来使用,其纯虚函数的实现由派生类给出 正确答案:C单选题 82.【第5章】关于虚函数,正确的描述是( )。A 构造函数不能是虚函数 B 析构函数不能是虚函数 C 虚函数可以是友元函数 D 虚函数可以是静态成员函数 正确答案:A单选题 83.【第5章】关于抽象类的下列描述中,正确的是( )。A 如果一个类至少有一个纯虚函数,那么该类为抽象类。 B 抽象类能用作其他类的基类,还能定义抽象类对象。 C 抽象类中不能再定义普通成员函数。 D 抽象类可以作为函数的参数类型。 正确答案:A单选题 84.【第5章】一个基类可以派生出二个派生类,这种继承关系还是称为( )。A 多继承 B 单继承 C 多重继承 D 双重继承 正确答案:B单选题 85.【第5章】一个派生类有多个父类,而这多个父类又有一个共同基类,这种情况,才考虑设置虚基类,目的是( )。A 消除二义性。 B 简化程序。 C 提高运行效率。 D 减少目标代码。 正确答案:A单选题 86.【第5章】面向对象的多态性正确的说法是( )。A 不同名字的函数定义相同功能。 B 同一种运算符定义不同的操作。 C 函数不允许同名。 D 派生类中不可出现与基类同名的函数。 正确答案:B单选题 87.【第5章】有关运算符重载正确的描述是( )。A C+语言允许在重载运算符时改变运算符的操作个数 B C+语言允许在重载运算符时改变运算符的优先级 C C+语言允许在重载运算符时改变运算符的结合性 D C+语言允许在重载运算符时改变运算符原来的功能 正确答案:D单选题 88.【第5章】如果在基类中将show声明为不带返回值的纯虚函数,正确的写法是( )。A virtualshow()=0; B virtualvoidshow(); C virtualvoidshow()=0; D voidshow()=0virtual; 正确答案:C单选题 89.【第5章】不可定义作运算符重载函数的是( )。A 类以外的函数 B 成员函数 C 构造函数 D 友员函数。 正确答案:C单选题 90.【第5章】能用友元函数重载的运算符是( )。A + B = C D -> 正确答案:A单选题 91.【第5章】关于虚函数的下列描述中,正确的是( )。A 在基类中被关键字virtual说明,并在派生类重新定义的函数。 B 在派生类重新定义函数时,用关键字virtual说明。 C 在派生类前用关键字virtual说明。 D 在派生类重新定义虚函数时,要求与基类的虚函数可具有不同的函数名。 正确答案:A单选题 92.【第5章】通过基类指针或引用来访问基类和派生类中的同名函数,才考虑虚函数。正确的论述是( )。A 虚函数是在基类中用virtual说明,派生类中重新定义的函数。 B 虚函数是一个static类型的成员函数。 C 虚函数是一个非成员函数。 D 派生类的虚函数与基类的虚函数具有不同的参数个数和类型。 正确答案:A单选题 93.【第5章】也可定义作运算符重载函数的是( )。A 构造函数 B 析构函数 C 成员函数 D 主函数。 正确答案:C单选题 94.【第5章】面向对象的多态性正确的是( )。A 不同名字的函数定义相同功能。 B 同一种运算符定义不同的操作。 C 函数不允许同名。 D 派生类中不能出现与基类同名的函数。 正确答案:B单选题 95.【第5章】派生类的对象对它的基类成员中,可以访问的是( )。A 公有继承的公有成员。 B 公有继承的保护成员。 C 公有继承的私有成员。 D 公有继承的所有成员。 正确答案:A单选题 96.【第5章】关于抽象类的下列描述中,错误的是( )。A 如果一个类至少有一个纯虚函数,那么该类为抽象类。 B 抽象类只能用作其他类的基类,不能建立抽象类对象。 C 抽象类可以用来定义指针。 D 抽象类可以作为函数的参数类型。 正确答案:D单选题 97.【第6章】打开磁盘文件的打开方式中,不能使用的是( )。A ios:both B ios:app C ios:int D ios:out 正确答案:A单选题 98.【第6章】打开磁盘文件的打开方式中,以写方式打开文件为( )。A ios:ate B ios:out C ios:in D ios:app 正确答案:B单选题 99.【第6章】打开磁盘文件的打开方式中,以读方式打开文件为( )。A ios:ate B ios:out C ios:in D ios:app 正确答案:C单选题 100.【第6章】C+进行文件操作时需要包含的文件是( ):A fstream、h B iostream、h C stdio、h D math、h 正确答案:A加入错题集 关闭 窗体底端