← 学习库 C++程序设计教程 本册目录

第2章 C++ 基础知识(一)

原书第 20 页

第2章 一份令人欣喜且信心十足的 C++处女作及 C++基础知识(一)

初涉 C++ 乐园,首先了解一下 C++ 的基本情况,然后学习 C++ 程序设计开发流程、C++ 语句,以及 Visual C++ 的集成开发环境及基本操作。在浏览体验完 C++ 乐园的第一站后,相信你的 C++ 处女作就可以诞生了。

注意,本书这样约定:

1)如果例题中语句的注释与前面某道例题中的语句注释相类似,则一般不再加以注释。

2)书中的某些例子不是完整的程序,而是例句。例句加入到例 2-1 所编写的基本源程序中,再加上初始化等辅助部分,就可以作为一个完整的程序,调试通过后就能运行。

2.1 初步认识 C++ 的一个简例

【例2-1】试编写输出显示“Happy new day!”的C++程序。

1. 用心分析人想通,机随人行写提纲

编写 C++ 程序就像写文章一样,一般的大结构都是开始—中间部分—结束,中间部分再细分一下是编程三部曲,即输入—处理—输出。输入就是输入处理事情所需要的信息(如数据、文字信息等),处理就是把这件事情办好、做完,输出就是将这件事情的结果显示出来,当然这三部曲不一定要唱全,只要能处理好、处理完这件事情就是好曲子。所以,“用心分析人想通,机随人行写提纲”这一步完全不用去想 C++,只要按照写文章提纲的方式写出程序的提纲即可。

不管是简单或者复杂的编程题都好,首先是人要想通,想什么?用心分析人是怎么做这件事情的,把人做事情的过程用提纲写下来。对于例2-1而言,人的做法就是拿着一支笔在纸上写下这个英文句子(字符串),即输出这个字符串。将人的做法用简易流程图或流程图画出来,如图2-1所示。或者不用流程图,就像写文章的提纲一样,写出来也可以,只要能把人的做法表达出来即可。接下来用人脑跟踪运行检验提纲或简易流程图或流程图,看看是否合理,不合理,再修改,合理则转入下一步。

2. 对号入座写文章,头脑运行改文章

根据流程图用 C++语句对号入座写文章——编写 C++源程序代码(切记:C++源程序代码(除了字符串和注释句外)一定要在英文输入法下输入,包括标点符号)。对号入座即对照提纲或流程图中的步骤找到具有相应功能的 C++语句来代替。那么此例中,就根据流程图中的“输出字符串”去 C++语句中找有输出功能的语句,还真的找到了,cout 就是具有输出功能的语句,它把信息输出到显示器上,正好为我所用,那就将 cout 语句对号入座到流程图

原书第 21 页

的“输出字符串”处。

Image
图2-1 输出字符串的流程图

请注意,本书做出以下约定:

1)程序必不可少的部分是基本源程序,就是一个最简单的主函数,其书写格式如下:

$$ \begin{aligned}& 初始说明部分 \\&void main()&\quad&// 从唯一必经的入口——main() 主函数进入并运行程序 \\&\{\quad&&// 程序从此开始运行 \\&\quad& 编程三部曲 &\quad// 处理问题的过程:输入一处理一输出 \\&\}\quad&&// 程序到此运行结束 \end{aligned} $$

2)方括号“[]”中的内容均是可有可无的部分(除了数组中用到此符号时)。

3)程序中的“//”后的内容和“/*”与“*/”之间的内容均是注释说明部分,此部分不参与程序的运行。

此例的源程序代码如下:

/*chl_1.cpp*/ //注释说明 ch1_1.cpp 是文件名
#include<iostream.h> //包括显示语句 cout 的头文件
void main() //从唯一必经的入口——main()主函数进入并运行程序
{
    cout<<"Happy new day!n"; //输出语句 cout 显示该字符串
    //切记:句末的尾巴——“;”是每个句子都必不可少的
    //程序到此运行结束
}

此程序是按照流程图编写的,经过头脑运行,知其可实现题目的功能。下面是对程序的几点分析。

1)因为输出流 cout 是在头文件 cout00007 中定义的,所以首先要加 cout00008 包括命令,才能使用 cout。通常,程序都要加此命令,因为一般都要输出显示结果,只不过书写形式可能会用另一种。

2)每个程序必须有一个唯一的函数——main()主函数,每个程序的运行也必须有一个唯一的入口——从 main() 主函数进入运行程序。每个程序的执行必须只有一个开始执行点,否则程序会不知如何执行,从而引起歧义。所以,每个 C++ 程序无论大或小,也无论是单文件还是多文件结构,都只有一个 main() 主函数。void 表示主函数 main() 没有返回值。

3)程序的主体部分是指用“{}”括起的部分,程序从“{}”开始执行,到“}”处结

原书第 22 页

束,注意“{”和“}”必须成对出现。

4)输出部分采用输出流 cout,由于是输出字符串,所以一定要把输出的整个字符串用双引号括起来,在分行显示或显示完需换行时还要加上换行符 “\n” 或 “cout<<endl;”。若输出变量值或计算结果,则要写成 “cout<<变量名” 或 “cout<<计算表达式”,其中,前一种写法不仅可以输出计算结果,还可以将计算结果保存到变量中;后一种写法只能输出计算表达式的结果,但不保存该结果,读者可参考本例和第 3 章中的例 3-1。

另外,大家要养成良好的程序书写风格——采用锯齿形(缩进形)的程序员式风格书写程序。

注意:在此之前,程序全部要在纸上展开,不要在计算机上操作,作者称此为纸上谈兵,纸上谈兵完成后,再转入下面的机上打仗。纸上谈兵的好处和作用非常大,正所谓“路遥知马力,日久见功效”,随着学习的深入,用户会逐渐有所体会。

  1. C++帮助且裁判,人定胜机凯歌扬

接下来开始机上打仗,即进入程序的输入、调试、修改阶段。这一阶段也有三部曲:输入源程序—编译—连接。输入源程序后反复执行后两部曲,直至没有错误,该程序就编写好了,之后就可以运行程序了。机上打仗的操作按2.3.5节、2.3.6节中所述的内容进行。

1)输入源程序:可用任何可以输入文本的软件输入。

