您好,欢迎来到六九路网。
搜索
您的当前位置:首页C++程序设计语言 ( 第3次 )

C++程序设计语言 ( 第3次 )

来源:六九路网


第3次作业

一、填空题(本大题共20分,共 10 小题,每小题 2 分)

1. 面向对象的程序设计语言具有 ______ 等共同特性.

2. C++程序由函数构成,它总是由主函数 ______ 开始.

3. 在C++中,如果一个类具有多个类的特征,则我们常常采用多重继承方式实现;若函数int fun(float r)为类X中的纯虚函数,则在类X中应该使用的声明语句为 ______

4. 假定要访问一个结构指针p所指对象中的b指针成员所指的对象,则表示方法为 ______ .

5. 假定p所指对象的值为25,p+1所指对象的值为46,则执行“(*p)++;”语句后, p所指对象的值为 ______ .

6. 已知'A'('Z'的ASCII码为65(90,当执行“char ch=14*5+2;cout<7. 以下函数完成求表达式宿命sum(x)=-

http://course.5any.com/courselearning/App/DataApi/GetData的值,请填空使之完成此功能:

float sun(float x)

float s=0.0;

int sign=1;

______ ;

for(int i=1; ______ ;i++)

t=t*x;s=s+[blank];

sign=-sign;

} ______

8. 执行“cout<<43<<’-’<<18<<<43-18<

9. 下面程序的功能是求出从键盘上输入的一批常数的平均值,以-1作为结束输入的标志.请填空完成程序.

float FH()

{

float x,y=0,n=0;

cin >>x;

while ( ______ )

{

______ ;

______ ;

cin >>x;

}

if (n==0) return y;

else return y/n;

}

10. 阅读下面的函数fun,写出该函数的功能.

______ int fun(int n1, int n2)

{

int m1=n1, m2=n2;

int tmp;

if( n1 < n2 )

{

tmp = n1;

n1 = n2 ;

n2 = tmp ;

}

if(n2==0) return 0;

while( n1%n2 != 0 )

{

tmp = n1 % n2;

n1 = n2 ;

n2 = tmp;

}

return n2;

} (程序功能: )

二、程序阅读题(本大题共40分,共 4 小题,每小题 10 分)

1. 写出下面程序运行结果。

#include

int i;

void mypr()

{

for(i=0;i<10;i++)

cout<<'*';

cout<}

void main()

{

for(i=0;i<10;i++)

mypr();

}

2. 写出下面程序运行结果。

#include

class T1

{ int x;

public:

T1(int i)

{ x=i;

}

virtual void show()

{ cout<<\"基类T1的虚函数:show()\"<cout<<\"x= \"<}

};

class T2: public T1

{ int y;

public:

T2(int i,int j):T1(j)

{ y=i;

}

void show()

{ cout<<\"派生类T2的函数:show()\"<cout<<\"y= \"<}

};

void main()

{ T1 t1(10),*p;

T2 t2(100,20);

p=&t1;

p->show();

p=&t2;

p->show();

}

3. 写出下面程序运行结果。

#include

class T

{

int n;

public:

T(int a)

{

n=a;

cout<<\"调用构造函数!\"<}

~T()

{

cout<<\"调用析构函数!\"<}

void show()

{

cout<<\"n=\"<}

};

void main()

{

T *t1=new T(100);

T t2(200);

(*t1).show();

delete(t1);

t2.show();

}

4. 写出下面程序运行结果。

#include

class T

{

public:

int x;

T *operator->()

{

return this;

}

};

void main()

{

T ob;

ob.x=1000;

cout<ob->x=100;

cout<x<}

三、简答题(本大题共20分,共 4 小题,每小题 5 分)

1. 题目:什么是异常,常见的异常有哪些?

2. 阅读下面的函数fac,写出该函数的功能. i

nt fac(int n1, int n2)

{

int m1=n1, m2=n2;

int tmp;

if( n1 < n2 )

{

tmp = n1;

n1 = n2 ;

n2 = tmp ;

}

while( n1%n2 != 0 )

{

tmp = n1 % n2;

n1 = n2 ;

n2 = tmp;

}

return m1*m2/n2;

}

3. 为什么不能创建抽象类的实例对象?

4. 阅读程序,写出程序执行时输出结果.

#include const int SIZE=10;

class stack

{

char stck[SIZE];

int top;

public: void init();

void push(char ch);

char pop();

};

void stack::init()

{

top = 0;

}

void stack::push(char ch)

{

if(top==SIZE)

{

cout<<\"Stack is full.\\n\"; return ;

}

stck[top++]=ch;

}

char stack::pop()

{

if(top==0)

{

cout<<\"Stack is empty.\\n\";

return 0;

}

return stck[--top];

}

void main()

{

stack s1, s2;

s1.init();

s2.init();

s1.push(''a'');

s1.push(''b'');

s1.push(''c'');

s2.push(''x'');

s2.push(''y'');

s2.push(''z'');

for(int i=0; i < 3; i++) cout<<\"Pop s1:\"<<=\"\" s2:?<

四、程序设计题(本大题共20分,共 2 小题,每小题 10 分)

1. 编程序求表达式xy的最后三位数字,x和y的值从键盘上输入。

2. 编写程序实现功能:通过设计类Student来实现学生数据的输入/输出。学生的基本信息包括姓名、性别和年龄。

答案:

一、填空题(20分,共 10 题,每小题 2 分)

1.

参:

封装性,多态性,继承性

解题方案:

面向对象

评分标准:

每空2分

2.

参:

main

解题方案:

主函数

评分标准:

每空2分

3.

参:

virtual int fun(float r)=0

解题方案:

多重继承

评分标准:

每空2分

4.

参:

*(p->b) *((*p).b)

解题方案:

结构指针

评分标准:

每空2分

5.

参:

26

解题方案:

p所指对象

评分标准:

每空2分

6.

参:

H

解题方案:

ASCII码

评分标准:

每空2分

7.

参:

float t=1.0

i<=100

-sign*i/(t+sign*i)

return s

解题方案:

表达式

评分标准:

每空 2 分

8.

参:

43-18=25

解题方案:

输出流

评分标准:

每空2分

9.

参:

x!=-1 n++ y+=x

解题方案:

输入流

评分标准:

每空2分

10.

参:

找出两个整数n1和n2的最大公约数

解题方案:

函数fun

评分标准:

每空2分

二、程序阅读题(40分,共 4 题,每小题 10 分)

1.

参:

**********

解题方案:

评分标准:

2.

参:

基类T1的虚函数:show()

x= 10

派生类T2的函数:show()

y= 100

解题方案:

评分标准:

3.

参:

调用构造函数!

调用构造函数!

n=100

调用析构函数!

n=200

调用析构函数!

解题方案:

评分标准:

4.

参:

1000

100

解题方案:

评分标准:

三、简答题(20分,共 4 题,每小题 5 分)

1.

参:

异常是指在应用程序的运行过程中出现了程序运行时错误.常见的异常有:数组下标超界、不能正确地分配内存、调用无效函数、除数为0等.

解题方案:

异常处理

评分标准:

答对一个要点给2分,没答全扣2分

2.

参:

答案: 找出两个整数n1和n2的最小公倍数.

解题方案:

基础算法

评分标准:

答对一个要点给2分,没答全扣2分

3.

参:

在抽象类中包含着至少一个纯虚函数,纯虚函数是没有完成定义的函数,因而抽象类也可以认为是未定义完成的类,所以不能创建抽象类的实例对象.

解题方案:

抽象类的实例对象

评分标准:

答对一个要点给2分,没答全扣2分

4.

参:

Pop s1: c Pop s1: b Pop s1: a Pop s2: z Pop s2: y Pop s2: z

解题方案:

类的调用

评分标准:

答对一个要点给2分,没答全扣2分

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

1.

参:

#include

void main()

{

int x,y,last=1;

cout<<\"Input the x and y:\";

cin>>x>>y;

for(int i=1;i<=y;i++)

last=last*x%1000;

cout<}

解题方案:

评分标准:

2.

参:

#include

#include

class Student

{

char *chName;

bool bSex;

int iAge;

public:

Student()

{

chName=new char[10];

}

~Student()

{

delete [] chName;

}

void GetName(char cn[])

{

strcpy(cn,chName);

}

bool GetSex()

{

return bSex;

}

int GetAge()

{

return iAge;

}

void SetName(char *cn)

{

strcpy(chName,cn);

}

void SetSex(bool sx)

{

bSex=sx;

}

void SetAge(int ag)

{

iAge=ag;

}

};

void main()

{

Student st1;

char *cn;

int isex;

int iOld;

cn=new char[10];

cout<<\"请输入姓名:\";

cin>>cn;

cout<<\"请输入性别:\";

cin>>isex;

cout<<\"请输入年龄:\";

cin>>iOld;

st1.SetName(cn);

if(isex)

st1.SetSex(true);

else

st1.SetSex(false);

st1.SetAge(iOld);

cout<cout<<\"学生姓名:\"<cout<<\"学生性别:\"<cout<<\"学生年龄:\"<delete cn;

}

解题方案:

评分标准:

因篇幅问题不能全部显示,请点此查看更多更全内容

Copyright © 2019- 69lv.com 版权所有 湘ICP备2023021910号-1

违法及侵权请联系:TEL:199 1889 7713 E-MAIL:2724546146@qq.com

本站由北京市万商天勤律师事务所王兴未律师提供法律服务