vc模拟题
- 格式:doc
- 大小:195.50 KB
- 文档页数:1
VC试题训练一、选择题(15分)1.C语言提供的合法的关键字是___________。
A.CharB.ma某C.witchD.Default2.在C语言中,合法的字符常量是___________。
A.‘\\0某ff’B.’\\65’C.‘ab’D.‘\\082'3.若有double某=2,y;则表达式y=某+5/2的值是___________。
A.3B.4C.4.5D.4.04.设a为整型变量,不能正确表达数学关系13≤a≤16的C语言表达式是___________。
A.1212&&a<17D.!(a<13||a>16)5.在以下一组运算符中,优先级最高的运算符是___________。
A.>=B.=C.++D.&&6.设有int某=1,y=1,z=1,c;则执行语句c=--某&&--y||--z;后,某,y,z的值分别为__________A.0,1,1B.0,1,0C.1,0,1D.0,0,17.下列句子中,错误的C语句是___________。
A.n++;B.for(,,);C.a=1,b=2,c=3;D.while(1);8.以下不致造成死循环的语句是__________A.for(y=0,某=1;某>++y;某=i++)i=某;B.for(;;某+=i);C.while(某=8)某--;D.for(i=10;um=0;um<=i)um=--i;9.下面关于break语句描述正确的是__________。
A.只能用在循环体内或witch语句中B.可用作函数内的任一语句C.只能用在循环体内D.用在能出现语句的任何地方10.下列叙述中,错误的一条是__________。
A.主函数main中定义的变量在整个文件或程序中都有效B.不同函数中,可以使用相同名字的变量C.形式参数是局部变量D.在一函数内部,可在复合语句中定义变量,这些变量只在本复合语句中有效11.有关宏定义的正确说法是__________。
C++模拟试卷与答案(仅供参考)一、填空:1、面向对象的三大特性是封装、继承、多态性。
2、windows系统提供的标准控件主要包括:按钮控件、滚动条控件、列表框控件、静态控件、编辑框控件和组合框控件等。
3、同属一个类的对象具有相同的属性和方法。
4、任何类中允许有三种属性的数据,它们是private、public和protected。
5、静态数据成员在定义或说明时候前面加上关键字static ,内联函数关键字inline。
6、如果没有提供一个类的构造函数(一个都未提供),则C++提供一个缺省的构造函数。
7、在Windows应用程序中可以使用几种不同类型的资源,它们包括:加速键、位图、图标、对话框、菜单、工具条和字符串等。
8、如果在定义一个类时,没有显示地定义析构函数,则清除对象的工作将由缺省的析构函数来完成,这是因为对于大多数的类来说缺省的析构函数就能满足要求。
9、当在程序中声明一个派生类的对象时,首先调用的是基类的构造函数,然后调用派生类的构造函数。
10、C++语言提供了两种类型的重载,分别是函数重载和操作符重载。
二、选择题:1、有关类的说法不正确的是(D)A、类是一种用户自定义的数据类型B、只有类中的成员函数才能存取类中的私有数据C、在类中,不作特别说明,所有的数据均为私有类型D、在类中,如果不作特别说明,所有的成员函数均为公有类型2、下列各类函数中,______不是类的成员函数。
(C)A、构造函数B、析构函数C、友元函数D、拷贝构造函数3、下列静态数据成员的特性中,_____是错误的。
(D)A、说明静态数据成员时前边要加修饰符staticB、静态数据成员要在类体外进行初始化C、引用静态数据成员时,要在静态数据成员名前加<类名>和作用域运算符D、静态数据成员不是所有对象所共用的4、友元的作用_________.(A)A、能提高程序的运行效率B、加强类的封装性C、实现数据的隐藏性D、增加成员函数的种类5、若Queue是类,aQueue是它的一个对象,p1是类对象aQueue的一个指针,那么类对象aQueue可以通过_____来访问类的成员,类对象aQueue的指针p1可以通过____来访问类的成员。
单选:(每个2分=共30分)1、若有声明:char s[]="\\"; 则数组变量s占内存空间的字节数为:____________。
A: 0B: 1C: 2D: 32、选出下列合法的变量名:_________。
A. s_8B. *khC. x+5D. &data3、若有声明:char str[]={‘H’,’e’,’l’,’l’,’o’,’\0’,’,’,’w’,’o’,’r’,’l’,’d’};执行语句”cout<<str;”的结果是:。
A、Hello,B、Hello,worldC、Hello0worldD、Hello4、已知int n=5,执行语句n+=++n;后,n的值是:_______。
125、为了求i的3次方,请选择一个表达式填入_________,使程序功能正确。
#define CUBE(x)(x*x*x)main(){ int i=4;cout<<CUBE(__________)<<endl;}A、i*i*iB、x*x*xC、xD、i6、执行语句for(n=0;n++<3;);后,变量n的值为:________。
47、已知:int a, *p=&a; 则为了得到变量a的值,下列错误的表达式为:________。
A、*&pB、*pC、p[0]D、*&a8、设有说明语句int a=1,b=0;则执行以下语句后,输出为:_____________。
{ switch(a){ case 1:switch(b){case 0: cout<<”**0**”; break;case 1: cout<<”**1**”; break;}case 2: cout<<”**2**”; break;}cout<<”#”;}A、**0**#B、**0****1**#C、**0****2**#D、**00****1****2**9、下列说法中不正确的是。
1.以下选项中,_____不是类成员的访问权限关键字。
(A)、public(B)、private(C)、class(D)、protected2.下面叙述中不正确的是_____。
(A)、全局变量若不初始化,则系统默认它的值为0(B)、局部变量若不初始化,则系统默认它的值为0(C)、使用全局变量可以从被调用函数中获取更多个操作结果(D)、当函数调用完后,静态局部变量的值不会消失3.下列程序的输出结果是_____。
#include<iostream.h>void main(){char a[10],b[ ]=”China”;a=b;cout<<a<<endl;}(A)、Ch(B)、程序出错(C)、China(D)、C4.下列运算符中优先级最低的是_____。
(A)、?(B)、!(C)、 &&(D)、!=5.执行语句 int a=20, *p=&a; 后,下列描述错误的是_____。
(A)、p的值是变量a的地址(B)、*p表示变量a的值(C)、p指向整型变量a(D)、p的值为206.下列错误的十六进制整型常量表示是_____。
(A)、0x2f(B)、0xg(C)、0xaf(D)、0x887.有关构造函数的说法不正确的是_____。
(A)、构造函数可以设置默认灿顺(B)、构造函数可以重载(C)、构造函数可以有参数,所以也可以有返回值(D)、系统可以提供默认的构造函数8.下列程序的输出结果是_____。
#include<iostream.h>void main(){int i, j, x=0;for(i=0; i<=3; i++){x++;for(j=0; j<=3; j++){if(j%2) continue;x++;}x++;}cout<<x<<endl;}(A)、16(B)、12(C)、10(D)、89.下面while循环执行的次数为_____。
上机模拟试卷(1)上机模拟试卷(1)(1) 改错题:函数fun的功能是:求出s所指字符串中最后一次出现t所指子字符串的地址,通过函数值返回,在主函数中输出从此地址开始字符串,若未找到,则函数值为NULL.例如:当字符串中的内容为abcdabfabcdx,t中的内容为ab时,输出结果为abcdx.含有错误的源程序如下:# include <iostream.h>#include <string.h>char *fun(char *s, char *t){char *p,*r,*a;a=Null;while(*s){p=s;r=t;while(*r)if(r==p) {r++;p++}else break;if(*r==’\0’) a=p;p++;}return a;}main(){char s[100], t[100], *p;cout<<”Please enter string S:”;cin>>s;cout<<”Please enter substring t:”;cin>>t;p=fun(s,t);if(p) cout<<”The result is:”<<p;else cout<<”Not found!”;}二:编程题:建立一个类Array,动态生成数组,按数组元素后两位上值大大小进行降序排序,数组中的每个数均是四位数,具体如下:1. 私有数据成员.int *a:指向根据len动态申请的数组空间int len:有效数组元素的个数2. 公有成员函数:Array(int b[],int length):构造函数,使用数组b初始化a所指的动态数组,length初始化lenvoid sort():按题意对动态数组中的元素进行排序void print():输出a所指向的数组~Array():析构函数, 释放动态数组空间3.在主函数中定义一个Array类的对象test,调用成员函数完成排序和输出上机模拟试卷(2)一:改错题:函数void fun(char str[ ][ ], int m,*pt)的功能是:将数组str中的m(1<=m<=10)个字符串依次连接起来,组成一个新的字符串,放入pt所指的字符数组中,例如: 把3个串:abc、CD、EF串连接起来,所得新字符串是abcCDEF含有错误的源程序如下:# include <iostream.h># include <iostream.h>void fun(char str[ ][ ], int m, *pt){int k,q,i;for(k=0;k<m;k++){for(i=0;i<q;i++)pt[i]=str[k,i];pt+=q;pt[i]=’\0’;}}main( ){int m,h;char s[10][10],p[20];cout<<”please enter m:”;cin>>m;cou t<<”Please enter string:”;for(h=0;h<m;h++)cin>>s[h];fun(s,p,m);cout<<”The result is:”<<p}二:编程题:建立一个类NUM,求所有大于1小于整数m的非素数,具体要求如下:1.私有数据成员int m:存放输入的查找范围的上界int k:存放指定范围内非素数的个数int xx[50]:存放指定范围内的所有非素数2公有成员函数NUM(int a):构造函数,用参数a初始化mvoid fun():所有大于1小于整数m的非素数放入数组x 中;3.在主函数中对该类进行测试,定义一个NUM类的对象test,并指定查找范围的上界,通过test调用成员函数,查找指定范围内的所有非素数并输出。
江苏计算机等级考试vc++冲刺模拟试题1第二部分:Vc++程序设计C++语言程序设计理论部分一、选择题(30分)21.设有定义“float y=5.16347;int x;”,则以下表达式中可以实现将y中的数值保留小数点后2位,将第三位四舍五人的表达式是_____________A.y=(y*100+0.5)/100.0 B.x=y*lOO+O.5,y=x/lOO.0C.y=y*100+0.5/100.0 D.y=(y/100+0.5)*100.022.设有说明语句"int a=6;float b=l,c=l;",则表达式"c%=(b=a/=4),a+=3"的值为_________ A.9 B.1.5 C.1 D.编译有错23.关于字符串,以下说法正确的是__________A.字符串"abc\t\"op\\"中实际的字符个数为8B.字符串是以0结尾的字符数组C.sizeof("abc\O\"op\\")=3D.strlen("abc\O\"op\\")=824.已定义"int a[5]={lOO,200,300,400,500};int *P1=&a[0]",若b=*++P1,则b和*P1的值分别为___。
A.100 200 B.200 200 C)101 101 D.100 10125.下面给出的程序的输出结果不正确的是_________ 。
A.char *sl,s2[]="123";sl=s2;cout<<*sl;,结果:123B. char *sl,s2[]="123";sl=s2;cout<<sl;结果:123C.char *sl="123\0tear";cout<<s1;结果:123D.char s1[]="567",s2[]=”123”;strcpy(sl,s2);cout<<s1;结果:12326.设有变量说明“int a[][2]={{2,5},{4,8}};int *pa,(*pb)[2];"则执行语句"pa=&a[0][0];pb=a;"后,(*(pa+1))与(*(pb+1))的值为:______A.5,4 B.&a[1][0],4 C.5,&a[1][0] D. &a[0][1], &a[1][0]27.下列关于数组的应用中,__________是正确的。
VC++程序设计模拟试题1VC++程序设计一、选择题:(1题1分)1.以下选项中,哪一个是合法的字符常量A."N"B. '\010 'C.AD.652.表达式"(a=3*2,b=a/2),b-a,a+=2"的值是A.-3B.6C.8D.123.有以下的程序段,其输出结果是int x,y,z;x=y=z=0;x=++x||++y&&++z;cout<<x<<","<<y<<","<<z<<end;< p="">A.1,1,1B.1,1,0C.1,0,0D.0,0,04.以下程序的执行结果是#includeclass OBJ{ int n;public:OBJ(int i=0) {n=i;}operator++( ) {n++;}void Show( ) {cout<<n<<endl;}< p="">};void main( ){ OBJ obj(3);++obj;obj.Show( );}A.3B.4C.0D.15.设有以下程序段:int a[5]={0},*p,*q;p=a;q=a;则下列选项中,合法的运算表达式是A.p-qB.p+qC.p*qD.p%q6.假设MyClass为一个类,则该类的拷贝的构造函数的声明语句为A.MyClass&(MyClass x); B.MyClass(MyClass x);C.MyClass(MyClass &x);D.MyClass(MyClass *x);7.以下程序的执行结果是#includevoid main( )S[3]= '\0';cout<<s<<endl;< p="">}A.12B.123C.1234D.1234568.下面关于纯虚函数与抽象类的描述中,错误的是:A.纯虚函数是一种特殊的虚函数,它没有具体的体现B.抽象类是指具有纯虚函数的类C.一个基类中如果具有纯虚函数,该基类的派生类不能再是抽象类D.抽象类只能作为基类来用,其纯虚函数的实现由派生类给出9.以下程序段的输出结果是:int x=5;do{x--;}while(!x);cout<<x<<endl;< p="">A.5B.4C.0D.-110.下列虚基类的声明中,正确的是A.class virtual B:public AB.virtual class B:public AC.class B:public AD.class B:virtual public A11.以下四组语句中不符合C++语法规则的是A.char s[ ]= "Nanjing";B.char s[20];s="Nanjing";C.char *p="Nanjing"; C.char*p;p="Nanjing";12.类MyClass的定义如下:class MyClass{ int value;public:MyClass( ) {value=0;}Set Variable(int i) {value=i};};则以下各项对下面语句的描述中,正确的是:MyClass *p,my;p=&myA.语句"p=&my"是把对象my赋值给指针变量pB.语句"MyClass *p,my; "调用了两次构造函数C.语句"*p.SetVariable(5); "是正确的调用形式D.语句"p→SetVariable(5) "与语句"my.SetVariable(5) "是等价的13.下面函数的功能是int fun(char *x){ char *y=x;while(*y++);}A.求字符串长度B.比较两个字符串的大小C.将字符串x复制到字符串yD.将字符串x连接到字符串y后面14.有如下程序段int **p,*s,k=20;s=&kp=&s请指出**p所代表的是A.&sB.&kC.sD.k15.有以下程序:#include#includevoid main( ){ char s[ ]= "\n123\\";cout<<strlen(s)<< ","<<sizeof(s)<<endl;<="" p="">}该程序执行后的结果是A.赋初值的字符串有错B.4,6C.0,6D.5,616.若有定义:int *p;则下列各选项中,不同于表达式"*p=*p+1; "的是A.*p++;B.++*p;C.*p+=1;D.++(*p); 17.定义如下枚举类型:enum Day{Monday,Tuesday,Wednesday,Thursday,Friday=2}; 则下列语句正确的是:A.表达式Wednesday= =Friday的值是1B.Day day;day=3;C.Day day;day=Monday+3;D.Day day;day=Tuesday+10; 18.以下程序的执行结果是#includevoid main( ){ int a[9]={1,2,3,4,5,6,7,8,9},*p[3];for(int i=0;i<3;i++)p[i]=&a[i*3];cout<<p[1][2]<<endl;< p="">}A.9B.6C.3D.219.下列程序段的输出结果是#includevoid fun(int *x,int *y)*x=3;*y=4;}void main( ){ int x=1,y=2;fun(&y,&x);cout<<x<<y<<endl;< p="">}A.2143B.1212C.1234D.211220.对于运算符>>,其重载函数是一个A.用于输入的友元函数B.用于输入的成员函数C.用于输出的友元函数D.用于输出的成员函数二、基本概念填空题(1题2分)1.在用class定义一个类时,数据成员和成员函数的默认权限是【1】。
VC程序设计期末复习题集学生用一、选择题1. 在VC程序设计中,以下哪个是C++预处理指令?A. #includeB. coutC. mainD. cin2. 下列关于数组的说法正确的是:A. 数组可以存储不同类型的数据B. 数组的大小可以在程序运行时改变C. 数组的下标从1开始D. 数组的大小必须是常量3. 下面哪个关键字用于定义一个类的成员函数?A. publicB. privateC. classD. void4. 下面哪个函数将子字符串插入到另一个字符串中?A. strcatB. strcpyC. strstrD. strncat5. 在VC程序设计中,以下哪个是C++的输入操作符?A. >>B. <<C. &D. |二、填空题1. 下划线是一个合法的变量名吗?(是/否)2. 下划线是一个有效的标识符吗?(是/否)3. 在VC程序中,使用的"cout"函数是属于哪个命名空间的?4. 在C++中,整数类型的常量默认是什么类型?(int/float/double)5. 使用toint()函数可以将浮点数转换为整数。
(是/否)三、简答题1. 请解释C++中的面向对象编程(OOP)是什么意思。
2. 请解释C++中的继承是什么,并举例说明。
3. 请解释C++中的多态是什么,并举例说明。
4. 简要描述函数重载的概念,并给出一个函数重载的例子。
四、编程题1. 编写一个程序,输入一个整数n,输出1到n之间的所有偶数。
2. 编写一个程序,输入一个字符串,将字符串反转并输出。
3. 编写一个程序,输入一个正整数n,计算n的阶乘并输出。
4. 编写一个程序,输入一个字符串,统计字符串中的大写字母、小写字母、数字和其他字符的个数,并输出结果。
以上是VC程序设计的期末复习题集,学生可以通过完成这些题目来加深对VC程序设计的理解和掌握。
在解答问题时,建议注明每个选择题的正确答案或填空题的具体填写内容,以便于检查和对比答案。
1、若变量a=1,则表达式 (! a | a )的结果是______1_______。
2、类的继承方式有__private(私有继承)_、_public(公有继承)和_protected(保护继承)。
3、如果一个函数需要返回整型值,则函数类型应声明为___int__________。
4、要调用函数STRCMP( ),指明头文件的命令行_string.h_________。
5、__循环语句__语句和__switch_语句不能出现在内联函数体内。
6、在面向对象方法中,类是_C++的一种数据类型_。
7、类的封装的目的是_将数据与操作数据的函数代码进行有机的结合,形成类(其中数据和函数都是类的成员),实现封装是用_类。
8、派生类的对象对它的基类成员中,_公有成员__是可以访问的。
1、执行完下列语句后,n的值为多少?( c )static int n;for( ;n<=10;n++) n+=2;(A)10 (B)11(C)12 (D)不确定值4、下面关于构造函数的描述错误的是( b )(A)函数名与类名相同(B)不能是内联函数(C)没有返回值(D)可以重载5、int a[2][3]={1,2,3,4,5,6};下面错误的说法是( d )(A)a数组是一个二行三列的数组(B)a与&a[0]等价(C)a[1][1]元素的值是5 (D)a是变量7、下面循环的循环次数是( a )int i; for(i=3;i<10;i=i+2)i++;(A)3 (B) 4 (C)5 (D)69、以下能构成函数重载的是( d )(A)int max (int x, int y) (B)int max (int x,int y) void max(int x, int y) int max (int a,int b) (C)int max(int x, int y)(D)int max (int x,int y)void max(int a, int b) char max(char x,char y)10、下面哪个是合法的字符串( a )(A)“”(B)‘a’(C)‘xyz’(D)1231、请简单描述,在VC环境中创建一个对话框窗口的过程。
VC++复习题选择题1. 以下重点字中哪一个不是用于类的接见控制的( B )A . public B. friend C. private2. 以下四个特征中哪一个不属于面向对象的三大特征(A .封装性 B. 多态性 C. 抽象性3.管理 MFC 应用程序( A )C)D. protectedD. 继承性A. CWinAPPB. CmainFrameC. CDoucumentD. CView4.对于结构函数,以下说法不正确的是( A )A. 一个类中有且仅有一个结构函数B. 结构函数在说明类变量时被自动履行C. 结构函数没有返回值种类D. 类中的结构函数的函数名与该类的类名一定同名5.对于析构函数,以下说法不正确的是(C)A. 类中有且仅有一个析构函数B. 析构函数能够没有形参C. 析构函数没有返回值种类D. 析构函数在对象消逝时被自动履行6.以下类中不属于 MFC 框架基本类的时( D)A. CWinAppB. CFrameWndC. CViewD. CObject7.以下选项中哪一个不是命令信息的产生门路( C )A. 选择菜单B. 单击工具栏C. 点击对话框的按钮D. 程序产生命令8. 以下对于结构函数的描绘中,错误的是(D)A. 结构函数能够设置默认参数B. 结构函数在定义类对象时自动履行C. 默认结构函数能够没有D. 结构函数不可以够重载9. 当在使用类模板时,类模板自己被实例化成了一个详细的(D)A. 对象B. 实例C. 模板类D. 类10. 以下四个对于类的接见控制的描绘哪一个是错误的(D)A.子类不可以接见其父类的私有数据成员和成员函数B.子类的对象不可以接见其父类的保护数据成员或许成员函数C.类的对象不可以接见类保护数据成员或许成员函数D.类的成员函数不可以接见类中的私有数据11.下边有关重载函数中说法正确的( C )A. 重载函数一定有不一样的返回值种类B. 重载函数形参个数一定不一样C. 重载函数一定有不一样的形参列表D. 重载函数名能够不一样12.一个视图对象能连结()文档对象,一个文档对象能连结(D)视图对象。