2)编译:如果字符串没有添加双引号,则 C++会出示红牌警告,即出现“ch1_1.obj - 102 error(s), 0 warning(s)”提示,看到短短几行的程序竟然有 102 个错误,读者也许会惊慌,其实可能只要纠正了第一个错误,问题就会顺势而解了。因此,在编译时,大家要沉着冷静、认真仔细地分析错误原因。首先来看第一行错误:'Happy': undeclared identifier,即未声明'Happy'这个标识符,那当然了,程序的意图不是把'Happy'作为变量名,而是把'Happy'作为字符串中的一个单词,而字符串是要用“”括起来的。这样,便可知产生问题之原因了,原来是整个字符串没有加“”,加上“”,编译,出现了“ch1_1.obj - 0 error(s), 0 warning(s)”的提示,表示0个错误、0个警告,即ch1_1.obj目标文件被编译成功了,这就是“C++帮助且裁判,人定胜机凯歌扬”,用户也许会不相信,一对小小的双引号就能排除102个错误,事实不容置疑,所以C++的规定和语法违反不得。在编译调试时,如果看不明白错误信息的意思,读者也不要慌,一定要冷静、冷静再冷静,坚信人必定比电脑聪明。一般情况下,开始学C++语言,发生的常见错误是没有按照C++的规定和语法编写程序。在此介绍一些小窍门:将鼠标在第一行错误信息处双击,则箭头会指在错误行上,然后阅读该行的信息属于C++规定和语法的哪一种,并认真对照C++的规定和语法查找错误;或者查看错误信息处:D:\vc\Cbook\ch1_1.cpp(11): error C2143: syntax error: missing'; before 'janer', 跟在文件名后用圆括号括起来的是错误行(有时在之前的行),读者可先在该行查找错误,若找不出,再去之前的行查找,若仍然找不出,则先处理下一个错误,也许上一个错误或警告就会随之排除了。

注意,在编译时,读者要做好上机实验记录,此例的上机实验记录如表2-1所示。

表2-1 上机实验记录表
出错现象出错原因解决办法
'Happy' : undeclared identifier\nmissing ;' before 'new'\nsyntax error : identifier 'day'\nillegal escape sequence\nsyntax error : missing ;' before '}\'字符串没有添加“ ”添加“ ”
原书第 23 页

3)连接:若输出窗口显示 “ch1_1.exe - 0 error(s), 0 warning(s)”,则说明没有错误,连接成功了,可执行文件 ch1_1.exe,然后就可以分享胜利成果——运行程序了。

运行程序后的窗口如图2-2所示。

Image
图2-2 运行程序后的窗口

运行结果:

Happy new day!

结果如题意。

2.2 勤奋实践,总结评分

通过上例,可见 C++ 相当有趣。读者可以亲自动手尝试一下,将会大有收获。

建议读者先做每1章的习题与思考题,若感觉所需要的 $ C^{++} $知识不够,可以参考每一章第3节的 $ C^{++} $知识。

大家要记住:要想学好 C++,就不要在网上或书籍中找程序,而是要自己设计程序,这样才是自己真正学到的、会用的,才是属于自己的知识宝藏,从而对提高自己的编程技能大有益处,最终成为 C++高手。

2.2.1 习题
  1. 编写输出“我一定能学好C++,我一定能成为C++高手!”的程序。

2.把自己喜爱的名人名言、励志语句、座右铭等输入计算机,并在周围添加精美的花边或图案,然后打印出来,贴在书桌、墙壁、床头等处陪伴自己成长。

原书第 24 页
  1. 编写学习 C++ 的计划任务表的程序(栏目等自行设计)。
  1. 编写打印自己姓名、班级和学号的程序。
  1. 用 C++ 程序实现显示 “热烈欢迎新同学!” 横幅标语的功能。
  1. 编写求解 y=x-3,并输出 y 结果的程序,分别计算自变量 x 的 3 个值(x=6; x=1848; x=-1)对应的 y 值。
  1. 编写打印标题栏的程序,在标题栏的周围添加一个边框,边框图案和标题内容由读者自定。
  1. 编写一个简单的停电通知的程序。
  1. 编写显示英语问候对答句的 C++ 程序。
  1. 设计显示“人离开请关电!”温馨提示牌的程序。
2.2.2 思考题

1\. C++的主要特点是什么?

2.开发 C++ 程序的流程是怎样的?十八字方针是什么?编写程序和调试程序应遵循的三部曲分别是什么?

3.买 10 本书,有 3 种不同的单价,单价和某种单价的书的数量自定,试编程实现打印输出合计金额的功能。

2.2.3 总结评分,继续提高

浏览体验了例题、习题和思考题之后,说说自己的体会和收获,并认真总结,按表2-2给自己评判一下可以得多少分。

表2-2 总结评分表
成绩ABCD不足的原因改进的方法备注
C++知识完全理解和会用基本理解和会用肤浅理解和会用基本不理解和不会用
程序原创(独立编程)的比例(%)≥9080~8960~79<60

在:表2-2中的考核分为两部分,即C++知识和程序原创(独立编程)的比例(%),这两部分成绩若有不在同一个级别的情况,则分别进行考核,两部分的平均分为考核总分。对于不足的原因和改进的方法,也分别对应两部分进行填写。

不论得分多少,大家都要总结经验,扬长避短,勤奋努力,不断提高。

最后浏览本章的第4节,可以先考考自己再浏览(即先看自己能列出多少亮点,然后再浏览第4节列出的亮点,以加深认识。以后每一章均照此执行,不再另加说明),以便使重点知识掌握得更牢固。

2.3 C++ 基础知识(一)

从前面观赏到的 C++ 风景可知,C++ 程序是为了解决问题、处理事情而编写的,它由一些 C++ 语句构成。学习高级算法语言 C++,正是要用这种语言,把人解决问题、处理事情的思想、方法和过程编写成 C++ 程序,让计算机运行 C++ 程序,实现人的想法和做法,从而提

原书第 25 页

高解决问题、处理事情的效率。

C++程序的编写是学习高级算法语言 C++的目的和核心,也是关键所在。怎样才能编写出优质高效的 C++程序呢,下面进行进一步的学习。

2.3.1 一般的 C++ 程序设计开发流程

在设计开发 C++程序时,首先要奠定好道德品质这块基石,然后按照人定胜机、机随人行的方针去编程,即用十六字方针自始至终地指引自己学习。无论碰到什么困难,大家都要坚信:“我一定能学好 C++,我一定能成为 C++高手。”要开启最大的智慧,付出最大的努力去学习 C++。

并且,一定要有“学习记录本”,记录学习、设计、开发和调试的过程。该记录本非常重要,有助于读者的知识理解、经验积累和总结提高。

一般情况下,C++程序的开发按图2-3进行,开发程序就是编写程序来处理事情,根据机随人行的原则,应该先按编程三部曲(输入—处理—输出)将人的做法想通,再写出提纲或画出简易流程图(或流程图),然后根据提纲、简易流程图或流程图编写程序,最后将程序输入计算机并调试、运行,以确保程序正确。

Image
图2-3 一般 C++ 程序的开发流程
原书第 26 页

1. 用心分析人想通,机随人行写提纲

该阶段包含图2-3中的前5个环节。

