《程序设计基础C++》实验教程2xzlWord文件下载.docx
《《程序设计基础C++》实验教程2xzlWord文件下载.docx》由会员分享,可在线阅读,更多相关《《程序设计基础C++》实验教程2xzlWord文件下载.docx(84页珍藏版)》请在冰点文库上搜索。
![《程序设计基础C++》实验教程2xzlWord文件下载.docx](https://file1.bingdoc.com/fileroot1/2023-5/4/7317b5e5-1759-488f-a13c-73c3e6ad0fe4/7317b5e5-1759-488f-a13c-73c3e6ad0fe41.gif)
运行VisualStudio软件中的setup.exe程序,选择安装VisualC++6.0,然后按照安装程序的指导完成安装过程。
启动VisualC++:
安装完成后,在开始菜单的程序选单中有MicrosoftVisualStudio6.0图标,其中又有MicrosoftVisualC++6.0即可运行(也可在Window桌面上建立一个快捷方式,以后可双击运行)。
VisualC++6.0开发环境见图0-1。
建立控制台工程:
进入VisualC++环境后,选择菜单“File|New”,在弹出的对话框中单击上方的选项卡“Projects”,选择“Win32ConsoleApplication”工程类型,在“Projectname”一栏中填写工程名例如MyFirst,在“Location”一栏中填写工程路径(目录)例如:
D:
\MyProject\MyFirst,见图0-2,然后按“OK”继续。
图0-1启动MircosoftVisualC++6.0
图0-2创建控制台工程
屏幕上出现如图0-3所示的Win32ConsoleApplication—Step1of1对话框后,选择“Anemptyproject”项,然后按Finish按钮继续,
图0-3Win32ConsoleApplication—Step1of1对话框
出现如图0-4所示的NewProjectInformation对话框后,按OK按钮完成工程创建。
图0-4NewProjectInformation对话框
编辑C++程序:
选择菜单“Project|AddtoProject|New”,为工程添加新的C++源文件。
如图0-5所示。
图0-5选择菜单为工程添加新源文件
图0-6加入新的C++SourceFile
在出现如图0-6所示的对话框后,选择“File”选项卡,选定“C++SourceFile”项,在“FileName”栏填入新添加的源文件名,如MyFirst.cpp,“Location”一栏指定文件路径,按按钮“OK”完成C++源程序的系统新建操作,如图0-6所示。
在文件编辑区输入源程序,存盘,如图0-7所示。
图0-7编辑MyFirst.cpp源程序
编译源程序:
选择Build|Build菜单(F7为快捷键),系统将会在Output窗口给出所有的错误信息和警告信息。
当所有错误修正之后,系统将会生成扩展名为.exe的可执行文件。
对于Output窗口给出的错误信息,双击可以使输入焦点跳转到引起错误的源代码处以进行修改。
执行程序:
选择Build|Execute菜单项(Ctrl+F5为快捷键),执行程序,将会出现一个DOS窗口,按照程序输入要求正确输入数据后,程序即正确执行。
如图0-8所示。
调试程序:
在编写较长的程序时,能够一次成功而不含有任何错误决非易事,这需要进行长期大量的练习。
编写的程序若已没有编译错误,可以成功运行。
对于程序中的错误,VC提供了易用且有效的调试手段。
在工具栏上单击鼠标右键,在弹出的菜单中选中“Debug”项。
在程序调试状态下,可以进行单步执行调试程序。
其中,单步跟踪进入子函数(StepInto,F11),每按一次F11键,程序执行一条无法再进行分解的程序行;
单步跟踪跳过子函数(StepOver,F10),每按一次F10键,程序执行一行;
Watch窗口可以显示变量名及其当前值,在单步执行的过程中,可以在Watch窗口中加入所需观察的变量,辅助加以进行监视,随时了解变量当前的情况;
同时,为方便较大规模程序的跟踪,可以设置断点(F9为快捷键),断点处所在的程序行的左侧会出现一个红色圆点。
选择Build|StartDebug|Go时,程序执行到断点处程序将暂停执行,可方便用户进行变量观察。
取消断点只需在代码处再次按F9即可。
还有运行至当前函数的末尾(StepOut)等都是很有效的调试工具,这里不再做一一介绍。
图0-8程序运行结果
图0-9MSDN
有关联机帮助:
VisualC++6.0提供了详细的帮助信息,用户通过选择集成开发环境中的“Help”菜单下的“Contents”命令就可以进入帮助系统。
在源文件编辑器中把光标定位在一个需要查询的单词处,然后按〈F1〉键也可以进入VisualC++6.0的帮助系统。
如图0-9所示。
用户要使用帮助必须安装MSDN。
用户通过VisualC++6.0的帮助系统可以获得几乎所有的VisualC++6.0的技术信息,这也是VisualC++作为一个非常友好的开发环境所具有的一个特色。
3.思考题
通过创建项目文件的实验,总结一下创建一个控制台应用项目的一般方法和经验。
除了已经介绍过的调试方法,可以尝试集成开发环境提供的其它功能。
实验一面向过程的简单程序设计
1.实验目的要求
(1)使用C++语言编写简单的计算机程序,掌握C++程序从编辑、编译到运行的全过程,初步了解C++程序的特点。
(2)掌握C++语言的数据类型(包括对各种数据类型变量的定义、初始化、赋值等)、运算符和表达式的使用。
(3)掌握赋值语句的使用。
(4)掌握数据的输入输出方法。
2.实验内容
(1)设计简单程序,分别计算下列表达式,式中变量由键盘输入,输出表达式的值。
<
1>
#include<
iostream.h>
voidmain()
{
intx,a,b,c,d;
cout<
<
"
x,a,b,c,d="
endl;
cin>
>
x>
a>
b>
c>
d;
(x+(a+b)/(c-d))<
}
2>
math.h>
floatx,y;
x="
x;
y=sqrt(1+1/(x+1/(x+1)));
y<
3>
sinX+cosX+tan-1X
y=sin(x)+cos(x)+1/tan(x);
4>
ex+y+ex-y
#include<
x,y="
y;
(exp(x+y)+exp(x-y))<
}
5>
log10(1+
)
y=log10(1+sqrt(1+x*x));
6>
+
(其中
表示取不大于a的最大整数)。
floata,b,c;
a,b="
b;
c=fabs(a*a-b*b)+floor(a-b);
c<
(2)阅读下列程序,写出(由指定的输入)所产生的运行结果,并指出其功能。
a-A,A-A,将小写字母转换成大写字母。
#include<
voidmain()
{
charch;
cin>
ch;
ch=(ch>
=’A’&
&
ch<
=’Z’)?
(ch+32):
=’a’&
=’z’)?
(ch–32):
cout<
endl;
判断m是否大于1000,x是否小于1000
#include<
intm;
floatx;
boolbi,br;
"
\nintm="
;
m;
bi=m>
1000;
\nfloatx="
x;
br=x<
=1e3;
bi<
'
'
br<
分别输入10040,20003000,10001000,2000300,1004000运行。
输出n+1
{
intn;
cin>
n;
if(n++<
10)
cout<
n<
endl;
else
n--<
(3)编写程序实现下列问题的求解。
根据随机从键盘输入的圆半径值,求圆的周长和半径并输出。
constfloatpi=3.14159;
floatr,c,s;
r="
r;
c=2*pi*r;
s=pi*r*r;
c="
s="
s<
读入三个整数a、b、c,交换它们中的数,使a存放b的值,b存放c的值,c存放a的值。
inta,b,c,d;
a,b,c="
c;
d=a;
a=b;
b=c;
c=d;
a="
a<
b="
b<
对任意输入的四位整数,分别求出其各位数字,并按从后到前的顺序依次输出。
例如,输入为1234时,输出结果为4,3,2,1。
intn,a,b,c,d;
n="
n;
a=n%10;
b=(n%100-a)/10;
c=(n%1000-10*b-a)/100;
d=(n-100*c-10*b-a)/1000;
"
d<
}
3.思考题
*对任意输入的小于1的并且只有3位尾数的实数,分别求出其各位数字并输出。
要求输出的各数字之间要空2格。
例如,输入为0.368时,输出结果为‘0368’。
floatx;
inta,b,c,d,n;
n=x*1000;
实验二控制结构程序设计
(1)理解基本的解题技巧,掌握用自顶向下、逐步求精的过程设计算法。
(2)熟练掌握if/else语句和switch语句的使用。
(3)熟练掌握while语句、do/while语句和for语句的使用以及区别。
(4)掌握break和continue程序控制语句的使用。
(1)阅读下列程序,写出(由指定的输入)所产生的运行结果,并指出其功能。
50,输出最大公约数
intm,n;
m=1000;
n=850;
“\n(“<
m<
‘,’<
‘)’;
while(m!
=n){
while(m>
n){
m=m–n;
‘(‘<
while(m<
n=n–m;
}
“\n”<
m;
22---10,输出1000/45的商和余数
intm,n,k;
m=1000;
n=45;
‘:
’<
‘)’;
k=0;
=n){
k=k+1;
k<
“---”<
*#*#*#$,循环输出*#3次,再输出$
inti;
for(i=1;
i<
=5;
i++){
if(i%2)
‘*’;
else
continue;
cout<
‘#’;
“$\n”;
a=2,b=8,a+1,b+2
inta=1,b=10;
do{
b-=a;
a++;
}while(b--<
=0);
cout<
“a=”<
a<
“b=”<
b<
endl;
(2)编写程序实现下列问题的求解。
求解下面函数的值。
ex+yx<
0,y<
z=ln(x+y)1≤x+y〈10
log10|x+y|+1其它情况
doublex,y,z;
请输入x,y的值"
if(x<
0&
0)
z=exp(x+y);
else
if(((x+y)<
10)&
((x+y)>
=1))
z=log(x+y);
z=log10(fabs(x+y)+1);
cout<
z="
z<
编程求解下列各计算式:
1)S=
=1+2+3+…+100
intn,sum;
sum=0;
for(n=1;
n<
=100;
n++)
sum=sum+n;
sum="
sum<
2)S=
=1!
+2!
+…+7!
intfactorial(intn)
intresult;
if(n==0)result=1;
elseresult=n*factorial(n-1);
returnresult;
intmain()
intsum,i;
for(i=1;
i<
=7;
i++)
sum=sum+factorial(i);
theresultis"
3) S=1×
2+3×
4+5×
6+…+39×
40
i=1;
do
if(i%2==1)
sum=sum;
else
{
sum=sum+i*(i-1);
i++;
}while(i<
=40);
sumis"
4)Y=X-
+
-
+…+(-1)n+1
+…的值,精确到10-6。
intn,a;
x,nis"
y=0;
for(a=1;
(2*n-1);
a++)
y=y+(pow(-1,a+1)*pow(x,2*a-1))/(factorial(2*a-1));
yis"
打印下面图形。
1
131
13531
1357531
135797531
…………………
13……21………31
intj,k,l;
1"
for(j=1;
j<
=11;
j++)
for(k=38-2*j;
k>
=1;
k--)
cout<
for(l=1;
l<
=j*2-1;
l+=2)
if(l>
9)cout<
elsecout<
for(;
l>
l-=2)
if(l>
cout<
}}<
编程产生出1到10以内的所有数对<
i,j>
并输出,其中i>
j。
voidmai