- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
4.请说明编辑、编译、连接的作用。在编译后得到的目标文件为什么不能直接运行?
【解】编译是以源程序文件为单位进行的,而一个完整的程序可能包含若干个程序文件,在分别对它们编译之后,得到 若干个目标文件(后缀一般为obj,然后要将它们连接为一个整体。此外,还需要与编译系统提供的标准库相连接,才能生成 一个可执行文件(后缀为exe。不能直接运行后缀为obj的目标文件,只能运行后缀为exe的可执行文件。
聲分析下面程序运行的结果。
第#ihclude iOstream
using namespace std;
iht main()
cout This is ;
cout a C++ ;
cout program. endl;
return 0;
}
【解】输出的结果为ThisisaC++program.
分析下面程序运行的结果。
#include iostream
using namespace std;
int main()
{
int a,b,c;
a=10;
b=23;
c=a+b;
cout a+b=;
coutc;
coutendl;
return 0;
}
【解】前两个cou语句在输出数据后不换行,第3个cout语句输出一个换行,因此输出的结果为
a+b=33
分析下面程序运行的结果。请先阅读程序写出程序运行时应输出的结果然后上机运行程序,验证自己分析的结果是否 正确。以下各题同。
#include iostream
using namespace std;
int main()
{
int a,b,c;
int f(int x,int y,int z);
cin?ab?c;
c=f(a,b,c);
coutcendl;
return 0;
}
int f(int x,int y,int z)
{
int m;
if (xy) m=x;
else m=y;
if (zm) m=z;
return(m);
}
【解】程序的作用是:输入3个整数,然后输出其中值最小的数。在主函数中输入3个整数,然后调用f函数,在f函数 中实现找最小的整数,用if语句比较两个数,将小者存放在变量m中,经过两个if语句的比较,m中存放的是3个整数中最小 的数。运行情况如下:
1 5 3/ (输入3个整数)
1 (输出其中最小的数)
在你所用的C++系统上,输入以下程序,进行编译,观察编译情况,如果有错误,请修改程序,再进行编译,直到没有 错误,然后进行连接和运行,分析运行结果。
int main();
{
int a,b;
c=a+b;
cout a+b= a+b;
}
【解】上机编译出错,编译出错信息告知在第2行出错,经检查,发现第1行的末尾多了一个分号,编译系统无法理解 第2行的花括号,导致报告第2行出错。将第1行的末尾的分号去掉,重新编译,编译出错信息告知在第行和第6行出错。 第5行出错原因是cout未经声明,因为cout不是C++语言提供的系统的关键字,而是输出流的对象,必须使用头文件iostream 第6行出错原因是main是int型函数,应返回一个整型值。将程序改为
#include iostream
int main()
{
int a,b;
c=a+b;
cout a+b= a+b; return 0;
}
重新编译。编译出错信息告知在第5行和第6行出错。第5行出错原因是变量c未定义,第6行出错原因是cout未经声明,说 明#include iostrean命令行未能起作用,原因是未指明命名空间。将程序改为
#include iostream
using namespace std;
int main()
{
int a,b,c;
c=a+b;
cout a+b= a+b; return 0;
}
重新编译。编译出错信息告知在第7行出错,经检查,是“”用得不当,“”是提取运算符,应与cin联合使用,用来从输 入流中提取数据,输出时应该用插入运算符 ”。把两处“”都改为“”,再重新编译,发现没有error错误,但有两个 警告(warning,原因是定义了a和b,但未对它们赋值。应增加赋值语句或输入语句,使和b获得值,将程序改为
#include iostream
using namespace std;
int main()
{
int a,b,c; cinab; c=a+b; cout a+b= a+b;
return 0;
} 重新编译,没有编译错误,能通过编译和连接,可以正常运行,在isual C++ 6.环境下运行时屏幕显示如下:
5 9/
a+b=14Press any key to continue
显然这样的输出不理想,“Press any key to continu是 Visual C++系统在输出了
您可能关注的文档
最近下载
- 《开屏的孔雀》少儿美术PPT绘画课件创意教程教案.pptx VIP
- 四张纸-如何做好优莎纳事业.doc VIP
- sucgodwork天工软件2017 godwork_说明eos操作手册20170821.pdf VIP
- Unit 3 Developing ideas Just A Brother课件--高中英语外研版必修第一册.pptx VIP
- 管道介质色标.doc VIP
- 《室内天麻种植技术》(室内怎样种植天麻).pdf VIP
- 专精特新企业培育计划.docx VIP
- 2025年骨干教师笔试试题及答.docx VIP
- 安全防范系统安装维护员试卷及答案.doc VIP
- 慢性盆腔炎治疗进展及护理.doc VIP
原创力文档


文档评论(0)