用心分析题意,先按照编程三部曲的顺序将人处理这件事情的做法想通,完全不要去想C++(这是关键点),然后把想通的人的做法用提纲、简易流程图或流程图表示出来,在纸上边想边写(画)边修改。提纲、简易流程图或流程图非常重要,它是开发设计整个程序的基础,一定要写(画),且一定要写(画)好。但是,大部分学习者认为写提纲或画流程图浪费时间,画了流程图还要写程序,多此一举;还有水平高一点的学习者认为自己头脑里就能想明白流程图;再有的学习者是将程序编写调试成功后再来补画流程图,等等。其实磨刀不误砍柴工,写提纲或画流程图虽然占用了时间,但可以起到事半功倍的效果。因为有了提纲和流程图就会明确编程走向,而不至于误入歧途,调试中也不易出错,即使出了错也容易改正,水平再高的学习者也达不到画流程图的效果,代替不了流程图的功能。先写提纲或画流程图,再编写程序,这是一条最基本的道理。不会画流程图,先写程序再倒回来画流程图,这些都是没有从基础学起,万丈高楼平地起,如果基础都没有打好,高楼从何建起,所以,切记不能有急功近利、好高骛远的心态。总之,写提纲或画流程图不但为设计程序指明了走向,而且省时、省力,功效高。

写完提纲或画完流程图之后,要用人脑至少运行提纲或流程图一次以上,并对有问题的地方进行修改,直至修改到合理,才转入第二阶段。

2. 对号入座写文章,头脑运行改文章

这个阶段包含图2-3中的第6个和第7个环节。注意一定要遵循C++的语句格式和语法规则编写程序。

对写入座与文章就是根据提纲(坑)的动作和功能,一个萝卜一个坑地找到相应的 C++ 语句(萝卜)对号入座到坑中,以实现提纲的动作和功能。当一系列的 C++语句把提纲的全部动作及功能实现后,一篇 C++文章就初步编写出来了。这时,还要用人脑至少运行一次以上所编写的程序,并对有问题的地方进行修改,直至修改到认为正确了,才转入第三阶段。

注意:第一阶段和第二阶段均是在纸上谈兵(指在纸上写提纲、画流程图和编写程序),这真是天大的怪事,开发设计计算机程序却不让在计算机上进行。不是不让在计算机上进行,而是第一阶段、第二阶段在纸上谈兵,第三阶段才在机上打仗。下面介绍纸上谈兵的好处。

1 )纵观全局,统领规划,游刃有余,成功取胜。

纸上谈兵就像下棋一样,要纵观全盘,制定策略,稳扎稳打。因为人不可能记忆太多内容,逻辑思维也没有那么多步、那么细,因此不可能瞬间就在头脑中显现出整个程序结构、整个流程图或多个程序、多个流程图。另外,在计算机上编程时,思维架构是零散的,容易东打一榔头,西敲一棒子,从而在设计开发程序时容易迷失方向,甚至误入歧途。而在纸上谈兵就大不相同了,可以把零散的思维架构一点一点地,一部分一部分地描述出来,最后汇合成整体提纲、流程图、程序结构及程序。

2 )易于修改出正确的提纲、流程图、程序结构及程序。

在纸上得到的提纲、流程图、程序结构及程序还不一定正确,要用人脑至少运行一次以上,进行修改验证。因为全部在纸上,可以一目了然、纵观全局,而且查找方便、不易遗漏,所以容易得到正确的结果。

3)缩短了设计开发时间,提高了设计开发效率。

有些读者会说:所有这些都可以用计算机画出来、描述出来。是的,但在计算机上描述

原书第 27 页

这些项目时有以下弊端:一是如果错了,修改较麻烦费时;二是想一句、敲一句,易分散精神,而使思路不连续。而在纸上谈兵时,如果错了,一划一改很方便,也很省时,且不受计算机的干扰,可以使精神集中、思维连续,所以,能够节约时间,提高效率。

作者在学生中进行了关于纸上谈兵的调查,绝大多数学生都赞同上述观点,大多数学生在用了纸上谈兵的方法后,逻辑思维能力、编程能力、编程的正确率、编程效率等大大提高,出错的情况大大减少,甚至有一位学生,用了纸上谈兵法后,在机上打仗阶段没有出现一个错误。

纸上谈兵的技巧如下:

在纸上写提纲、画流程图和编写程序可以像打草稿一样去写、去画(如果要求写得或画得正规,则前期可以像打草稿一样去写、去画,在调试成功后,再用 Visio 等画图软件或用尺子来正规画流程图,用计算机输入或工整地书写程序),并且可以用一些自己造的缩略词来代替更多的文字,还可以不画框,对于走向明确的也不用画流向线;在文字方面,用中文可能更直接一些,只要能描述出做法、算法即可;同样,在编写程序时,对于一些熟悉的语句也可以用缩略词等代替。总之,要以自己能看明白,对编程方便、有利为准。

3. C++帮助且裁判,人定胜机凯歌扬

纸上谈兵谈得再好,最终也要在真枪实弹中用兵、打仗。第三个阶段(图2-3的第8个和第9个环节)就是将在纸上编写,并经过人脑初步验证的程序输入计算机进行调试。输入调试程序的三部曲是:输入源程序—编译—连接。

首先要输入源程序。因为编写源程序用的是高级算法语言——C++语言,计算机不懂,它只懂机器语言,所以还要将源程序翻译成机器语言,即进行编译,编译后得到了扩展名为 obj 的目标文件。第三部曲为连接,因为单有 C++ 程序是不能在 Visual C++6.0 中运行的,其运行需要配备一些相关的文件,相当于完成一个工程项目或研究项目要有一个团队,所以要进行连接,连接后,如果有错误,就要修改,并重新进行编译和连接,也可以用 Debug 进行调试,直到没有致命性的错误时,就可以运行了,连接后可以得到扩展名为 exe 的可执行文件。

在调试运行中,不要单单依赖计算机的跟踪调试,还应发挥人脑强大的分析判断能力,让人脑电脑双双运行去发现问题、查找错误、修改程序。

对于运行结果,还要用人脑分析正确与否,因为 Visual C++6.0 提示的错误是语法错误,逻辑性错误和运行中的错误 Visual C++6.0 是无能为力的。如果结果不正确,就返回上述相应的步骤进行修改、设计,如果结果正确,就大功告成了,设计开发就结束了。

在整个开发设计进程中要切记:顺境时要节制,逆境时要坚忍,要将学习与远大目标联系起来,要坚持不达目的不罢休的锐意进取、顽强拼搏的精神,并在实际行动中体现出来。

2.3.2 C++程序的流程图

上节讲到首先把人的做法用提纲或简易流程图或流程图表示出来,在此大家对提纲已经熟悉了,那么流程图是什么呢?

C++的流程图又可称为结构框图,读者既可以把它看做是文章的提纲,又可以把它看做

原书第 28 页

是高楼大厦的框架。编写 C++ 程序的三部曲是:输入—处理—输出,如图 2-4 所示,程序与流程图是对应的,所以流程图的大结构自然也符合编程三部曲。

因为处理事情一般要有准备阶段,完成一个算法一般需要一些已知数,所以要有“输入”这部曲;“处理”即完成一件事情或执行算法的一系列步骤、动作;最后,要将处理的结果显示出来,所以还要有“输出”这部曲。通常,流程图无外乎这三部曲,但这三部曲在画流程图时不一定全部都有,只要程序能解决问题、完成任务即可。

