1章
第一题、单项选择题(每题1分,5道题共5分) 1、下面不属于C++语言的特点的是
A、C++支持数据封装 B、C++支持继承性 C、C++支持动态绑定 D、C++不允许破环封装
2、下面的步骤不属于C++程序开发步骤的是 A、编辑程序 B、编译程序 C、连接程序 D、程序分析
3、执行完下列语句后,a、b、c三个变量的值为多少?( ) a = 30; b = a++; c = ++a;
A、a:32 ; b:30 ; c:32; B、a:30 ; b:31 ; c:32; C、a:32 ; b:31 ; c:30; D、a:31 ; b:32 ; c:30; 4、VC项目中可以添加的文件类型不可以是 A、.CPP B、.C C、.H D、.LIB
5、下列关于条件语句的描述中,错误的是
A、if语句中只有一个else子句 B、if语句中可以有多个else if子句 C、if 语句中if体内不能是开关语句
D、if语句的if体内可以是循环语句 答案:DDADC
第二题、多项选择题(每题2分,5道题共10分) 1、C++的输出可以使用 BC
A、scanf B、printf C、cout D、out 2、以下语句循环次数为无限次的是 BCD
A、for ( y=0,x=1;x>++y;x=I++) I=x; B、for(;;x++=I); C、while(1){x++;}
D、for(I=10;;I--)sum+=I; 3、关于重载函数正确的说法是 ABD
A、函数重载指在同一作用域内多个函数使用相同的函数名 B、重载函数的参数必须不同 C、重载函数的返回值类型必须不同 D、两个功能相似的操作可以重载函数得到
4、下面函数声明正确的是 ABD A、void f1(int a,int b);
B、void f2(int a,int c,int b=-1); C、void f3(int a ,int b=-1, int c); D、int f4(?);
5、C++程序中声明变量 int *p1 , *p2 ,m=5, n;下面错误的语句是 ABD
A、p1=&m; p2=&p1; B、p1=&m; p2=&n;*p1=*p2 C、p1=&m;p2=p1; D、p1=&m;*p2=*p1;
第三题、判断题(每题1分,5道题共5分)
1、if ( x = 3 ) 和 if (x = = 3) 这两条语句的作用是一样的。
错误
2、对内联函数不能进行异常接口声明。 正确
3、重载的函数的函数名是相同的,但它们的参数的个数和数据类型不同。 正确
4、重载的函数的函数名是相同的,但它们的参数的个数、参数数据类型或返回值类型中至少应有一种是不同的。
错误
5、在for循环设置条件的第一个\前,可以用“,”分隔不同的赋值表达式。
正确
7章
第一题、单项选择题(每题1分,5道题共5分) 1、下面叙述不正确 的是 ( ) A、派生类都用公有派生产生
B、对基类成员的访问必须是无二义性的 C、赋值兼容规则也适用于多重继承的组合
D、基类的公有成员在派生类中仍然是公有的
2、在公有继承的情况下,基类成员在派生类中的访问权限( ) A、受限制 B、保持不变 C、受保护 D、不受保护
3、可以用 p.a 的形式访问派生类对象 p 的基类成员 a ,其中 a 是 ( )
A、私有继承的公有成员 B、公有继承的私有成员 C、公有继承的保护成员
D、公有继承的公有成员
4、C++的继承性允许派生类继承基类的( )。 A、部分特性,并允许增加新的特性或重定义基类的特性 B、部分特性,但不允许增加新的特性或重定义基类的特性 C、所有特性,并允许增加新的特性或重定义基类的特性 D、所有特性,但不允许增加新的特性或重定义基类的特性
5、对于公有继承,基类的公有和保护成员在派生类中将( )成员。 A、全部变成公有 B、全部变成保护 C、全部变成私有
D、仍然相应保持为公有和保护 答案ABDDD
第二题、多项选择题(每题2分,5道题共10分)
1、在公有派生情况下,有关派生类对象和基类对象的关系,不正确的叙述是 ( ) AC
A、派生类的对象可以赋给基类的对象 B、派生类的对象可以初始化基类的引用 C、派生类的对象可以直接访问基类中的成员
D、派生类的对象的地址可以赋给指向基类的指针
2、对于公有继承,基类中的私有成员在派生类中将 ( )。AC A、不能够直接使用成员名访问 B、能够通过成员运算符访问 C、仍然是基类的私有成员 D、变为派生类的私有成员
3、当保护继承时,下面说法正确的是( ) CD A、基类的成员的访问权限在派生类中不变
B、在类作用域外能够通过派生类的对象来直接访问基类的公有成员 C、基类的保护成员和私有成员在派生类中的访问权限为受保护的 D、基类的公有成员在派生类中的访问权限为受保护的
4、当派生类中有和基类一样名字的成员时,下面说法错误的是( )。 ACD A、将产生二义性
B、派生类的同名成员将覆盖基类的成员 C、是不能允许的 D、基类的同名成员将覆盖派生类的成员
5、含有虚基类的派生类的构造函数调用次序错误的是( ) BCD A、虚基类,基类,派生类, 对象成员 B、基类,派生类,对象成员,虚基类 C、对象成员,基类,虚基类,派生类 D、基类,虚基类,对象成员,派生类
第三题、判断题(每题1分,5道题共5分) 1、C++语言中,既允许单继承,又允许多继承。 正确
2、派生类的继承方式有两种,公有继承和私有继承。 错误
3、在公有继承中,基类中只有公有成员对派生类是可见的。 错误
4、析构函数不能被继承。 正确
5、多继承情况下,派生类的构造函数的执行顺序取决于定义派生时所指
定的各基类的顺序。
正确 9章
第一题、单项选择题(每题1分,5道题共5分) 1
、
执
行
语
句
序
列 ofstream outf( “ salary.dat ” ) ; if(...)cout<< “成功”; else cout<< “失败”;后,如文件打开成功,显示”成功”,否则显示”失败” . 由此可知,上面 if 语句的条件表达式是 ( ) 。
A、!outf 或者 outf.fail() B、!outf 或者 outf.good() C、outf 或者 outf.fail()
D、outf 或者 outf.good()
2、在C++程序中使用的cin标识符是系统类库中定义的( )类中的一个对象。
A、istream B、ostream C、iostream D、fstream
3、相对于文本文件,下列关于二进制文件的说法中,不正确的是(D) A、占用空间小 B、无法用常规的编辑工具看懂 C、执行效率高 D、可移植性好
4、流有一个状态标志字,关于failbit的下列说法中,正确的是(C) A、上次读写操作成功,但流仍可用 B、上次读写操作成功,但流不可使用 C、上次读写操作失败,但流仍可用
D、上次读写操作失败,但流不可使用
5、数字12在二进制流中的表示方式是( ) A、12 B、31H32H C、00001100 D、00010010 答案:DADCC
第二题、多项选择题(每题2分,5道题共10分) 1、下面的说法正确的是( ) AC
A、输入输出流是指变量或者对象与外设之间的输入输出操作。 B、实现输
《面向对象程序设计》第1.7.9.11.12章在线测试



