没有合适的资源?快使用搜索试试~ 我知道了~
学习VC++程序设计的基础入门必备。本书第一章介绍了 C++的起源,发展的历史及其特点;C++程序的基本结构;面向对象程序设计的基本概念;上机操作过程。第二章介绍了 C++语言中保留字、标识符,常量、变量、基本的数据类型,基本运算符及其优先级,表达式及表达式的求值。
资源推荐
资源详情
资源评论
VC++程序设计基础
第一部分 VC++基础
第一章 C++概述
本章介绍了 C++的起源,发展的历史及其特点;C++程序的基本结构;面向对象程序设计
的基本概念;上机操作过程。
1.1 C++语言发展历史
自从 1946 年第一台电子数字计算机 ENIAC 问世以来,随着计算机应用领域
的不断扩大,促进了计算机技术的高速发展,尤其是近年来计算机的硬件和软件
都是日新月异。作为应用计算机的一种工具——程序设计语言,得到不断的充实
和完善。每年都有新的程序设计语言问世,老的程序设计语言不断地更新换代。
C++是在 C 语言的基础上发展和完善的,而 C 是吸收了其它语言的优点逐步
成为实用性很强的语言。
二十世纪六十年代,Martin Richards 为计算机软件人员在开发系统软件
时,作为记述语言使用而开发了 BCPL 语言(Basic Combined Programming
Language)。1970 年,Ken Thompson 在继承 BCPL 语言的许多优点的基础上发明
了实用的 B 语言。到了 1972 年,贝尔实验室的 Dennis Ritchie 和 Brian
kernighan在 B 语言的基础上,作了进一步的充实和完善,设计出了 C 语言。当
时,设计 C 语言是为了编写 UNIX 操作系统的。以后,C 语言经过多次改进,并开
始流行。目前,国际上标准的C是 87ANSI C,常用的有 Microsoft C,Turbo C ,
Quick C 等等。每一种不同的版本略有不同,但基本的部分是兼容的。
C 语言的主要特点是:
1、C 语言是一种结构化的程序设计语言,语言本身简洁、使用灵活方便。
既适用于设计和编写大的系统程序,又适用于编写小的控制程序,也适用科学计
算。
2、它既有高级语言的特点,又具有汇编语言的特点。运算符丰富,除了提
供对数据的算术逻辑运算外,还提供了二进制的位运算。并且也提供了灵活的数
据结构。用 C 语言编写的程序表述灵活方便,功能强大。用 C 语言开发的程序,
其结构性好,目标程序质量高,程序执行效率高。
3、程序的可移植性好。用 C 语言在某一种型号的计算机上开发的程序,基
本上可以不作修改,而直接移植到其它型号和不同档次的计算机上运行。
4、程序的语法结构不够严密,程序设计的自由度大。这对于比较精通 C 语
言的程序设计者来说,可以设计出高质量的非常通用的程序。但对于初学者来说,
要能比较熟练运用 C 语言来编写程序,并不是一件容易的事情。与其它高级语言
相比而言,调试程序比较困难。往往是编好程序输入计算机后,编译时容易通过,
而在执行时还会出错。但只要对 C 语言的语法规则真正领会,编写程序及调试程
序还是比较容易掌握的。
随着 C 语言应用的推广,C 语言存在的一些缺陷或不足也开始流露出来,并
受到大家的关注。如:C 语言对数据类型检查的机制比较弱;缺少支持代码重用
的结构;随着软件工程规模的扩大,难以适应开发特大型的程度等等。
为了克服 C 语言本身存在的缺点,并保持 C 语言简洁、高效,并与汇编语言
接近的特点,1980 年,贝尔实验室的 Bjarne Stroustrup 博士及其同事对 C 语
言进行了改进和扩充,并把 Simula 67 中类的概念引入到 C 中。并在 1983 年由
Rick Maseitti 提议正式命名为 C++(C Plus Plus)。后来,又把运算符的重载、
引用、虚函数等功能加入到 C++中,使 C++的功能日趋完善。
当前用得较为广泛的 C++有:VC++ (Visual C Plus Plus)、 BC++(Borland C
Plus Plus)、AT&T C++等。
1.2 C++的特点
C++并不是对 C 语言的功能作简单的改进和扩充,而是一种本质性革新。C++
之所以能得到广泛的应用,除了 C++继承了 C 语言的一些特点之外,还具有以下
几方面的特点:
1、C++是 C 语言的一个超集,大多数的 C 程序代码略作修改或不作修改就可
在 C++的集成环境下运行或调试。这对于继承和开发当前已在广泛使用的软件是
非常重要的,可节省大量的人力和物力。
2、C++是一种面向对象的程序设计语言。它使得程序的各个模块的独立性更
强,程序的可读性和可理解性更好,程序代码的结构性更加合理。这对于设计和
调试一些大的软件,尤为重要。
3、用 C++设计的程序,扩充性强。一方面,在软件开发的前期,对整个要
解决的问题很难全部弄清楚,开发人员只能根据自己的理解进行程序的结构设
计,而到软件开发的后期,开发人员往往发现开始的理解并不正确或并不全面,
这时可能需要改变程序的结构或功能,这就要求开发工具具有较强的可扩充性。
另一方面,已开发的软件,随着时间的推移,也还要求增加或扩充新的功能,或
要改进某些功能。C++所具有扩充性能的特点,对于编写一些大的程序而言,是
非常重要的。
1.3 简单的 C++程序介绍
本书以学习 Visual C++为主,但 C++的基本内容都是相同的,除作特殊说
明的章节外,适用于任何一种 C++语言。上机实习的环境为 Visual C++ 5.0。
1.3.1 一个简单的 C++程序
C++的集成环境不仅支持 C++程序的编译和调试,而且也支持 C 程序的编译
的调试。通常,C++的集成环境约定:当源程序文件的扩展名为 C 时,则为 C 语
言程序;而当文件的扩展名为 CPP 时,则为 C++程序。本书中,所有例子程序中
的文件扩展名均为 CPP。
我们首先通过一个简单的例子来说明 C++程序的基本结构及其主要的特点。
例 1.1 一个简单的 C++程序。
//源程序文件名为:EX1_1.cpp
/* C++程序的基本结构 */
#include <iostream.h>
void main(void)
{
cout << "i="; //显示提示符
int i; //说明变量 i
cin >>i; //从键盘上输入变量 i 的值
cout << "i 的值为:" <<i<<'\n'; // 输出变量 i 的值
}
该程序经编译和连接后,运行可执行程序时,在显示器上显示:
i=
此时等待用户输入一个整数。设从键盘上输入 100 时,则显示器上显示:
i 的值为:100
我们对程序的基本结构和各语句的作用说明以下几点:
1、注解或说明信息
在C++程序的任何位置可以插入注解信息。可以有二种方法进行注解,第一
种是用/*和*/把注解信息括起来,这种注解可以出现在程序中的任何位置,如上
例程序中的第二行为注解。第二种方法是用二个连续的“/”字符,它表示从此
开始到本行结束为注解,如上例程序中的第一行。
2、包含文件或编译预处理指令
用#开头的行称为编译预处理指令,如程序中的第三行。有关包含文件或编
译指令的具体用法及规则,我们在后面介绍。由于程序中要用到输入输出函数,
故要包含文件 iostream.h,这是一个标准输入输出流的头文件。
3、主函数 main()
任一 C++程序均要有一个且只能有一个主函数。一个C++程序总是从 main()
函数开始执行,而不管该函数在整个程序中的位置在什么地方。
4、花括号对{}
{}称为函数或语句括号。任一函数体均以“{”开始,并以“}”结束。注意,
花括号要配对使用。
5、任一C++程序均由一个或多个函数组成。其中必须有一个主函数 main(),
其余函数可有可无。其余函数包括:库函数和用户自定义的函数。在本例中,
cin,cout 是库函数。任一函数可有若干个语句所组成,每一个语句均以“;”结
束。
6、程序的书写规则
对于 C++的编译器而言,一个语句可以写成若干行,一行内也可以写若干个
语句。虽然 C++允许的书写格式是非常自由的,但是为了便于程序的阅读和相互
交流,程序的书写必须符合以下基本的规则:
1)对齐规则
同一层次的语句必须从同一列开始,同一层次的开花括号必须与对应的闭花
括号在同一列上。
2)缩进规则
属于内一层次的语句,必须缩进几个字符,通常缩进二个、四个或八个字符
的位置。
3)任一函数的定义均从第一列开始书写。
7、C++语言没有专门的输入输出语句。输入和输出是通过函数来实现的。
8、严格区分大小写字母
在某些高级语言中,不区分大小写字母;但在 C++中,是严格区分大小写字
母的。如:A 与 a 表示二个不同的标识符。在书写程序或编辑程序时,要注意到
这一点。
1.3.2 程序的基本要求
用 C++语言进行设计程序并解决实际问题时,对程序是有质量要求的。通过
本课程的学习,对设计的程序要达到以下几方面的基本要求:
1、程序的正确性——要求程序正确无误,包括二个方面:语法和语义正确;
算法描述正确。这是对程序的最基本的要求。
2、程序的可读性和可理解性好——当设计的程序被阅读时,要做到容易读
懂,并且能容易理解程序的设计思想和设计方法。通常也包括三个方面:首先是
程序的结构性好,要求采用结构化的程序设计方法或采用软件工程的程序设计方
法来设计程序;第二是在程序中增加注解,说明程序设计的思想和方法;第三是
程序的书写格式规范。
3、程序的可维护性好——程序易于修改,易于增加新的功能。这要求程序
的结构性好,各模块的独立性强。
4、程序的构思好,程序简短,执行速度快。
前面的三点是最基本的要求,而最后一点的要求略高一点,也应尽力做到。
必须指出,要设计出高质量的程序,仅学习本课程的知识是不够的,如要有数据
结构方面的知识、算法设计与分析方面的知识、软件工程方面的知识及程序设计
方法学方面的知识等。希望同学们在相关课程中进一步掌握这些知识,并通过进
一步程序设计的实践,编出能解决实际问题的高质量的程序。
1.3.3 C++程序的开发步骤
C++语言是一种编译性的语言,设计好一个 C++源程序后,需要经过编译、连
接,生成可执行的程序文件,然后执行并调试程序。一个 C++程序的开发步骤可
分为如下五个步骤:
1、根据要解决的问题,分析需求,并用合适的方法描述之。
2、编写 C++源程序,并利用一个编辑器将源程序输入到计算机中的某一个文
件中。文件的扩展名为 CPP。
3、编译源程序,并产生目标程序。在 PC 机上,文件的扩展名为 OBJ。
4、连接。将一个或多个目标程序与库函数进行连接后,产生一个可执行文
件。在 PC 机上,文件的扩展名为 EXE。
5、调试程序。运行可执行文件,分析运行结果。若结果不正确,则要修改
源程序,并重复以上的过程,直到得到正确的结果为止。
1.4 面向对象的程序设计概述
面向对象的程序设计(Object Oriented Programming,简记为 OOP)方法
是近年来非常流行的一种程序设计方法,它试图用客观世界中描述事物的方法,
来描述一个程序要解决的事情。在 C++中通过引入类和对象的概念,增加了程序
模块的独立性和可扩展性。
1.4.1 对象及面向对象的程序设计
对象(Object)是 OOP 中最重要的概念之一。简单地说,对象是一个抽象的
概念,它是对一个客观实体的描述。它是既有数据又有对数据进行操作的代码的
一个逻辑实体。
由此,面向对象的程序设计(OOP),就是用 OOP 来描述客观世界中所需说明
的有关事物。
1.4.2 面向对象程序设计的要素
C++是一种面向对象程序设计语言,它支持面向对象程序设计的几个要素:
封装性、继承和派生性、重载性和多态性。下面对这些要素分别作简单介绍。
1、封装性
将描述对象的数据及对这些数据进行处理的程序代码有机地组成一个整体,
形成一个模块,对其数据及代码的存取权限加以限制后,模块完全独立。对象的
这种特性称为封装性。这样,就使得描述对象的数据只能通过对象中的程序代码
来处理,而其它任何程序代码均不能访问对象中的数据。这种封装性可通过定义
类来实现,对象是类的一个实例。
这种特性,非常有利于程序的调试和维护。
2、继承和派生性
一个类可以派生出新的类(原来的类称为基类),派生类可以全部或部分地
继承基类的数据或程序代码。这种特性称为继承和派生性。派生类又可以作为其
它类的基类,而派生出新的类,这样一层一层地继承和派生下去,可形成一棵树
状的类结构。
剩余411页未读,继续阅读
资源评论
qq_21610513
- 粉丝: 0
- 资源: 1
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
最新资源
- (源码)基于Spring MVC和Hibernate框架的学校管理系统.zip
- (源码)基于TensorFlow 2.3的高光谱水果糖度分析系统.zip
- (源码)基于Python框架库的知识库管理系统.zip
- (源码)基于C++的日志管理系统.zip
- (源码)基于Arduino和OpenFrameworks的植物音乐感应系统.zip
- (源码)基于Spring Boot和Spring Security的博客管理系统.zip
- (源码)基于ODBC和C语言的数据库管理系统.zip
- (源码)基于Spring Boot和Vue的Jshop商城系统.zip
- (源码)基于C++的学生信息管理系统.zip
- (源码)基于Arduino的实时心电图监测系统.zip
资源上传下载、课程学习等过程中有任何疑问或建议,欢迎提出宝贵意见哦~我们会及时处理!
点击此处反馈
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功