Image
图2-4 编程三部曲

流程图的画法如图2-1所示,还有一些流程图的画法将在以后的章节中陆续介绍。

2.3.3 C++的文章——一系列的 C++语句

写好提纲、画好流程图,并经人脑运行正确后就可以大做文章了。

C++的程序既可以看做是文章的内容,又可以看做是高楼大厦的砖瓦。在写好文章的提纲后,就可以根据提纲写文章了,即可以用一系列的 C++语句编写成 C++的文章——C++程序了。C++程序要遵循编程三部曲的规则来编写。

C++程序的基本结构:如图2-4所示的编程三部曲,其头尾部分的相关知识可参见例2-1的程序及其后续说明。

C++程序的书写规则:采用锯齿形(缩进形)的程序员式风格书写程序,具体参见例 2-1 的程序及其后续说明。

C++程序的注释方法:程序中的注释部分,即 C++程序语句以外的内容应放在注释符号中,注释符号有“/*”、“*/”对和“//”两种,注释内容应放在“/*”与“*/”之内或“//”之后,具体参见例2-1的程序及后续章节的程序。

通常,一些初学者在开始编程时难以下笔,这是因为大多数学习者不知道或记不清 C++ 语句的功能和用法,所以,要按上两节所讲的知识和要求去做,即要先学会走,再学会跑。

每个 C++ 程序都要起个名字——全文件名。全文件名的格式是:文件名.扩展名。

C++文件按以下规则起名:以26个英文字母开头,其后由英文字母或0~9中的阿拉伯数字或下画线组成,其中,英文字母可用大写或小写字母,即使是同一个字母,用大写和用小写的文件也是不同的文件,即大、小写的文件名是有区分的。按此规则,可以随意起文件名,但文件名最好接近生活中的实际意义,即用接近实际意义的英文单词或汉语拼音给文件起名,这样,有助于提高程序的可读性、可修改性、可维护性,并能提高编程效率。

C++的扩展名都要按规定书写。C++的源程序的扩展名必须是cpp,决不能变更。例如,例2-1的源程序名是ch1-1.cpp。

2.3.4 输出语句cout

处理问题、解决问题的做法均可以写在 C++ 文章中,C++ 相当强大,在接下来的一个个景点中,将带领用户体验 C++ 的强大。首先从 C++ 文章中的简单语句开始体验,此处先体验输出语句 cout。

cout 语句应用较广,几乎所有程序都要用到它。

原书第 29 页

1. 在什么情况下用 cout 语句

当输出计算结果、字符信息(包括文字、数字、公式等字符信息)到计算机屏幕上时,要用到cout语句。

注意:如果想人为控制输出格式,可参见8.3.5节的控制输出格式法。

2. 关于 cout 语句

cout00010

其中,被输出的信息包括计算结果、字符信息和 end1(回车换行)。

3. 如何运用 cout 语句

在程序中要严格按照 $ \text{cout} $语句的格式书写,运用 $ \text{cout} $语句的例子如下。

【例2-2】试编写显示输出换行的C++语句。

cout<<endl; //输出换行符是"n"或endl,其功能是将屏幕

//上的光标移到下一行的开头处

【例2-3】试编写显示输出“I am a student.”的C++语句。

cout<<" I am a student.";//显示信息,不换行

cout<<" I am a student.\n";//不仅显示信息,而且换行

【例2-4】试编写显示输出“3+5”的计算结果的C++语句。

注意:cout 语句与屏幕上的输出结果的对应关系,对于分析结果很重要,对于调试、分析程序也很有帮助。cout 语句只能使屏幕上的输出结果从上到下显示每一行,其中每一行又从左到右地显示,逆序则不行。

2.3.5 Visual C++的集成开发环境

写好 C++ 文章,且头脑运行认为正确后,纸上谈兵暂告一段落,接下来要进行机上打仗,即将纸上谈兵的 C++ 文章输入到计算机中,然后进行调试,调试成功后,就可以让计算机运行 C++ 程序去真枪实弹地解决问题、处理问题。“战场”就是在计算机中安装的 Visual C++ 6.0 软件,只有知己知彼,方能百战百胜,因此先来观察了解一下这个战场——Visual C++ 6.0 软件。

原书第 30 页

C++6.0 的集成开发环境。

1. Visual C++ 6.0 的安装与配置

Visual C++ 是 Microsoft 公司推出的 C++ 编译器,是一个高效实用的面向对象程序开发工具,其提供了完全可视化的集成开发环境。运行 Visual C++ 一般要求至少 586 以上的处理器,32MB 以上的内存,Windows 9x 及以上版本操作系统,而且要有足够的硬盘空间,其大小可以根据所选择安装的版本和形式确定。安装形式分为最小安装、典型安装和选择安装,最小系统安装占用的硬盘空间不小于 125MB,最大系统安装占用的硬盘空间不小于 600MB。

在 Visual C++6.0 系统中有自动安装程序 “Setup.exe”,读者可以在安装程序的引导下,采用典型安装方式和默认路径(或其他安装方式),然后按照提示逐步完成安装。

Visual C++6.0 的联机帮助使用 MSDN 文档,该文档与 Visual C++6.0 系统不在同一张光盘上,而是与 Visual Studio 6.0 产品的帮助文档集合在一张光盘上,在安装过程中,按照提示安装 MSDN 即可。

2. Visual C++ 6.0 窗口简介

在 Visual C++ 6.0 中打开一个工程之后的界面如图 2-5 所示。

Image
图 2-5 Visual C++ 6.0 的主窗口和运行窗口
原书第 31 页

仕图 2-5 中,Visual C++ 6.0 的窗口被分成几个部分,窗口上万从上至卜依次是标题栏、菜单栏和工具栏;窗口中间左边的是工作区(Workspace)窗口,中部是代码编辑窗口,显示了正在编辑的文本文件(或资源),右边是 C++ 程序运行时的窗口;窗口下方是输出(Output)窗口和状态栏。

工作区(Workspace)窗口有两栏,当单击“FileView”标签时,可观看该工程文件的文件分类及文件名,双击文件名,在代码编辑窗口中会打开相应文件;若单击“ClassView”标签,则可观看到该工程文件定义的所有类及各类中的函数成员名和数据成员名,双击这些类及各类中的函数成员名和数据成员名,在代码编辑窗口中不仅会打开含有这些类及各类中的函数成员名和数据成员名的文件,而且光标还会停在这些类或各类中的函数成员名和数据成员名的所在行,这些操作给调试程序带来了许多方便。

除了主菜单和工具栏外,在 Visual C++ 6.0 开发环境中还有大量的上下文关联菜单,只要用鼠标右键单击窗口中的对应项目就会弹出一个与该项目相关的关联菜单或工具条,其中包含了各种命令,给开发与操作带来了极大的方便。

3. 工具条

