ImageVerifierCode 换一换
格式:DOCX , 页数:48 ,大小:49.34KB ,
资源ID:12902238      下载积分:3 金币
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

加入VIP,免费下载
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.bdocx.com/down/12902238.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(C++练习指导书.docx)为本站会员(b****3)主动上传,冰豆网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰豆网(发送邮件至service@bdocx.com或直接QQ联系客服),我们立即给予删除!

C++练习指导书.docx

1、C+练习指导书实验一 Visual C+/C+Builder初识与选择分支程序设计实验目的 了解Visual C+/C+ Builder的集成开发环境 初步掌握在VC+或C+ Builder中开发应用程序的一般步骤 初步掌握程序编辑、调试的基本方法 掌握单分支结构语句:if 掌握双分支结构语句:ifelse 掌握多分支选择结构语句:switchcase;实验示例例1-1 在VC+开发环境中,编写一个计算三角形面积的C+程序,调试运行程序,运行时输入三角形的三条边。实现步骤:1启动Visual C+开发环境通过执行菜单“开始”“程序”“Microsoft Visual Studio 6.0”“M

2、icrosoft Visual C+6.0”项,启动Visual C+开发环境。2编辑程序1)执行VC+菜单“文件”“新建”项,打开新建对话框;2)在对话框中单击“文件”标签,在弹出的“文件”选项卡中单击“C+ Source File”选项;3)在“目录”文本框中输入或选择存放程序的文件夹,在“文件”文本框中输入程序文件名;4)单击“确定”按钮,系统打开文件编辑窗口,参照如下代码,编写计算三角形面积的源程序:#include #inclkude using namespace std;void main() double a,b,c,s,area; coutabc; / 键盘输入三角形三条边长

3、 s=(a+b+c)/2; area=sqrt(s*(s-a)*(s-b)*(s-c); cout”area: ”areaendl;3编译和链接程序1)执行VC+菜单“编译”项,屏幕出现“询问是否创建默认项目工作区”对话框;2)单击“是”按钮,出现“询问是否保存文件”对话框;3)单击“是”按钮保存文件后,系统开始对源程序进行编译。4)若有语法错误,将在输出区窗口中显示错误信息。双击某条错误信息,文件编辑窗口的对应程序行的左边将出现一个箭头。依据提示信息修改程序,然后重新编译程序,直到没有错误为止。5)执行VC+菜单“编译”“构建”项,系统将对编译好的程序进行链接。若出现链接错误,依据错误信息修

4、改程序后,再进行编译和链接,直到正确。4执行目标程序1)执行VC+菜单“编译”“执行”项,程序开始执行,执行到键盘输入语句时,系统显示“输入数据和输出结果”窗口,等待用户输入数据。2)依题输入3个实数,作为三角形的三条边的边长,程序继续执行,显示计算结果。3)若运行时出现错误,分析出错原因,是运行时输入的数据有误,还是程序代码有错?(均非语法错误),依据需要修改程序、重新编译、链接和执行程序。7关闭程序项目执行菜单“文件”“关闭工作区”项,将关闭程序项目。8打开已有项目。执行菜单“文件”“打开”项,可打开已有程序项目。例1-2 在C+ Builder集成开发环境中,完成上例的程序编辑、调试和运

5、行。1启动C+ Builder开发环境通过执行菜单“开始”“程序”“Borland C+Builder 6”“C+Builder6”项,启动C+Builder开发环境。2创建应用程序项目本例需要建立一个控制台应用程序,执行菜单【File】【Close All】关闭当前项目,再执行菜单【File】【New】【Console Wizard】项,或单击工具栏上的New items快捷钮打开的对话框来创建控制台应用程序项目。在Console Wizard对话框中,做如上图所示的选择后确定。系统自动创建项目和初始化源程序文件。3编辑程序在代码编辑窗口中,编写实现功能要求的程序。在C+Builder中,可

