1、窗体顶端 您的本次作业分数为:95分 单选题 1.【第1章】不是面向对象系统的特性是( )。 A 封装性 B 继承性 C 保密性 D 多态性 正确答案:C 单选题 2.【第1章】面向对象(O-O)程序设计是一种新的程序设计范型。这种范型的主要特征是( )。 A 程序=对象+消息 B 程序=函数+调用 C 程序=算法+数据 D 程序=过程+调用 正确答案:A 单选题 3.【第2章】以下叙述中不正确的是( )。 A 在不同的函数中可以使用相同名字的变量 B 函数中的形式参数是局部变量 C 在一个函数内定义的变量只在本函数范围内有效
2、 D 在一个函数内的复合语句中定义的变量在本函数范围内有效 正确答案:D 单选题 4.【第2章】假设已经有定义“char *Const name="chen";”下面的语句中正确的是( )。 A name[3]='q'; B name= C name=newChar[5]; 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章】如果定义并初
3、始化一个数组 int s[10]={1,2,3,4,5,6,7,8,9,10}; 则执行printf("%d\n",a[a[1]*a[2]])语句后的输出结果是( )。 A 3 B 4 C 7 D 2 正确答案:C 单选题 7.【第2章】下面有关重载函数的说法中正确的是( )。 A 重载函数必须具有不同的返回值类型 B 重载函数形参个数必须不同 C 重载函数必须有不同的形参列表 D 重载函数名可以不同 正确答案:C 单选题 8.【第2章】下面的类型声明中正确是( )。 A int&a[4]; B int&*p; C int&&q;
4、D inti,*p=&i;
正确答案:D
单选题
9.【第2章】在面向对象的程序设计C++中,当用cin、cout输入、输出时程序头部要( )。
A #include 5、是错误的。
A 它可以用来动态创建对象和对象数组
B 使用它创建的对象或对象数组可以使用运算符delete删除
C 使用它创建对象时要调用构造函数
D 使用它创建对象数组时必须指定初始值
正确答案:D
单选题
12.【第2章】执行x=-1; do { x=x*x; } while (!x); 循环时,下列说法正确的是( )。
A 循环体将执行一次
B 循环体将执行两次
C 循环体将执行无限次
D 系统将提示有语法错误
正确答案:A
单选题
13.【第2章】charA[10] = "abcde",B[8]= "fghi"; strcpy(a+3,b 6、1); printf("%d ",strlen(a) ); 执行下面程序后的输出结果为( )。
A 5
B 6
C 9
D 10
正确答案:B
单选题
14.【第2章】下列语句中错误的是( )。
A int*p=newint(10);
B int*p=newint[10];
C int*p=newint;
D int*p=newint[40](0);
正确答案:D
单选题
15.【第2章】下列表达式中,不正确的表达式是( )。
A a=1,b=1
B y=int(x)
C a=b=5
D i++
正确答案:B
单选题
1 7、6.【第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是结构类型名
8、正确答案: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 name[3]='q';
B name=
C nam 9、e=newChar[5];
D name=newChar('q');
正确答案:A
单选题
20.【第2章】下列条件语句中,功能与其他语句不同的是( )。
A if(a)printf("%d\n",x);elseprintf("%d\n",y)
B if(a==0)printf("%d\n",y);elseprintf("%d\n",x)
C if(a!=0)printf("%d\n",x);elseprintf("%d\n",y)
D if(a==0)printf("%d\n",x);elseprintf("%d\n",y)
正确答案:D
单选题
21. 10、第2章】与数学式子对应的C语言表达式是( )。
A 3*x^n/(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",*words[3]+1)
B printf("%s",*words[4]+1)
C printf("%s",*(words+3)+1)
D p 11、rintf("%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. 12、0的运算结果是( )类型。
A double
B int
C float
D char
正确答案:A
单选题
26.【第2章】下列描述中,( )是错误的。
A 内联函数主要解决程序的运行效率问题
B 内联函数的定义必须出现在内联函数第一次被调用之前
C 内联函数中可以包括各种语句
D 对内联函数不可以进行异常接口声明
正确答案:C
单选题
27.【第2章】以下各语句或语句组中,正确的操作是( )。
A chars[6]="123456";
B char*s;s="123456";
C char*s;gets(s);
D chars[ 13、6];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 14、
单选题
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章】在( )情况下适宜采用内联函数 15、
A 函数代码小,频繁调用
B 函数代码多,频繁调用
C 函数体含有递归语句
D 函数体含有循环语句
正确答案:A
单选题
33.【第2章】重载函数在调用时选择的依据中,( )是错误的。
A 函数名字
B 函数的返回类型
C 参数个数
D 参数的类型
正确答案:B
单选题
34.【第3章】不是构造函数的特征是( )。
A 构造函数与类同名。
B 构造函数必须说明返回类型。
C 构造函数可以有形式参数。
D 编译系统会自动调用构造函数。
正确答案:B
单选题
35.【第3章】关于成员函数特征的下述描述,不正确的是( )。
16、
A 成员函数一定要在类内定义。
B 成员函数可以重载。
C 成员函数可以设置参数的默认值。
D 可在类内定义。
正确答案:A
单选题
36.【第3章】对象是现实世界中的一个实体,其特性的是( )。
A 必须有一个关键字,以示区别。
B 每个对象都有对象标识名。
C 只有数据属性。
D 只有操作函数。
正确答案:B
单选题
37.【第3章】C++中,类和对象之间的关系是( )。
A 结构类型和结构体的关系。
B 定义和被定义的关系。
C 调用和被调用的关系。
D 型和值的关系。
正确答案:A
单选题
38.【第3章】现实世界 17、中的对象,以下不是它的特性的是( )。
A 每一个必须有一个名字以区别于其他对象;
B 用属性来描述对象的某些特征;
C 有一组操作,每组操作决定对象的一种行为;
D 有一关键字class
正确答案:D
单选题
39.【第3章】对象是现实世界中的一个实体,不是其特性的是( )。
A 必须有一个关键字,以示区别。
B 每个对象必须有一个名字。
C 有属性。
D 有操作。
正确答案:A
单选题
40.【第3章】是构造函数的特征是( )。
A 构造函数不能与类同名。
B 构造函数必须说明返回类型。
C 构造函数可以有形式参数。
D 程序中 18、必须有调用构造函数的语句。
正确答案:C
单选题
41.【第3章】类的友元可以访问该类的( )。
A 只能是数据成员
B 所有成员
C 只能是成员函数
D 只能是公有成员
正确答案:B
单选题
42.【第3章】定义类,再用类定义对象是( )。
A 结构化程序设计的主要特点。
B C语言的主要特点。
C 面向过程的程序设计的主要特点
D 面向对象程序设计的主要特点。
正确答案:D
单选题
43.【第3章】下面有关静态成员函数的描述中,正确的是( )。
A 在静态成员函数中可以使用this指针
B 在建立对象前,就可以为静态数据成员赋 19、值
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 只能是数据成员
20、
B 私有成员
C 只能是成员函数
D 只能是公有成员
正确答案:B
单选题
47.【第3章】不是析构函数的特征是( )。
A 析构函数可以有多个参数。
B 析构函数是成员函数。
C 一个类中只能定义一个析构函数。
D 析构函数不能有参数。
正确答案:A
单选题
48.【第3章】下面有关析构函数特征的描述中,正确的是( )。
A 一个类中可以定义多个析构函数
B 析构函数名与类名完全相同
C 析构函数不能指定返回类型
D 析构函数可以有一个或多个参数
正确答案:C
单选题
49.【第3章】于成员函数的说法,不正确的是( )。
21、A 成员函数可以是内置函数。
B 成员函数可以在类内先声明,再在类外定义完整。
C 成员函数可以设置参数的默认值。
D 成员函数一定要在类内定义完整。
正确答案:D
单选题
50.【第3章】下列的各函数中,是成员函数的是( )。
A 主函数
B 返回对象的函数
C 默认参数的构造函数
D 友元函数
正确答案:C
单选题
51.【第3章】造函数是在( )时被执行的。
A 程序编译
B 创建对象
C 创建类
D 程序装人内存
正确答案:B
单选题
52.【第3章】元的作用之一是( )。
A 提高程序的运行效率
B 加强类的 22、封装性
C 实现数据的隐藏性
D 增加成员函数的种类
正确答案:A
单选题
53.【第3章】的概念是( )。
A 所有对象的集合。
B 同一类记录的集合。
C 同一类数据的集合。
D 对一组具有共同的属性特征和行为特征的对象的抽象。
正确答案:D
单选题
54.【第3章】下面有关对构造函数的描述中,正确的是( )。
A 构造函数可以带有返回值
B 构造函数的名字与类名完全相同
C 构造函数必须带有参数
D 构造函数必须定义,不能默认
正确答案:B
单选题
55.【第3章】下列的各函数中,不是成员函数的是( )。
A 构造函数 23、
B 拷贝构造函数
C 默认参数的构造函数
D 友元函数
正确答案:D
单选题
56.【第3章】声明类时,下面的说法正确的是( )。
A 可以在类的声明中给数据成员赋初值
B 数据成员的数据类型可以是registe
C private、public、protected可以按任意顺序出现
D 没有用private、public、protected定义的数据成员是公有成员
正确答案:C
单选题
57.【第3章】关于成员函数特征的下述描述,正确的是( )。
A 成员函数一定是内置函数。
B 成员函数一定要在类外定义完整。
C 成员函数可以设置参数 24、的默认值。
D 成员函数一定要在类内定义完整。
正确答案:C
单选题
58.【第3章】下面有关友元函数的描述中,正确的说法是( )。
A 友元函数是独立于当前类的外部函数
B 一个友元函数不能同时定义为两个类的友元函数
C 友元函数必须在类的外部定义
D 在外部定义友元函数时,必须加关键字friend
正确答案:A
单选题
59.【第3章】先定义类,再用类定义对象、对象数组、对象指针是( )。
A 结构化程序设计的主要特点。
B C语言的主要特点。
C 面向过程的程序设计的主要特点。
D 面向对象程序设计的主要特点。
正确答案:D
单选 25、题
60.【第3章】下列的各种函数中,是本类的成员函数( )。
A 构造函数
B 拷贝构造函数
C 友元函数
D 缺省参数的构造函数
正确答案:C
单选题
61.【第3章】是构造函数的特征是( )。
A 构造函数不可以有形式参数。
B 在创建对象时被执行。
C 构造函数与类不同名。
D 构造函数必须说明返回类型。
正确答案:B
单选题
62.【第4章】用派中类的主要原因是( )。
A 提高代码的可重用性
B 提高程序的运行效率
C 加强类的封装性
D 实现数据的隐藏
正确答案:A
单选题
63.【第4章】置虚基类的目的 26、是( )。
A 简化程序
B 消除二义性
C 提高运行效率
D 减少目标代码
正确答案:B
单选题
64.【第4章】类成员在派生类中的访问属性描述中,正确的是( )。
A 无论哪种派生,基类的公有成员不允许派生类的成员函数访问。
B 无论哪种派生,基类的保护成员不允许派生类的成员函数访问。
C 无论哪种派生,基类的私有成员允许派生类的成员函数访问。
D 无论哪种派生,基类的保护成员允许派生类的成员函数访问。
正确答案:D
单选题
65.【第4章】生类构造函数的执行顺序正确的是( )。
A 先执行基类的构造函数,再执行派生类的构造函数。
B 27、先执行派生类的构造函数,再执行基类的构造函数。
C 先执行派生类构造函数的函数体,再执行基类构造函数的函数体。
D 以上都不是。
正确答案:A
单选题
66.【第4章】多继承构造函数定义中,几个基类构造函数用( )分隔。
A :
B ;
C ,
D ::
正确答案:C
单选题
67.【第4章】类和派生类的相互关系不正确的是( )。
A 从基类到派生类称为派生。
B 派生类还可以再作为另一派生类的基类。
C 从派生类到基类称为派生。
D 从派生类到基类称为继承。
正确答案:C
单选题
68.【第4章】类和派生类的相互关系正确的是( 28、 )。
A 从基类到派生类称为派生。
B 从基类到派生类称为继承。
C 从派生类到基类称为派生。
D 派生类包含了基类。
正确答案:A
单选题
69.【第4章】生类析构函数的执行顺序正确的是( )。
A 先执行基类的析构函数,再执行派生类的析构函数。
B 先执行派生类的析构函数,再执行基类的析构函数。
C 基类析构函数执行总是在先。
D 以上都不是。
正确答案:B
单选题
70.【第4章】个基类可以派生出一个派生类,该派生类再派生出一个派生类,这种继承关系称为( )。
A 多继承
B 多重继承
C 双重继承
D 单继承
正确答案 29、D
单选题
71.【第4章】类和派生类正确的关系是( )。
A 从基类到派生类称为继承。
B 从派生类到基类称为派生。
C 派生类包含了基类。
D 从基类到派生类称为派生。
正确答案:D
单选题
72.【第4章】个基类可以派生出二个派生类,这种继承关系称为( )。
A 多继承
B 多重继承
C 单继承
D 双重继承
正确答案:C
单选题
73.【第4章】设已经定义好了一个类student,现在要定义类derived,它是从student私有派生的,定义类derived的正确写法是( )。
A clasederived::studentp 30、rivate{…};
B clasederived::studentpublic{…};
C clasederived::privatestudent{…};
D clasederived::publicstudent{…};
正确答案:C
单选题
74.【第4章】类成员在派生类中的访问属性描述中,错误的是( )。
A 无论哪种派生,基类的公有成员允许派生类的成员函数访问。
B 无论哪种派生,基类的保护成员允许派生类的成员函数访问。
C 无论哪种派生,基类的私有成员不允许派生类的成员函数访问。
D 无论哪种派生,基类的保护成员不允许派生类的成员函数访问。
31、
正确答案:D
单选题
75.【第5章】定义作运算符重载函数的是( )。
A 构造函数
B 析构函数
C 主函数。
D 类以外的函数
正确答案:D
单选题
76.【第5章】抽象类论述中,不正确的是( )。
A 如果一个类至少有一个纯虚函数,那么该类为抽象类。
B 抽象类只能用作其他类的基类,不能建立抽象类对象。
C 抽象类可以用来定义指针。
D 抽象类可以作为某个函数的返回类型。
正确答案:D
单选题
77.【第5章】对虚基类正确的论述正确的是( )。
A 定义基类时加virtual。
B 成员函数前加virtual。
C 在派生 32、类名前加virtual。
D 定义派生类时,在基类名前加virtual。
正确答案:D
单选题
78.【第5章】对虚基类的论述,正确的是( )。
A 定义基类时加virtual。
B 定义派生类时,在基类名前加virtual。
C 成员函数前加virtual。
D 在派生类名前加virtual。
正确答案:B
单选题
79.【第5章】派生类中虚函数原型的( )。
A 函数类型可以与基类中虚函数的原型不同
B 参数个数可以与基类中虚函数的原型不同
C 参数类型可以与基类中虚函数的原型不同
D 以上都不对
正确答案:D
单选题
80.【 33、第5章】还可定义作运算符重载函数的是( )。
A 类以外的函数
B 构造函数
C 析构函数
D 主函数。
正确答案:A
单选题
81.【第5章】下列关于纯虚函数与抽象类的描述中,错误的是( )。
A 纯虚函数是一种特殊的函数,它允许没有具体的实现
B 抽象类是指具有纯虚函数的类
C 一个基类的说明中有纯虚函数,该基类的派生类一定不再是抽象类
D 抽象类只能作为基类来使用,其纯虚函数的实现由派生类给出
正确答案:C
单选题
82.【第5章】关于虚函数,正确的描述是( )。
A 构造函数不能是虚函数
B 析构函数不能是虚函数
C 虚函数可以 34、是友元函数
D 虚函数可以是静态成员函数
正确答案:A
单选题
83.【第5章】关于抽象类的下列描述中,正确的是( )。
A 如果一个类至少有一个纯虚函数,那么该类为抽象类。
B 抽象类能用作其他类的基类,还能定义抽象类对象。
C 抽象类中不能再定义普通成员函数。
D 抽象类可以作为函数的参数类型。
正确答案:A
单选题
84.【第5章】一个基类可以派生出二个派生类,这种继承关系还是称为( )。
A 多继承
B 单继承
C 多重继承
D 双重继承
正确答案:B
单选题
85.【第5章】一个派生类有多个父类,而这多个父类又有一个共同基 35、类,这种情况,才考虑设置虚基类,目的是( )。
A 消除二义性。
B 简化程序。
C 提高运行效率。
D 减少目标代码。
正确答案:A
单选题
86.【第5章】面向对象的多态性正确的说法是( )。
A 不同名字的函数定义相同功能。
B 同一种运算符定义不同的操作。
C 函数不允许同名。
D 派生类中不可出现与基类同名的函数。
正确答案:B
单选题
87.【第5章】有关运算符重载正确的描述是( )。
A C++语言允许在重载运算符时改变运算符的操作个数
B C++语言允许在重载运算符时改变运算符的优先级
C C++语言允许在重载运算符时改 36、变运算符的结合性
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章】能用友元 37、函数重载的运算符是( )。
A +
B =
C []
D ->
正确答案:A
单选题
91.【第5章】关于虚函数的下列描述中,正确的是( )。
A 在基类中被关键字virtual说明,并在派生类重新定义的函数。
B 在派生类重新定义函数时,用关键字virtual说明。
C 在派生类前用关键字virtual说明。
D 在派生类重新定义虚函数时,要求与基类的虚函数可具有不同的函数名。
正确答案:A
单选题
92.【第5章】通过基类指针或引用来访问基类和派生类中的同名函数,才考虑虚函数。正确的论述是( )。
A 虚函数是在基类中用virtual说明, 38、派生类中重新定义的函数。
B 虚函数是一个static类型的成员函数。
C 虚函数是一个非成员函数。
D 派生类的虚函数与基类的虚函数具有不同的参数个数和类型。
正确答案:A
单选题
93.【第5章】也可定义作运算符重载函数的是( )。
A 构造函数
B 析构函数
C 成员函数
D 主函数。
正确答案:C
单选题
94.【第5章】面向对象的多态性正确的是( )。
A 不同名字的函数定义相同功能。
B 同一种运算符定义不同的操作。
C 函数不允许同名。
D 派生类中不能出现与基类同名的函数。
正确答案:B
单选题
95.【第5 39、章】派生类的对象对它的基类成员中,可以访问的是( )。
A 公有继承的公有成员。
B 公有继承的保护成员。
C 公有继承的私有成员。
D 公有继承的所有成员。
正确答案:A
单选题
96.【第5章】关于抽象类的下列描述中,错误的是( )。
A 如果一个类至少有一个纯虚函数,那么该类为抽象类。
B 抽象类只能用作其他类的基类,不能建立抽象类对象。
C 抽象类可以用来定义指针。
D 抽象类可以作为函数的参数类型。
正确答案:D
单选题
97.【第6章】打开磁盘文件的打开方式中,不能使用的是( )。
A ios::both
B ios::app 40、
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
加入错题集 关闭
窗体底端