没有工具将寸步难行,因此,大家要熟悉并熟练使用 Visual C++ 6.0 的工具条。工具条有常用工具条、一般工具条等,下面进行简单介绍。(注:按工具图标从左至右或从上至下的顺序进行介绍。)

1)Standard 工具条用来建立项目(工程文件)和项目(工程)工作区,如图 2-6 所示。

Image
图 2-6 Standard 工具条

其中包括以下工具图标:New Text File(新建文本文件)、Open(打开)、Save(保存)、Save All(保存全部)、Cut(剪切)、Copy(复制)、Paste(粘贴)、Undo(取消上次操作)、Redo(重复上次操作)、Workspace(显示/隐藏工作区窗口)、Output(显示/隐藏输出窗口)、Windows List(窗口管理)、Find in Files(在文件中搜索)、Find(查找字符串)、Search(搜索联机文档)。

2)Build Minibar 工具条用来编译、连接、调试和运行程序,如图2-7所示。

Image
图 2-7 Build Minibar 工具条

其中包括以下工具图标:Compile(编译)、Build(建立项目)、Stop Build(停止建立)、Execute Program(运行)、Go(从当前语句开始运行到断点或程序结束,快捷键为〈F5〉)、Insert/Remove Breakpoint(插入或删除断点)。

3)Build 工具条比 Build Minibar 工具条多了两项,即选择项目和配置,如图2-8所示。

原书第 32 页
Image
图 2-8 Build 工具条

其中,Select Active Project 为选择活动项目,Select Active Configuration 为选择活动配置(Debug 或 Release)。

4 )Debug工具条用来调试程序,如图2-9所示。

其中包括以下工具图标:Restart(重新执行,处于调试)、Stop Debugging(停止调试)、Break Execution(停止运行)、Apply Code Changes(应用改变后的代码)、Show Next Statement(显示下条语句)、Step Into(进入函数内单步执行)、Step Over(单步执行(跳过函数))、Step Out(跳出函数)、Run to Cursor(运行到光标处)、Quick Watch(快速查看调试状态)、Watch(查看变量)等。

5 )Resource 工具条用来控制资源的创建,如图 2-10 所示。

其中包括以下工具图标:New Dialog(建立新对话框)、New Menu(建新菜单)、New Cursor(建新光标)、New Icon(建新图标)、New Bitmap(建新位图)、New Toolbar(建新工具条)、New Accelerator(建新快捷键)、New String Table(建新字符串表)、New Version(建新版本信息)、Resource Symbols(获得资源符号)。

Image
图 2-9 Debug 工具条
图 2-10 Resource 工具条

6)WizardBar 工具条用来进行类的操作,如图 2-11 所示。

Image
图 2-11 WizardBar 工具条

其中包括以下工具图标:WizardBtr C++ Class(选择类)、WizardBtr C++ Filter(选择过滤事件)、WizardBtr C++ Members(选择类成员)、WizardBlr Actions(执行具体操作)。

4. 菜单栏

其实,工具条上有许多项是菜单栏的内容,只不过是把常用功能挑出来作为工具罢了。

1)File 菜单用于文件操作,如图 2-12 所示。

其中包括以下命令:New(新建)、Open(打开)、Close(关闭)、Open Workspace(打开工作空间)、Save Workspace(保存工作空间)、Close Workspace(关闭工作空间)、Save(保存)、Save As(文件另存)、Save All(保存全部)、Page Setup(页面设置)、Print(打印)、Recent Files(最近文件)、Recent Workspaces(最近工作空间)、Exit(退出)。

原书第 33 页

2)Edit 菜单用于代码编辑,如图 2-13 所示。

Image
图2-12 File 菜单
图 2-13 Edit 菜单

其中包括以下命令:Undo(取消上次操作)、Redo(恢复上次操作)、Cut(剪切)、Copy(复制)、Paste(粘贴)、Delete(删除)、Select All(全选)、Find(查找)、Find in Files(在文件中搜索)、Replace(替换)和Go To(光标移到指定处)等。

3)View 菜单用来改变窗口的显示方式,如图 2-14 所示。

其中包括以下命令:ClassWizard(建立类向导)、Resource Symbols(浏览资源符号)、Resource Includes(编辑资源文件名)、Full Screen(全屏显示)、Workspace(显示工作区窗口)、Output(显示输出窗口)、Debug Windows(显示调试窗口)、Refresh(更新)、Properties(属性)。

4)Insert 菜单用来添加工程、文件或资源,如图 2-15 所示。

其中包括以下命令:New Class(创建新类)、New Form(创建新表)、Resource(创建资源)、Resource Copy(复制资源)、File As Text(在源文件中插入文件)、New ATL Object(创建 ATL 对象)。

Image
图 2-14 View 菜单
Image
New ATL Object...
图 2-15 Insert 菜单
原书第 34 页

5)Project 菜单用于工程文件中的相关操作,如图 2-16 所示。

其中包括以下命令:Set Active Project(设置活动工程)、Add To Project(增加到工程)、Dependencies(编辑工程组件)、Settings(编译设置)、Export Makefile(生成Makefile形式的工程)、Insert Project into Workspace(把工程加入工作空间)。

6)Build 菜单用来编译、连接、调试和运行程序,如图 2-17 所示。选择 Start Debug 进入调试状态后,Build 菜单将自动被 Debug 菜单取代。

其中包括以下命令:Compile(编译)、Build(组建(编译和连接))、Rebuild All(全部重建)、Batch Build(批组建)、Clean(清除)、Start Debug(开始调试)、Debugger Remote Connection(远程调试设置)、Execute(运行)、Set Active Configuration(设置工程配置)、Configurations(配置)、Profile(配置文件)。

Image
图 2-16 Project 菜单
Image
图 2-17 Build 菜单

7)Debug菜单用于程序的调试工作,只有在调试状态下才会出现,如图2-18所示。

其中包括以下命令:Go(开始调试)、Exceptions(跳出设置)、Threads(线程设置)和Modules(工作表设置)等。

8)Tools 菜单用于选择定制工具,以及改变窗口的显示方式,如图 2-19 所示。

Image
图 2-18 Debug 菜单
图2-19 Tools 菜单

其中包括以下命令:Register Control(注册控制)、Error Lookup(错误处理)、ActiveX Control Test Container(组件应用)、OLE/COM Object Viewer(OLE 或 COM 目标文件)、Spy++(监视器)、MFC Tracer(MFC 跟踪器)、Customize(定制工具条和 Tools 菜单)、

原书第 35 页

Options(设置)、Macro(编辑宏)、Record Quick Macro(记录宏)、Play Quick Macro(运行宏)。

9 )Window 菜单用来管理窗口,如图 2-20 所示。

其中包括以下命令:New Window(新窗口)、Split(分割窗口)、Docking View(启用/关闭 Docking View 模式)、Close(关闭窗口)、Close All(关闭所有窗口)、Next(下一个窗口)、Previous(上一个窗口)、Cascade(重叠显示)、Tile Horizontally 窗口水平排列)、Tile Vertically(窗口竖直排列)、Windows(窗口管理)。

