VisualC程序设计笔试试卷.doc

上传人:wux****ua 文档编号:7956038 上传时间:2020-03-26 格式:DOC 页数:7 大小:62.50KB
返回 下载 相关 举报
VisualC程序设计笔试试卷.doc_第1页
第1页 / 共7页
VisualC程序设计笔试试卷.doc_第2页
第2页 / 共7页
VisualC程序设计笔试试卷.doc_第3页
第3页 / 共7页
点击查看更多>>
资源描述
第二部分 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)int y,int n (20)yi或yi!=0 (21)yj=0 (22)count%10=0或!(count%10)或!(count%10!=0) (23)new doublesize或new doublesz (24)listi=v.listi (25)ostream& operator (26)istream& operator (27)p2-datadata (28)p1-data (29)p1-data (30)p=p-next
展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 图纸专区 > 考试试卷


copyright@ 2023-2025  zhuangpeitu.com 装配图网版权所有   联系电话:18123376007

备案号:ICP2024067431-1 川公网安备51140202000466号


本站为文档C2C交易模式,即用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知装配图网,我们立即给予删除!