东莞理工学院面向对象程序设计基础试卷选择题_第1页
东莞理工学院面向对象程序设计基础试卷选择题_第2页
东莞理工学院面向对象程序设计基础试卷选择题_第3页
东莞理工学院面向对象程序设计基础试卷选择题_第4页
东莞理工学院面向对象程序设计基础试卷选择题_第5页
已阅读5页,还剩4页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、一、选择题1 以下不合法的用户标识符是( C )A f2_G3B IfC 4dD _82 double型数据所占字节数是( D )A 2B 4C 6D 83 若变量都已经正确定义,以下表达式中非法的是( B )A a/=b+cB a % 4.0 C a=1/2*(x=y=10 , x*3)D a=b=c4 关于if语句中圆括号内的表达式,以下叙述正确的是:( D )A 只能用逻辑表达式B 只能用关系表达式C 只能用关系表达式或逻辑表达式D 可以用任意表达式5 若a=1、b=15、c=0,则表达式a>b>c的值为( B )A 1B 0C 非0D 真6 以下选项中不是字符常量的是( D

2、 )A vB x6dC wD “0”7 以下叙述中不正确的是:( C )A 函数名属于用户标识符,其起名规则与变量相同B 形参只能是变量C 为保证程序的正确运行,函数中定义的变量不能与其他函数中定义的变量同名D 函数中定义的变量可以与其他函数中定义的变量同名8 有定义语句:int a=1,2,3,4,5,6,7,*p=A *q=&a5; ( A )则下列表达式中值不等于5的是A *q-B *-qC -*qD q-p9 若有以下定义语句:int a10=1,2,3,4,5,6,7,8,9,10;( D )则下列哪个是对该数组元素的正确引用A a10B aa3-5C aa9D aa4+41

3、0 若有以下定义语句:double a5,*p=a ; int i=0 ; ( B )则对 a数组元素的错误引用是:A aiB a5C p4D pi11 以下非法的字符串常量为( B )A “ ”B “Its”C “m=abc”D “$12.8”12 字符串:”0211”xab” 的长度为( B )A 1B 9C 10D 1113 以下叙述中错误的是:( C )A 局部变量的定义可以在函数体内部B 全局变量的定义可以在函数以外的任何位置C 同一程序中,全局变量和局部变量不能同名D 函数的形参属于局部变量14 以下叙述中错误的是:( B )A 变量的作用域取决于变量定义语句出现的位置B 同一程序

4、中,全局变量的作用域一定比局部变量的作用域大C 局部变量的作用域是在定义它的函数体内D 全局变量的作用域是从定义位置开始至源文件结束15 定义一个结构体变量时,系统分配给他的内存单元是:( A )A 全部成员所需的内存量之和B 全部成员所需的内存量的最大值C 固定的容量D 结构体中第一个成员所需的容量16 要运行一个C语言编写的应用程序如下:( B )main() printf("hello world");在VC6的开发环境中,应该建立哪种类型的工程?( B )A Win32 ApplicationB Win32 Console ApplicationC MFC AppW

5、izard (exe)D Utility Project 17 在VC6环境中,把应用程序输入后,编译链接后出现如下错误,mytest.cpp(192) : fatal error C1010: unexpected end of file while looking for precompiled header directive应该如何解决:( C )A 检查编写程序中的大小写问题B 检查编写程序中是否有未闭合的大括号C 检查是否在程序最开始包含了预编译头文件D 检查是否有未定义的变量名 18 关于VC6建立的工程的说法,正确的是:( C )A 工程只能包含.cpp和.

6、h类型的文件B 工作区文件的后缀是.dspC 用鼠标双击工作区文件可以打开整个工程D 在VC的FileView中可以看到工程中所有的文件,包括工作区文件,项目文件等 19 下面关于在VC6环境下调试运行的说法错误的是 ( A )A 设置合适的断点(F9),按Ctrl+F5开始调试运行B 设置合适的断点,按F5开始运行C 调试时,可以随时观察断点处的变量值D 在调试运行过程中,可随时按下Stop Debugging(Shift+F5)结束调试运行20 在VC6开发环境中,双击工作区文件,就能打开该工作区及其包含的工程,其后缀是:( A )A .dswB .dspC .rcD .clw&

7、#160;21下列有关内联函数的叙述中,正确的是 ( D )A 内联函数在调用时发生控制转移B 使用内联函数有利于代码重用C 必须通过关键字inline来定义D 是否最后内联由编译器决定22 下列情况中,哪一种情况不会调用拷贝构造函数 ( B )A 用派生类的对象去初始化基类对象时B 将类的一个对象赋值给该类的另一个对象时C 函数的形参是类的对象,调用函数进行形参和实参结合时D 函数的返回值是类的对象,函数执行返回调用者时23 以下哪一关键字可用于重载函数的区分( C )A externB staticC constD virtual24 下列有关数组的叙述中,正确的是( B )A C+中数组