10)Help 菜单用来说明 Visual C++ 和提供帮助信息,如图 2-21 所示。

其中包括以下命令:Contents(显示帮助内容)、Search(查询)、Index(索引)、Use Extension Help(使用/关闭扩展帮助)、Keyboard Map(键盘命令)、Tip of the Day(显示信息框)、Technical Support(显示支持信息)、Microsoft on the Web(显示Microsoft产品页)、About Visual C++(显示版本信息)。

Image
图 2-20 Window 菜单
图2-21 Help 菜单

5. 调试程序时常用的功能键

调试程序时常用的功能键如下:

〈F9〉键——设置/取消断点。

〈F5〉键——从当前语句开始运行,直至遇到断点或程序结束。

〈F11〉键——单步运行,可跟踪进入函数内部。

〈F10〉键——单步运行,不能跟踪进入函数内部。

〈Shift+F5〉 组合键——终止程序的调试运行。

2.3.6 Visual C++ 6.0 的基本操作

在学习之前,首先来约定鼠标的操作:单击——点击鼠标左键一下,双击——快速连续地点击鼠标左键两下,右击——点击鼠标右键一下。

单击“开始”按钮,选择“所有程序”→“Microsoft Visual Studio 6.0”→“Microsoft Visual C++ 6.0”命令(见图2-22),进入Visual C++ 6.0的开发环境,如图2-23所示(这是关闭了“每日提示”对话框的界面,如果希望进入Visual C++ 6.0后,不出现该对话框,则取消选择“启动时显示提示”复选框即可)。

原书第 36 页
Image
图 2-22 启动 Visual C++ 6.0 开发环境
Image
图 2-23 进入 Visual C++ 6.0 的开发环境

输入调试程序的三部曲是:输入源程序—编译—连接。输入源程序后反复执行后两部曲,直至没有错误,程序就编写好了,接着就可以运行程序了,下面分步进行叙述。

1. 创建 C++ 新工程项目文件

(1)创建 C++ 新工程项目

创建 C++ 新工程项目的操作步骤如下:

① 在菜单栏中选择 “File” → “New” 命令。

② 将弹出的 “New” 对话框切换到 “Projects” 选项卡。

原书第 37 页

③ 选择 “Win32 Console Application” 选项。

④ 单击“Location”文本框右侧的按钮,选择存放工程的文件夹。

⑤ 在“Project name”文本框中输入工程文件名(例如 a1)。

⑥ 单击“OK”按钮。以上步骤均如图2-24所示。

Image
图 2-24 创建 C++ 新工程项目的初始阶段

⑦ 弹出如图 2-25 所示的对话框,单击“Finish”按钮。

Image
图 2-25 创建 C++ 新工程项目的中间阶段

⑧ 弹出如图 2-26 所示的对话框,单击“OK”按钮,即创建完成 C++ 工程项目。

原书第 38 页
Image
图2-26 创建 C++ 新工程项目的完成阶段

(2)建立C++新文件

建立新的 C++ 源文件的操作步骤如下:

① 在菜单栏中选择 “File” → “New” 命令。

② 将弹出的 “New” 对话框切换到 “Files” 选项卡。

③ 选择 “C++ Source File” 选项(若建立头文件,则选择 “C/C++ Header File” 选项)。

④ 在 “File” 文本框中输入 C++源文件名(若建立头文件,则输入 C++头文件名),例如 stu。

⑤ 单击“OK”按钮。以上步骤均如图2-27所示。

Image
图 2-27 创建 C++ 新文件的初始阶段
原书第 39 页

⑥ 在工作区的下部单击 “FileView” 标签,窗口如图 2-28 所示,在其中可以看到所建立的新工程项目文件的树视图。

Image
图2-28 创建好的 C++ 新工程文件

⑦ 在图 2-28 中,还可以看到所建立的新工程项目的文件名:a1。

⑧ 在图 2-28 中,单击 “Source Files” 前的 “+” 号,还可看到所建立的 C++源文件名:stu.cpp(若建立了头文件,则单击 “Header Files” 前的 “+” 号,查看新建立的头文件名)。

⑨ 此时,在代码编辑窗口中就可以编写程序代码了,但切记要保存文件。

(3)添加 C++ 文件

按图2-29所示添加新的C++文件,操作步骤如下:

① 单击“Project”菜单。

Image
图 2-29 添加 C++ 文件的初始阶段
原书第 40 页

② 选择 “Add To Project” → “New” 命令(如果添加原来已有的文件,则选择 “Add To Project” → “Files” 命令,然后在弹出的 “Insert Files into Project” 对话框中双击要添加的文件名即可)。

③ 其他操作同本节中的“建立 C++ 新文件”,在此不再重复。

2. 保存 C++ 文件

读者要养成一边输入一边保存文件的习惯,即在输入几个字符后,就将文件进行保存。

①如图2-30所示,输入几个字符。

Image
图 2-30 输入 C++ 头文件和保存文件的初始阶段

② 选择 “File” → “Save” 命令(当另外选择保存路径或文件名时,选择 “File” → “Save as” 命令)。

③ 继续按图 2-31 所示在“保存为”对话框中进行相关操作。首先选择文件的保存路径。

④ 输入文件全名,即“文件名.扩展名”。例如,对于文件名为 st2 的 C++源文件,则输入 st2.cpp(若扩展名为.txt,则将被保存为文本文件,此时,可以将文件名改为所需的扩展名)。

⑤ 单击“保存”按钮,则在标题栏中即可显示此被保存的文件名了。

若保存原有路径下的文件名,单击工具栏左起第3个按钮(或者选择“File”→“Save”命令)即可,非常方便;若保存所有文件,可以选择“File”→“Save all”命令。

原书第 41 页
Image
图 2-31 保存 C++ 文件阶段
3. 关闭 C++ 工程文件及退出 Visual C++ 6.0

当输入程序、编译等调试运行工作告一段落,或要编写调试另一程序时,就需要关闭C++工程文件或退出Visual C++6.0。此时,要先做好保存工作,即选择“File”→“Save all”命令,或选择“File”→“Save Workspace”命令,然后按图2-32所示进行操作。

Image
图 2-32 关闭 C++ 工程文件并退出 Visual C++ 6.0
原书第 42 页

① 选择 “File” $ \rightarrow $ “Close Workspace” 命令。

② 在弹出的对话框中单击“是”按钮,关闭 C++ 工程文件。

③单击右上角的“关闭”按钮或选择“File”→“Exit”命令,退出Visual C++6.0。

  1. 打开 C++ 文件

方法一:按图2-33所示进行操作。

Image
图2-33 打开 C++ 文件的初始阶段

① 单击工具栏左起第 2 个按钮,或选择 “File” → “Open” 命令,或选择 “File” → “Open Workspace” 命令。

