20xx-20xx年c复习题库内容摘要:

文件指针定位于文件尾;若文件不存在,建立一个新文件。 B) 若文件存在,将其截为空文件;若文件不存在,打开失败。 C) 若文件存在,将文件指针定位于文件首;若文件不存在,建立一个新文件。 D) 若文件存在,打开失败;若文件不存在,建立一个新文件。 答案: 1~5: DDACA 6~ 10: CADBC 11~ 15: ADADC 16~ 20: DDBBB C++试题 2 1.下列变量名中,( )是合法的。 2.下列各种运算符中,( )优先级 最高。 A. + B.amp。 amp。 C.== D.*= 3.设变量 m, n, a, b, c, d均为 0,执行 (m = a==b)amp。 amp。 (n=c==d)后, m, n的值是( )。 , 0 B. 0, 1 C. 1, 0 D. 1, 1 4. 字符串” \t\v\\\0which\n”的长度是( )。 A. 4 B. 10 C. 9 D. 字符串有非法字符,输出值不确定 5. 设 a=2,b=3,c=2;计算 a+=b*=(++bc++)中 a、 b、 c的值( )。 、 2 B. 2 、 3 D. 3 6. 已知: int i=5,下列 dowhile循环语句的循环次数为( )。 do{coutiendl。 i。 }while(i!=0)。 A. 0 B. 1 C. 5 D.无限 ,( )是错误的。 A.循环体内可以包含有循环语句 B.循环体内必须同时出现 break语句和 continue语句 C.循环体内可以出现选择语句 D.循环 体内可以是空语句 ( )。 x=3。 do {y=x。 if(!y) {cout” x”。 continue。 } cout” ”。 } while(x=1 amp。 amp。 x=2)。 A.将输出 B.将输出 C.是死循环 D.含有不合法的控制表达式 ,下面各组成部分中,( )是可以省略 的。 A.函数名 B.函数体 C.函数数据类型说明 D.函数参数 ,实参和形参应该是使用( )。 A.变量值和变量 B. 地址值和指针 C.变量值和引用 D. 地址值和引用 11.以下关于文件 操作的叙述中,不正确的是( )。 A.打开文件的目的是使文件对象与磁盘文件建立联系 B.文件读写过程中,程序将直接与磁盘文件进行数据交换 C.关闭文件的目的之一是保证将输出的数据写入硬盘文件 D.关闭文件的目的之一是释放内存中的文件对象 12. 若有语句 int a[10]={0,1,2,3,4,5,6,7,8,9},*p=a;则 ( )不是对 a 数组元素的正确引用(其中 0≤ i10)。 A. p[i] B. *(*(a+i)) C. a[pa] D. *(amp。 a[i]) 13. 以下程 序的输出结果是 ( )。 include void main() {char s[]=abcdefbcde,*p=s。 int v1=0,v2=0,v3=0,v4=0。 for (p。 *p。 p++) switch(*p) { case 39。 a39。 :v1++。 break。 case 39。 b39。 :v3++。 break。 case 39。 e39。 :v2++。 break。 default: v4++。 } coutv1,v2,v3,v4endl。 } A. 1,2,2,5 B. 4,7,5,8 C. 1,5,3,10 D. 8,8,8,8 14. 下列结构体定义,正确的是。 A. record { B. struct record { int no。 int no。 char num[16]。 char num[16]。 float score。 float score。 }。 } C. struct record { D. struct record { int no。 int no char num[16]。 char num[16] float score。 float score }。 } 15. 下列是构造函数的特点,( )是错误 的。 A.构造函数是一种成员函数,它具有一般成员函数的特点 B.构造函数的名称与其类名相同 C.构造函数必须指明其类型 D.一个类中可定义一个或多个构造函数 16. 关于友元函数的描述中,( )是错 的。 A. 友元函数是成员函数, 它被说明在类体内 B. 友元函数可直接访问类中的私有成员 C. 友元函数破坏封装性,使用时尽量少用 D. 友元类中的所有成员函数都是友元函数 17. 下列对派生类的描述中,( )是错误的。 A. 一个派生类可以作为另一个派生类的基类 B. 派生类至少应有一个基类 C. 基类中成员访问权限继承到派生类中都保持不变 D. 派生类的成员除了自已定义的成员外,还包含了它的基类成员 18. C++类体系中,能被派生类继承的有( )。 A.构造函数 B.虚函数 C.友元 函数 D.析构函数 19.关于下列虚函数的描述中,( )是正确的。 A. 虚函数是一个 static存储类的成员函数 B. 虚函数是一个非成员函数 C. 基类中说明了虚函数后,派生类中将其对应的函数可不必说明为虚函数 D. 派生类的虚函数与基类的虚函数应具有不同的类型或个数 20. 以下有关静态数据成员函数的叙述不正确的 是 ( )。 A.静态成员函数属于整个类 B.对静态成员 函数 的引用不允许使用对象名 C.在静态成员函数中不能直接引用类的非静态成员 D.使用类名可以直接调 用其 静态成员函数 21. 下列有关运算符重载的描述中,( )是正确 的。 A.运算符重载可改变其优先级 B.运 算符重载不改变其语法结构 C.运算符重载可改变其结合性 D.运算符重载可改变其操作数的个数 new运算符的下列描述中, ( )是错误的。 A. 它可以动态创建对象和对象数组 B. 用它创建对象数组时必须指定初始值 C. 用它创建对象时要调用构造函数 D. 用它创建的对象可以使用运算符 delete来释放 为字符数组赋字符串的语句组,其中错误是( )。 s[10]。 s=” program”。 s[]=” program”。 s[10]=” Hello!”。 s[10]。 strcpy(s,” hello!” )。 ,实参是一个一维数组名 a,则向函数传送的是 ( )。 a[0]的值 a[0]的地址 25. 下列有关类的说法不正确的是 ( )。 A. 对象是类的一个实例 B. 任何一个对象只能属于一个具体的类 C. 一个类只能有一个对象 D. 类与对象的关系和数据类型与变量的关系相似 答案: 1~ 5: BADBC 6~10: DBBDC 11~ 15: BBACC 16~ 20: ACBCB 21~ 25: BBADC 1: 指出下列对定义重载函数的要求中,哪些是错误的提法。 A. 要求参数的个数相同。 C. 求函数 的返回值不同。 D. 要求参数的个数相同时,参数类型不同。 答案: C 2:下列运算符中,( )运算符在 C++中不能重载。 A.?: B.[] D.amp。 amp。 答案 : A 3: 下面关于友元的描述中,错误的是( )。 A. 友元函数可以访问该类的私有数据成员 B. 一个类的友元类中的成员函数都是这个类的友元函数 C. 友元可以提高程序的运行效率 D. 类与类之间的友元关系可以继承 答案: D 4: 下述静态成员的特性中,( )是错误的。 A. 静态成员函数不能利用 this 指针 B. 静态数据成员要在类体外进行初始化 C. 引用静态数据成员时,要在静态数据成员名前加 类名 和作用域运算符 D. 静态数据成员不是所有对象所共有的 答案: D 5: 关于虚函数的描述中,( )是正确的。 A. 虚函数是一个静态成员函数 B. 虚函数是一个非成员函数 C. 虚函数既可以在函数说明时 定义 ,也可以在函数实现时定义 D. 派生类的虚函数与基类中对应的虚函数具有相同的参数个数和类型 答案 : D 6:下列关于动态联编的描述中, 错误的是()。 A.动态联编是以虚函数为基础 B.动态联编是运行时确定所调用的函数代码的 C.动态联编调用函数操作是指向对象的指针或对象引用 D.动态联编是在编译时确定操作函数的 答案: D 8:下面 4个选项中,( )是用来声明虚函数的。 A. virtual B. public C. using D. false 答案: A 9: 编译时的多态性可以通过使用 ( )获得。 A.虚函数和指针 B.重载函数和析构函数 C.虚函数和对象 D.虚函数和引用 答案: A 10: 关于纯虚函数和抽象类的描述中,错误的是( )。 A.纯虚函数是一种特殊的虚函数,它没有具体的实现 B.抽象类是指具体纯虚函数的类 C.一个基类中说明有纯虚函数,该基类派生类一定不再是抽象类 D.抽象类只能作为基类来使用,其纯虚函数的实现由派生类给出 答案: B 11: 下列描述中,( )是抽象类的特征。 A.可以说明虚函数 B.可以进行构造函数重载 C.可以定义友元函数 D.不能说明其对象 答案: D 12: 以下( )成员函数表示虚函数。 A. virtual int vf(int)。 B. void vf(int)=0。 C. virtual void vf()=0。 D. virtual void vf(int) { }。 答案: D 13: 如果一个类至少有一个纯虚函数,那么就称该类为( A )。 A.抽象类 B.虚函数 C.派生类 D.以上都不对 答案: A 14: 要实现动态联编,必须通过( )调用虚函数。 A.对象指针 B.成员名限定 C.对象名 D.派生类名 答案: A 15: 下面描述中,正确的是( )。 A. virtual可以用来声明虚函数 B.含有纯虚函数的类是不可以用来创建对象的,因为它是 虚基类 C.即使基类的构造函数没有参数,派生类也必须建立构造函数 D.静态数据成员可以通过成员初始化列表来初始化 答案: A 16: 已知 int a, *pa=amp。 a。 输出指针 pa十进制的地址值的方法是( )。 A. coutpa。 B. cout*pa。 C. coutamp。 pa。
阅读剩余 0%
本站所有文章资讯、展示的图片素材等内容均为注册用户上传(部分报媒/平媒内容转载自网络合作媒体),仅供学习参考。 用户通过本站上传、发布的任何内容的知识产权归属用户或原始著作权人所有。如有侵犯您的版权,请联系我们反馈本站将在三个工作日内改正。