面向对象程序设计C++
复习资料与答案
第一、二、六、七章习题
一、选择题
1、系统约定C++源程序文件名的缺省的扩展名为( ) A、bcc B、c++ C、cpp D、vcc
2、面向对象的程序设计将数据与( )放在一起,作为一个相互依存、不可分割的整体来处理。
A、对数据的操作 B、信息 C、数据隐藏 D、数据抽象 3、当一个函数无返回值时,函数的类型应定义为( ) A、void B、任意 C、int D、无 4、对于C++的函数,正确的叙述是:
A、函数的定义不能嵌套,但函数的调用可以嵌套 B、函数的定义不能嵌套,但函数的调用不能嵌套 C、函数的定义和调用都不能嵌套 D、函数的定义和调用都可以嵌套 5、下列语句中错误的是( )
A、int *p=new int(10); B、int *p=new int[10] C、int *p=new int; D、int *p=new int[40](0);
6、假设已经有定义:const char *const name=”chen”;,下面的语句中正确的是:( ) A、name[3]=’a’; B、name=”lin”; C、name=new char[5]; D、cout< 7、假设已经定义:char *const name=”chen”;, 下面的语句中正确的是:( ) A、name[3]=’q’; B、name=”lin”; C、name=new char[5]; D、name=new char(‘q’); 8、假设已经定义:const char *name=”chen”;, 下面的语句中错误的是:( ) A、name[3]=’q’; B、name=”lin”; C、name=new char[5]; D、name=new char(‘q’); 9、下面的类型声明中正确的是:( ) A、int &a[4]; B、int &*p; C、int &&q D、int i,*p=&i; 10、假设定义了函数模板( ) template T max(T x,T y){ return(x>y)?x:y;} 并定义了int i;char c;错误的调用语句是:( ) A、max(i,i) B、max(c,c) C、max((int)c,i); D、max(i,c) 11、模板的使用是为了( ) A、提高代码的可重用性 B、提高代码的运行效率 C、加强类的封装性 D、实现多态性 12、设有二个语句:int x[‘a’];cin>>x;则编译器认为( ) A、说明语句int x[‘a’]错 B、二个语句都错 C、语句cin>>x 错 D、二个语句正确,没有语法错 13、设有语句:void f(int a[10],int &x);int y[10],*py=y,n;则对函数f的正确调用语句是( ) A、f(py[10],n); B、f(py,n) C、f(*py,&n) D、f(py,&n) 14、在C++中实现封装是借助于( ) A、枚举 B、类 C、数组 D、函数 15、对于下面几个函数: (1) void f(int x,float y) {? ? } (2) int f(int a,float b){? ? } (3) int f(int i,int j){? ? } (4) float k(int x){? ? } 是重载函数。 A、4个全部 B、1和2 C、2和3 D、3和4 16、使用myFile.open(“Sales.dat”,ios::app);语句打开文件Sales.dat后,则( ) A、使输出追加到文件尾部 B、打开一个文件进行读操作 C、打开一个文件进行读和写操作 D、文件以二进制方式打开,默认时为文本文件 二、填空题 1、面向对象的程序设计有四大特征,它们是抽象、封装、 、 。 2、结构体类型中的数据和成员函数默认类型为 。 3、C++要求为每个函数建立原型,以说明函数的名称、参数的 和 ,以及函数返回值。 4、在函数说明前加关键字“inline”,则该函数被声明为 函数,其引入的目的是为了消除函数调用时的开销,以提高运行速度。 5、引用变量与被引用变量占有 内存单元。 6、 运算符能够用于访问当前作用域内与局部变量同名的全局变量。 7、#include { for(int a=1,b=1;a<=5;a++) { if(b>=8) break; if(b%2==1){b+=7;continue;} b-=3; } cout<<”a=”< int x=100; void main(void) 2 { int x=200;x+=::x; {int x=500;::x+=x;} cout< void f(float x=5, int y=16, char z=?C?); void main( ) { float a=1.6; int b=2; char c='D'; f();f(a);f(a,b); f(a,b,c); } void f(float x, int y, char z)