6、以省略std命名空间的引用声明,系统自动引用和链接。4保存程序项目执行菜单【File】【Save Project As】项,或执行菜单【File】【Save All】项,或单击Save All快捷钮,在打开的保存源程序文件对话框中输入文件名,确认保存源文件(扩展名cpp);在打开的保存项目文件对话框中,选择项目保存位置,编辑项目文件名,确认保存项目(扩展名bpr)。5编译、和执行和调试程序单击Run快捷钮,或按F9键,编译和执行程序。也可以先执行【Project】【Compile Unit】编译命令,再运行程序。C+Builder的集成环境的调试命令与Turbo C的相似,Borland公司一

7、脉相承,可以方便地设置断点、跟踪运行、监视表达式的值等。例1-3 创建和编写一个控制台应用程序:程序执行时,分别输入被除数和除数,计算后输出商,若除数为0,程序给出提示。实现步骤:1新建Win32 Console Application程序项目2在文件编辑区窗口编写如下程序代码:#include void main() double a,b; couta; coutb; if (b) cout”商是:”a/bendl; else cout”除数为0,无意义。”endl;3编译、链接和执行程序例1-4 新建一个程序。程序运行后,输入百分制的成绩,输出“优”、或“良”、或“合格”、或“不合格”等对

8、应的等级。实现步骤:1新建Win32 Console Application程序项目2在文件编辑区窗口编写如下程序代码: #include void main() int score; coutscore; switch(score/10) case 10: case 9: cout”优”; break; case 8: cout”良”; break; case 7: case 6: cout”合格”; break; default: cout= 0 输出解:0.5*(-b+sqrt(d)/a 和 0.5*(-b-sqrt(d)/a否则,d:=sqr(b)-4*a*c 否则 无实数解5编写一个

9、C+控制台应用程序,实现判断按键的类型是数字、字母或其它。实验二 循环处理程序设计与数组应用实验目的 掌握循环语句:for 掌握循环语句:do while 掌握循环语句:while 掌握跳转语句:break和contitue 理解数组的概念 掌握数组的定义和数组元素的访问方法 理解运用数组的一些算法实验示例例2-1 设计一个控制台应用程序:实现计算和输出3到100之间的所有素数,以及素数的个数。解题思路:所谓素数,即仅能被1和自身整除的数。判定n是否为素数,可以用n相继(循环)除于2到n/2之间的整数,若出现余数为0,即n被其中某个数整除,则n非素数,中断循环判断;否则,直到n除于n/2的余数

10、非0,则n为素数。实现步骤:1新建Win32 Console Application程序项目2在文件编辑区窗口编写如下程序代码:#include void main() int n,j,s; s=0; / 素数个初始为0 for (n=3; n=100; n+) for (j=2; jn/2) s+; coutn”, ”; cout”共有”s”个素数n”;3编译、链接和执行程序例2-2 设计一个控制台应用程序,实现计算任意输入的两个正整数的最大公约数。解题思路:求解m和n的最大公约数,采用欧几里德的算法如下: 以n除m,令余数为r; 若r为0,则n为解,输出并结束; 否则,令m为n,n为r,重

11、复步骤继续进行。实现步骤:1新建Win32 Console Application程序项目2在文件编辑区窗口编写如下程序代码:#include void main() int m,n,r; coutm; coutn; do r= m % n; m=n; n=r; while (r); cout” 最大公约数是:”mendl;或参考以下代码:#include void main() int m,n,r; coutm; coutn; r= m % n;while(r) m=n; n=r;r= m % n; cout” 最大公约数是:”nendl;3编译、链接和执行程序例2-3 设计一个控制台应用程

12、序:随机产生并显示10个1到100之间的整数,排序后再输出这10个整数。解题思路:定义一个数组变量,元素为int类型;利用随机数函数rand()循环初始化数组的每一个元素并输出。排序时采用直接选择排序算法:设有n个元素需按从小到大的次序排列,可用如下n-1趟的选择过程完成:第1趟,从第1第n的n个元素中,选择出最小的与第1个元素交换;第2趟,从第2第n的n-1个元素中,选择出最小的与第2个元素交换;.第n-1趟,从第n-i第n的2个元素中,选择出最小的与第n-1个元素交换;排序结束。最后循环一遍输出每个元素。实现步骤:1新建Win32 Console Application程序项目2在文件编辑

13、区窗口编写如下程序代码:#include #include void main() int i,j,k,temp; int a10; srand(time(0); / 初始化随机系列 for (j=0; j10; j+) temp = rand(); / rand()返回一个1到32767之间的随机整数aj = temp %100 +1; coutaj”, ”; for (i=0; i9; i+) / 9趟的选择排序 k = i; / 设k为第i趟选择的最小元数的初始下标 for (j=i+1; j10; j+) if ajak k=j;if (k!=j) temp=ak; ak=aj; aj

14、=temp; for (j=0; j10; j+) coutaj”, ”; coutendl;3编译、链接和执行程序例2-4 设计一个控制台应用程序:由键盘任意输入一串字符,统计这个字符串中字母字符、数字字符和其它字符的个数。解题思路:定义一个字符数组,用于保存输入的字符串;利用循环识别字符串中每个字符(数组元素),并统计各类字符的个数。实现步骤:1新建Win32 Console Application程序项目2在文件编辑区窗口编写如下程序代码:#include void main() char s300; int j,a=0,b=0,c=0; cout连续按键,直到回车为止s; for(j=

15、0; j=A)&(sj=a)&(sj=0)&(sj=9) b+; else c+; cout字母;aendl; cout数字;bendl; cout其他;cendl; 3编译、链接和执行程序例2-5 设有如下数列:0、1、1、2、3、5、8、13、。除第1项和第2项外,数列的任一项是其前2项的和。编写一控制台应用程序,输出数列的前30项及其总和。解题思路:利用整型数组存储数列的各项,初始化数组的前2个元素,从第3个元素开始循环递推计算其余元素的值,最后输出。实现步骤:1新建Win32 Console Application程序项目2在文件编辑区窗口编写如下程序代码:#include void

16、main()int fib30; int j,sum=1; fib0=0; fib1=1; for(j=2; j30; j+) fibj=fibj-2+fibj-1;sum+=fibj; for(j=0; j30; j+) coutfibj”, ”; coutendl”前30项的和: ”sumendl; 3编译、链接和执行程序实验习题1设计一个C+控制台应用程序,运行时,输入两个正整数,计算并输出这两个数之间所有不能被3和7整除的数的和。2设计一个利用下列公式计算圆周率的C+程序,要求精度控制在0.0000001内。= 4(1/1-1/3+1/5-1/7+) 提示:括号中是一个数列的和,数列的

17、第n项是1/(2n-1),奇数项为正,偶数项为负。利用循环逐项求和,直到该项的绝对值小于0.0000001为止。3编写一个控制台应用程序,运行时输入10个整数,输出其中的最大数和次大数。提示:以数组存储逐个输入的10个整数,查找其中的2个最大的数时,首先将数组的前2个元素的较大者初始为最大数,较小的初始为次大数,然后从第3个数开始逐个与最大数和次大数比较,比较时仅有两种情形需考虑: 当前元素比最大数大,则原最大数成为次大数,当前数为最大数; 当前元素仅比次大数大,则当前数为次大数。4编写一个控制台应用程序,输出一个6行的杨辉三角形。提示:以二维数组存储杨辉三角形的每个元,初始化其第1行第1列、

18、第2行第1列、第2行第2列等3个元素的值为1,之后从第3行开始逐行计算各列元素的值,计算方法为:第1列和最后一列(第i行有i列)的值为1,其余元素的值是上一行前一列和上一行上一列的数值的和。最后逐行输出显示。实验三 指针、引用与函数实验目的 掌握指针的定义和依据指针访问数据的方法 掌握引用的概念和用法 掌握函数的声明、定义和调用 掌握函数中指针或引用类型参数的用法实验示例例3-1 编写一个C+控制台应用程序,将某个位数不确定的正整数进行三位分节后输出,例如输入1234567,则输出1,234,567。解题思路:自定义一个函数,其中实现将传递的整数转换成字符串,再定义另一个函数将字符串由后向前进

19、行分节,即每3个字符插入一个逗号,利用指针的运算寻找插入的位置。实现步骤:1新建Win32 Console Application程序项目2在文件编辑区窗口编写如下程序代码:#include #include char *separate(int);char *inttostr(int);void main()int n; char *p; coutn; p=separate(n); cout”分节输出: ”pp1) / 由后向前 if (count=3) pt=p3+; while (pt=p2) *(pt+1)=*pt- *p2=,; count=0; count+; p2-; retur

20、n p1; char *inttostr(int num) / 将整数转换成对应数字字符串 char *p,*p1,*p2,temp; p=p1=p2=new char30; while (num) *(p2+)=num%10+0; num/=10; *(p2-)=0; while (p2p1) temp=*p2; *p2-=*p1; *p1+=temp; return p; 3编译、链接和执行程序例3-2 编写程序,实现两个字符串变量的交换。解题思路:使用引用来交换两个字符串指针的值。实现步骤:1新建Win32 Console Application程序项目2在文件编辑区窗口编写如下程序代码

21、:#include #include void swap(char *&x, char *&y) char *temp; temp=x; x=y; y=temp;void main() char *ap, *bp; coutap; coutbp; swap(ap,bp); cout”第一个字符串:”apendl; cout”第二个字符串:”bpendl;3编译、链接和执行程序例3-3 例4-3的斐波那契数列:0、1、1、2、3、5、8、13、。除第1项为0和第2项为1外,数列的任一项是其前2项的和。编写计算数列的第n项的函数,调用函数输出数列的第30项。解题思路:斐波那契数列可以如下形式的函数

22、表示: 0 当n=1时, f(n)= 1 当n=2, f(n-1)+f(n-2) 其它自定义一个递归函数,返回参数n指定的数列项,计算方法是:当n=1时,函数返回0;当n=2时,函数返回1;否则,返回用参数n-1调用自身函数的值与用参数n-2调用自身函数的值的和。实现步骤:1新建Win32 Console Application程序项目2在文件编辑区窗口编写如下程序代码:#include int Fib(int n) switch (n) case 1: return 0; case 2: return 1; default: return Fib(n-1)+Fib(n-2); / 递归调用函

23、数 void main() cout”数列的第30项是:”Fib(30)endl;3编译、链接和执行程序实验习题1编写一个控制台应用程序,运行时输入一个字符串,然后逆序输出该字符串。2将实验四习题1中查找n个元素的一维数组中的最大值和次大值的算法定义成一个函数,改造并完成该题。实验四 类与对象实验目的 掌握类和对象的概念、定义和访问方法 掌握不同类型成员的访问限制 掌握构造函数和析构函数的使用方法实验示例例4-1 运用面向对象程序设计方法编写一个程序,计算两个给定长方形的面积,其类中设计一个用于计算两个长方形的总面积成员函数。解题思路:设计一个类Rect,包含数据成员len(表示长度)、wid

24、(表示宽度),以及求面积的公有成员函数area()、求两个长方形的总面积成员函数addarea(),并设计两个重载的构造函数。实现步骤:1新建Win32 Console Application程序项目2在文件编辑区窗口编写如下程序代码:#include #include class Rect float len,wid; public: Rect() ; / 默认的构造函数(内联的) Rect(float,float); / 构造函数 float area() return len*wid; ; / 求面积(内联的) void addarea(Rect,Rect); / 求两个长方形的面积;R

25、ect:Rect(float a, float b) len=a; wid=b;void Rect:addarea(Rect r1, Rect r2) cout”总面积:”r1.len*r1.wid+r2.len*r2.widendl;void main() Rect A(3.5,2.0), B(3.8,2.3), C; coutA.areatB.areaendl;C.addarea;3编译、链接和执行程序例4-2 编写一个程序,设计一个类score用于统计一个班的平均成绩。解题思路:使用2个静态数据成员分别存储总分、人数,另定义一个静态成员函数输出平均成绩。实现步骤:1新建Win32 Console Application程序项目2在文件

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1