第
This presentation is the property of its rightful owner.
Sponsored Links
1 / 23

第 1 章 C++ 编程体系概述 PowerPoint PPT Presentation


  • 95 Views
  • Uploaded on
  • Presentation posted in: General

第 1 章 C++ 编程体系概述. 1. 内容提要. 本章主要介绍编程语言的产生历史,着重介绍 C 语言的产生过程和 C++ 语言的产生过程。 总体上介绍目前常见编程语言的体系划分,介绍 C++ 语言的优势、 C++ 语言包括的内容、 C++ 的编译工具以及学习方法。 为了熟悉编程工具,利用程序说明 C++ 语言编写、编译和执行的过程。. 编程语言的产生. 最早的计算机是机器语言(也称为第一代语言),完全由二进制数字 0 和 1 组成,能够被计算机直接识别和执行,具有灵活、速度快等优点。 但是,程序员要熟悉全部的指令及其含义,手工处理每条指令和每个数据。.

Download Presentation

第 1 章 C++ 编程体系概述

An Image/Link below is provided (as is) to download presentation

Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author.While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server.


- - - - - - - - - - - - - - - - - - - - - - - - - - E N D - - - - - - - - - - - - - - - - - - - - - - - - - -

Presentation Transcript


1 c

第1章 C++编程体系概述

1


1 c

内容提要

  • 本章主要介绍编程语言的产生历史,着重介绍C语言的产生过程和C++语言的产生过程。

  • 总体上介绍目前常见编程语言的体系划分,介绍C++语言的优势、C++语言包括的内容、C++的编译工具以及学习方法。

  • 为了熟悉编程工具,利用程序说明C++语言编写、编译和执行的过程。


1 c

编程语言的产生

  • 最早的计算机是机器语言(也称为第一代语言),完全由二进制数字0和1组成,能够被计算机直接识别和执行,具有灵活、速度快等优点。

  • 但是,程序员要熟悉全部的指令及其含义,手工处理每条指令和每个数据。


1 c

C语言的产生

  • 1967年剑桥大学学者Richard在CPL语言的基础上推出了BCPL语言。1970年美国贝尔实验室对BCPL语言进行了简化,并取BCPL的第一个字母“B”作为新语言的名称。

  • 1972年,贝尔实验室的Kernighan和Ritchie对“B”语言进行了完善和扩充,在保留强大的硬件处理能力的基础上,扩充了数据类型,恢复了通用性,并取“BCPL”的第二个字母作为新语言的名称——这就是著名的C语言。

  • 此后两个人采用C语言重写了UNIX操作系统,随着UNIX的广泛应用,C语言成为一种极受欢迎的计算机语言。1987年美国标准化协会(ANSI)制定了C语言标准,也就是ANSI C。


1 c

C++语言的产生

  • 1982年,美国AT&T公司贝尔实验室的Bjarne Stroustrup博士在C语言的基础上,扩充了Simula67语言中面向对象的概念,发明了一种新的语言,这种新语言被命名为C++语言。

  • 1990年,Bjarne Stroustrup博士出版了The Annotated C++ Reference Manual(ARM),由于当时还没有出台C++标准,ARM成为事实上的标准。1990年,C++引入了模板和异常的概念,使C++具备了泛型编程和更好的错误处理能力。

  • 1993年,运行时类型识别(RTTI)和命名空间(Namespace)的概念被加入到C++中。1998年,ANSI和ISO先后批准C++语言成为美国国家标准和国际标准。


1 c

编程语言的体系划分

  • 目前流行两大语法体系:Basic语系和C语系。同一个语系下语言的基本语法是一样。两大语系如图


1 c

程序设计方法

  • 用计算机语言为计算机编写程序,解决某种问题,称之为程序设计。程序设计需要一定的方法来指导,以便提高程序的可维护性、可读性、稳定性以及编程效率。

  • 目前有两种重要的程序设计方法:结构化程序设计方法和面向对象程序设计方法。


1 c

结构化程序设计方法

  • 结构化程序设计有两个主要特征:

    • (1)总是由三种基本结构组成,即由顺序结构、选择结构和循环结构构成。这三种结构都是单入口/单出口的程序结构。

    • (2)自顶向下、逐步求精和模块化是结构化程序设计方法中最典型、最具有代表性的方法。

  • 结构化程序设计的缺点是:

    • (1)数据与处理数据的方法(函数)相分离,这使得对函数的理解变得很难。

    • (2)可重用性差。希望程序设计具有可重用性,能够使用已经设计好的代码。


1 c

面向对象程序设计方法

  • 面向对象程序设计语言的三个主要特征是:封装性、继承性和多态性。

    • l封装性:也叫数据隐藏,用户无需知道内部工作流程,只要知道接口和操作就可以,一般用类来实现封装。

    • l继承性:一种支持重用的思想,用现有的类型派生出新的子类,例如新型电视机在原有型号的电视机基础上,增加若干中功能,新型电视机是原有电视机的派生,继承了原由电视机的属性,并增加了新的功能。

    • l多态性::指在类中定义的属性或行为,被特殊类继承之后,可以具有不同的数据类型或表现出不同的行为。


1 c

C++语言编程体系

  • C语言是一种简单的语言。它真正提供的只有宏、指针、结构、数组和函数。不管什么问题,C语言都靠宏、指针、结构、数组和函数来解决。

  • C++不是这样。宏、指针、结构、数组和函数当然还存在,此外还有私有和保护型成员、函数重载、缺省参数、构造和析构函数、自定义操作符、内联函数、引用、友元、模板、异常、命名空间,等等。用C++比用C具有更宽广的空间,因为设计时有更多的选择可以考虑。


