南昌大学C++期末考试试卷(答案全)(2)

2020-02-21 18:19

四、 程序阅读题 (每小题5分,共20分) 1、 Hellow Third 2、 2 5 8 11 14

52,51 Destructor A! 6 Destructor B! 0 Destructor A! 5

五、 程序设计题 (每小题10分,共20分)

2、 51,51 4、 Destructor B! 7 1、

#include bool prime(int n); void main() { int sum=0;

for(int i=100;i<300;i++) if(prime(i)) sum+=i; cout<<\}

bool prime(int n) {

for(int i=2;i

if (n%i == 0) {

return false; } }

return TRUE; }

2、#include using namespace std; class Clock { public:

void SetTime(int h=0,int m=0,int s=0); void ShowTime(); private:

int Hour,Minute,Second; };

void Clock::SetTime(int h,int m,int s) {Hour=h; Minute=m; Second=s; }

void Clock ::ShowTime() {

cout<

void main() {

Clock MyClock;

MyClock.SetTime(8,10,30); MyClock.ShowTime()

南昌大学2009~2010学年第一学期C++程序设计期末考试试题A卷

一、 说明:请将前面4个大题的答案写到答题卡上 单项选择题(每小题2分,共30分)

1、 C++程序从上机到得到结果的几个操作步骤依次是________。 A. 编译、编辑、连接、运行 B. 编辑、编译、连接、运行 C. 编译、运行、编辑、连接 D. 编辑、运行、编辑、连接

2、 设int a=15,b=26;,则cout<<(a,b);的输出结果是________。 A. 15 B. 26,15 C. 15,26 D. 26 3、 x>0 && x<=10的相反表达式为 ________。 A. x<=0 || x>10 B. x<=0 && x>10 C. x<=0 || x<=10 D. x>0 && x>10

4、 在下面循环语句中循环体执行的次数为________。 int i=0,s=0; while(s<20) {i++; s+=i;} A. 4 B. 5 C. 6 D. 7

5、 在下面的二维数组定义中,正确的是________。 A. int a[5][ ]; B. int a[ ][5]; C. int a[ ][3]={{1,3,5},{2}}; D. int a[ ](10); 6、 以下叙述中不正确的是________。 A. 在一个函数中,可以有多条return语句 B. 函数的定义不能嵌套,但函数的调用可以嵌套 C. 函数必须有返回值

D. 不同的函数中可以使用相同名字的变量

7、 为了提高程序的运行速度,可将不太复杂的功能用函数实现,此函数应选择________。

A.内联函数 B.重载函数 C.递归函数 D.函数模板 8、 若用数组名作为函数调用的实参,传递给形参的是________。 A. 数组的首地址 B. 数组中第一个元素的值 C. 数组全部元素的值 D. 数组元素的个数

9、 类的构造函数是在定义该类的一个________时被自动调用执行的。

A. 成员函数 B. 数据成员 C. 对象 D. 友元函数 10、 设存在函数int max(int,int)返回两参数中较大值,若求22,59,70三者中最大值,下列表达式不正确的是________ A.int m = max(22,max(59,70)); B.int m = max(max(22,59),70);

C.int m = max(22,59,70); D.int m = max(59,max(22,70));

11、 对class point,如使用point * ptr=new point[2];创建对象数组,则删除此数组使用的语句是________。 A. delete ptr[2]; B. delete[ ] ptr; C. delete ptr[ ]; D. delete[2] ptr; 12 类A中存在静态数据成员x,设a和b是类A的两个对象,在执行a.x=10之后,b.x的值为________。

A. 未初始化 B. 等于a.x C. 等于0 D. 随机

13、 假定一条定义语句为“int a[10], x, *pa=a;”,若要把数组a中下标为3的元素值赋给x,则不正确的语句为________。 A. x=pa[3]; B. x=*(a+3); C. x=a[3]; D. x=*pa+3;

14、 假定k是一个double类型的变量,则关于变量p的正确定义语句为________。

A. double p=&k; B. int *p=&k; C. double &p=*k; D. char *p=”Thank you!”; 15、 定义p并使p指向动态空间中的包含30个整数的数组所使用的定义语句为________。

A. int *p=new int[30]; B. int *p=new int(30); C. int *p=new [30]; D. *p=new int[30];

二、 判断题,对的画√,错的画×(每小题 1分,共 10 分)

( )1、 在说明语句 int a(15),&b=a,*p=&a;中,b的值与*p的值是不相等的。

( )2、 break语句也可以用于switch体内,它可退出switch语句。

( )3、 在一个被调用函数中,一个return语句可返回多个值给调用函数。

( )4、 宏定义命令是以分号结束的。

( )5、 do -while循环语句的循环体至少执行一次。 ( )6、 函数形参的作用域是该函数的函数体。 ( )7、 静态类标识符在它的作用域之外是不存在的。 ( )8、 对象成员的表示与结构变量成员表示相同,使用运算符.或->。

( )9、 某类中的友元类的所有成员函数可以存取或修改该类中的私有成员。

( )10、 const char *p说明了p是指向字符串的常量指针。

三、 填空题(每空 2分,共 20 分) 1、 一个完整程序中必须有一个名为_【1】 _的函数。 2、 程序中的预处理命令是指以___【2】___字符开头的命令。 3、 假定x=5,y=6,则执行表达式y*=x++计算后, y的值为____【3】___。

4、 为语句标号使用的C++保留字case和default只能用于___【4】___语句的定义体中。

5、 若只需要通过一个成员函数读取数据成员的值,而不需要修改它,则应在函数头的后面加上___【5】_____关键字。

6、 若在类的定义体中只给出了一个成员函数的原型,则在类外给出完整定义时,其函数名前必须加上___【6】____和两个冒号分隔符。

7、 假定用户只为类AB定义了一个构造函数“AB(int aa, int bb=0) {a=aa; b=bb;}”,则定义该类的对象时,其实参表中至多带有___【7】__个实参。

8、 完成下面类中的成员函数的定义。 class point { private: int m,n; public:

point(int,int); point(point&); };

point::point(int a,int b) { m=a;n=b; } point::point(__【8】_)

{ m=t.m; n=t.n; }

9、 完成下面类中的成员函数的定义。 class A { int a,b; public:

A(int aa=0, int bb=0) __【9】___ {} // 分别用aa和bb对应初始化a和b }; main() {

A x(5),y(x); // 定义类A的对象x并用5初始化,同时定义y并用x初始化

___【10】__ ; // 定义p指针,使之指向对象x }

四、 阅读程序,写出各程序运行后的输出结果(每小题5分,共20分) 1、 #include

using namespace std;

void fun(int a,int * b, int *c,int &d); void main( ) {

int a1=10,a2=20,a3=30,a4=40; fun(a1,&a2,&a3,a4); cout<<”a1=”<

void fun(int a,int * b, int *c,int &d) {

a++; b++; (*c)++; d++; return; }

2、 #include void main()

{ int i,j,k;

for(i=1;i<=4;i++) {

for(k=1;k<=4-i;k++) cout<<' '; for(j=1;j<=2*i-1;j++) cout<<'*'; cout<

函数重载;②成员函数设置缺省参数;③定义一个成员函数PrintDate来打印日期;④定义一个非静态成员函数SetDate来设置日期。

南昌大学 2009~2010学年第一学期期末考试试卷

C++程序设计(A卷)参考答案

一、 单项选择题(每小题2分,共30分) 1 B2 D3A4C5C6C7A8A9C10C11 B12B 13D 14D15A 二、 判断题(每小题1分,共 10 分) 1×2√ 3×4 ×5√6√7×8√9√10× 三、填空题(每空2分,共20分)

【1】 main (或 主) 【2】 # 【3】 30 【4】 switch

【5】 const 【6】 类名 【7】 两(或 2) 3、 #include class CE {

private: int a,b;

int getvalue () {return (a>b? a:b);} public: int c

void SetValue(int x1,int x2, int x3) { a=x1; b=x2; c=x3; } int GetValue (); }; int CE::GetValue () { int d=getvalue (); return (d>c? d:c); }

void main()

{ int x=5,y=12,z=8; CE ex;

ex.SetValue(x,y,z); cout<

4、 #include class Point { int x,y; public:

Point(int x1=0, int y1=0) :x(x1), y(y1) { cout<<\}

~Point() {

cout<<\} };

class Circle {

Point center; //圆心位置 int radius; //半径 public:

Circle(int cx,int cy, int r):center(cx,cy),radius(r) { cout<<\}

~Circle() {cout<<\}; void main()

{ Circle c(3,4,5); }

五、 程序设计题 (每小题10分,共20分) 1、 设计一程序,它输入10个整数到一个数组中,调整这10个数在数组中的位置,使得其中最小的一个数成为数组的首元素,最大的一个数成为数组的末元素。

2、 定义一个处理日期的类CDate,它有3个私有数据成员:Year,Month,Day和若干个公有成员函数,并实现如下要求:①构造

【8】 point& t 【9】 :a(aa),b(bb) 【10】

四、 程序阅读题 (每小题5分,共20分) 1、 错1个扣1分 a1=10 a2=20 a3=31 a4=41

2、 有三角形状,得3分 * *** ***** *******

3、 格式不对,扣1分 12 20

4、 顺序不对,扣1分 Point:3 4 Circle radius:5 Circle destructor! Point destructor!

五、 程序设计题 (每小题10分,共20分)

1、 #include #define SIZE 10 void main() {

int data[SIZE]; int m;

cout<<\请输入\个整数:\ for(m=0;m>data[m]; int j=0,k=0;

for(int i=1;idata[j])j=i; else if(data[i]0){

int d=data[0]; data[0]=data[k]; data[k]=d; }

if(k

int d=data[SIZE-1]; data[SIZE-1]=data[j]; data[j]=d; }

cout<

for (m=0;m

2、 #include class CDate { public:

CDate () //函数重载

A * p=&x

{ Year=1990;Month=1;Day=1; }

CDate (int y,int m=1,int d=1) //成员函数设置缺省参数

{ Year=y;Month=m;Day=d; } void PrintDate (); //打印日期

void SetDate(int sy,int sm,int sd) //非静态函数设置日期 {Year=sy;Month=sm;Day=sd;}

private:

int Month,Day,Year; //3个私有数据成员 };

void CDate::PrintDate()

{ cout<< Year<<\


南昌大学C++期末考试试卷(答案全)(2).doc 将本文的Word文档下载到电脑 下载失败或者文档不完整,请联系客服人员解决!

下一篇:08-03容量筒自校规程

相关阅读
本类排行
× 注册会员免费下载(下载后可以自由复制和排版)

马上注册会员

注:下载文档有可能“只有目录或者内容不全”等情况,请下载之前注意辨别,如果您已付费且无法下载或内容有问题,请联系我们协助你处理。
微信: QQ: