C++程序设计 湖南大学 杜四春、银红霞 第1章绪论 1.1C++的发展历史 1,2C++程序的开发过程 13C++的词法与规则 1.4面向对象程序设计 15C++程序的构成
C++程序设计 湖南大学 杜四春、银红霞 第1章 绪论 1.1 C++的发展历史 1.2 C++程序的开发过程 1.3 C++的词法与规则 1.4 面向对象程序设计 1.5 C++程序的构成
C++程序设计 湖南大学 杜四春、银红霞 1.1C++的发展历史 C++源于C语言,而C语言是在B语言的基础上 发展起来的 1960年出现了一种面向问题的高级语言 ALGOL 60。 ■1963年英国剑桥大学推出了CPL( Combined Programming Language)语言,后来经简化 为BCPL语言。 1970年美国贝尔(Be)实验室的 K. Thompson 以BCPL语言为基础,设计了一种类似于BCPL 的语言,取其第一字母B,称为B语言
C++程序设计 湖南大学 杜四春、银红霞 1.1 C++的发展历史 ◼ C++源于C语言,而C语言是在B语言的基础上 发展起来的。 ◼ 1960年出现了一种面向问题的高级语言ALGOL 60 。 ◼ 1963年英国剑桥大学推出了CPL(Combined Programming Language)语言,后来经简化 为BCPL语言。 ◼ 1970年美国贝尔(Bell)实验室的K.Thompson 以BCPL语言为基础,设计了一种类似于BCPL 的语言,取其第一字母B,称为B语言
C++程序设计 湖南大学 杜四春、银红霞 1972年美国贝尔实验室的 Dennis m. ritchie为 克服B语言的诸多不足,在B语言的基础上重新 设计了一种语言,取其第二字母C,故称为C语 1980年贝尔实验室的 Bjarne Stroustrup对C语 言进行了扩充,推出了“带类的C,多次修改 后起名为C++。以后又经过不断的改进,发展 成为今天的C++。 C++改进了C的不足之处,支持面向对象的程 序设计,在改进的同时保持了C的简洁性和高 效性
C++程序设计 湖南大学 杜四春、银红霞 ◼ 1972年美国贝尔实验室的Dennis M.Ritchie为 克服B语言的诸多不足,在B语言的基础上重新 设计了一种语言,取其第二字母C,故称为C语 言。 ◼ 1980年贝尔实验室的Bjarne Stroustrup对C语 言进行了扩充,推出了“带类的C”,多次修改 后起名为C++。以后又经过不断的改进,发展 成为今天的C++。 ◼ C++改进了C的不足之处,支持面向对象的程 序设计,在改进的同时保持了C的简洁性和高 效性
C++程序设计 湖南大学 杜四春、银红霞 12C++程序的开发过程 ■C++语言是一种高级程序设计语言,它 的开发过程与其他高级语言程序开发过 程类似,一般要经过四个步骤: 编辑编译链接执行
C++程序设计 湖南大学 杜四春、银红霞 1.2 C++程序的开发过程 ◼ C++语言是一种高级程序设计语言,它 的开发过程与其他高级语言程序开发过 程类似,一般要经过四个步骤: 编辑 编译 链接 执行
C++程序设计 湖南大学 杜四春、银红霞 121编辑 是指把按照C++语法规则编写的程序代码 通过编辑器( Borland c++5.05 Visua|C++ 60, Turbo c++3.0)输入计算机,并存盘。在 存盘时,C++源文件的扩展名为CPP 122编译 将编辑好的C++源程序通过编译器转换为 目标文件(OBJ文件)。即生成该源文件的目 标代码
C++程序设计 湖南大学 杜四春、银红霞 1.2.1 编辑 是指把按照C++语法规则编写的程序代码 通过编辑器(Borland C++ 5.05,Visual C++ 6.0,Turbo C++ 3.0)输入计算机,并存盘。在 存盘时,C++源文件的扩展名为.CPP。 1.2.2 编译 将编辑好的C++源程序通过编译器转换为 目标文件(OBJ文件)。即生成该源文件的目 标代码
C++程序设计 湖南大学 杜四春、银红霞 123链接 将用户程序生成的多个目标代码文件 (.obj)和系统提供的库文件(,ib)中的某些 代码连接在一起,生成一个可执行文件 (exe 124执行 把生成的可执行文件运行,在屏幕上显示 运行结果。用户可以根据运行结果来判断程序 是否出错
C++程序设计 湖南大学 杜四春、银红霞 1.2.3 链接 将 用户 程序 生 成的 多个 目 标代 码文 件 (.obj)和系统提供的库文件(.lib)中的某些 代码连接在一起 , 生 成 一 个 可 执 行 文 件 (.exe)。 1.2.4 执行 把生成的可执行文件运行,在屏幕上显示 运行结果。用户可以根据运行结果来判断程序 是否出错
C++程序设计 湖南大学 杜四春、银红霞 13C++的词法与规则 1.31C++的字符集 ■数字:0,1,2,3,4,5,6,7,8,9 小写字母:a,b,…,y,z ■大写字母:A,B,…,Y,Z ■运算符:+,-,*,/,%,=,>,!=, ==,>,&,|,&&,‖,∧, # ■特殊字符:(连字符或下划线) ■不可印出字符:空白格(包括空格、换行和制表符)
C++程序设计 湖南大学 杜四春、银红霞 1.3 C++的词法与规则 1.3.1 C++的字符集 ◼ 数字:0,1,2,3,4,5,6,7,8,9。 ◼ 小写字母:a,b,…,y,z。 ◼ 大写字母:A,B,…,Y,Z。 ◼ 运算符:+,-, * ,/, %,= ,> ,!= , = = ,> ,& ,| ,&& ,‖, ∧ , ~ ,( ),[ ], { },-> ,• , ! , ? , ?: , , , ; , ” , # 。 ◼ 特殊字符:(连字符或下划线)。 ◼ 不可印出字符:空白格(包括空格、换行和制表符)
C++程序设计 湖南大学 杜四春、银红霞 1.32词与词法规则 标识符 标识符是对实体定义的一种定义符,由字 母或下划线(或连字符)开头、后面跟字母或 数字或下划线(或空串)组成的字符序列, 般有效长度是8个字符(而 ANSI C标准规定31 个字符),用来标识用户定义的常量名、变量 名、函数名、文件名、数组名、和数据类型名 和程序等
C++程序设计 湖南大学 杜四春、银红霞 1.3.2 词与词法规则 1. 标识符 标识符是对实体定义的一种定义符,由字 母或下划线(或连字符)开头、后面跟字母或 数字或下划线(或空串)组成的字符序列,一 般有效长度是8个字符(而ANSI C标准规定31 个字符),用来标识用户定义的常量名、变量 名、函数名、文件名、数组名、和数据类型名 和程序等
C++程序设计 湖南大学 杜四春、银红霞 2.关键字 关键字是具有特定含义,作为专用定义符的单词, 不允许另作它用 auto break Case ar class const continue default do default delete double else enum explicit extern float for friend goto inline mutable new operator private protecte public register return short signed sizeof static static cast struct switch this typedef union unsigned virtual void While
C++程序设计 湖南大学 杜四春、银红霞 2. 关键字 关键字是具有特定含义,作为专用定义符的单词, 不允许另作它用。 auto break case char class const continue default do ddefault delete double else enum explicit extern float for friend goto if inline int long mutable new operator private protected public register return short signed sizeof static static_cast struct switch this typedef union unsigned virtual void while
C++程序设计 湖南大学 杜四春、银红霞 3.运算符和分隔符 运算符是C++语言实现加、减等各种运算的符号 C++语言的分隔符主要是:空格、制表和换行符 4.字符串 字符串是由双引号括起来的字符。如“ China, “C++ Program”等。 5.常量 C++语言中常量包括实型常量(浮点常量)和整 型常量(十进制常量、八进制常量、十六进制常量) 浮点常量、字符常量和字符串常量
C++程序设计 湖南大学 杜四春、银红霞 3. 运算符和分隔符 运算符是C++语言实现加、减等各种运算的符号。 C++语言的分隔符主要是:空格、制表和换行符。 4. 字符串 字符串是由双引号括起来的字符。如“China” , “C++ Program”等。 5. 常量 C++语言中常量包括实型常量(浮点常量)和整 型常量(十进制常量、八进制常量、十六进制常量)、 浮点常量、字符常量和字符串常量