第一范文网 - 专业文章范例文档资料分享平台

总《面向对象程序设计c++》综合复习题集及答案详解

来源:用户分享 时间:2025/11/6 2:40:31 本文由loading 分享 下载这篇文档手机版
说明:文章内容仅供预览,部分内容可能不全,需要完整文档或者需要复制内容,请下载word后使用。下载word有问题请添加微信号:xxxxxxx或QQ:xxxxxx 处理(尽可能给您提供完整文档),感谢您的支持与谅解。

p=p->next=new IntNode; cin>>p->data; }

p->next =NULL;

p=f; f=f->next; delete p; }

假定IntNode的类型定义为: struct IntNode {

int data; //结点值域 IntNode* next; //结点指针域 };

22. int f(const char *s) {

int i=0;

while(*s++)i++; return i; };

23. char *f(char *s){ int n=strlen(s);

char* r=new char[n+1]; for(int i=0; i

if(s[i]>='a' && s[i]<='z') r[i]=s[i]-'a'+'A'; else r[i]=s[i]; r[n]=’\\0’;

return r; }

七、程序改错

1. 在下面的定义中,NODE是链表结点的结构,appendToList则是一函数,其功能是:在list所指向的链表的末尾添加一个新的值为x的结点,并返回表头指针。函数中有两处错误,指出错误所在行的行号并提出改正意见。 struct NODE{ int data; NODE *next; };

NODE* appendToList(NODE *list, int x){ //1行 NODE *p=new int; //2行 p->data=x; //3行 p->next=NULL; //4行 if(list==NULL) return p; //5行 NODE *p1=list; //6行

while(p1->next!=NULL) p1=p1->next; //7行,链表非空先找到表尾

p1=p; //8行,让原表尾指针指向新添加的结点

return list; }

错误行的行号为______和________。

分别改正为______________和______________。

2. 在下面的定义中,NODE是链表结点的结构,addToList则是一函数,其功能是:将一个值为x的新结点添加到以plist为表头指针的链表的首部(即第一个结点的前面)并返回表头指针。函数中有两处错误,指出错误所在行的行号并提出改正意见。 struct NODE{ int data; NODE *next; };

NODE* adndToList(NODE * plist, int x){ //1行 NODE *p; //2行 *p=new NODE; //3行 p->data=x; //4行 p->next=NULL; //5行 plist=p; //6行 return p; //7行 }

错误行的行号为______和________。

分别改正为______________和______________。

3. 假定要求下面程序的输出结果为“11/15”,其主函数中存在着三行语句错误,请指出错误语句行的行号并改正错误行。 #include

class Franction { //定义分数类 int nume; //定义分子 int deno; //定义分母 public:

//把*this化简为最简分数,具体定义在另外文件中实现 void FranSimp();

//返回两个分数*this和x之和,具体定义在另外文件中实现 Franction FranAdd(const Franction& x); //置分数的分子和分母分别0和1

void InitFranction() {nume=0; deno=1;} //置分数的分子和分母分别n和d

void InitFranction(int n, int d) {nume=n; deno=d;} //输出一个分数

void FranOutput() {cout<

void main() //1行 { //2行 Franction a,b,c; //3行 a.InitFranction(6,15); //4行 b.InitFranction(1); //5行 c.InitFranction(); //6行

c=FranAdd(a,b); //7行 cout<

错误行的行号为______、________和________。

分别改正为____________________、________________和___________________。

4. 假定要求下面程序的输出结果为“23/20”,其主函数中存在着三条语句错误,请指出错误语句行的行号并改正。 #include

class Franction { //定义分数类 int nume; //定义分子 int deno; //定义分母 public:

//把*this化简为最简分数,具体定义在另外文件中实现 void FranSimp();

//返回两个分数*this和x之和,具体定义在另外文件中实现 Franction FranAdd(const Franction& x); //置分数的分子和分母分别0和1

void InitFranction() {nume=0; deno=1;} //置分数的分子和分母分别n和d

void InitFranction(int n, int d) {nume=n; deno=d;} //输出一个分数

void FranOutput() {cout<

void main() //1行 { //2行 Franction *a=new Franction; //3行 Franction *b=new Franction; //4行 a->InitFranction(6,15); //5行 b.InitFranction(3,4); //6行 Franction c; //7行 c.InitFranction(); //8行 c=a.FranAdd(b); //9行 cout<

错误行的行号为______、________和________。

分别改正为____________________、________________和___________________。

5. 下面是一个类的定义,存在着3处语法错误,请指出错误行的行号并改正。 class CE { //1行 private: //2行 int a,b; //3行 int getmin() {return (a

void SetValue(int x1,int x2, int x3) { //7行 a=x1; b=x2; c=x3; //8行 }; //9行 int GetMin(); //10行 }; //11行 int GetMin() { //12行 int d=getmin(); //13行 return (d

错误行的行号为______、________和________。

分别改正为____________________、________________和___________________。

6. 下面程序段第4-10行中存在着三条语句的语法错误,请指出错误语句的行号并改正。

class A { //1行 int a,b; //2行 const int c; //3行 public //4行 A():c(0);a(0);b(0) {} //5行 A(int aa, int bb) c(aa+bb); {a=aa; b=bb;} //6行 }; //7行 A a,b(1,2); //8行 A *x=&a, &y=b; //9行 A *z=new A, w[10]; //10行

错误行的行号为______、________和________。

分别改正为____________________、_____________________ 和______________________________________。 Public: A():c(0),a(0),b(0) {}

A(int aa, int bb): c(aa+bb) {a=aa; b=bb;}

7. 下面程序段第4-9行中存在着三条语句错误,请指出错误语句的行号并说明原因。 class A { //1行 int a,b; //2行 const int c; //3行 public: //4行 A() {a=b=c=0;} //5行 A(int aa, int bb):c(aa+bb) {a=aa; b=bb;} //6行 }; //7行 A a,b(1,2,3); //8行 A x(2,3), y(4); //9行

错误行的行号为______、________和________。

错误原因分别为___________________、__________________和__________________。

8. 下面程序段第10-17行中存在着三条语句错误,请指出错误语句的行号并说明原因。 class A { //1行

总《面向对象程序设计c++》综合复习题集及答案详解.doc 将本文的Word文档下载到电脑,方便复制、编辑、收藏和打印
本文链接:https://www.diyifanwen.net/c532iv6a7at9jajq89ma2_18.html(转载请注明文章来源)
热门推荐
Copyright © 2012-2023 第一范文网 版权所有 免责声明 | 联系我们
声明 :本网站尊重并保护知识产权,根据《信息网络传播权保护条例》,如果我们转载的作品侵犯了您的权利,请在一个月内通知我们,我们会及时删除。
客服QQ:xxxxxx 邮箱:xxxxxx@qq.com
渝ICP备2023013149号
Top