1 c

C++语言的优势

  • 总的来说,C++语言具有4个方面的优点。

    • (1)降低程序开发和维护的成本。

    • (2)比用C语言编写的程序更加有效率。

    • (3)C++允许程序员更自由地使用各种库。

    • (4)C++的异常处理机制能够保证在运行期间检查到错误,并转至相应的处理程序,减少了代码的长度和复杂度。


1 c

C++语言的内容

  • C++语言是一门难学易用的语言,C++的难学,不仅在其广博的语法、语法背后的语义、语义背后的深层思维、深层思维背后的程序模型

  • 还在于它提供了四种不同的程序设计思维模式:基于过程程序设计(Procedural-based),基于对象程序设计(Object-based),面向对象程序设计(Object-Oriented)和基于泛型程序设计(Generic Paradigm)。


1 c

C++程序结构初步

  • 从总体上看,C++程序文件一般可以分成4个部分:预处理指令、全局说明、程序的主函数和用户自定义函数。预处理指令就是源程序中所包含的各种编译指令。

  • 所有的预处理指令都以“#”开始。

  • 全局说明一般包括一些程序所要使用的全局变量、类说明等等;任何一个C++程序都有且仅有一个主函数main()。


1 c

预处理指示符初步

  • 头文件通过include预处理指令(Preprocessor include directive)而成为程序的一部分。预处理指令用“#”标识。

  • #include指示符读入指定文件的内容,有两种格式:

  • #include <somefile.h>

  • #include "myfile.h"


1 c

注释

  • 注释是用来帮助程序员读程序,用来概括程序的算法、标识变量的意义或者阐明一段比较难懂的代码。注释不会增加程序的可执行代码。在代码生成以前,编译器会将注释从程序删除。

  • C++有两种注释符号,一种是注释对(/*,*/),与C语言中的一样。编译器把“/*”和“*/”之间的代码当作注释。注释可以放在程序的任意位置,可以跨越多行程序。

  • 另一种注释是双斜线(//),用来注释一个单行,程序行注释符右边的内容都被当作注释而被编译器忽略。


1 c

使用C++语言编写简单代码

  • C++语言经过不断的发展,大体经过四个主要的阶段。

    • 1、面向过程的C语言。

    • 2、面向对象的C++语言。

    • 3、SDK(Software Development Kit)编程。

    • 4、MFC编程(Microsoft Foundation Class:微软基类库)。


1 c

面向过程的C语言

案例名称:使用C语言编程

程序名称:proj1_02.cpp

#include <stdio.h>

main()

{

printf("Hello C\n");

}


1 c

面向过程的C++语言

案例名称:读取命令行参数

程序名称:proj1_03.cpp

#include <iostream.h>

int main(int argc, char *argv[ ])

{

int i;

for (i = 1; i < argc; i++)

{

cout<<argv[i]<<endl;

}

return 0;

}


1 c

面向对象的C++语言

案例名称:在C++中使用类

程序名称:proj1_04.cpp

#include <iostream.h>

class person

{

public:

int heart;

char *name;

int run()//定义成员函数run()

{

heart = heart + 20;

return heart;

}

};

void main()

{

int iRunStop;

person ZhangSan;

ZhangSan.name = "张三";

ZhangSan.heart = 72;

cout<< "姓名:" <<ZhangSan.name <<endl;

cout<< "跑步前心跳" <<ZhangSan.heart<<endl;

//run()为对象的方法

iRunStop = ZhangSan.run();

cout<< "跑步后心跳" <<iRunStop<<endl;

}


1 c

小结

  • 本章需要了解C语言和C++语言的产生和发展,熟悉两种常用的程序设计方法

  • 熟悉面向对象程序设计方法优于结构化程序设计方法原因。

  • 熟悉C++语言的优势以及内容。掌握编程工具VC++6.0的使用方法。

  • 熟悉C++程序的结构,掌握使用VC++6.0编写简单的C++程序。


1 c

本章习题

  • 一、选择题

  • 1、最初的计算机编程语言是___________。

  • A) 机器语言B) 汇编语言

  • C) 高级语言D) 低级语言

  • 2、下列各种高级语言中,___________是面向对象编程语言。

  • A) BASIC B) C语言

  • C) C++语言D) Pascal语言

  • 3、结构化程序设计的基本结构不包含___________。

  • A) 顺序B) 选择

  • C) 跳转D) 循环

  • 4、___________不是面向对象程序设计的主要特征。

  • A) 封装B) 继承

  • C) 多态D) 结构

  • 5、关于C++与C语言的关系的描述中,___________是错误的。

  • A) C语言是C++的一个子集。B) C语言与C++是兼容的

  • C) C++对C语言进行了一些改进D) C++和C语言都是面向对象的


1 c

二、填空题

  • 1、目前,有两种重要的程序设计方法,分别是___________和___________。

  • 2、C++程序一般可以分成4个部分,它们分别是___________、___________、___________和___________。

  • 3、目前流行两大语法体系:___________和___________。

  • 4、C++提供了四种不同的程序设计思维模式:___________,___________,___________,___________。

  • 5、学习编程需要经历三大步:___________;___________;___________。

  • 6、C++有两种注释符号,一种是__________,另一种是___________。


1 c

三、简答题和程序设计题

  • 1、简述C语言和C++包含的内容有何不同。

  • 2、简述C++语言的优势。

  • 3、编写程序,并利用VC++6.0编译成可执行文件,读取命令行参数。


  • Login