VisualC程序设计笔试试卷.doc_第1页
VisualC程序设计笔试试卷.doc_第2页
VisualC程序设计笔试试卷.doc_第3页
VisualC程序设计笔试试卷.doc_第4页
VisualC程序设计笔试试卷.doc_第5页
已阅读5页,还剩2页未读 继续免费阅读

下载本文档

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

文档简介

第二部分 Visual C+程序设计一、选择题21下列数组定义中错误的是 (21) 。Aint a12=l; Bint a22=l,2;Cint a33; Dint a43;22以下选项中不能作为用户自定义标识符的是 (22) 。Aa_bc Ba+bc C_time DName23若有“char p=”AOBCODEFn”,则strlen(p+4)的值是 (23) 。A0 B1 C2 D4 24若有“char*p=Hello;”,则以下选项中错误的是 (24) 。Achar&a=*p; Bchar*s=*p; Cchar *q;p+2; Dp=p+2;25以下选项中没有this指针的函数是 (25) 。A内联成员函数 B构造函数 C静态成员函数 D析构函数26以下选项中正确的是 (26) 。A“char*a=china;”等价于“char*a;*a=”china;”B“char str10= child;”等价于“char str10;str=china;”C“char*s=china;”等价于“char*s;s=china;”D“char c4=abc,d4= abc;”等价于“char c4=d4= abc;”27若通过类的成员函数和友元函数所实现的运算符重载的功能是一样的,下列说法正确的是 (27) 。A这两种函数的参数相同,函数体实现过程不同B编译器对这两种函数编译时所作的解释相同C这两种函数都带有this指针D友元函数比成员函数多一个参数28以下选项中错误的是 (28) 。A派生类可以继承多个基类 B可以有多个派生类继承同一个基类C派生类可以有多个虚基类 D抽象类必须是虚基类29以下函数定义中能正确编译的是 (29) 。Adouble fun(int x,int y)double z;z=x+y;return z;Bdouble fun(int x,int y)z=x+y;return z;Cdouble fun(int x,int y)int x,y;double z;z=x+y;return z;Ddouble fun(int x,y)int z=x+y;return z;30若定义类CA:class CApublic: CA(int x=0);执行语句“CA a(4),b3,*p2;”,则自动调用该类的构造函数的次数为 (30) 。A6 B4 C3 D1二、填空题基本概念题(共5分)1执行以下语句: int a5=25,14,27,18,*p=a;(*p)+;则*p的值为 (1) ,再执行语句:*p+; 则*p的值为 (2) 。2在c+中,将多态性分为静态多态性和动态多态性两种。函数重载属于 (3) 多态性,虚函数属于 (4) 多态性。3当一个类只能作为派生类的基类,不能用来说明这种类的对象时,这种类称为 (5) 。阅读程序题(共13分)4以下程序输出的第一行是 (6) ,第二行是 (7) ,第三行是 (8) 。#includeint a=5:void main(void)int a=10,b=20; couta,bendl; int a=0; for(int i=1;i5;i+) a+=i;b+=a; couta,bendl;couta,bendl;5以下程序输出的第一行是 (9) ,第二行是 (10) 。#includeint f1(int n)n+=2; return n*n:int f2(int &n)n+=2; return n*n;void main(void) int m=5,n=3; m=f1(n); coutm,nendl; m=f2(n); coutm,nendl;6以下程序输出的四行分别是 (11) 、 (12) 、 (13) 和 (14) 。#includedouble f1(double x)return x+x;double f2(double(*f)(double x),int a)int x;double sum=0; for(x=a;x=a+1;x+) sum+=f(x)*f(x); return sum;void main(void)double sum;for(int i=1;i5;i+) sum=f2(f1,i); coutsumendl: 7以下程序输出的第一行至第三行分别是 (15) 、 (16) 和 (17) 。#include#includeclass Personpublic: Person(char*s)name=new charstrlen(s)+1;strcpy(name,s); virtual void print()cout”我的名字是”name”。n”;protected; char *name;class Student:public Personpublic: Student(char*s,float g):Person(s)gpa=g; void print(char*s) couts”我的名字是”name”,我的年薪是”gpa”万元。n”;private: float gpa;class Professor public Personpublic: Professor(char*s,int n):Person(s)pubis=n; void print()cout”我的姓名是”name”,我已出版了“ pubisprint();P=&y;P-print();P=&z;p-print();8以下程序输出的结果是 (18) 。#includevoid main(void)int a44=1,2,3,4,2,2,5,6,3,5,2,7,4,6,7,4;int i,j,flag=0; for(j=0;j4;j+) for(i=0;i=j,i+) if(aji=aij)continue; flag=1: if(flag)cout”No!”endl; else cout”All Right!”endl;完善程序题(共12分)9以下程序用筛选法求出2300之间的所有素数(质数)。程序在输出计算结果(素数)时,每一行输出10个数。算法说明:先将2,3,5,7,9,11,13,15,299放人数组num中。若numi(i=0,l,2,3,148)不为0,则对数组中在numi之后的每一个元素numj进行处理;若该元素是numi的倍数,则该元素不是素数并将该元素置为0。最后,数组num中不为0的元素均是素数。#includevoid prime( (19) )for(int i=0;in-1;i+) for(int j=i+1;jn;j+) if( (20) ) if(yj&yj%yi=0) (21) ;void main(void)int num150; numO=2; for(int i=1;i150;i+)numi=2*i+1; prime(num,150); int count=O; for(i=0;i150;i+) if(numi) count+: coutnumit; if( (22) )coutn; coutn: cout”求出的素数个数为:”count”n”;10以下程序实现一个由动态数组构成的线性表的类,在该类的线性表中存放若干个实数。通过重载赋值运算符实现两个线性表对应元素间的赋值,重载提取运算符完成线性表的输人,重载插入运算符完成线性表的输出。#includeclass List int size; double *list;public: List(int=1,double =00); List()deletelist; List &operator=(const Lis t&); friend ostream &operator(ostream&,List&); friend istream &operator(istream&,List&);;List:List(int sz,double t)size=sz;list= (23) ;for(int i=O;isize;i+)listi=t;List&List:operator=(const List &V) if(&v!=this) deletelist; size=vsize: list=new doublesize; for(int i=0;isize;i+) (24) ; return *this; (25) (ostream &os,List &v)int i;for(i=O:ivsize;i+) osv1isti,; if(i+1)%8=O)os(istremn &is,List &v)for(int i=0;ivsize;i+) coutiv1isti; return is;void main(void)List a(4),b(4); coutb; cout”b:”bendl; a=b;cout”a:”anext!=NULL) p1=p; p2=p-next; while(p2!=NULL) if( (27) )p1=p2; p2=p2-next; if(p!=p1)int t; t=p-data; p-data= (28) ; (29) =t; (30) ; return head;参考答案第一部分基础知识 (1)A (2)B (3)D (4)C (5)C (6)B (7)A (8)B (9)A (10)C (11)A (12)D (13)B (14)C (15)A (16)D (17)B (18)D (19)D(20)A第二部分Visual C+程序设计一、选择题 (21)D (22)B (23)A (24)B (25)C (26)C (27)D (28)D (29)A (30)B二、填空题 (1)26 (2)14 (3)静态 (4)动态 (5)抽象类 (6)10,20 (7)10,40 (8)10,40 (9)25,3 (10)25,5 (11)20 (12)52 (13)100 (14)164 (15)我的名字是张刚。 (16)我的名字是王强。 (17)我的姓名是李明,我已出版了5本教材。 (18)All Right! (19)

温馨提示

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

评论

0/150

提交评论