return0;//正常返回
}
仔细检查你输入的内容,确保内容正确
-->[常用编辑命令]
虽然许多编辑命令可以通过菜单和工具栏实现,但大量的编辑命令都可以通过键盘实现。
以下命令通常用键盘实现:
*撤消前一次操作。
当你进行了一次错误的操作时,可以通过敲击键盘上的Ctrl+Z完成;
*重复前一次操作。
通过敲击Ctrl+Y实现
*剪切一行。
用Ctrl+L来删除一行并将它放到剪切板中
*剪切。
将选中的文本删除并将它放到剪切板中,用Ctrl+X实现
*复制。
将选中的文本复制到剪切板中,用Ctrl+C实现
*粘贴。
将剪切板中的内容放到编辑器中文本的当前位置处(由光标指示)。
,用Ctrl+V实现
要想了解关于键盘操作命令的完整列表,可以选择Help菜单下的KeyboardMap。
你没有必要记住所有的命令,有些根本不常用。
3)保存你的源文件
单击工具栏中的"save"图标,或者选择File|Save来保存你的文件。
C++源文件的扩展名为.cpp。
扩展名非常重要,DeveloperStudio根据文件的扩展名来区分文件类型,并且根据文件类型提供相应的编辑帮助(如正确的语法高亮显示)。
4)编译、连接得到可执行程序
编辑结束后,仔细检查你输入的内容,看有无错误。
确认没有错误之后,选择主菜单的Build|BuildHello.exe来编译你的项目(也可以按功能键F7)。
如果你输入的内容没有错误,那么,在屏幕下方的输出窗口将会显示:
hello.exe-0error(s),0warning(s)
如果在编译时得到错误或警告,是你的源文件出现错误,再次检查你的源文件,看是否有错误,改正它。
5)改正源程序中的错误
编译的错误会在DeveloperStudio的下方的输出窗口显示出来,逐个查看这些错误的内容,用鼠标双击,光标可以自动移动到发生错误的源程序的相应地点,仔细检查你的源程序,改正发生错误的地方,注意是否否遗留了分号、引号或括号等。
改正后,再重复步骤4)的操作,直到编译连接通过为止。
调试命令
有关调试的命令分散在Build、Debug、View和Edit菜单中。
Build菜单包含一个StartDebug子菜单,其中的命令是Debug菜单命令的子集,包括:
启动调试过程(Go)、单步跟踪(StepInto)和运行到光标处(RunToCursor).当启动调试进程后,Build菜单会被Debug菜单代替,Debug菜单包含各种控制程序执行的命令,如单步执行、进入函数体、从函数体中出来、运行到光标所在位置等。
View菜单包含一些命令,可以控制显示各种与调试有关的窗口,如变量窗口(Variableswindow)、调用栈窗口(CallStackwindow)等。
Edit菜单下的Breakpoints命令可以打开一个对话框,在其中可以插入、删除、启动、停止各个断点。
设置断点
你可以控制程序直接运行到指定地点,然后查看运行到这个地方时程序的状态,如变量的值、调用栈的情况等。
你可以通过设置断点来达到这一目的。
设置断点的方式是:
将光标移到要设置断点的地方,按F9,这时会有一个红的圆点出现在代码行的左边。
如果你想取消断点,将光标移动到设置断点的代码行,按F9。
启动调试
按F5或者在Build菜单中,选择StartDebug然后选择Go,就可以启动调试程序。
程序会一直运行到需要用户输入或者有断点的代码处。
查看变量值
查看变量值有多种方式,你可以选择你喜欢的方式进行。
1) 你可以将鼠标移动到程序的变量名处,系统会自动为你显示变量的值;
2)复杂变量(如对象)可以通过QuickWatch查看,方法是:
将光标定位到所要查看值的变量处,按鼠标右键,选择QuickWatch菜单,就可以看到变量值。
3)启动调试程序后,屏幕下方将会出现两个输出窗口,一个是Watch,另一个是Variable。
Watch窗口显示变量名和变量值,你可以在Watch窗口中加上你想观察值的变量名,也可以直接从源代码中选择变量名,并把它拖动到Watch窗口中。
Variable窗口显示程序当前运行上下文涉及的变量的值。
控制程序执行
你可以控制程序单步执行(F10)、跟踪到一个函数内部(F11)、从一个函数运行出来(shift+F11)、运行到光标所在位置(Ctrl+F10),以便方便地调试程序。
这些命令用于在某个局部范围详细地调试程序。
你也可以通过设置断点(F9)然后用直接运行(GO或者F5)来控制程序直接运行到断点位置。
如果你设置了多个断点,程序将会在遇到的第一个断点处停下来。
要从断点处继续运行,可以用上面所说的各种命令(F5,F10,F11,Shift+F11,Ctrl+F10)。
结束调试
要结束调试,可以按shift+F5或者选择菜单Debug|StopDebugging。
当结束调试后,所有调试窗口会自动关闭,Debug菜单也会自动还原为Build菜单。
6)运行你的第一个程序
你可以有三种方式运行你的程序:
*在开发环境中运行程序
选择Build|Executehello.exe(或者Ctrl+F5),在开发环境中执行你的程序。
程序运行以后将显示一个类似于DOS的窗口,在窗口中输出一行“hello",紧接着在下面显示“Pressanykeytocontinue",这句话是系统提示你按任意键退出当前运行的程序,回到开发环境中。
按任意键,窗口关闭,退回到VisualC++开发环境。
我们实验中将用这种方式运行程序。
*在DOS环境下运行程序
打开DOS窗口,改变工作路径到项目目录,该目录是你在创建目录时指定的。
如果你不记得了,可以在DeveloperStudio中的工作区窗口中选择项目名称(这里是“hellofiles"),然后选择菜单View|Properties,将可以显示出项目路径。
切换到debug子目录下,运行hello.exe,程序将输出:
'hello'。
实验任务:
(1)输入并运行程序:
用do-while语句编程,求自然数1~10之和。
程序正确运行之后,去掉源程序中的#include语句,重新编译,观察会有什么问题。
(2)do-while语句用for语句代替,完成相同的功能。
(3)编程计算图形的面积。
程序可计算圆形、长方形、正方形的面积,运行时先提示用户选择图形的类型,然后,对圆形要求用户输入半径值,对长方形要求用户输入长和宽的值,对正方形要求用户输入边长的值,计算出面积后将其显示出来。
3、实验步骤
(1)建立一个控制台应用程序项目lab1_1,向其中添加一个C++源文件lab1_1.cpp,输入实验任务中
(1)的程序,检查一下确认没有输入错误,选择菜单命令编译源程序,再选择Execute运行程序,观察输出结果。
(2)程序正确运行之后,在源程序第一行”#include”前面加注释标记”//”使之成为注释行,重新编译,观察编译的结果。
(3)另建立一个项目lab1_2,包含一个C++源程序lab1_2.cpp,将do-while语句用for语句代替,完成与实验任务1相同的功能。
(4)建立项目lab1_3,计算图形面积。
圆形的面积计算公式为S=PI*r*r,长方形的面积计算公式为S=a*b,正方形的面积市场计算公式为S=a*a。
程序中定义一个整型变量iType表示图形的类型,用cout语句输出提示信息让用户选择图形的型,用cin读入iType的值,然后,使用switch语句判断图形的类型,分别提示用户输入需要的参数值,计算出面积的值后用cout语句显示出来。
最后编译运行程序。
实验二、函数与重载(4学时)---------secondclass
1、实验目的:
(1)掌握函数的定义和调用方法。
(2)练习重载函数使用。
(3)练习函数模板的使用
(4)练习使用系统函数。
2、实验任务:
(1)编写一个函数把华氏温度转换为摄氏温度,转换公式为:
C=(F-32)*5/9。
(2)编写重载函数Max1可分别求取两个整数,三个整数,两个双精度数,三个双精度数的最大值。
(3)使用函数模板重新实现上小题中的函数Max1。
(4)使用系统函数pow(x,y)计算xy的值,注意包含头文件math.h。
(5)用递归的方法编写函数求Fibonacci级数,观察递归调用的过程。
3、实验步骤:
编写函数floatConvert(floatTempFer),参数的返回值都为float类型,实现算法C=(F-32)*5/9,在main()函数中实现输入、输出。
程序名为lab2_1.cpp.
(1)分别编写四个同名函数max1,实现函数重载,在main()函数中测试函数功能。
程序名:
lab2_2.cpp。
(2)使用函数模板实现求任意类型数的最大值,针对不同的参数个数,编写两个同名函数模板max1,其参数个数不同,实现函数重载,在main()函数中测试函数的功能。
和序名:
lab2_3.cpp。
(3)在main()函数中提示输入两个整数x,y,使用cin语句得到x,y的值,调用pow(x,y)函数计算x的y次幂的结果,再显示出来。
程序名:
lab2_4.cpp。
(4)编写递归函数intfib(intn),在主程序中输入n的值,调用fib函数计算Fibonacci级数。
公式为fib(n)=fib(n-1)+fib(n-2),n>2;fib
(1)=fib
(2)=1。
使用if语句判断函数的出口,在程序中用cout语句输出提示信息。
程序名:
lab2_5.cpp。
实验三、类的定义与使用(4学时)----------------thirdclass
1、实验目的:
(1)掌握类的定义和使用
(2)掌握类的定义和对象的声明
(3)复习具有不同访问属性的成员的访问方式。
(4)观察构造函数和析构函数的执行过程。
(5)学习类的聚集使用方法。
2、实验任务
(1)定义一个CPU类,包含等级(rank)、频率(frequency)、电压(voltage)等属性,有两个公有成员函数run、stop。
其中rank为枚举类型CPU_Rank,定义为enumCPU_Rank={P1=1,P2,P3,P4,P5,P6,P7},frequency为单位为MHz的整型数,voltage为浮点型的电压值。
观察构造函数和析构函数的调用顺序。
(2)定义一个简单的Computer类,有数据成员芯片(cpu)、内存(ram)、光驱(cdrom)等等,cpu为CPU类的一个对象,ram为RAM类的一个对象,cdrom为CDROM类的一个对象,定义并实现这个类。
(3)设计一个用于人事管理的People(人员)类。
考虑到通用性,这里只抽象出所有类型人员都具有的属性:
number(编号)、sex(性别)、birthday(出生日期)、id(身份证号)等等。
其中“出生日期”定义为一个“日期”类内嵌子对象。
用成员函数实现对人员信息的录入和显示。
要求包括:
构造函数和析构函数、拷贝构造函数、内联成员函数。
3、实验步骤
定义枚举类型CPU_Rank,例如enumCPU_Rank{P1=1,P2,P3,P4,P5,P6,P7},再定义CPU类,包含等级(rank)、频率(frequency)、电压(voltage)等私有数据成员,定义成员函数run、stop,用来输出提示信息,在构造函数和析构函数中也可以输出提示信息。
在主程序中定义一个CPU类的对象,调用其成员函数,观察类对象的构造与析构顺序,以及成员函数的调用。
程序名:
lab3_1.cpp。
实验四类的定义与应用2(4学时)------fourthclass
一、实验目的:
通过例题程序的阅读分析,加深理解构造函数、拷贝构造函数的意义及应用方法,以及参数传递的不同方法的理解。
二、实验要求:
阅读程序,观察程序的输出,给出程序的注释,并解释不同输出的原因。
提交实验报告时,只要求打印main函数部分。
三、实验内容:
仔细阅读下面的三个例程,分析其输出结果,并指出输出结果不同的原因。
例程1、Passingobjectsbyreference.
1:
//Listing9.10
2:
//Passingpointerstoobjects
3:
4:
#include
5:
6:
classSimpleCat
7:
{
8:
public:
9:
SimpleCat();//constructor
10:
SimpleCat(SimpleCat&);//copyconstructor
11:
~SimpleCat();//destructor
12:
};
13:
14:
SimpleCat:
:
SimpleCat()
15:
{
16:
cout<<"SimpleCatConstructor...\n";
17:
}
18:
19:
SimpleCat:
:
SimpleCat(SimpleCat&)
20:
{
21:
cout<<"SimpleCatCopyConstructor...\n";
22:
}
23:
24:
SimpleCat:
:
~SimpleCat()
25:
{
26:
cout<<"SimpleCatDestructor...\n";
27:
}
28:
29:
SimpleCatFunctionOne