南京理工大学C++
合集下载
相关主题
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
C++程序设计基础
2011
21
第1章 C++概述
Intel: o Vtune performace analysis software o compilers and optimizers o lots of chip design and manufacturing software JPL (Jet Propulsion Lab, NASA): Mars rover autonomous driving system (incl. scene analysis and route planning). C++ on Mars! Also lots of supporting software "on the ground" (i.e. Earth). Microsoft: o Windows XP o Windows NT (NT4 and 2000) o Windows 9x (95, 98, Me) o Microsoft Office (Word, Excel, Access, PowerPoint, Outlook) o Internet Explorer (including Outlook Express) o Visual Studio o SQL Mozilla: Firefox browser and Thunderbird mail client C++程序设计基础 2011 (open source)
C++ 程序设计
康其桔 kangqiju@163.com
教材及参考书目
教材:《Visual C++程序设计》 苏州大学出版社 参考书目:
《C程序设计》 谭浩强著 清华大学出版社 《C++程序设计》谭浩强编著 清华大学出版社 《C++ 程序设计教程》 钱能主编 清华大学出版社 《Effective C++》(第三版) Scott Meyers著,候捷译 电子工业出 版 《C++ Primer中文版》 (美) Stanley B.Lippman, (加) Josee Lajoie著,潘爱民译 中国电力出版社 《设计模式》 Erich等著,李英军等译 机械工业出版社 《设计模式精解》 Alan等著,熊节翻译 清华大学出版社 《重构:改善既有代码的设计》 Martin Fowler著,熊节、候捷译 电 力出版社 《代码大全》(第2版) Steve McConnell著,金戈、汤凌、陈硕、张 菲译 电子工业出版社
对应的机器语言:
8b 45 fc 8d 04 40 03 c9 2b c1 40 89 45 fc
C++程序设计基础
2011
9
第1章 C++概述
各种语言的发展演化过程
BASIC
ANSI-BASIC QBASIC VISUAL-BASIC
FORTRAN SIMULA67
FORTRAN 77
FORTRAN90 JAVA
C++程序设计基础 2011 15
第1章 C++概述
随着计算机应用的复杂化,传统的软件设计方法显出了一 些弊端,出现了面向对象的开发方法,80年代 Smalltalk。 80年美国新泽西州贝尔实验室 Bjarne Stroustrup 开发了 CWith classes (C++的原形)
83年夏天由Rick Mascitti正式命名为 C++
C++是一种面向对象的程序设计语言。它使得程序的各 个模块的独立性更强,程序的可读性和可理解性更好, 程序代码的结构性更加合理。这对于设计和调试一些 大的软件,尤为重要。
用C++设计的程序,扩充性强。
C++程序设计基础
2011
18
第1章 C++概述
C++与C的关系
C语言
面向对象
C++语言
C++程序设计基础
mov eax, DWORD PTR a_$[ebp] //a放入寄存器eax lea eax, DWORD PTR [eax+eax*2] //eax的内容加上2倍eax内容放到eax mov ecx, DWORD PTR b_$[ebp] //b放入寄存器ecx add ecx,ecx //ecx内容加上ecx内容,即2*b sub eax,ecx //eax减去ecx,即3*a-2*b inc eax //eax的值加1,即3*a-2*b+1 mov DWORD PTR a_$[ebp], eax //将eax的值放入a变量中
C++程序设计基础
2011
13
第1章 C++概述
78年,Brain W. Kernighan,Dennis M. Ritchie (合称 K&R) 出版了《程序设计语言C ( The C Programming Language)》,这本书中介绍的C语言成为后来广泛使用 的C语言版本的基础, 标准C 83年,ANSI( American National Standards Institute 美国国家标准协会)开始制定C标准,ANSI C 87年,ANSI又公布了新的标准,87 ANSI C 88年,K&R按照ANSI C标准重新修改《The C Programming Language》
指针和引用 第9章 类和对象 第10章 构造函数和析构函数 第11章 继承和派生类 第12章 类的其它特性 第13章 运算符重载 第14章 输入/输出流类库
4
第1章 C++概述
5
第1章 C++概述
本章学习目标
1.了解C++的发展过程、特点 2.了解C++程序的基本结构 3.了解面向对象程序设计的格式
第1章 C++概述
Ratings Delta Aug 2011 Aug 2010 19.409% +1.42%
2
3 4 5 6
2
3 4 6 9
C
C++ PHP C# Objective-C
17.390%
8.433% 6.134% 6.042% 5.494%
-0.48%
-1.23% -3.05% +1.06% +2.34%
2011
19
第1章 C++概述
哪些程序是用C++写的: 主流的操作系统,Windows内核都是用C语言和汇编写的,上 层高级特性是用C++写的。 《魔兽世界》等几乎所有的网络游戏,百度搜索引擎,我们所 用的大多数软件都是用C++写的(硬件也有很多用到C++ 的)。 以下是一些C++的应用: Amazon:Software for large-scale e-commerce Apple: OS X is written in a mix of language, but a few important parts are C++(当然最核心的部分都是汇 编与c语言). AT&T:The largest US telecommunications provider. o provisioning systems o systems for rapid network recovery after failure Autodesk: A large number of major number of application in the CAD domain
1
课时安排
理论:32学时(2学分)
上机:32学时(2学分)
2
课程简介
第1章
第2章
第3章 第4章 第5章 第6章 第7章
C++概述 数据类型、运算符与表达式 简单的输入/输出 C++的流程控制语句 函数和编译预处理 数组 结构体、共同体和枚举类型
3
课程简介
第8章
4.掌握上机编译程序的方法
C++程序设计基础 2011 6
第1章 C++概述
1.1 C++语言的发展
程序设计语言的发展过程:
机器语言——硬件系统能直接理解和执行的“0”和 “1”的原始语言;开发软件难度大、周期长;程序 员记忆困难。 汇编语言——用助记符号来表示各个基本操作;直 接处理所有硬件;是各种语言中最快又最有效的语 言;容易理解、记忆。 高级语言——用接近自然语言和数学语言的语法符 号描述基本操作,屏蔽低级语言硬件细节的语言, 一个模块对应汇编语言中一系列整体运行的指令。
第1章 C++概述
TIOBE 开发语言排名是一种编程语言的流行程度的指标。该 指标每月更新一次。市场占有率是根据世界各地的熟练工程师、课 C++程序设计基础 2011 程和第三方供应商的数据统计来的。
12
第1章 C++概述
1967年,英国剑桥大学的Martin Richard推出BCPL (Basic Combined Programming Language)语言。 70年,美国贝尔实验室的Ken Thompson 设计了B(来 源于BCPL),并用B语言写出一个UNIX操作系统。 72到73年间,贝尔实验室的Dennis M. Ritchie 对B改 进,称为C。 73年,Ken Thompson 和Dennis M. Ritchie合作把UNIX 的90%以上用C改写。
C++程序设计基础 2011 14
第1章 C++概述
C的特点
C语言是一种结构化的程序设计语言,语言本身简洁、使用灵活 方便。 它既有高级语言的特点,又具有汇编语言的特点。运算符丰富, 除了提供对数据的算术逻辑运算外,还提供了二进制的位运算。 程序的可移植性好。用C语言在某一种型号的计算机上开发的程 序,基本上可以不作修改,而直接移植到其它型号和不同档次的 计算机上运行。 C语言存在着一些局限: C语言的类型检查机制相对较弱,使得程序中的一些错误不 能在编译阶段由编译器检查出来; C语言本身几乎没有支持代码重用的语言结构; C语言不适合开发大型程序,当程序的规模达到一定的程度 时,程序员就很难控制程序的复杂性。
7
8 9 10
5
7 8 11
(Visual) Basic
Python Perl JavaScript
5.013%
3.415% 2.315% 1.557%
-0.40%
-0.81% -1.11% -0.84%
2001年6月TIOBE编程榜发布以来,总体只有13个编程语言曾经进入前十名。
C++程序设计基础 2011 11
SMALLTALK
C# C++
BCPL
B
C
ALGOL
ALGOL68 PASCAL
百度文库
DELPHI
C++程序设计基础
2011
10
TIOBE Programming Community Index for August 2011
Position Aug 2011 1 Position Aug 2010 1 Delta in Position Programming Language Java
C++程序设计基础 2011 7
第1章 C++概述
例如:求解A+B=?
高级语言
A=A+B
汇编语言
ADD A, B 表示执行 A+B
A
机器语言
10000000 表示“加法”操作
C++程序设计基础
2011
8
第1章 C++概述
C++语句:
a=3*a-2*b+1;//将3a-2b+1的值赋给a
对应的汇编语言:
C++程序设计基础 2011 20
第1章 C++概述
Ericsson: o server platform. o TDMA-CDMA HLR o GSM-TDMA-CDMA mobility gateway Google: web search engine, etc。 HP: Here is a tiny fraction of HP's C++ apps: o C, C++, Fortran90 compilers, and linker for the new HP IA64 platform (these add to more than 1 million lines of C++ code). IBM: o OS/400. o K42: a high performance, open source, generalpurpose operating system kernel for cache-coherent multiprocessors.
C++程序设计基础
2011
16
第1章 C++概述
http://www.research.att.com/~bs
C++程序设计基础 2011 17
第1章 C++概述
1.2 C++的特点
C++全面兼容C语言,它保持了C语言的简洁、高效等 特点,而且比C语言更安全。 C++是C语言的一个超集,大多数的C程序代码略作修 改或不作修改就可在C++的集成环境下运行或调试。