c++ 语言概述
c++是一种优秀的高级程序设计语言,它以c语言为基础而逐渐发展起来的,是对c语言的改进和扩充。
c语言特点:
- 语言简洁、紧凑、使用方便、灵活。
- 具有丰富的运算符和数据类型。
- 可以进行许多低级操作,适合开发系统软件。
- 程序的运行效率高。
- 代码可移植性好。
c语言在流行的同时,也暴露了它的局限性:
- 类型检查机制相对较弱,这使得程序中的一些错误不能即使发现。
- 缺少支持代码重用的语言结构,因为为一个程序所设计的模块,很难再用于其他程序。
- 不适合开发大型软件,软件规模达到一定程度时,维护工作变得相当复杂。
C++语言支持的新特性
版本 | 在C语言基础上添加的新特性 |
---|---|
带类的C | 类和派生类,公有成员和私有成员,构造函数和析构函数,友元,内联函数,赋值运算符的重载 |
c++ 1.0 | 虚函数,函数运算符的重载,引用,常量 |
c++ 2.0 | 类的保护成员,多重继承,赋值和初始化的递归定义,抽象类,静态成员函数,const成员函数 |
c++ 3.0 | 模版,异常,类的嵌套,命名空间 |
C++的特点
- C++是一种面向对象的程序设计语言
- 抽象数据类型
- 封装和信息的隐藏
- 以继承和派生方式实现程序的重用
- 以运算符重载和虚函数来实现多态性
- 以模版来实现类型参数化
- C++是程序员和软件开发者在实践中创造的
- C++往往从编写程序的实际角度出发,为程序员提供了各种实用、灵活、高效的语言特性。
- C++是C语言的超急
- C++包含了C语言的全部语法特征。C++的设计宗旨就是在不改变C语言的语法规则的基础上扩充新的特性。
- 实际上能够很好的兼容C语言是C++取得成果的原因之一
- C++继承了C语言高效、简明、灵活等众多优点。
- 用C编写的软件可直接在C++开发环境下维护。
- C语言程序员只需学习C++扩充的新特性即可。
结构化程序设计
解决问题时,是对问题重复细分,直到问题容易用程序解决为止,随着开发规模的增大,结构化程序设计的缺点显得越来越突出,这主要表现为:
- 数据算法的一致性差。数据与处理数据的算法是分离的。当数据量增大时,程序会变得越来越难理解。
- 程序的可重用性差。
面对对象程序设计
面对对象程序设计,简称OOP,是20世纪80年代发展起来的一种程序设计方法。它通过模拟现实世界中的事物和关系,利用抽象、分类、归纳等方法来构造软件系统。
面对对象思想中的三个主要特征:
- 封装性
- 继承性
- 多态性
C++语言的基本符号
组成语言的最小元素是基本符号。
分为三类符号共计92个符号,组成了C++语言的基本符号合集。
- 字母 A~Z、a~z共52个符号
- 数字 0~9 共10个符号
- + - * / = , . _ : ; ? \ " ’ ~ | ! # % & () [] {} ^ < > 共30个符号
C++语言的词汇
关键字:
- C 标准规定的关键字
- auto
- break
- case
- char
- const
- continue
- default
- do
- double
- else
- enum
- extern
- float
- for
- goto
- if
- int
- long
- register
- short
- signed
- sizeof
- static
- struct
- switch
- typedef
- union
- unsigned
- void
- volatile
- while
- C++标准补充的关键字
- bool
- catch
- class
- const_cast
- delete
- dynamic_cast
- explicit
- false
- friend
- inline
- mutable
- namespace
- new
- operator
- private
- protected
- public
- reinterpret_case
- static_cast
- template
- this
- throw
- true
- try
- typeid
- typename
- using
- virtual
- wchar_t
标识符:
- 以字母或下划线开头,又字母、数字、下划线组成的字符串。
- 标识符区分大小写
- 标识符不宜过长,目前多数编译器只识别前32为,超出的部分忽略不计。
运算符
- 单字符组成的运算符,如 + - * /等。
- 双字符组成的运算符,如 ++ <= && *= -> 等。
- 三个字符组成的运算符, 如 <<= >>=等。
- 关键字运算符,new、delete、sizeof等。
C++程序的基本框架
// #开头的行表示预处理命令。使用预处理命令可更好地进行程序的组织。
# include<iostream>
// 可在此处确定命名空间,也可在代码中通过std::设置命名空间
// using namespace std;
// 主函数声明,每个程序必须有且仅有一个名称为main的主函数。
int main()
{
// std::表示命名空间
std::cout<< "This is a somple C++ program";
// 此句可省略
return 0;
}
C++程序的开发过程
- 编辑:包括程序文本的输入和修改。
- 预处理:根据程序中的预处理命令对源代码进行处理,及删掉程序中的注释。
- 编译:通过编译器,将C++程序翻译成机器指令。实际是从高级语言到机器指令的等价变换。
- 连接:通过连接器,将编译后产生的目标文件与程序中用到的库文件连接起来,形成一个在操作系统中可直接运行的可执行程序。
- 运行和测试:如源程序中存在语法或连接错误,编译器和连接器将会给出相关错误信息。