- 1、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
试验5编译预处理和多文件的组织
实验5 编译预处理和多文件的组织 5.1实验目的 ⒈掌握多文件程序的编译与连接。 ⒉掌握宏定义命令。 ⒊了解文件包含命令和条件编译命令。 5.2实验内容与步骤 ⒈实验题目一 使用Visual C++6.0对多文件程序进行编译、连接和运行。 ⑴分析 多文件程序是指该程序由两个或两个以上的文件组成。 本例程序由两个文件组成:cl.cpp和c2.cpp。在编辑窗口,键入以下C++源程序。保存为d:\test\cl.cpp: #include iostream.h int min(int,int ); void main() { int a,b,c; a=3; b=5; c=min(a,b); couta和b中较小者为:cendl; } 在编辑窗口,键入以下C++的源程序。保存为d:\ test \c2.cpp: int min(int x,int y) { return xy?x:y; } 新建一个工程(如Exa)后。在菜单“Projects”的下拉菜单中,选取“Add to project”菜单项,再在它的级联菜单中选取“Files”菜单项,出现一个“Insert Files into Project”对话框,如图5-1所示。选择文件cl.cpp和c2.cpp,单击“OK”按钮,将两个文件添加至工程中。 选取Build菜单中“Build Exa.exe”菜单项生成可执行文件。 选取build菜单中“Execute Exa.exe”选项。观察程序运行结果,如图5-2所示。 ⑵上机要求 将c1.cpp中函数min的声明语句“int min(int,int );”删去,观察程序运行情况。 将c1.cpp中的min的声明语句“int min(int,int );”改写为“static int min(int,int );”,观察现象。 将c1.cpp中的min的声明语句“int min(int,int );”改写为“extern int min(int,int );” ,观察现象。 对以下三个C++的源程序进行多文件组织,根据程序运行结果,分析程序实现的功能。 c1.cpp文件: #include iostream.h int fun1(int); int fun2(int); void main() { int n; for (n=1;n=100;n++){ if (fun1(n)) coutn,; } coutendl; for (n=1;n=100;n++){ if (fun2(n)) coutn,; } cout endl; } c2.cpp文件: int fun1(int k) { int flag=1; for(int i=2;i=k/2;i++){ if (k%i==0){ flag=0; break; } } return flag; } c3.cpp文件: int fun2(int k) { int flag=0; if (k%13==0) flag=1; return flag; } ⑶写出实验报告 ⒉实验题目二 编写程序求方程ax2+bx+c=0的根。 ⑴分析 计算方程ax2+bx+c=0的根,需根据b2-4ac的结果选择不同的算式。 一个完整的计算实根的参考程序如下: c1.cpp文件: #include iostream.h #include math.h void gz(float,float,float); void ez(float,float); void main() { float a,b,c,d; couta=;cina; coutb=;cinb; coutc=;cinc; d=b*b-4*a*c; if (a==0) cout不是一元二次方程endl; else if (d0) gz(a,b,d); else if (d==0) ez(a,b); else cout方程无实根!endl; } c2.cpp文件: #include iostream.h #include math.h void gz(float a,float b,float d) { cout方程有两个实根!endl; coutx1=(-b+sqrt(d))/(2*a)endl; coutx2=(-b-sqrt(d))/(2*a)endl; } c3.cpp文件: #include iostream.h void ez(float a,float b)
有哪些信誉好的足球投注网站
文档评论(0)