第一章 C++实验基础知识 C.docx
《第一章 C++实验基础知识 C.docx》由会员分享,可在线阅读,更多相关《第一章 C++实验基础知识 C.docx(26页珍藏版)》请在冰豆网上搜索。
第一章C++实验基础知识C
第一章C++实验基础知识
1.1C++语言实验环境配置
C++语言实验环境配置要求
硬件配置:
586以上PC兼容机或品牌机,配有彩色显示器、鼠标、键盘,内存不小于20MB,硬
盘自由空间不少于60MB。
推荐配置为内存32MB或64MB(或以上),硬盘自由空间500MB
以上。
软件配置:
1、操作系统:
Windows98,windows2000,windowsXP,Linux,UNIX
2、集成开发环境:
(1)在Windows98,windows2000,windowsXP系统下,主要的开发编译环境有Turbo
C/C++3.0、BorlandC++3.1、MicrosoftVisualC++6.0、DJGPP,其中DJGPP是GCC在
DOS/Windows操作系统下的移植。
本实验指导书使用的开发环境为MicrosoftVisualC++6.0
英文版。
汉化版本只是把部分菜单汉化了且用词很不准确。
(2)在Linux、UNIX系统下,采用GCC编译环境。
本实验指导书不涉及相关内容,
有兴趣的同学可以自行学习。
1.2VisualC++6.0的使用
1.2.1VisualC++介绍
VisualC++是Microsoft公司的VisualStudio开发工具箱中的一个C++程序开发包。
Visual
Studio提供了一整套开发Internet和Windows应用程序的工具,包括VisualC++,Visual
Basic,VisualFoxPro,VisualInterDev,VisualJ++以及其他辅助工具,如代码管理工具Visual
SourceSafe和联机帮助系统MSDN。
VisualC++包中除包括C++编译器外,还包括所有的库、
例子和为创建Windows应用程序所需要的文档。
从最早期的1.0版本发展6.0版本,到最新的.NET版本,VisualC++已经有了很大的变
化,在界面、功能、库支持方面都有许多的增强。
6.0版本在编译器、MFC类库、编辑器以
及联机帮助系统等方面都比以前的版本做了较大改进。
VisualC++一般分为三个版本:
学习版、专业版和企业版,不同的版本适合于不同类型的
应用开发。
实验中可以使用这三个版本的任意一种。
1.2.2VisualC++的安装和启动
如果你的计算机未安装VisualC++6.0,则应先安装VisualC++6.0。
VisualC++是Visual
Studio的一部分,因此需要VisualStudio的光盘,执行其中的setup.exe,并按屏幕上的提示
安装即可。
安转完毕后,在Windows的“开始”菜单的程序子菜单中会出现“Microsoftvisual
C++程序设计实验指导书
第2页(共81页)
Studio”子菜单,如图1-1所示
图1-1MicrosoftvisualStudio启动子菜单
在需要使用VisualC++时,只需从桌面上顺序选择“开始”程序“MicrosoftvisualStudio”
VisualC++6.0命令即可,此时屏幕上在短暂显示VisualC++6.0的版权页面后,出现Visual
C++6.0的由窗口、工具条、菜单、工具及其他部分组成的一个主界面。
通过这个界面,用
户可以创建、测试、调试应用程序。
如图
图1-2VisualC++6.0界面
1.2.3常用功能键及其意义
为了使程序员能够方便快捷地完成程序开发,开发环境提供了大量快捷方式来简化一些
常用操作的步骤。
键盘操作直接、简单,而且非常方便,因而程序员非常喜欢采用键盘命令
来控制操作。
下面是一些最常用的功能键,希望在实验中逐步掌握。
操作类型功能键对应菜单含义
文件操作Ctrl+NFile|New创建新的文件、项目等
Ctrl+OFile|Open打开项目、文件等
Ctrl+SFile|Save保存当前文件
编辑操作Ctrl+XEdit|Cut剪切
Ctrl+CEdit|Copy复制
Ctrl+VEdit|Paste粘贴
Ctrl+ZEdit|Undo撤消上一个操作
Ctrl+YEdit|Redo重复上一个操作
Ctrl+AEdit|SelectAll全选
DelEdit|Del删除光标后面的一个字符
建立程序操作Ctrl+F7Build|Compilercurrentfile编译当前源文件
Ctrl+F5Build|Runexe运行当前项目
C++程序设计实验指导书
第3页(共81页)
F7Build|Buildexe建立可执行程序
F5Build|StartDebugging启动调试程序
调试F5Debug|Go继续运行
F11Debug|Stepinto进入函数体内部
shift+F11Debug|Stepout从函数体内部运行出来
F10Debug|Stepover执行一行语句
F9设置/清除断点
Ctrl+F10Debug|Runtocursor运行到光标所在位置
shift+F9Debug|QuickWatch快速查看变量或表达式的值
Shift+F5Debug|Stopdebugging停止调试
注:
这些快捷键命令都有对应的菜单和工具条按钮,如图1.3:
图1-3快捷键命令菜单与按钮
1.2.4输入和编辑源程序
先介绍最简单的情况,即程序只由一个源程序文件组成,即单文件程序(有关对多文件
程序的操作在本章的稍后介绍)。
1、新建一个C++源程序的方法
如果要新建一个C++源程序,可采取以下的步骤:
在VisualC++主窗口的主菜单栏中选择File(文件)命令,然后选择New(新建)命令,如
图1-4。
图1-4选择File菜单中的New操作
Compile
(Ctrl+F7)
RebuildAll
Build(F7)
StopBuild
(Ctrl+Break)ExecuteProgram
(Ctrl+F5
Go(F5
InsertRemove
Breakpoint(F9)
C++程序设计实验指导书
第4页(共81页)
图1-5创建一个C++源文件
这时,展幕上出现一个New(新建)对话框,单击此对话框的上方的Files(文件)属
性页,在列表中选择“C++SourceFile”项,表示要建立新的C++源程序文件,然后在对话
框右半部分的Location(目录)文本框中输入准备编辑的源程序文件的存储路径(假设为
D:
\计算机0501-20060405-张三\实验一),表示准备编辑的源程序文件将存存放在“D:
\计算
机0501-20060405-张三\实验一”子目录下。
在其上方的File(文件)文本框中输入准备编辑
的源程序文件的名字(输入MyFirstC),如图1-5。
这样,即将进行输入和编辑的源程序就
以MyFirstC.cpp为文件名存放在D盘的“\计算机0501-20060405-张三\实验一”目录下,如
图1-6。
当然,读者完全可以指定其他路径名和文件名。
图1-6C++文件建立成功
在单击OK按钮后,回到VisualC++主窗口,由于在前面已指定了路径(D:
\计算机
0501-20060405-张三\实验一)和文件名(MyFirstC.cpp),因此在窗口的标题栏中显示出
MyFirstC.cpp。
可以看到光标在程序编辑窗口闪烁,表示程序编辑窗口已激活,可以输入和
编辑源程序了。
这里输入如图1-7窗口中所示的程序。
检查无误后,则将源程序保存在前面
指定的文件中,方法是:
在主菜单栏中选择File(文件)命令,并在其下拉菜单中选择Save
(保存)命令。
也可以用快捷键Ctrl+S来保存文件。
如果不想将源程序存放到原先指定的
文件中,可以不选择Save命令,而选择SaveAs(另存为)命令,并在弹出的SaveAs(另
存为)对话框中指定文件路径和文件名。
C++程序设计实验指导书
第5页(共81页)
图1-7C++程序输入
2、打开一个已有的程序
如果你已经编辑并保存过C++源程序,而希望打开你所需要的源程序文件,并对它进行
修改,方法是:
(1)在“资源管理器”或“我的电脑”中按路径打到已有的C++程序名(如C1-1.cpp)。
(2)双击此文件名,则进入VisualC++集成环境,并打开了该文件,程序已显示在编
辑窗口中。
也可以用Ctrl+O或单击工具栏中的小图标来打开文件。
(3)如果修改后仍想保存在原来的文件中,可以选择File(文件)→Save(保存)命
令,或用快捷键Ctrl+S,或单击工具栏中的小图标来保存文件。
3、通过已有的程序建立一个新程序的方法
如果你已编辑并保存过C++源程序(而不是第一次在该计算机上使用VisualC++)的话,
则可以通过一个已有的程序来建立一个新程序,这样做比重新输入一个新文件省事,因为可
以利用原有程序的部分内容。
方法是:
(1)打开任何一个已有的源文件,(例cl-1.cpp)
(2)利用该文件的基础修改成新的文件然后通过选择File(文件)→Saveas(另存为)
命令将它以另一文件名另存(如以test.cpp名字另存),这样就生成了一个新文件test.cpp。
用这种方法很方便,但应注意:
(1)保存新文件时,不要错用File→Save(保存)操作,否则原有文件(cl-1.cpp)的
内容就被修改了。
(2)在编译新文件前,应先选择File(文件)→CloseWorkspace(关闭工作区)命令
将原有的工作区关闭,以免新文件在原有的工作区进行编译。
1.2.5编译、连接和运行
1、程序的编译
在编辑和保存了源文件以后,需要对该源文件进行编译。
单击主菜单栏中的Build(编
译),在其下拉菜单中选择CompileMyFirstC.cpp(编译MyFirstC.cpp)命令。
由于建立(或
保存)文件时已指定了源文件的名字MyFirstC.cpp,因此在Build菜单的Compile命令中显
示了现在要编译的源文件名MyFirstC.cpp。
见图1-8:
C++程序设计实验指导书
第6页(共81页)
图1-8编译C++程序
在选择“编译”命令后,屏幕上出现一个对话框,内容是“Thisbuildcommandrepuires
anactiveprojectworkspace.Wouldyouliketocreatadefaultprojectworkspace?
”(此编译命令要
求一个有效的项目工作区。
你是否同意建立一个默认的项目工作区),见图1-9。
单击Yes
(是)按钮,表示同意由系统建立默认的项目工作区,然后开始编译。
也可以不用选择菜单
的方法,而用Ctrl+F7或小图标来完成编译。
图1-9建立默认工作区提示
在进行编译时,编译系统检查源程序中有无语法错误,然后在主窗口下部的调试信息窗
口输出编译的信息,如果有错,就会指出错误的位置和性质,见图1-10。
C++程序设计实验指导书
第7页(共81页)
图1-10编译错误信息提示
2、程序的调试
程序调试的任务是发现和改正程序中的错误,使程序能正常运行。
编译系统能检查出程
序中的语法错误。
语法错误分两类:
一类是致命错误,以error表示,如果程序中有这类错
误,就通不过编译,无法形成目标程序,更谈不上运行了。
另一类是轻微错误,以warning
(警告)表示,这类错误不影响生成目标程序和可执行程序,但有可能影响运行的结果。
因
此也应当尽量改正,使程序既无error,又无warning。
在图1-10中的调试信息窗口中可以看到编译的信息,指出源程序有一个error和一个
warning。
第7行有致命错误,错误的种类是:
在“}”之前漏了“;”。
检查图1-10中的程
序,果然发现在第6行末漏了分号。
同学们可能要问:
明明是第6行有错,怎么在报错时说
成是第7行的错呢?
这是因为C++允许将一个语句分写成几行,因此检查完第6行末尾无分
号时还不能判定该语句有错,必须再检查下一行,直到发现第7行的“}”前都没有“;”,
才能判定出错。
因此在第7行报错。
在根据编译报错信息检查程序时,应检查其上下行。
此
外编译信息指出第7行还有一个warning,指出main函数需要有一个返回值,程序中缺少一
个“return0;”语句。
进行改错时,双击调试信息窗口中的某个报错信息的第1行,光标就自动移到程序窗口
中被报错的程序行,并用粗箭头指向该行。
见图1-11。
C++程序设计实验指导书
第8页(共81页)
图1-11发现错误位置
在第6行末加上分号。
再增加新的一行return0;如图1-12:
图1-12错误修改
再选择CompileMyFirstC.cpp命令重新编译,此时编译信息提示:
“0error(s),0
warning(s)”,即没有致命错误(error)和警告性错误(warning),编译成功,这时产生一个
MyFirstC.obj文件。
见图1-13中的下部调试信息窗口。
C++程序设计实验指导书
第9页(共81页)
图1-13语法编译通过
3、程序的连接
在得到目标程序后,就可以对程序进行连接了。
此时应选择Build(构建)→Build
MyFirstC.exe(构建MyFirstC.exe)命令,见图1-14。
表示要求连接并建立一个可执行文件
MyFirstC.exe。
图1-14连接建立可执行文件
在执行连接后,在调试输出窗口显示连接时的信息,说明没有发现错误,生成了一个可
执行文件MyFirstC.exe。
见图1-15。
C++程序设计实验指导书
第10页(共81页)
图1-15可执行文件建立成功
以上介绍的是分别进行程序的编译与连接,也可以选择Build→命令(或按F7键)一次
完成编译与连接。
对于初学者来说,还是建议分步进行程序的编译与连接,有利于对程序编
译、解释、连接过程的理解。
今后积累一定经验后,可以一步完成编译与连接。
4、程序的执行
在得到可执行文件MyFirstC.exe后,就可以直接执行MyFirstC.exe了。
选择Build
→!
Executetest.exe(执行MyFirstC.exe)命令。
见图1-16。
图1-16运行程序可执行文件
在选择“!
Executetest.exe”命令后,即开始执行MyFirstC.exe。
也可以不通过选择菜
单命令,而且Ctrl+F5来实现程序的执行。
程序执行后,屏幕切换到输出结果的窗口,显示
出运行结果,见图1-17。
C++程序设计实验指导书
第11页(共81页)
图1-17程序运行结果
可以看到,在输出结果的窗口中的第1行是程序的输出结果:
ThisisaC++program.
第2行“Pressanykeytocontinue”并非程序所指定的输出,而是VisualC++在输出完运
行结果后由VisualV++6.0系统自动加上的一行信息,通知用户“按任何一键以便继续”。
当
你按下任何一键后,输出窗口消失,回到VisualC++的主窗口,你可以继续对源程序进行修
改补充或进行其他工作。
如果已完成对一个程序的操作,不再对它进行其他处理,应当选择File(文件)→Close
Workspace(关闭窗口)命令,以结束对该程序的操作。
1.2.6建立和运行包含多个文件的程序的方法
上面介绍的是最简单的情况,一个程序只包含一个源程序文件。
如果一个程序包含多个
源程序文件,则需要建立一个项目文件(projectfile),在这个项目文件中包含多个文件(包
括源文件和头文件)。
项目文件是放在项目工作区(Workspace)中并在项目工作区的管理之
下工作的,因此需要建立项目工作区,一个项目工作区可以包含一个以上的项目。
在编译时,
先分别对每个文件进行编译,然后将项目文件中的文件连接成为一个整体,再与系统的有关
资源连接,生成一个可执行文件,最后执行这个文件。
在实际操作时有两种方法:
一种是由用户建立项目工作区和项目文件;另一种是用户只
建立项目文件而不建立项目工作区,由系统自动建立项目工作区。
1、由用户建立项目工作区和项目文件
(1)、先用前面介绍过的方法分别编辑好同一程序中的各个源程序文件,并存放在自己
指定的目录下,例如有一个程序包括filel.cpp和file2.cpp两个源文件,并已把它们保存在“D:
\
计算机0501-20060405-张三\实验一”子目录下。
(2)、建立一个项目工作区。
在如图1-4所示的VisualC++主窗口中选择File(文件)
→New(新建)命令,在弹出的New(新建)对话框中选择上部的选择属性页Workspacename
(工作区名字),表示要建立一个新的项目工作区。
在对话框中右部Workspacename(工作
区名字)文本框中输入你指定的工作区的名字(如wsl),见图1-18。
C++程序设计实验指导书
第12页(共81页)
图1-18建立工作区
然后单击右下部的OK按钮。
此时返回VisualC++主窗口,见图1-19。
图1-19一个空的工作区
可以看到在左部的工作区窗口中显示了“Workspacews1:
0project(s)”,表示当前的工作
区名是wsl,其中有0个project(没有在其中放入项目文件)。
(3)、建立项目文件。
选择File(文件)→New(新建)命令,在弹出的New(新建)
对话框中选择上部的选择属性页Projects(项目,中文VisualC++把它译为“工程”),表示
要建立一个项目文件。
见图1-20。
C++程序设计实验指导书
第13页(共81页)
图1-20建立一个新的项目
在对话框中左部的列表中选择“Win32ConsoleApplication”项,并在右部的location(位
置)文本框中输入项目文件的位置(即文件路径),在Projectname(中文界面中显示为“工
程”)文本框中输入你指定的项目文件名,假设输入projectl。
在窗口右部选中Addtocurrent
workspace(添加至现有工作区)单选钮,表示新建的项目文件是放到刚才建立的当前工作
区中的。
然后单击OK(确定)按钮。
此时弹出一个如图1-21所示的对话框,在其中选中
Anemptyproject单选钮,表示新建立的是一个空的项目。
图1-21项目类型选择
单击Finish(完成)按钮。
系统弹出一个NewProjectInformation(新建工程信息)对话
框(图1-22),显示了刚才建立的项目的有关信息。
图1-22新建项目的信息
在其下方可以看到项目文件的位置(文件路径)。
确认后单击OK(确定)按钮。
此时
又回到VisualC++主窗口,可以看到:
左部窗口中显示了“Workspace’wsl’:
1project(s)”
其下一行为“project1files”,表示已将项目文件project1加到项目工作区wsl中,见图1-23。
C++程序设计实验指导书
第14页(共81页)
图1-23工作区中加入一个新项目
(4)、将源程序文件放到项目文件中。
方法是:
在VisualC++主窗口中依次选择Project
(工程)→AddToProject(添加到项目中,在中文界上显示为“添加工程”)→“Files…”
命令,见图1-24。
图1-24文件加入到项目中
在选择“Files…”命令后,屏幕上出现InsertFilesintoProject对话框。
在上部的列表框
中按路径找到源文件file1.cpp和file2.cpp所在的子目录,并选中file1.cpp和file2.cpp,见图
1-25。
C++程序设计实验指导书
第15页(共81页)
图1-25加入文件选择
单击OK(确定)按钮,就把这两个文件添加到项目文件project1中了。
(5)、编译和连接项目文件。
由于已经把file1.cpp和file2.cpp两个文件添加到项目文件
project1中,因此只须对项目文件project1进行统一的编译和连接。
方法是:
在Visua1C++
主窗口中选择Build(编译)→Buildproject1.exe(构建project1.exe)命令。
在选择Buildproject1.exe命令后,系统对整个项目文件进行编译和连接,在窗口的下部
会显示编译和连接的信息。
如果程序有错,会显示出错信息,如果无错,会生成可执行文件
project1.exe。
见图1-26。
图1-26项目的编译和连接
执行可执行文件。
选择Build(编译)→Executeproject1.exe(执行project1.exe)命令,
即可。
2、用户只建立项目文件
上面介绍的方法是先建立项目工作区,再建立项目文件,步骤比较多。
可以采取简化的
方法,即用户只建立项目文件,而不建立项目工作区,由系统自动建立项目工作区。
在本方法中,保留上一节中介绍的第
(1)、(4)、(5)、(6)步,取消第
(2)步,修改
第(3)步。
具体步聚如下:
(1)分别编辑好同一程序中的各个源程序文件。
同上一节中的第
(1)步。
(2)建立一个项目文件(不必先建立项目工作区)。
在VisualC++主窗口中选择File(文件)→New(新建)命令,在弹出的New(新建)
对话框中选择上部的选项卡projects(项目),表示要建立一个项目文件。
见图1-27。
在对话
框中左部的列表中选择“Win32ConsoleApplication”项,在projectname(中文VisualC++
C++程序设计实验指导书
第16页(共81页)
中显示为“工程”)文本框中输入你指定的项目文件名(project1)。
可以看到:
在右部的中
间的单选钮处默认选定了Createnewworkspace(创建新工作区),这是由于用户未指定工作
区,系统会自动开辟新工作区。
图1-27建立一个新的Win32ConsoleApplication项目
单击OK(确定)按钮,出现“Win32ConsoleApplication-step1of1”对话框,选中右
部的Anemptyproject单选钮,单击Finish(完成)按钮后,出现“Newprojectinformation”
(新建工程信息)消息框。
从它的下部可以看到项目文件的路径。
单击OK(确定)按钮,
在弹出的VisualC++主窗口的左部窗口的下方单击FileView按钮,窗口中显示
“Workspace`project1`:
1project(s)”,见图1-28。
说明系统已