② 在弹出的“打开”对话框中选择文件的路径。

③ 选择文件类型。

④ 选择文件,若找不到,可重复第②步和第③步。

⑤ 所选文件的文件名显示在“文件名”文本框中。

⑥ 单击“打开”按钮打开文件。

方法二:在未进入 Visual C++ 6.0 时,双击要打开的文件,打开的文件如图 2-34 所示。

5. 在已有的 C++ 工程文件中添加文件

① 首先打开工程文件,在如图 2-33 所示的“打开”对话框中设置“文件类型”为“Workspaces(dsw.mdp)”,然后双击要打开的工程文件,其扩展名是 dsw(或者直接双击扩展名为 dsw 的文件名)。

② 其后的操作同本节 1 中的(3)“添加 C++ 文件”。

原书第 43 页
Image
图2-34 打开的 C++ 文件

6. 建立 C++ 文件的其他方法

① 单击工具栏左起第一个图标。

② 在代码编辑窗口中编写代码。

③ 保存文件。

还有很多其他方法,可以在任何能够编辑文本文件的软件中编写 C++ 文件,如记事本等软件,并保存为 C++ 规定的各种文件全名,如 C++ 源文件的后缀名是 cpp。

7. 在已有 C++ 源文件上建立工程文件

① 打开已建立的 C++ 源文件。

② 单击 Build Minibar 工具条上的 ✐,在弹出的“Microsoft Visual C++”对话框中,单击“是”,就可以创建一个 C++ 默认的工程文件,例如,创建一个文件名为“Text1.dsw”的工程文件。

③ 保存所有文件。

8. 删除 C++ 工程文件中的文件

方法一:

① 在工作区窗口中,选择“FileView”选项卡。

② 在树视图中单击选择要删除的文件。

③ 按键盘上的〈Delete〉键(或选择“Edit”→“Delete”命令)删除文件。

原书第 44 页

方法:

直接打击要删除的文件的图标,在弹出的快捷菜单中选择“删除(Delete)”命令。

9. 修改程序文件

① 打开程序文件。

② 修改程序。

③ 保存所有文件。

在编译、连接和调试等操作中均可按上述方式修改程序。

10. 编译

① 单击 Build Minibar 工具条上的按钮(如图 2-35 中①所示),或按〈Ctrl+F7〉组合键,或选择“Build”→“Compile”命令,进行编译。

Image
图 2-35 编译 C++ 文件

② 观察输出窗口,有错误时用鼠标双击错误信息(如图 2-36 中①所示),光标就会指在错误行上,或者错误在该行之前,然后分析错误并修改程序,修改完后再重新执行第①步操作,如此循环往复,直至没有错误。编译没错误时如图 2-35 中②所示,从该图的输出窗口中可看到有“p7132.obj”这个文件名,这就是编译后得到的目标文件,其扩展名为 obj,目标文件就是用机器语言表示的文件,即计算机可以识别这类文件。编译阶段就是检查 C++ 的语法等错误,并生成目标文件,即将 C++ 源文件翻译成目标文件。但是目标文件还不能直接运行,还必须进行连接,即把目标文件与运行时所需要的一些配套文件连接在一起,才能运行程序。这样,就必须进入下一步的连接。

原书第 45 页
Image
图 2-36 编译和连接 C++ 文件阶段

11. 连接

在编译没有错误之后,就可以连接了,单击 Build Minibar 工具条上的凸按钮(如图 2-36 中②所示),或按〈F7〉键,或选择“Build”→“Build”命令,就进入连接了(或者称为组建)。连接后没有错误的窗口如图 2-37 中①所示,从该图的输出窗口中可看到有“p7132.exe”这个文件名,这就是连接后得到的可执行文件,其扩展名为 exe,可执行文件就是可以直接运行程序的文件,它与平时可以直接运行的其他文件是同一类型的文件,这样,就可以进入下一步的运行了。

Image
图2-37 连接后没有错误的窗口
原书第 46 页

注意,编译时无错,但连接时有此错:“LINK:fatal error LNK1168: cannot open Debug/ex15-1-2.exe for writing”,这是运行窗口还没有运行结束所致,结束程序的运行或关闭运行窗口后再连接就无此错了。

还有一个快速调试的办法,即将编译和连接合二为一。直接单击 Build Minbar 工具条上的按钮,Visual C++ 6.0 会自动先编译后连接,其中若有错,会像分开操作时一样给出提示。

12. 运行

若连接后没有错误,就可以运行了,单击 Build Minibar 工具条上的按钮(如图 2-38 中①所示),或按〈Ctrl+F5〉组合键,或选择“Build”→“Execute”命令,程序就开始运行了,运行完的窗口如图 2-38 中②所示。可以对运行窗口的结果进行分析,若结果不正确,就重复调试直至成功。当程序的错误不易查找时,可借助于 Debug 调试工具。

Image
图2-38 程序运行及结果

注意:在正常运行结束时,如图2-38所示的运行窗口中最后一行会有一句英文:Press any key to continue(按任意键继续),当按任意键,或单击窗口右上角的按钮时,运行窗口都关闭。非正常运行结束时,单击窗口右上角的按钮,运行窗口也可关闭。但是运行窗口最好不要马上关闭,可留待分析结果、修改程序、比较前后运行结果,以及学习体会时使用。另外,本书的运行结果中均不列出“Press any key to continue”这句话。

13. Debug 调试

可以单击 Debug 工具条上的图标,或按快捷键,或利用菜单来选择某些调试功能。下面就举个简单的例子。

选择“Build”→“Start Debug”→“Step Into”命令,或按〈F11〉键,或单击Debug工具条上的按钮时,就重新执行程序,处于调试状态了,如图2-39所示。然后可以单击按钮(〈F11〉键)或按钮(〈F10〉键)单步运行,如图2-40所示。还可以设断点,单击Build

原书第 47 页

Minibar 工具条上的按钮(〈F5〉键),从当前语句开始执行,直到遇到断点或程序结束,如图2-41所示。设断点的方法是:单击一下断点句,然后单击Build Minibar工具条上的按钮或按〈F9〉键,就可在光标处设置断点,显示为一个红圆点(再单击Build Minibar工具条上的按钮或按〈F9〉键,就可取消断点)。当单步或按〈F5〉键后执行到最后一步时,即光标停在最后一句时(如图2-42所示),单击Build Minibar工具条上的按钮,运行窗口会出现运行结果,如图2-43所示。大窗口的右下角有一个Watch窗口,可在其左侧栏中输入要了解的变量或常量的名称,然后按〈Enter〉键,则可在右侧栏中看到对应的值,如图2-44所示。

注意:若结果不正确,就重复调试,直到结果正确为止。每修改一次,都要进行编译、连接或用 Debug 调试后才能运行。

Image
图2-39 重新执行程序,处于调试状态
Image
图 2-40 单步运行状态
原书第 48 页
Image
图2-41 设了断点的运行状态
Image
图 2-42 单步或按〈F5〉键后执行到最后一步的状态
原书第 49 页
Image
图2-43 单击 $ ^{*} $按钮,运行窗口出现运行结果
Image
图2-44 查看变量或常量值
原书第 50 页

