VC++程序设计模拟试题1.docx
- 文档编号:16115698
- 上传时间:2023-07-10
- 格式:DOCX
- 页数:16
- 大小:19.60KB
VC++程序设计模拟试题1.docx
《VC++程序设计模拟试题1.docx》由会员分享,可在线阅读,更多相关《VC++程序设计模拟试题1.docx(16页珍藏版)》请在冰点文库上搜索。
VC++程序设计模拟试题1
VC++程序设计
一、选择题:
(1题1分)
1.以下选项中,哪一个是合法的字符常量
A."N" B.'\010'C.AD.65
2.表达式"(a=3*2,b=a/2),b-a,a+=2"的值是
A.-3B.6C.8D.12
3.有以下的程序段,其输出结果是
intx,y,z;
x=y=z=0;
x=++x||++y&&++z;
cout< A.1,1,1B.1,1,0C.1,0,0D.0,0,0 4.以下程序的执行结果是 #include classOBJ {intn; public: OBJ(inti=0){n=i;} operator++(){n++;} voidShow(){cout< }; voidmain() {OBJobj(3); ++obj; obj.Show(); } A.3B.4C.0D.1 5.设有以下程序段: inta[5]={0},*p,*q; p=a; q=a; 则下列选项中,合法的运算表达式是 A.p-qB.p+qC.p*qD.p%q 6.假设MyClass为一个类,则该类的拷贝的构造函数的声明语句为 A.MyClass&(MyClassx);B.MyClass(MyClassx); C.MyClass(MyClass&x);D.MyClass(MyClass*x); 7.以下程序的执行结果是 #include voidmain() {chars[]="1234356"; S[3]='\0'; cout< } A.12B.123C.1234D.123456 8.下面关于纯虚函数与抽象类的描述中,错误的是: A.纯虚函数是一种特殊的虚函数,它没有具体的体现 B.抽象类是指具有纯虚函数的类 C.一个基类中如果具有纯虚函数,该基类的派生类不能再是抽象类 D.抽象类只能作为基类来用,其纯虚函数的实现由派生类给出 9.以下程序段的输出结果是: intx=5; do{ x--; }while(! x); cout< A.5B.4C.0D.-1 10.下列虚基类的声明中,正确的是 A.classvirtualB: publicAB.virtualclassB: publicA C.classB: publicAD.classB: virtualpublicA 11.以下四组语句中不符合C++语法规则的是 A.chars[]="Nanjing";B.chars[20];s="Nanjing"; C.char*p="Nanjing";C.char*p;p="Nanjing"; 12.类MyClass的定义如下: classMyClass {intvalue; public: MyClass(){value=0;} SetVariable(inti){value=i}; }; 则以下各项对下面语句的描述中,正确的是: MyClass*p,my;p=&my; A.语句"p=&my;"是把对象my赋值给指针变量p B.语句"MyClass*p,my;"调用了两次构造函数 C.语句"*p.SetVariable(5);"是正确的调用形式 D.语句"p→SetVariable(5)"与语句"my.SetVariable(5)"是等价的 13.下面函数的功能是 intfun(char*x) {char*y=x; while(*y++); return(y-x-1); } A.求字符串长度B.比较两个字符串的大小 C.将字符串x复制到字符串yD.将字符串x连接到字符串y后面 14.有如下程序段 int**p,*s,k=20; s=&k; p=&s; 请指出**p所代表的是 A.&sB.&kC.sD.k 15.有以下程序: #include #include voidmain() {chars[]="\n123\\"; cout< } 该程序执行后的结果是 A.赋初值的字符串有错B.4,6C.0,6D.5,6 16.若有定义: int*p; 则下列各选项中,不同于表达式"*p=*p+1;"的是 A.*p++;B.++*p;C.*p+=1;D.++(*p); 17.定义如下枚举类型: enumDay{Monday,Tuesday,Wednesday,Thursday,Friday=2}; 则下列语句正确的是: A.表达式Wednesday==Friday的值是1B.Dayday;day=3; C.Dayday;day=Monday+3;D.Dayday;day=Tuesday+10; 18.以下程序的执行结果是 #include voidmain() {inta[9]={1,2,3,4,5,6,7,8,9},*p[3]; for(inti=0;i<3;i++) p[i]=&a[i*3]; cout< } A.9B.6C.3D.2 19.下列程序段的输出结果是 #include voidfun(int*x,int*y) {cout<<*x<<*y; *x=3; *y=4; } voidmain() {intx=1,y=2; fun(&y,&x); cout< } A.2143B.1212C.1234D.2112 20.对于运算符>>,其重载函数是一个 A.用于输入的友元函数B.用于输入的成员函数 C.用于输出的友元函数D.用于输出的成员函数 二、基本概念填空题(1题2分) 1.在用class定义一个类时,数据成员和成员函数的默认权限是【1】。 2.常量'\t'的数据类型是【2】。 3.已有声明"floatx;doubley;inta;",表达式: x+y/2+'a'-a的值的类型是【3】。 4.C++的编译预处理的功能分为三种: 宏定义、【4】和文件包含。 5.若已知a=2,b=0,则表达式a b的值为【5】。 6.在VisualC++6.0系统中,常数50存储在内存中,它占用【6】个字节。 7.C++语言的基本控制结构为顺序结构、【7】和循环结构。 8.在C++中,将多态性分为静态多态性和动态多态性两种。 函数重载属于【8】多态性。 9.变量按其作用域分全局变量和局部变量两种。 形式参数是【9】。 10.C++程序是从【10】函数开始执行的。 三、阅读程序(1题3分) 注: 以下程序开始均有语句: #include 1.#defineMIN(x,y)(x)<(y)? (x): (y) voidmain() {inti,j,k; i=10;j=15; k=10*MIN(i,j); cout< } 2.intf(void) {inta=10,b=0; staticintc=1; a+=b;b+=c; returnc=a+b; } voidmain(void) {cout< cout< } 3.#defineN5 intfun(char*s,chara,intn) {intj; *s=a;j=n; while(a j--; returnj; } voidmain() {chars[N+1]; intk; for(k=0;k<=N;k++) s[k]='A'+k+1; cout< } 4.intf(intn) {if(n==1) return1; else returnf(n-1)+1; } voidmain() {for(inti=1,j=0;i<3;i++) j=j+f(i); cout< } 5.voidmain() {intx=1,y=3; x++; {intx=0; x+=y*2; cout< } cout< } 6.intx; voidfunA(int&a,intb) {intfirst; first=a+b; a=2*b; b=first+4; } voidfunB(intu,int&v) {intsecond; second=x; v=second+4; x=u+v; } voidmain() {intfirst=0; intsecond=5; x=6; funA(first,second); funB(first,second); cout< } 7.voidmain() {char*str=''12123434''; intx1=0,x2=0,x3=0,x4=0,i; for(i=0;str[i]! ='\0';i++) switch(str[i]) {case'1': x4++; case'2': x3++; case'3': x2++; case'4': x1++; } cout< } 8.classA { public: A(){cout<<''CLASSA''< ~A(){} }; classB: publicA { public: B(){cout<<''CLASSB''< ~B(){} }; voidmain() {A*p; p=newA; B*q; q=newB; } 9.classBase { public: virtualvoidwho(){cout<<''classBase''< }; classDerived1: publicBase { public: voidwho(){cout<<''classDerived1''< }; classDerived2: publicBase { public: voidwho(){cout<<''classDerived2''< }: voidmain() {Base*p; Derived1obj1; obj1.who(); Derived2obj2; p=&obj2; p→who(); } 10.classMyClass {intm; public: staticintn; MyClass(){m=0;} voidsetvalue(){m++;n++;} voidoutput(){cout<<''m=''< }; intMyClass: : n=2; voidmain() {MyClassobj1,obj2; obj1.setvalue(); obj1.output(); obj2.setvalue(); obj2.output(); }; 四、完善程序(1空2分) 1.将下面语句段(b)补充完整,使其和语句段(a)在功能上完全一样 (a)doubles=1.0; for(intk=1;k<=10;k++) s+=1.0/(k*(k+1)); (b)doubles=0.0; 【1】; intk=0; do{s+=d; k++; d=1.0/(k*(k+1)); }while(【2】); 2.如果一个两位整数是质数,将组成它的两个数字交换位置后形成的整数仍然是质数,则称这样的数为绝对质数。 例如,13就是一个绝对质数。 以下的程序用于找出所有两位绝对质数。 注: 质数,又称素数,指只能被自身和1整除的整数,如11,13,17等。 #include intprime(intn)//判断整数n是否为质数,若是返回1,否则返回0 {for(inti=2;i if(【3】) return0; return1; } voidmain() {intm[2]; for(inti=10;i<100;i++) {m[0]=i; m[1]=【4】; if(prime(【5】)&&prime(m[1])) cout< } } 3.以下程序通过调用函数scat()将两个字符串连接起来,程序输出是Nanjing,China。 请填空。 #include voidscat(char*p,char*q) {while(*p++) p=p-1; while(*q) {【6】;} *p=0; } voidmain() {charstr[20]=''Nanjing,''; char*s=''China''; 【7】; cout< } 4.设已建立了一条链表,链表上结点的数据结构是: structnode{ floatEnglish,Math;//表示英语和数学成绩 node*next; }; 以下函数ave()的功能是求出该链表上的结点个数、英语和数学的总成绩,并在链首增加一个新结点,其分量English和Math分别存放这两门课的平均成绩。 若链表为空链表时,直接返回空指针。 请填空。 node*ave(node*head,int&count)//head是链首地址,count存放求出的结点个数 {node*p1; floatsume=0;summ=0; count=0; if(head==NULL)//空链表 returnNULL; p1=head; while(p1) {sume+=p1→English; summ+=p1→Math; count=count+1; 【8】; } p1=newnode; p1→English=sume/count; p1→Math=【9】; 【10】; head=p1; returnhead; } 五、编程题(10分) 建立一个数组类ARR,求一个整型数组中正数和负数的个数,具体要求如下: (1)私有数据成员: intn: 数组实际元素个数 inta[100]: 存放数组元素 intpos: 存放整型数组中正数的个数 intneg: 存放整型数组中负数的个数 (2)公有成员函数: ARR(intx[],intsize): 构造函数,用参数size初始化n,用x数组初始化a数组,将pos和neg初始化为0。 voidNum(): 求整型数组中正数和负数的个数。 voidShow(): 将数组以每行5个数的形式输出到屏幕上,同时输出数组中正数和负数的个数。 (3)在主函数中完成对该类的测试,定义一个整型数组b[]={3,-4,6,-8,10,-34,2, 80,-100},定义一个ARR类的对象,用b数组及其元素个数初始化该对象,统计数组中正数和负数的个数并输出程序的运行结果。 程序的运行结果应为: 3-46-810 -34280-100 pos=5neg=4
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- VC 程序设计 模拟 试题
![提示](https://static.bingdoc.com/images/bang_tan.gif)