《2014C++cpp01章节》由会员分享,可在线阅读,更多相关《2014C++cpp01章节(35页珍藏版)》请在金锄头文库上搜索。
1、,课件制作:C/C+教材编写组 哈尔滨理工大学 计算中心 http:/, 基于计算思维,2,课时安排 授课 :36学时 实验 :28学时(16学时) 计算机实践: 一周(二周)(部分专业) 考核 机考(50%)+ 上机实验(30%)+ 平时(20%),3,第 1 章 初识C/C+程序设计语言,第 2 章 数据类型、运算符与表达式,第 3 章 顺序结构程序设计,第 5 章 循环结构程序设计,第 6 章 数组,第 7 章 字符串,第 8 章 指针,总复习,第 4 章 选择结构程序设计, 课程概述,第 9 章 函数,第11章 类与对象自定义数据类型,第12章 继承与多态自定义数据类型,第13章 C+
2、输入/输出流类库,第14章异常处理,第15章图形界面编程简介,第 10章 自定义数据类型,第 2 章 数据类型、运算符与表达式,4,插入以前的二个例子,5,初识C/C+程序设计语言,第 1 章, C语言和C+的发展过程 C+程序的基本框架 使用程序设计进行计算问题求解 面向过程和面向对象 程序设计有基本要素 C语言和C+语言的开发环境,6,1.1 程序设计语言,程序员(Programmer) 编写程序源代码(Source Code) 编译器(Compiler) 把源代码转换为可被计算机理解的机器代码(Machine Code) 把机器代码以可执行文件(Executable File)的形式保存
3、在磁盘上, 软件(Software)的形成,7,1.1 程序设计语言,程序软件的运行 计算机把机器代码读入到内存(Memory) 由CPU运行这些代码 读取输入(Input) 完成程序员预定的功能 产生输出(Output), 软件运行过程的简单描述,8,1.1 程序设计语言,程序设计语言(Programming Language)是人与计算机进行交流的语言 一种程序设计语言对应一种编译器 程序员按照该语言的语法编写程序源代码,把自己的意图融入到代码中 编译器读入源代码,把程序员的意图转换成可执行程序,供他人使用, 程序设计语言,9,1.1 程序设计语言,低级语言和高级语言 低级语言与特定机器有
4、关,机器语言、汇编语言 机器语言每条指令都用0和1表示,功效高,但使用复杂、繁琐、费时、易出差错 汇编语言是机器语言符号化的结果,采用助记符来表示机器语言的指令,容易记忆 高级语言的表示方法要比低级语言更接近于待解问题的表示方法,其特点是在一定程度上与具体机器无关,易学、易用、易维护, 程序设计语言的分类,加法操作机器语言 1011011000000000,加法操作汇编语言 add ax,bx,加法操作高级语言 a=1; b=2; c=a+b;,10,1.1 程序设计语言,通用语言与专用语言 通用语言:可以编写多种应用程序的语言,如JAVA、C#、FORTRAN、PASCAL、C等语言 专用语
5、言:目标单一的语言称为专用语言,如APT等语言, 程序设计语言的分类,11,1.1 程序设计语言,面向过程语言与面向对象语言 面向过程的语言 按照算法逐条完成程序的每个过程 如C语言 面向对象的语言 将任何事件或实体看作对象 每个对象都有其属性、空间和可执行的操作 类和对象 如Java、C+、C#等为面向对象的语言, 程序设计语言的分类,12,1.2 C/C+程序设计语言概述,20世纪70年代早期,C语言诞生于美国贝尔实验室 Dennis Ritchie为了开发UNIX操作系统而开发了C语言 C语言是在B语言的基础上开发的 C语言将低级语言的效率、硬件访问能力和高级语言的通用性、可移植性融合在
6、了一起, C语言的诞生,13,1.2 C/C+程序设计语言概述,为了实现跨平台的程序移植,需要遵循某种统一的标准 跨平台的不同系统可能是硬件的不同,也可能是操作系统的不同 硬件跨平台:编写的程序可以运行在微型机、小型机 操作系统的跨平台:编写的程序在Windows、Linux和Macintosh OS X上运行, C/C+语言的标准化的目的,14,1.2 C/C+程序设计语言概述,ANSI:美国国家标准协会(American National Standards Institute,ANSI),1918年成立,美国工程标准委员会(AESC),1969年10月6日改成现名:美国国家标准学会(AN
7、SI) ISO:国际标准化组织(International Organization for Standardization,ISO),1947年2月23日成立,总部在瑞士,日内瓦, 2个标准化组织,15,1.2 C/C+程序设计语言概述,C89:1983年,ANSI组成了一个委员会:X3J11,1989年完成并作为ANSI X3.159-1989 “Programming Language C ”正式生效。称为“ANSI C”或“ C89” C90:1990年,ANSI C标准(带有一些小改动)被ANSI采纳为ISO/IEC 9899:1990,称为C90 C99:2000年3月,ANSI采
8、纳了ISO/IEC 9899:1999标准,称为C99 C11:在2011年12月,ANSI采纳了ISO/IEC 9899:2011标准,称为C11, C语言的4个标准化版本,16,1.2 C/C+程序设计语言概述,C+是由C发展而来的,与C兼容 用C语言写的程序基本上可以不加修改地用于C+ 从C+的名字可以看出它是C的超集 C+既可用于面向过程的结构化程序设计,又可用于面向对象的程序设计,是一种功能强大的混合型的程序设计语言 C是C+的基础,掌握了C语言,再进一步学习C+就能以一种熟悉的语法来学习面向对象的语言,从而达到事半功倍的目的。, C与C+的关系,17,1.2 C/C+程序设计语言概
9、述, 2014年1月编程语言前15名排行,18,1.2 C/C+程序设计语言概述,注释:前缀/标识。C注释在/*和*/之间,可多行注释。 编译预处理指令:#include 指定名字空间:using namespace 函数头:int main() 函数体:用一对花括号“”括起来的代码 使用cout显示信息的语句 结束语句:函数体中的return语句 语句结束标志:语句后的分号“;”表示该语句结束, C+语言的结构,19,1.2 C/C+程序设计语言概述,具有结构语言的特点,具有结构化的程序控制语句 程序主要构成单位为函数,函数可完成独立任务,独立编译,实现程序的模块化 运算符丰富,可以实现复杂
10、运算 数据类型丰富,能够表示复杂的数据结构 允许直接访问物理地址,直接操作硬件,实现汇编语言的大部分功能,C语言为编制系统软件的基本语言 C语言编写的程序,生成的目标代码质量高,程序执行效率高,可移植性好, C语言的特点,20,1.2 C/C+程序设计语言概述,C+语言全面兼容C,支持面向对象 C+是一个更好的C,保持了C的简洁、高效和接近汇编语言的特点,对C的类型系统进行了改革和扩充,因此C+比C更安全,C+的编译系统能检查出更多的类型错误 C+支持面向过程、面向对象和泛型程序设计, C+语言的特点,21,1.3 程序与算法, 什么是计算机算法,n 个数中找最大数(x , n , max),
11、算法,解题的方法和步骤,算法的例子,求 1+2+3. . . +100 的值(n , sum),22,1.3 程序与算法,自然语言描述法 伪代码表示法 流程图表示法 盒图, 算法的描述,23,1.3 程序与算法,流程图表示法(Flowchart), 算法的描述,24,1.3 程序与算法,顺序结构、选择结构、循环结构, 算法的三种基本结构,24,开始,x=5,y=3,t =x,x =y,y =t,输出x与y,结束,传统流程图法,例:交换x与y的值,顺序结构,25,1.3 程序与算法, 算法的三种基本结构,例:求任意两数的最大值,开始,输入a与b,a b,Y,max=a,N,max=b,输出max
12、,结束,选择结构,26,1.3 程序与算法, 算法的三种基本结构,26,计数器 n 求和单元 sum,开始,n=1, sum=0,n =5,Y,sum=sum+n n=n+1,N,输出sum,结束,循环结构,例:求1+2+5,思想,27,1.3 程序与算法,单入口,单出口。是一个模块 每一个模块内都有一条从入口到出口的路径 无死循环 必须在执行有限步之后结束,且每一步在有穷时间内完成, 结构化算法的特征,28,1.6 常用C/C+集成开发环境,集成开发环境:编辑、预处理、编译、链接、调试和运行 Integrated Development Environment,IDE Microsoft V
13、isual C+ Code:Blocks GCC Borland C+ Symantec C+ Dev-C+ ARM RealView, C/C+集成开发环境(IDE),29,1.6 常用C/C+集成开发环境,Code:Blocks由C+语言开发完成 开放源码、功能齐全的跨平台C/C+集成开发环境 提供了多种工程模板:控制台应用、DirectX应用、动态连接库、FLTK应用、GLFW应用、Irrlicht工程、OGRE应用、OpenGL应用、QT应用、SDCC应用、SDL应用、SmartWin应用、静态库、Win32 GUI应用、wxWidgets应用、wxSmith工程,另外它还支持用户自定
14、义工程模板 支持语法彩色醒目显示,支持代码完成,支持工程管理、项目构建、调试, Code:Blocks,30,1.6 常用C/C+集成开发环境,VC+6.0是微软公司基于Windows系统、可视化的IDE VC+ 6.0不仅是一个C+编译器,而且是一个强大的可视化软件开发工具 VC+6.0的源程序使用C+语言编写 VC+ 6.0由许多组件组成,包括编辑器、调试器以及程序向导AppWizard、类向导Class Wizard等开发工具 使用VC+提供的高度可视化的应用程序开发工具和MFC类库,可使应用程序开发变得简单 由于VC+.NET(VC+ 7.0)应用的局限性,实际应用中更多的还是以Vis
15、ual C+ 6.0为开发工具, Visual C+ 6.0VC+ 6.0,31,1.6 常用C/C+集成开发环境,Visual Studio是微软公司推出的开发环境,是最流行的Windows平台应用程序开发环境。 随着 Windows 8 的发布,2012年9月12日微软在西雅图发布Visual Studio 2012。 Visual Studio 2012 提供了新的模板、设计工具以及测试和调试工具,在尽可能短的时间内构建具有强大吸引力的应用程序所需要的一切。 Blend for Visual Studio还提供了一款可视化工具集,让使用者充分利用 Windows 8 全新而美观的界面。, Visual Studio 2012,32,1.6 常用C/C+集成开发环境,为满足不同的团队需求和规模,Visual Studio 2012提供了收费版本和免费版本共9个版本 收费版本5个: MSDN旗舰版 MSDN高级版 MSDN专业版 专业版 测试专业版, Visual Studio 2012,33,1.6 常用C/C+集成开发环境,免费版本4个: Visual Studio Express 2012 for Web Visual Studio Express 2012 for Windows 8 Visu