《明确目的是visualc入门的前提》由会员分享,可在线阅读,更多相关《明确目的是visualc入门的前提(17页珍藏版)》请在金锄头文库上搜索。
1、第1章 明确目的是Visual C+入门的前提 学习任何东西,都需要先明确学习目的,了解学习的内容 。学习程序设计更是如此,学习程序设计无非就3点,即编 程语言语法、集成开发环境基本功能和常用应用项目的实 践。本章将先明确学习的目的和范围,好好规划学习计划 和整理学习思路,然后再向编程世界前进,本章主要修行 要点如下。 明确本书的学习目的:读者将了解到学习Visual C+应该 掌握的主要知识。 安装集成开发环境:读者将学会安装Visual C+6.0集成开 发环境。 编写第一个C+程序:读者将学会编写第一个C+程序。 编写第一个MFC引用程序:读者将学会编写第一个MFC引用 程序。 1.1
2、明确学习目的和学习内容 估计大家都看过西游记,唐僧师徒经历了九 九八十一难,最终取得真经修成正果。其实学习 Visual C+,也要经历九九八十一难,当然,如 果唐僧师徒有个GPS电子导航手机的话,应该会少 受一些折腾。而当读者学习到这本书时,Visual C+集成开发环境已经相当成熟了,要学Visual C+当然先要规划好学习步骤,少走一些弯路。 1.1.1 收有用之徒:学好C+ 学习Visual C+,首先要学好C+,C+程序设计语言在整个Visual C+学 习过程中,是最基础、最关键并且是最难克服的,因此说C+是悟空一点 也不错,如果学好了C+,就相当于多了一个高徒,这样读者学习Vis
3、ual C+就可以得心应手了,但如果没有学好C+,就冒然学习Visual C+的相 关知识,这个顽徒可能会让你头疼无数次。根据C+0x标准,C+的学习可 以分为以下4个部分: 面向过程部分,即传统的C部分:C+是完全兼容C的,也就是说,是在C的 基础上的扩展,因此C语言的编写方法也能在C+的编译器上运行。这部分 的内容主要有:基本数据类型、循环语句、数组、指针、结构体、函数和 宏。 基于对象部分,即没有继承关系的类对象操作部分:这部分的主要知识有 函数重载、类的定义和对象的构造、构造函数、析构函数、运算符重载、 this指针。 面向对象部分,即有继承关系的类对象操作部分:公有继承、保护继承、
4、私有继承、多继承、虚函数、纯虚函数、虚基类。 STL部分,即标准模板库:标准模板库知识汇集了面向过程和面向对象的 精髓,是C+语言标准中少有的自带类库。标准模板库实际上是各种常用 的类模板的集合,并配合使用泛型算法等函数集合,让STL大大减少了C+ 程序员开发程序的重复劳动。虽然这部分虽然是C+的精华,但读者不用 担心,这恰恰是4个知识块中最简单的部分。 1.1.2 掌握MFC就等于驯服了一匹千里马 MFC是Microsoft Foundation Class的简写,是微软为使用 C+进行Windows应用程序开发而提供的一套现成的类库体 系。Windows应用软件既复杂又简单,为何说复杂呢?
5、请各 位C语言或C+高手,不要使用MFC编写一个Windows应用程 序出来看看,这下糟糕了,难倒一大片了吧,嘿嘿。 MFC可以说是Visual C+学习中的千里马,这样的比喻是非 常恰当的。在没有汽车的唐代,唐玄宗为了满足杨贵妃喜 欢吃新鲜荔枝的嗜好,不远千里让人骑马从南粤地区送到 长安。当然,走路的方式也可以达到同样的目的,只怕送 荔枝的人最后会因耽误时间而被砍掉脑袋。当然,学习 Visual C+而不学习MFC当然也是可以的,也不至于被砍掉 脑袋那么严重,只是,开发Windows应用程序的进度会非常 慢,在软件产业化的今天,这样的开发效率永远跟不上市 场,必定会在市场竞争中遭到淘汰。 1
6、.1.3 熟练掌握数据库理论、DLL和网络编程将会强上加强 任何编程语言都不仅仅是单纯的编程语言,这句话是什么 意思呢?曾经有计算机大师说过:程序设计=算法+数据结 构。这样的说法非常抽象,在这里可以让它简单点: 应用软件=业务流程+程序模块 学习Visual C+最终的目的就是为了开发应用软件,不仅 指Windows应用软件,还包括其他系统的应用软件或是一些 应用服务(如网站服务模块等),总之就是应用软件。而 开发应用软件需要知道业务流程,如开发财务管理系统, 需要知道的业务流程如下: 管理员如何登录,登录后可以进行何种操作。 一般用户如何登录,登录后可以进行哪些查询操作。 当然,很多软件开
7、发的复杂性并不在于编程技巧,事实上 ,软件工程理论反复强调的是软件开发不是个人编程的神 秘技巧,而是集体劳动的结晶,应用软件开发难度往往就 在于业务流程和工作流程的复杂性和不确定性。 1.2 Visual C+6.0集成开发环境是必备工具 没有通关文牒,唐三藏恐怕到不了天竺,为什么 呢?总不能老让外国人觉得唐僧师徒是偷渡的吧 。本节给读者颁发学习Visual C+的通关文牒 Visual C+6.0集成开发环境。首先介绍Visual C+6.0的安装过程,然后简要介绍Visual C+6.0 开发环境的相关技术背景,最后介绍Visual C+6.0的各项菜单功能。 1.2.1 Visual C
8、+6.0的安装 在学习本节之前,强烈建议读者一定要安装Visual C+6.0,也真 有读者不安装开发环境而学习编程语言的,这样是在走极端。早 在n千年前,孔子就教过读书人:学而不思则罔,思而不学则怠。 光编程不看书是属于前半句,光看书不编程就是属于后半句了。 Visual C+6.0的全称是:Visual Studio C+ 6.0;它是微软公 司为Windows操作系统开发的C/C+集成开发环境。在早期计算机 程序从设计到编译,需要将各个阶段用不同的软件进行处理,如 编辑源代码需要用源代码编辑器,类似于今天使用的文本文档编 辑器,但功能上可能更丰富一些,比如可以有一定的输入格式限 制等,然
9、后用编译器将各个源代码文件编译成为中间文件,最后 用链接程序将各个中间文件链接起来集成一个执行文件。程序员 在这个过程中必须不断地来回切换。在这种开发模式下,软件开 发是非常繁琐且高成本地,而且大多数繁琐的手续对软件开发没 有任何作用,而集成开发环境是将这些繁琐的工作流程集中在一 个软件环境中,通过这个软件环境来完成所有的软件研发步骤而 无需切换不同的开发工具。 1.2.2 Visual C+6.0操作界面 在前文已经成功安装了Visual C+6.0集成开发环境,用户可以通 过 “开始所有程序Microsoft Visual Studio 6.0 Microsoft Visual C+ 6.
10、0”选项来启动Visual C+6.0开发环境,也可以通 过找到前文中安装Visual C+6.0的子目录打开MSDEV.EXE执行文 件来启动Visual C+6.0开发环境。为了使用的方便,建议读者在 桌面创建一个快捷方式。启动Visual C+6.0后,可以看到如图 1.13所示的界面,该界面是Visual C+6.0的工作主界面,本文的 所有编程例子都将在这里进行。 1.2.3 Visual C+6.0的主要菜单项功能 本小节的概要讲解Visual C+6.0集成开发环境的菜单项功能, Visual C+是一个集成开发环境,同时它也是一种Windows软件,因 此也具备一般的Windo
11、ws应用软件的操作界面,Visual C+6.0的顶级 菜单项有9个。 File菜单:提供对源文件、资源文件和项目的新建、打开和保存等功 能。 Edit菜单:提供对源文件的编辑功能,包括复制粘贴等操作,也提供 代码格式化或样式设置等功能。 View菜单:提供给用户查看调试窗口,或设置开发环境视图等功能。 Insert菜单:提供新建类或插入文件、资源到当前项目等功能。 Project菜单:提供了对整个项目的设置功能,如在设置MFC静态库或 动态库编译类型和网络编程中的字节对齐等。 Build菜单:提供启动编译和运行等功能,且提供调试时的运行控制 等。 Tools菜单:提供一些额外的工具以助于开发
12、者提高软件开发效率和 质量。 Windows菜单:提供窗口显示和切换功能,可以让用户选择显示的窗 口样式等。 Help菜单:提供帮助信息和集成开发环境版本信息等。 1.3 打印“Hello,Visual C+”迈出编程第一 步 本节将学习怎么用Visual C+6.0这个通关文牒,至少需要知道在哪盖章 吧。本节讲两个简单的例子,都是向Visual C+打个招呼,只是方式不一 样,一个是使用手动写的纯C+,一个是使用应用程序向导生成的MFC框架 。 学过编译原理的读者就应该知道,从高级程序设计语言的源代码到可执行 文件,需要经过的步骤有:词法分析、语法分析、语义分析、中间代码生 成和目标代码生成
13、。可执行文件也是一种目标代码,它可以被安装了 Windows操作系统的计算机所认可,但这个过程仅仅是编译而已,如果从 Visual C+6.0的角度来看,当然也是遵守这个过程的,只是Visual C+6.0处理的不仅仅是编译,还需要处理和资源文件以及多个源文件之间 的关系问题。如图1.18所示,该图是Visual C+6.0从源代码到可执行文 件的生成过程图。 1.3.1 实例编写第一个C+程序:Hello , C+ ! 【本小节示例参考:源代码C01FirstProgram 】 本小节通过空项目来创建C+程序,并通过这个例 子来打印一个“Hello , C+ !”的字符串,这 个创建过程很重
14、要,对于第2章的所有例子,都是 基于这种创建方法,这也是学习C+语言理论进行 实验的基本前提,下面介绍其创建过程: 1.3.2 分析第一个程序的源代码 上一小节的案例所使用的C+代码比较简单,对于 没有C+编程基础的读者来说,这里还有一些与C 语言不同的需要说明,此外,追究程序细节也是 程序语言理论入门的一项有意义的事,如代码示 例1.1所示。 1.3.3 分析第一个程序都包含哪些必要文件 打开“FirstProgram”项目的文件夹,可发现在本项目创建的操 作过程中,生成了以下文件。 “FirstProgram.dsp”文件:“*.dsp”是Visual C+6.0的项目 文件,表示一个Vi
15、sual C+6.0的项目,该项目可以由Visual C+6.0这个集成开发环境打开并进行编辑。 “FirstProgram.dsw”文件:“*.dsw”文件是Visual C+6.0的 工作台文件,在Visual C+6.0中,一个工作台可以有一个或多个 项目,多个项目可以具有关联性,也可以完全不相关。 “FirstProgram.ncb”:“*.ncb”文件是无编译浏览文件,当自 动完成功能出问题时可以删除此文件。 “FirstProgram.opt”:“*.opt”文件是工程关于开发环境的参 数文件,如工具条位置等信息。 “FirstProgram.plg”:“*.plg”文件保存了编译
16、过程的信息, 每当重新编译项目时,该文件会被更新。 “main.cpp”:“.cpp”文件是C/C+的源代码文件,源代码文件 一般用于存放全局函数实现、类的函数实现或全局变量的定义。 而相对于源代码文件的是“*.h”头文件,头文件主要用于定义: 如结构体定义、类的定义、函数的定义等。 1.3.3 分析第一个程序都包含哪些必要文件 进入到“Debug”文件夹,可发现有以下几种文件 。 “*.pch”文件:它是预编译文件,可以加快编译 速度。 “*.pdb”文件:它记录了与程序有关的一些数据 和调试信息。 “*.ilk”文件:当选定渐增型编译连接时,连接 器会自动生成“*.ilk”文件。 “*.exe”文件:它是Windows系统下的可执行文 件,是Visual C+6.0编程开发的最终产物。 “*.