欢迎来到天天文库
浏览记录
ID:42020894
大小:183.68 KB
页数:17页
时间:2019-09-06
《谭浩强版c++面向对象程序设计课后习题解答》由会员上传分享,免费在线阅读,更多相关内容在工程资料-天天文库。
1、第[章C++的初步知识I.请根据你的了解,叙述C++的特点。C++对•C有哪些发展?【解】略。2.一个C++的程序是由哪儿部分构成的?其中的每一部分起什么作用?【解】略。3.从拿到一个任务到得到最终结果,一般要经过儿个步骤?【解】略。4.请说明编辑、编译、连接的作用。在编译后得到的冃标文件为什么不能直接运行?【解】编译是以源程序文件为单位进行的,而一个完整的程序可能包含若干个程序文件,在分别对它们编译Z后,得到若干个FI标文件(后缀一般为.obj),然后要将它们连接为一个整体。此外,还需要与编译系统提供的标准库相连接,才能生成一个可执行文件(后缀为.exe)o不能
2、直接运行后缀为.obj的目标文件,只能运行后缀为.exe的可执行文件。5.分析下而程序运行的结果。#includcusingnamespacestd;intmain(){coutvv"This"vv"is”;cout«"a"vv"C++cout«^program."vvcndl;return0;1【解】输出的结果为ThisisaC++program.6.分析下血程序运行的结果。#includeusingnamespacestd;intmain(){inta,b,c;a=10;b=23;c=a+b;coutvv"a+b=";c
3、out«c;cout«endl;return0;【解】前两个com语句在输出数据后不换行,第3个cout语句输出一个换行,因此输出的结果为a+b=332.分析下血程序运行的结果。请先阅读程序写出程序运行时应输出的结果,然示I二机运行程序,验证自己分析的结果是否正确。以下各题同。#includeusingnamespacestd;intmain(){inta,b,c;intf(intxjntyjntz);cin»a»b»c;c=f(a,b,c);cout«c«endl;return0;}intf(intxjnty,intz){intm;if(x<
4、y)m=x;elseni=y;if(z5、c=a+b;cout>>"a+b=,r»a+b;}【解】上机编译出错,编译出错信息告知在第2行出错,经检查,发现笫1行的末尾多了一个分号,编译系统无法理解第2行的花括号,导致报告第2行出错。将第1行的末尾的分号去掉,重新编译,编译出错信息告知在第5行和第6行出错。第5行出错原因是cout未经声明,因为cout不是C++语言提供的系统的关键字,而是输出流的対象,必须使用头文件iostreamo第6行出错原因是main是int型函数,应返回一个整型值。将程序改为#includeintmain(){inta,b;c=a+b;cout>>"a+b="»6、a+b;return0;)更新编译。编译出错信息告知在第5行和第6行出错。第5行出错原因是变量c未定义,第6行出错原因是cout未经声明,说明#include命令行未能起作用,原因是未指明命名空间。将程序改为#includeusingnamespacestd;intmain(){inta,b,c;c=a+b;cout>>"a+b二"»a+b;return0;重新编译。编译出错信息告知在笫7行出错,经检查,是“>>”用得不当,“>>”是提取运算符,应与cin联合使用,用來从输入流屮提取数据,输出时应该用插入运算符把两处”都改为7、“vv”,再重新编译,发现没有error错课,但有两个警告(warning),原因是定义了a和b,但未对它们赋值。应增加赋值语句或输入语句,使a和b获得值,将程序改为#includeusingnamespacesid;intmain(){inta,b,c;cin»a»b;c=a+b;cout»,fa+b二"»a+b;return0;1重新编译,没冇编译错误,能通过编译和连接,可以正常运行,在VisualC++6.0环境下运行时屏幕显示如下:59/a+b=14Pressanykeytocontinue显然这样的输出不理想,“Pressanykey8、tocon
5、c=a+b;cout>>"a+b=,r»a+b;}【解】上机编译出错,编译出错信息告知在第2行出错,经检查,发现笫1行的末尾多了一个分号,编译系统无法理解第2行的花括号,导致报告第2行出错。将第1行的末尾的分号去掉,重新编译,编译出错信息告知在第5行和第6行出错。第5行出错原因是cout未经声明,因为cout不是C++语言提供的系统的关键字,而是输出流的対象,必须使用头文件iostreamo第6行出错原因是main是int型函数,应返回一个整型值。将程序改为#includeintmain(){inta,b;c=a+b;cout>>"a+b="»
6、a+b;return0;)更新编译。编译出错信息告知在第5行和第6行出错。第5行出错原因是变量c未定义,第6行出错原因是cout未经声明,说明#include命令行未能起作用,原因是未指明命名空间。将程序改为#includeusingnamespacestd;intmain(){inta,b,c;c=a+b;cout>>"a+b二"»a+b;return0;重新编译。编译出错信息告知在笫7行出错,经检查,是“>>”用得不当,“>>”是提取运算符,应与cin联合使用,用來从输入流屮提取数据,输出时应该用插入运算符把两处”都改为
7、“vv”,再重新编译,发现没有error错课,但有两个警告(warning),原因是定义了a和b,但未对它们赋值。应增加赋值语句或输入语句,使a和b获得值,将程序改为#includeusingnamespacesid;intmain(){inta,b,c;cin»a»b;c=a+b;cout»,fa+b二"»a+b;return0;1重新编译,没冇编译错误,能通过编译和连接,可以正常运行,在VisualC++6.0环境下运行时屏幕显示如下:59/a+b=14Pressanykeytocontinue显然这样的输出不理想,“Pressanykey
8、tocon
此文档下载收益归作者所有