14. C++的帮助——Help

在 MSDN 联机帮助中,包含有 Visual C++ 6.0 的帮助(Help)信息,其中有 Visual C++ Programmer's Guide(Visual C++ 程序员指南)、C/C++ Language and C++ Libraries(C/C++ 语言和 C++ 库信息),以及 Microsoft Foundation Class Library and Templates(微软基础类库和模板参考信息)等信息。这些帮助信息,可以对读者学好 C++ 起到参考帮助的作用。

MSDN 联机帮助主界面分三大部分(如图 2-45 所示)。第一大部分是上面的 3 栏,从上至下依次是标题栏、菜单栏和工具栏;第二大部分是左边窗口,该窗口中有 4 个选项卡:“Contents”(目录)、“Index”(索引)、“Search”(搜索)和“Favorites”(书签),通过这 4 个选项卡,可以查找到各种信息;第三大部分是右边窗口,该窗口显示帮助的内容。

下面介绍如何使用 MSDN 联机帮助。

(1) 使用 Help 的方法

1)万法一:进入 Visual C++ 6.0,选择“Help”→“Contents(或 Index、Search)”命令,进入 MSDN 联机帮助主界面,如图 2-45 所示。选择“Index”选项卡,在索引框中输入关键字(如 main),然后单击“Display”按钮,右边窗口中将显示出有关 main 的帮助内容,如图 2-46 所示。

Image
图 2-45 MSDN 联机帮助主界面
原书第 51 页
Image
图 2-46 显示出有关 main 的帮助内容

2)方法二:进入 Visual C++ 6.0,打开源程序,在源程序中把光标定位在要帮助的字词(如 cout)上,然后按〈F1〉键,则弹出的帮助窗口的右侧窗口中将直接显示关于 cout 的帮助内容,如图 2-47 所示。这种方法很常用,因为可以边调试边快速查找到帮助,确实很方便。

Image
图2-47 显示关于cout 的帮助内容
原书第 52 页

(2)左边窗口中的4个选项卡

1)目录选项卡的使用。

双击非文档图标(或单击“+”),可展开下层目录。

单击文档图标,会在右侧窗口中打开该文档内容。

2)索引选项卡的使用。

方法一:查看索引列表,双击找到的索引关键字,可能会直接在右侧窗口中显示该内容;也可能会弹出对话框,接着选择该关键字的位置,然后单击“Display”按钮(或双击选择该关键字所在的位置),在右侧窗口中显示该内容。

方法二:在索引框中输入关键字,然后单击“Display”按钮,在右侧窗口中显示该内容。

3)搜索选项卡的使用。

在搜索框中输入要搜索的词组或短语(如 struct),然后单击“List Topics”按钮,列出主题,接着选择要搜索的主题所在的位置,再单击“Display”按钮,在右侧窗口中显示该内容,如图2-48所示是搜索struct的页面。

Image
图 2-48 搜索 struct 的页面

4)书签选项卡的使用。

书签即相当于平时看书时,插个小纸条或折个角,以利于快速重复查找到该页。

书签的使用方法如下。

① 添加书签。

当右侧窗口中显示了要插入书签的内容时(如 struct 的内容),左侧窗口切换到

原书第 53 页

“Favorites”选项卡,在“Current topic”文本框中填写书签名(st),然后单击“Add”按钮,则在“Topics”列表框中加入了一个“st”书签(是关于struct内容的)。

② 使用书签

切换到 “Favorites” 选项卡,选择书签(如 st),然后单击 “Display” 按钮,在右侧窗口中显示 struct 的内容,如图 2-49 所示。

Image
图2-49 选择“st”书签显示 struct 的内容

③ 删除书签

切换到 “Favorites” 选项卡,选择书签(如 st),然后单击 “Remove” 按钮,就删除书签 “st” 了。

(3) 一些注意事项

1)搜索或索引时输入的字、词和短语均要用英文,书签可用中文。

2)当鼠标在有下画线或有突出颜色显示的词、句处出现小手图标时,单击可链接到相关主题。

2.4 C++ 基础知识(一)的亮点

浏览和体验完 C++乐园的第一站后,发现了什么亮点呢?

  1. 一般的 C++ 程序设计开发流程的亮点

在 C++ 程序设计开发流程中,需要注意以下几点。

原书第 54 页

1 )一定要用“十八字方针”去引领设计开发过程。

2)保持胜不骄,败不馁的心态。

3)要坚信自己,还要尊重 C++,不要去网上、书上找程序,要自己按照编程三部曲(输入—处理—输出)去编写程序,要注重独立思考、逻辑思维和编程能力的培养。

4)一定要先在纸上谈兵,一定要写提纲或画简易流程图或画流程图,一定要用人脑运行,直到认为正确后,再到计算机上去运行。

5)在整个设计开发过程中均要做好记录。

2. C++程序的流程图的亮点

1)一定要在编写程序前写提纲或画简易流程图或画流程图。

2)根据用心分析人想通,机随人行写提纲的方法,按编程三部曲的结构画流程图或写提纲。

3)纸上谈兵的提纲或简易流程图或流程图,不一定要画框或箭头,字符等均可以简写,以自己能看懂为准。

4)画好流程图后,要用人脑跟踪运行一次以上,直至认为正确,才转入编程阶段。

3 \. C++的文章——一系列的 C++语句的亮点

1)一定先在纸上谈兵——在纸上写程序。

2)根据对号入座写文章,头脑运行改文章的方法,按编程三部曲的结构编写程序。

3)一定要遵守 C++的语法、规则和语句格式,要善始善终。注意:“{ }”必须成双成对,每条语句要有头有尾,尾巴“;”不能丢。

4)纸上谈兵的程序,字符或语句不一定要齐全,可以简写,以自己能看懂为准(但正式程序要用程序员式的风格——缩进式书写)。

5)修改程序时,先改流程图,再改写程序。

6)编写的程序一定要用人脑运行一次以上,直至认为正确后,再到计算机上去运行。

4. 输出语句——cout 的亮点

1)在输出数据(包括字符信息和计算结果)到屏幕上时用cout语句。

2)注意cout语句的语法格式,其中“<<”是从尖头向宽口方向流出去,即为输出。

3)注意输出文字、数字和公式等信息时的区别。

5. 调试 C++ 程序的亮点

1)持有积极、正面的心态,要沉着冷静,稳扎稳打,严谨治学,勤学苦练,要有耐心,要细心,切忌浮躁和急功近利。

2 )遵守输入调试三部曲:输入源程序—编译—连接。

3)遵守 C++ 的规章法则,记住:差之毫厘,谬之千里。

4)可以借助 C++ 的提示和帮助。

← 第1章 准备好学习 C++第3章 顺序结构程序与 C++ 基础知识(二) →