一.选择题(10分)
1.以下四个关于类的访问控制的描述哪一个是错误的 A.子类不能访问其父类的私有数据成员和成员函数
B.子类的对象不能访问其父类的保护数据成员或者成员函数 C.类的对象不能访问类的保护数据成员或者成员函数 D.类的成员函数不能访问类中的私有数据 2.下面有关重载函数的说法中正确的是 A.重载函数必须有不同的返回值类型 B.重载函数形参个数必须不同 C.重载函数必须有不同的形参列表 D.重载函数名可以不同
3.下列关于构造函数的描述中,错误的是 A.构造函数可以设置默认参数 B.构造函数在定义类对象时自动执行 C.默认构造函数可以没有 D.构造函数不可以重载
4.下列对于WinMain函数的描述中,错误的是 A.WinMain函数的名称是固定的
B.WinMain函数是Windows程序的入口点 C.WinMain函数不能有参数
D.窗口函数与WinMain的关联是通过窗口类的注册实现的 5.MFC常规动态链接库中不能导出的是
A.C风格函数 B.全局变量 C.资源
D.基于MFC的C++类
Visual C++语言模拟试卷(一)
1.设有说明―int i=10;float x;‖,执行―x=5/i;‖后,x的值为_______。 A. 0.5 B. 0 C. 0.0 D. 1.0
2.为了避免嵌套的条件语句的二义性,C++语言规定else与_______配对。
A. 编辑时是在同一列上的if B. 其之前最近的还没有配对过的if
C. 其之后最近的if D. 同一行上的if
3.对于C++的函数,正确的叙述是__________。 A.函数的定义不能嵌套,但函数的调用可以嵌套 B.函数的定义可以嵌套,但函数的调用不能嵌套 C.函数的定义和调用都不能嵌套 D.函数的定义和调用均可以嵌套 4.对于下面几个函数:
void f(int x){…} //1 int f(int y){…} //2 int f(int i,int j){…} //3 float k(int x){…} //4 ___________是重载函数。
A. 4个全部 B. 1和4 C. 2和3 D.3和4 5.设有以下说明语句:
int a[4][3]={1,2,3,4,5,6,7,8,9,10,11,12}; int (*prt)[3]=a,*p=a[0];
能正确表示数组元素a[1][2]的表达式是_________。 // (*(prt+1))[2], *((*(prt+1)) +2),*(p+5)
A. *((*prt+1)[2]) B. *(*(p+5)) C. (*prt+1)+2 D. *(*(a+1)+2) 6.下列叙述中,不正确的是__________。
A. 类的构造函数可以重载 B.类的析构函数可以重载
C.一个类可以不定义构造函数 D.一个类可以不定义析构函数 7. 执行下面的程序后: // a = 10/((2+1)*(2+1)/ (2+1)*(2+1)) #include
# define SQR(X) (X)* (X) void main( ){
int a=10,k=2,m=1;
a/=SQR(k+m)/ SQR(k+m); cout<<―a=―<
输出的结果是a=___________。
A. a=10 B. a=1 C. a=9 D. a=0
8.对于C++源程序文件,其缺省的扩展名为_________。 A. .C++ B. .CPP C. .C D. .cc 9.下列叙述中不正确的是_________。
A.含纯虚函数的类称为抽象类 B.不能直接由抽象类建立对象
C.抽象类不能作为派生类和基类 D. 纯虚函数不能定义其实现部分
10.执行下面的程序 #include
{ char c=0;cout< A. ?\\0‘ B.语法错,不能执行 C. 0 D.一个空行 二 填空题 1. 在C++中函数参数的传递方式有三种,分别是:__值传递__、_地址传递_和_引用传递_。 2. 当用成员函数重载双目运算符时,运算符的左操作数必定是____对象________。 3. 在类中,定义构造函数的目的是__在产生对象时,对对象的数据成员进行初始化_____。 4. 以下程序的输出结果是_ _1 -2___。 void main( void) { int x=3; do{ cout<<(x- =2)<\\t‘;}while(!(--x); } 6.以下程序的输出结果是__100______和___200_______。 #include { static int j; j+=100; return j; } void main(void) { cout< 7.以下程序的输出结果是___20_____和____30______。 #include protected:int x; public: Base(int a){x=a;} }; class A: public Base{ public:A(int a): Base(a){ }; int GetX( ){ return x;} }; class B: public Base{ public:B(int a): Base(a){ }; int GetX( ){ return x;} }; class C: public B, public A{ public:C(int a): A(a+10),B(a+20){ }; }; void main(void) { C c(10); cout< 9. .以下程序输出的两个字母分别是___c_____和____d_______。 #include public:virtual void f( ) { cout< Class Y:public X{ public: void f( ) {cout< void main( ) { Y y; X *xp=&y; xp->f( ); } 11.下面程序的功能是从数组arr(有n个元素)中找出最小元素值,并返回其引用。 int & findmin(int arr[ ],int n) { int pos=0; for( int i=1;i<=n-1; ++i) if(___arr[i] < arr[pos]__)pos=_i__; return __ arr[pos]__; } 12.下面是求前n个自然数和的递归函数(即求1+2+3+…+n)。 float sum(int n) { if(__n==1__)return 1; else return (___n+sum(n-1)__); } 14. 编程求100—300之间的所有素数。要求 (1)每行输出5个素数; (2)判断一个整数是否为素数用一个函数来实现; //(3)将程序运行的结果存放在文件data.txt中。 #include int i,k; 百度搜索“77cn”或“免费范文网”即可找到本站免费阅读全部范文。收藏本站方便下次阅读,免费范文网,提供经典小说综合文库VC++模拟试题一在线全文阅读。
相关推荐: