C++实验指导书 巢湖学院.docx
- 文档编号:28400203
- 上传时间:2023-07-13
- 格式:DOCX
- 页数:49
- 大小:49.46KB
C++实验指导书 巢湖学院.docx
《C++实验指导书 巢湖学院.docx》由会员分享,可在线阅读,更多相关《C++实验指导书 巢湖学院.docx(49页珍藏版)》请在冰豆网上搜索。
C++实验指导书巢湖学院
实验一VisualC++/C++Builder初识与选择分支程序设计
实验目的
●了解VisualC++/C++Builder的集成开发环境
●初步掌握在VC++或C++Builder中开发应用程序的一般步骤
●初步掌握程序编辑、调试的基本方法
●掌握单分支结构语句:
if…
●掌握双分支结构语句:
if…else…
●掌握多分支选择结构语句:
switch…case…;
实验示例
[例1-1]在VC++开发环境中,编写一个计算三角形面积的C++程序,调试运行程序,运行时输入三角形的三条边。
实现步骤:
1.启动VisualC++开发环境
通过执行菜单“开始”→“程序”→“MicrosoftVisualStudio6.0”→“MicrosoftVisualC++6.0”项,启动VisualC++开发环境。
2.编辑程序
1)执行VC++菜单“文件”→“新建”项,打开新建对话框;
2)在对话框中单击“文件”标签,在弹出的“文件”选项卡中单击“C++SourceFile”选项;
3)在“目录”文本框中输入或选择存放程序的文件夹,在“文件”文本框中输入程序文件名;
4)单击“确定”按钮,系统打开文件编辑窗口,参照如下代码,编写计算三角形面积的源程序:
#include
#include
usingnamespacestd;
voidmain()
{
doublea,b,c,s,area;
cout<<”a,b,c?
”;
cin>>a>>b>>c;//键盘输入三角形三条边长
s=(a+b+c)/2;
area=sqrt(s*(s-a)*(s-b)*(s-c));
cout<<”area:
”<
}
3.编译和链接程序
1)执行VC++菜单“编译”项,屏幕出现“询问是否创建默认项目工作区”对话框;
2)单击“是”按钮,出现“询问是否保存文件”对话框;
3)单击“是”按钮保存文件后,系统开始对源程序进行编译。
4)若有语法错误,将在输出区窗口中显示错误信息。
双击某条错误信息,文件编辑窗口的对应程序行的左边将出现一个箭头。
依据提示信息修改程序,然后重新编译程序,直到没有错误为止。
5)执行VC++菜单“编译”→“构建”项,系统将对编译好的程序进行链接。
若出现链接错误,依据错误信息修改程序后,再进行编译和链接,直到正确。
4.执行目标程序
1)执行VC++菜单“编译”→“执行”项,程序开始执行,执行到键盘输入语句时,系统显示“输入数据和输出结果”窗口,等待用户输入数据。
2)依题输入3个实数,作为三角形的三条边的边长,程序继续执行,显示计算结果。
3)若运行时出现错误,分析出错原因,是运行时输入的数据有误,还是程序代码有错?
(均非语法错误),依据需要修改程序、重新编译、链接和执行程序。
7.关闭程序项目
执行菜单“文件”→“关闭工作区”项,将关闭程序项目。
8.打开已有项目。
执行菜单“文件”→“打开”项,可打开已有程序项目。
[例1-2]在C++Builder集成开发环境中,完成上例的程序编辑、调试和运行。
1.启动C++Builder开发环境
通过执行菜单“开始”→“程序”→“BorlandC++Builder6”→“C++Builder6”项,启动C++Builder开发环境。
2.创建应用程序项目
本例需要建立一个控制台应用程序,执行菜单【File】→【CloseAll】关闭当前项目,再执行菜单【File】→【New】→【ConsoleWizard】项,或单击工具栏上的Newitems快捷钮
打开的对话框来创建控制台应用程序项目。
在ConsoleWizard对话框中,做如上图所示的选择后确定。
系统自动创建项目和初始化源程序文件。
3.编辑程序
在代码编辑窗口中,编写实现功能要求的程序。
在C++Builder中,可以省略std命名空间的引用声明,系统自动引用和链接。
4.保存程序项目
执行菜单【File】→【SaveProjectAs…】项,或执行菜单【File】→【SaveAll】项,或单击SaveAll快捷钮
,在打开的保存源程序文件对话框中输入文件名,确认保存源文件(扩展名cpp);在打开的保存项目文件对话框中,选择项目保存位置,编辑项目文件名,确认保存项目(扩展名bpr)。
5.编译、和执行和调试程序
单击Run快捷钮
,或按F9键,编译和执行程序。
也可以先执行【Project】→【CompileUnit】编译命令,再运行程序。
C++Builder的集成环境的调试命令与TurboC的相似,Borland公司一脉相承,可以方便地设置断点、跟踪运行、监视表达式的值等。
[例1-3]创建和编写一个控制台应用程序:
程序执行时,分别输入被除数和除数,计算后输出商,若除数为0,程序给出提示。
实现步骤:
1.新建Win32ConsoleApplication程序项目
2.在文件编辑区窗口编写如下程序代码:
#include
usingnamespacestd;
voidmain()
{
doublea,b;
cout<<”被除数:
”;cin>>a;
cout<<”除数:
”;cin>>b;
if(b)
cout<<”商是:
”< else cout<<”除数为0,无意义。 ”< } 3.编译、链接和执行程序 [例1-4]新建一个程序。 程序运行后,输入百分制的成绩,输出“优”、或“良”、或“合格”、或“不合格”等对应的等级。 实现步骤: 1.新建Win32ConsoleApplication程序项目 2.在文件编辑区窗口编写如下程序代码: #include usingnamespacestd; voidmain() {intscore; cout<<”输入百分制成绩: ”; cin>>score; switch(score/10) {case10: case9: cout<<”优”;break; case8: cout<<”良”;break; case7: case6: cout<<”合格”;break; default: cout<<”不合格”; } } 3.编译、链接和执行程序 实验习题 1.编写一个控制台应用程序,程序实现输入圆的半径,输出圆的周长和面积。 2.编写一个程序,其中声明和定义如下函数: doublemax(doublex,doubley); 函数返回2个参数中的较大值。 编写主函数,调用max函数,验证程序运行结果。 3.设计一个C++程序,实现运行时,输入X的值,按下式计算,并显示Y的值: X≥0 Y= X<0 4.编写一个C++程序,实现计算和输出一元二次方程的解,3个系数在程序运行时输入。 提示: 输入a、b、c三个系数后,分下列情况处理: b=0→无意义 a=0,b? 否则→输出解: -c/b a? d>=0→输出解: 0.5*(-b+sqrt(d))/a 和0.5*(-b-sqrt(d))/a 否则,d: =sqr(b)-4*a*c 否则→无实数解 5.编写一个C++控制台应用程序,实现判断按键的类型是数字、字母或其它。 实验二循环处理程序设计与数组应用 实验目的 ●掌握循环语句: for… ●掌握循环语句: do…while… ●掌握循环语句: while… ●掌握跳转语句: break和contitue ●理解数组的概念 ●掌握数组的定义和数组元素的访问方法 ●理解运用数组的一些算法 实验示例 [例2-1]设计一个控制台应用程序: 实现计算和输出3到100之间的所有素数,以及素数的个数。 解题思路: 所谓素数,即仅能被1和自身整除的数。 判定n是否为素数,可以用n相继(循环)除于2到n/2之间的整数,若出现余数为0,即n被其中某个数整除,则n非素数,中断循环判断;否则,直到n除于n/2的余数非0,则n为素数。 实现步骤: 1.新建Win32ConsoleApplication程序项目 2.在文件编辑区窗口编写如下程序代码: #include usingnamespacestd; voidmain() { intn,j,s; s=0;//素数个初始为0 for(n=3;n<=100;n++) { for(j=2;j<=n/2;j++) if(n%j==0)break;//n被某数i整除,退出循环判断 if(j>n/2) { s++; cout< } } cout<<”共有”< } 3.编译、链接和执行程序 [例2-2]设计一个控制台应用程序,实现计算任意输入的两个正整数的最大公约数。 解题思路: 求解m和n的最大公约数,采用欧几里德的算法如下: ①以n除m,令余数为r;②若r为0,则n为解,输出并结束;③否则,令m为n,n为r,重复步骤①继续进行。 实现步骤: 1.新建Win32ConsoleApplication程序项目 2.在文件编辑区窗口编写如下程序代码: #include usingnamespacestd; voidmain() { intm,n,r; cout<<”输入一个正整数: ”;cin>>m; cout<<”输入另一个正整数: ”;cin>>n; do { r=m%n; m=n; n=r; }while(r); cout<<”最大公约数是: ”< } 或参考以下代码: #include usingnamespacestd; voidmain() { intm,n,r; cout<<”输入一个正整数: ”;cin>>m; cout<<”输入另一个正整数: ”;cin>>n; r=m%n; while(r) { m=n; n=r; r=m%n; } cout<<”最大公约数是: ”< } 3.编译、链接和执行程序 [例2-3]设计一个控制台应用程序: 随机产生并显示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.新建Win32ConsoleApplication程序项目 2.在文件编辑区窗口编写如下程序代码: #include usingnamespacestd; #include voidmain() { inti,j,k,temp; inta[10]; srand(time(0));//初始化随机系列 for(j=0;j<10;j++) { temp=rand();//rand()返回一个1到32767之间的随机整数 a[j]=temp%100+1; cout< } for(i=0;i<9;i++)//9趟的选择排序 { k=i;//设k为第i趟选择的最小元数的初始下标 for(j=i+1;j<10;j++)ifa[j] if(k! =j) { temp=a[k];a[k]=a[j];a[j]=temp; } }
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- C+实验指导书 巢湖学院 C+ 实验 指导书 巢湖 学院