8、的存储方式为列优先存储B 数组名可以作为实参赋值给指针类型的形参C 数组下标索引从1开始,至数组长度n结束D 数组指针的语法形式为:类型名 *数组名下标表达式;25 下列有关继承和派生的叙述中,正确的是( C )A 派生类不能访问通过私有继承的基类的保护成员B 多继承的虚基类不能够实例化C 如果基类没有默认构造函数,派生类就应当声明带形参的构造函数D 基类的析构函数和虚函数都不能够被继承,需要在派生类中重新实现26 实现运行时多态的机制是( A )A 虚函数B 重载函数C 静态函数D 模版函数27 下列字符串中,正确的C+标识符是( D )A enumB 2bC foo-9D _3228 若有

9、下面的函数调用:fun(a+b, 3, max(n-1, b);其中实参的个数是( A )A 3B 4C 5D 629 以下哪个关键字对应的属性破坏了程序的封装性( B )A constB friendC publicD protected30 以下哪个符号(或组合)是作用域限定符( C )A ->B .C :D 31 下列关于this指针的说法正确的是( B )A this指针存在于每个函数之中B 在类的非静态函数中this指针指向调用该函数的对象C this指针是指向虚函数表的指针D this指针是指向类的函数成员的指针32 在下列关于C+函数的叙述中,正确的是( C )A 每个函数

10、至少要有一个参数B 每个函数都必须返回一个值C 函数在被调用之前必须先声明D 函数不能自己调用自己33 下列运算符中,不能重载的是 ( C )A &&B !=C .D ->34 对于类的常成员函数的描述正确的是( A )A 常成员函数不修改类的数据成员B 常成员函数可以对类的数据成员进行修改C 常成员函数只能由常对象调用D 常成员函数不能访问类的数据成员35 使用如setw()的操作符对数据进行格式输出时,应包含的头文件是( D )A iostreamB fstreamC stdioD iomanip36 若有以下类定义class MyClass public:MyCla

11、ss() cout << 1; ;则执行语句MyClass a,b2,*p2;后,程序的输出结果是( B )A 11B 111C 1111D 1111137 下面程序的输出结果是( B )#include <iostream>using namespace std;int i = 0;int fun(int n) static int a = 2;a+;return a+n;void main()int k = 5;int i = 2;k += fun(i);k += fun(i);cout << k;A 13B 14C 15D 1638 下面程序的输出结果

12、是( A )#include <iostream >using namespace std;void swap1( int &v1, int &v2) int tmp = v2;v2 = v1;v1 = tmp;void swap1( int *v1, int *v2) int tmp= *v2;*v2 = *v1;*v1 = tmp;void main() int i = 10, j = 20; swap1(i,j); swap1(&i,&j); cout<<i<<”,”<<j<<endl;A 10,

13、20B 20,10C 10,10D 20,2039 下面的程序段的运行结果为( D )char str = "job", *p = str;cout << *(p+2) << endl;A 98 B 无输出结果 C 字符b的位置 D 字符b40 下面程序的输出结果是( C )#include <iostream>using namespace std;class A public: A (int i) x = i; void dispa () cout << x << “,”; private : int x ;c

14、lass B : public A public: B(int i) : A(i+10) x = i; void dispb() dispa(); cout << x << endl; private : int x ;void main()B b(2);b.dispb();A 10,2B 12,10C 12,2D 2,241 下面程序的输出结果是( C )#include <iostream>using namespace std;class Base public: Base(int i) cout << i; Base () ;class

15、Base1: virtual public Base public: Base1(int i, int j=0) : Base(j) cout << i; Base1() ;class Base2: virtual public Base public: Base2(int i, int j=0) : Base(j) cout << i; Base2() ;class Derived : public Base2, public Base1 public: Derived(int a, int b, int c, int d) : mem1(a), mem2(b), B

16、ase1(c), Base2(d), Base(a) cout << b; private: Base2 mem2; Base1 mem1;void main() Derived objD (1, 2, 3, 4); A 134122B 123412C 14302012D 14321242 以下程序对一维坐标点类Point进行运算符重载,输出结果是( A )#include <iostream>using namespace std;class Point public:Point (int val) x = val; Point operator +() x+; re

17、turn *this; Point operator +(int) Point old = *this; +(*this); return old; Point operator +(Point a) x += a.x; return *this; int GetX() const return x; private:int x;int main()Point a(10); cout << (+a).GetX(); cout << a+.GetX();A 1111B 1011C 1112D 101043 下面程序的输出结果是( C )#include <iostr

18、eam>using namespace std;class Base public: virtual void f() cout << “f0+”; void g() cout << “g0+”; ;class Derived : public Base public: void f() cout << “f+”; void g() cout << “g+”; ;void main() Derived d; Base *p = &d; p->f(); p->g(); A f+g+B f0+g+C f+g0+D f0+g0+44 下面程序的输出结果是( C )#include <iostream> using namespace std;int countp=0;class Point int X,Y; public: Point(int x=0,int y=0) X=x; Y=y; Point(Point &p)X=p.X;Y=p.Y;countp+; friend Po

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论