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

下载本文档

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

文档简介

学号: 姓名: 年级: 专业:密封线大学计算机与信息工程学院20122013学年第二学期期末考试C+程序设计 试卷A卷考试方式:闭卷考试时间:120分钟卷面总分:100分题 号一二三四总成绩合分人得 分得分评阅人一、单项选择题(将答案写在每题后括号内,本题共15题,每题2分,共30分)1、在C+中,源程序变为可执行程序的正确顺序应该是( ) A. 编辑、链接、编译、执行 B. 编辑、编译、链接、执行 C. 编译、编辑、链接、执行 D. 编译、链接、编辑、执行2、按C+中对标识符的语法规定,合法的标识符是( )A. _2Test B. a! C. long D. a|b3、能将数学表达式a=c=b表示为正确的c+表达式的是( ) A. a=c=b B. c=b C. c=a & c=a | c=b4、下面程序的运行结果是( )#includeusing namespace std; int main() int num=1; int &ref=num; ref=ref+2; coutnum; num=num+3; coutrefendl; A. 36 B. 16 C. 13 D. 335、定义一个函数实现交换x和y的值,并将结果正确返回。能够实现此功能的是( )A. swap(int x, int y) int t; t=x; x=y; y=t; B. swap(int *x, int *y) int t; t=x; x=y; y=t; C. swap(int *x, int *y) int t; t= *x; *x = *y; *y=t; D. swap(int *x, int *y) int *t; t=x; x=y; y=t; 6、下面程序的运行结果为( )#includeusing namespace std; int main() char a=3; switch(a) case3:cout3; case2:cout2;break; default:cout1; A. 3 B. 321 C. 31 D. 327、下列语句段将输出字符*的个数为( )int i = 100;while(1)i -;if ( i=0) break;cout *; A. 99个 B. 98个 C. 100个 D. 101个学号: 姓名: 年级: 专业:密封线8、下面程序错误的语句是( )int main() int *p=new int1; p=9; cout *p endl; delete p; A. B. C. D. 9、C+语言中,形参与实参之间的数据传递方式是( ) A. 只能按值传递 B. 只能按地址传递 C. 既可以按值传递也可以按地址传递 D. 以上说法都不对10、以下程序的输出结果是( )#includeusing namespace std;int main ()char b=”Hello ,you”;b5=0; cout b; A. Hello,you B. Hello C. HeloOyou D. Hell11、对于任何一个类,析构函数最多有( ) 个 A. 0 B. 1 C.2 D. 412、设有基类定义:class Cbase private: int a; protected: int b; public: int c; ;派生类采用何种继承方式可以使成员变量b成为自己的私有成员( ) A.私有继承 B.保护继承 C.公有继承 D.私有、保护、公有均可13、若要把函数void f()定义为类aClass的友元函数,则应该在类aClass的定义中加入的语句是( ) A. void f( ); B. static void f( ); C. friend f( ); D. friend void f( );14、下列关于运算符重载的描述中,正确的是( )A、运算符重载可以改变操作数的个数B、运算符重载可以改变优先级C、运算符重载可以改变结合性D、运算符重载不可以改变语法规则15、下面是对类MyClass的定义,对定义中语句描述正确的是( )class MyClasspublic:void MyClass(int a) X=a; /int f(int a,int b) / X=a;Y=b; int f(int a,int b,int c=0) / X=a;Y=b; Z=c;static void g() X=10; /private: int X,Y,Z; A. 语句是类MyClass的构造函数定义 B. 语句是类和语句实现类成员函数的重载 C. 语句实现对类成员变量X的更新操作 D. 语句、和都不正确得分评阅人二、程序填空(将答案写在下划线上,本题共10空,每空3分,共30分)1、函数strcpy将数组b中字符串复制到数组a中。(从给出答案中选择)void strcpy(char a,char b)int i=0;while( ) ai=bi;学号: 姓名: 年级: 专业:密封线 ; ; A.bi!=0 B.ai!=0 C.bi=0 D.ai=0 E.i+2、打印200到500之间的所有素数(即除1和它本身再没有其它约数的数)。(请从给出的答案中选择)#include#includeusing namespace std;int main( ) int i,j;for (i=200;i=500;i+) bool isPrime=true;int temp=int(sqrt(i);for (j=2; ;j+) if (i%j=0) ;break; if ( ) coutit; return 0;A. j=temp; B. j=i; C. isPrime=true; D. isPrime=false; E. isPrime;3、下面函数实现将数组中数据从小到大排序。(请从给出的答案中选择)void bubblesort( int data, int n ) /冒泡排序int temp;for (int i=1; in; i+)for (int j=0; ; j+)if ( ) temp = dataj;dataj = dataj+1;dataj+1 = temp;A. jn-i-1 B. jdataj+1; D. datajdataj+1;4、下面程序的运行结果如下,请将程序补充完整。(从给出答案中选择)姓名:ZhangSan学号:21050101#include #include using namespace std;class CPersonpublic: CPerson() CPerson(char *name) strName=(char*) new charstrlen(name)+1; strcpy(strName, name); CPerson( ) /拷贝构造函数 strName=(char*) new charstrlen(p.strName)+1; strcpy(strName, p.strName);protected:void ShowInfo() cout姓名:strNameendl; private: char * strName; 学号: 姓名: 年级: 专业:密封线;class CStudent :public CPersonpublic:CStudent(char *name, char *no): strcpy(stuno, no);void ShowInfo() CPerson:ShowInfo(); cout学号:stunoendl; private:charstuno20; ;int main()CStudent one(ZhangSan, 21050101 );one.ShowInfo();return 0;A.CPerson *pB.CPerson & p C.CPerson(name) D.CPerson=name得分评阅人三、读程序写结果(本题共4题,每题5分,共20分)1、下面程序运行后,输出结果是什么?(5分)#include using namespace std;int fun(int n) static int m=2;m=m+n;return m;int main( ) int a=3,b=4;int x;x=fun(a);x=fun(b);coutxendl;return 0;程序运行结果为:2下面程序运行后,输出结果是什么?(5分)#include using namespace std;class A public:A(char *s) coutsendl; A() ;class B:virtual public A public:B(char *s1, char *s2):A(s1) couts2endl; ;class C: virtual public Apublic:C(char*s1,char *s2):A(s1) couts2endl;学号: 姓名: 年级: 专业:密封线class D:public B,public Cpublic:D(char *s1, char *s2,char *s3, char *s4):B(s1,s2),C(s1,s3),A(s1) couts4endl; ;int main( )D *p=new D(class A,class B,class C,class D);delete p;程序运行结果为:3、下面程序运行后,输出结果是什么?(5分)/file1.cppstatic int i=20;int x;void f(int v) x=g(v); static int g(int p) return i+p;/file2.cpp#include using namespace std;extern int x;void f (int);int main() int i=5;f(i);coutx; 程序运行结果为:4、下面程序运行后,输出结果是什么?(5分)#include using namespace std;class Apublic:A(double t, double r):total(t),rate(r)friend double count(A&);private: double total;double rate;double count(A& a)a.total+=a.rate*a.total;return a.total;int main( ) A x(80,0.5),y(100,0.2); coutcount(x),count(y)n; coutcount(x)n; return 0;程序运行结果为:得分评阅人学号: 姓名: 年级: 专业:密封线四、编程题(本题共2题,每题10分,共20分)1、打印出所有的水仙花数。(所谓水仙花数是指一个三位数,其各位数字立方和等于该数本身)2、描述一

温馨提示

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

评论

0/150

提交评论