河北科技大学 面向对象程序设计基础学习提纲(2)

2019-08-28 23:59

5、# include # include struct Worker{

char name[15]; // 姓名 int age; // 年龄 float pay; // 工资 };

void main() { Worker x;

char *t=\ int d=38; float f=493; strcpy(x.name,t); x.age=d; x.pay=f;

cout <

6、# include class A { int a; public:

A(int aa=0) { a=aa; }

~A() { cout <<\};

class B:public A { int b; public:

B(int aa=0,int bb=0):A(aa) { b=bb; }

~B() { cout <<\};

void main() {

B x(5),y(6,7); // 后定义的变量将先被释放 }

四、写出下列每个函数的功能(每小题6分,共24分) 1、# include int SA(int a,int b) { if (a>b) return 1;

else if (a==b) return 0; else return -1; }

第 6 页 共 17 页

2、float FI(int n) {

// n为大于等于1的整数 float x,y=0; do {

cin >>x; n--; y+=x*x; } while (n>0); return y; }

3、template

void WE(Type a[],Type b[],int n) { for (int i=0; i

4、struct StrNode {

char name[15]; // 字符串域 StrNode * next; // 指针域 };

void QB(StrNode * & f ,int n) { if (n==0) { f=NULL; return; } f=new StrNode; cin >>f->name; StrNode * p=f; while (--n) {

p=p->next=new StrNode; cin >>p->name; }

p->next=NULL; }

五、编写程序,把从键盘上输入的一批整数(以-1作为终止输入的标志)保存到文本文件“a:xxk1.dat”中。(10分)

一、单选题(每小题1分,共6分)

评分标准:选对者得1分,否则不得分。

1、A 2、A 3、C 4、C 5、B 6、B 二、填空题(每小题2分,共24分)

评分标准:每题与参考答案相同者得2分,否则不得分。 1、 : } 2、 C

第 7 页 共 17 页

3、 4 8 4、 x+y<=5 5、 8 32

6、 局部 7、 *(a[i]+j) 或 *(*(a+i)+j) 8、 20 9、 初始化表 函数体 10、 10 11、 AB::bb

三、给出下列程序运行后的输出结果(每小题6分,共36分)

评分标准:每题与参考答案的数据和显示格式完全相同者得6分,否则酌情给分。

1、 good! pass! bad! well! 2、 worker cadre 3、 10 20 15 35 5 10 20

4、 b=240

5、 liouting 38 493 6、 Destructor B! 7 Destructor A! 6 Destructor B! 0 Destructor A! 5

四、写出下列每个函数的功能(每小题6分,共24分)

评分标准:每题与参考答案的叙述含义相同者得6分,否则酌情给分。 1、比较两个整数a和b的大小,若a>b则返回1,若a= =b则返回0,若a

2、求出从键盘上输入的n个常数的平方和并返回。

3、模板函数,把数组a的每个元素按逆序放入数组b中。

4、建立一个具有n个结点的链表,每个结点的字符串值由键盘输入,链表的表头指针由引用变量f带回。

五、编写程序,把从键盘上输入的一批整数(以-1作为终止输入的标志)保存到文本文件“a:xxk1.dat”中。(10分)

评分标准:见参考程序中的注释。

# include // 使用此命令得1分 # include # include

void main() {

ofstream fout(\定义输出文件流并打开文件得2分 if (!fout){

cerr <<\文件没有打开!\ exit(1);

第 8 页 共 17 页

} // 可有可无 int x; cin >>x;

while (x!=-1) {

fout <>x;

} // 能够从键盘向文件正确输出数据得6分 fout.close(); // 关闭输出文件流得1分 }

复习题二及参考答案 一、 填空题

1.C++源程序文件的缺省扩展名为________。

2.程序的三种基本控制结构是:顺序结构、 结构、___________结构。

3.在C++程序中,当函数调用在前、函数定义在后时,则应在主调函数中,在调用前增加对被调函数的___________说明。

4.在调用具有数组参数的函数时,须以 作为实在参数。

5.函数递归调用指的是,在函数定义的函数体中又出现直接或间接地调用 。

6.C++依据调用中实在参数在 上或 上的不同来确定调用的是重载函数的哪一个。

7. 在函数外定义的变量称为 变量。 8. 字符串常量是用 括起来的字符序列,在字符串的末尾有一个结束标志 。 9. 当撤消一个含有基类和类对象成员的派生类对象时,将首先完成____________的析构函数定义体的执行,接着完成________________的析构函数定义体的执行,最后完成____________的析构函数定义体的执行。

10. 设px是指向一个类动态对象的指针变量,则执行”delete px;”语句时,将自动调用该类的____________。(2分)

11.假定p所指对象的值为25,p+1所指对象的值为46,则*p++的值为________。(2分)

12.假定a为一个整型数组名,则元素a[4]的字节地址为_______。(2分) 13.假定一个结构类型的定义为 “struct D{int a; union {int b; double c;};D* d[2];};”,则该类型的大小为________字节。(2分)

14.假定要动态分配一个类型为Worker的具有n个元素的数组,并由r指向这个动态数组,则使用的语句为____________________________。(2分) 二、 写出下列表达式的值及运算过程

1.设x=2.5,y=4.7,a=7,b=2: 计算表达式x+a%3+(int)y/(int)x的值 2.设x=2.5,y=4.7,a=7,b=2:计算表达式!(a>b)|| x>y的值

第 9 页 共 17 页

3.设a=1,b=-2,c=1:计算表达式

x=(d=b*b-4*a*c, (d==0)?-b/(2*a):-b/(2*a)+ sqrt(d)/(2*a)) 的

4.设有变量说明int a=4,b=2,x=3,y=0:计算表达式(--a<++b)&&(x

5. int a=1,&b=a,*p=&a,y :计算表达式 y=(a+=b,b+=*p,*p+a) 的值 6. 设:int a[5]={10,20,30,40,50}; int *p=&a[0]; 计算表达式++*p+*(a+3)的值。

三、读程序, 并将运行结果写在对应输出语句的后面 1.#include void main()

{ int a[6]={0,1,2,3,4,5}; int i=0;

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

{

if(i%2==0) a[i]=a[i]+1; else a[i]=a[i]+2; cout<< a[i]; } }

2.#include void f(int &a,int &b) {

int t=a; a=b; b=t; }

void main() {

int x=10,y=15; f(x,y);

cout<

3.#include void main() { int i=10; switch (i)

{ case 9:i++; case 10:++i; case 11:i++; default:i=i+1;

第 10 页 共 17 页


河北科技大学 面向对象程序设计基础学习提纲(2).doc 将本文的Word文档下载到电脑 下载失败或者文档不完整,请联系客服人员解决!

下一篇:曙光路小学2012年教师节学生活动方案

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

马上注册会员

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