书签 分享 收藏 举报 版权申诉 / 322
上传文档赚钱

类型教学课件·面向对象程序设计(C++).ppt

  • 上传人(卖家):三亚风情
  • 文档编号:3523679
  • 上传时间:2022-09-11
  • 格式:PPT
  • 页数:322
  • 大小:5.23MB
  • 【下载声明】
    1. 本站全部试题类文档,若标题没写含答案,则无答案;标题注明含答案的文档,主观题也可能无答案。请谨慎下单,一旦售出,不予退换。
    2. 本站全部PPT文档均不含视频和音频,PPT中出现的音频或视频标识(或文字)仅表示流程,实际无音频或视频文件。请谨慎下单,一旦售出,不予退换。
    3. 本页资料《教学课件·面向对象程序设计(C++).ppt》由用户(三亚风情)主动上传,其收益全归该用户。163文库仅提供信息存储空间,仅对该用户上传内容的表现方式做保护处理,对上传内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知163文库(点击联系客服),我们立即给予删除!
    4. 请根据预览情况,自愿下载本文。本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
    5. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007及以上版本和PDF阅读器,压缩文件请下载最新的WinRAR软件解压。
    配套讲稿:

    如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。

    特殊限制:

    部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。

    关 键  词:
    教学 课件 面向 对象 程序设计
    资源描述:

    1、 第7章 继承与派生 第8章 多态和虚函数 第9章 模板和异常处理 第10章 文件的输入输出 第11章 Visual C+编程基础目录页目录页 Contents page 第1章 绪论 第2章 数据类型和表达式 第3章 控制结构 第4章 复合数据类型 第5章 函数 第12章 MFC应用程序实例 第6章 类与对象学习目标学习目标能力目标u 了解程序设计语言的发展过程u 了解程序设计方法u 掌握C+程序的基本结构和开发工具u 了解本课程的学习目标和技能要求1.1 开篇例程:图书借阅管理系统图图1-1所示的图书借阅管理系统,是本教材的一个综合案例作品,所示的图书借阅管理系统,是本教材的一个综合案例作

    2、品,具有以下功能:具有以下功能:新进图书入库新进图书入库 读者注册登记读者注册登记 办理借还书手续办理借还书手续 为读者提供借书查询为读者提供借书查询 馆内库存图书查询馆内库存图书查询图图1-1 图书借阅管理系统图书借阅管理系统1.2 程序设计语言1.2.1 计算机语言与程序计算机语言与程序人类语言是人与人之间的交流信息工具,而计算机语言是人与计人类语言是人与人之间的交流信息工具,而计算机语言是人与计算机交流信息的工具。用计算机解决问题时,人们必须首先将解决该算机交流信息的工具。用计算机解决问题时,人们必须首先将解决该问题的方法和步骤按一定序列和规则用计算机语言描述出来,形成计问题的方法和步骤

    3、按一定序列和规则用计算机语言描述出来,形成计算机程序,然后计算机就可以自动执行程序,完成所需要的功能了。算机程序,然后计算机就可以自动执行程序,完成所需要的功能了。计算机语言与程序经历了三个发展阶段。计算机语言与程序经历了三个发展阶段。1机器语言与程序机器语言与程序2汇编语言与程序汇编语言与程序3高级语言与程序高级语言与程序1.2 程序设计语言1.2.2 从从C到到C+C语言具有如下特点:语言具有如下特点:(1)高效性高效性(2)灵活性灵活性(3)功能丰富功能丰富(4)表达力强表达力强(5)移植性好移植性好1.3 程序设计方法1.3.1 结构化程序设计方法结构化程序设计方法结构化程序设计的主要

    4、思想是:将任务按功能分解并逐步求精。结构化程序设计的主要思想是:将任务按功能分解并逐步求精。将复杂的大型任务分解成若干个模块,每个模块进一步划分成更小的、将复杂的大型任务分解成若干个模块,每个模块进一步划分成更小的、功能完整的子模块,继续划分直到得到原子模块,每个原子模块用一功能完整的子模块,继续划分直到得到原子模块,每个原子模块用一个过程或函数完成。个过程或函数完成。1.3.2 面向对象的程序设计方法面向对象的程序设计方法面向对象的程序设计方法的出发点,就是模拟人类的认识事物解面向对象的程序设计方法的出发点,就是模拟人类的认识事物解决问题的过程来开发软件,这是学习和理解面向对象方法的关键。决

    5、问题的过程来开发软件,这是学习和理解面向对象方法的关键。1.3 程序设计方法1.3.3 面向对象的特性面向对象的特性面向对象程序设计中引入了类的概念。类概念是高级语言的标志之一,面向对象程序设计中引入了类的概念。类概念是高级语言的标志之一,它能帮助程序员更好地描述由对象个体组成的世界。它能帮助程序员更好地描述由对象个体组成的世界。类有三个重要的特性类有三个重要的特性 封装性、继承性和多态性封装性、继承性和多态性(1)封装性封装性封装就是实现信息隐藏的基础。将描述对象的数据及对这些数据的处封装就是实现信息隐藏的基础。将描述对象的数据及对这些数据的处理方法(函数)有机地组成一个整体,对数据及代码的

    6、访问权加以限制,理方法(函数)有机地组成一个整体,对数据及代码的访问权加以限制,这种特性称为封装。这种特性称为封装。(2)继承性继承性继承是面向对象技术能够提高软件开发效率的重要原因之一,是软件继承是面向对象技术能够提高软件开发效率的重要原因之一,是软件重用的基础。通过继承已有类的特性可产生一个新类。已有类称基类或父重用的基础。通过继承已有类的特性可产生一个新类。已有类称基类或父类,新类称为子类或派生类。类,新类称为子类或派生类。1.3 程序设计方法(3)多态性多态性多态分为静态多态和动态多态。多态性是一种提高编程效率及编多态分为静态多态和动态多态。多态性是一种提高编程效率及编程灵活性的机制。

    7、程灵活性的机制。静态多态静态多态静态多态分为函数重载、运算符重载、函数模板和类模板。静态多态分为函数重载、运算符重载、函数模板和类模板。动态多态动态多态动态多态是指不同的对象在接收到相同的消息后,以不同的行为动态多态是指不同的对象在接收到相同的消息后,以不同的行为去应对。所谓消息是指对象接收到的需要执行某个去应对。所谓消息是指对象接收到的需要执行某个“操作操作”的命令,的命令,操作是由函数完成的。动态多态的实现机制是,在基类中定义一个完操作是由函数完成的。动态多态的实现机制是,在基类中定义一个完成这个操作的虚函数,在不同的派生类中重新定义完成这个成这个操作的虚函数,在不同的派生类中重新定义完成

    8、这个“操作操作”的与基类虚函数同名的函数,不同派生类中的这些函数完成不同的工的与基类虚函数同名的函数,不同派生类中的这些函数完成不同的工作,那么不同派生类对象接收到同样的作,那么不同派生类对象接收到同样的“消息消息”时,就可以表现为不时,就可以表现为不同的行为。同的行为。1.4 C+程序的基本结构1.4.1 C+程序结构程序结构1声明区声明区声明区出现在程序文件的所有函数的外部,它所包含的内容如下,声明区出现在程序文件的所有函数的外部,它所包含的内容如下,但并不是每一个程序都需要,要视问题的不同而变化。一般有以下几但并不是每一个程序都需要,要视问题的不同而变化。一般有以下几种情况:种情况:(1

    9、)预处理命令:例如预处理命令:例如1-1中的第中的第2行语句行语句#include“iostream.h”(2)函数声明:函数声明:例如例如1-1中的第中的第3行语句行语句int fnAdd(int x,int y);(3)全局变量声明全局变量声明(4)类或结构定义类或结构定义1.4 C+程序的基本结构1.4.1 C+程序结构程序结构2主函数区主函数区主函数是以主函数是以main()开始,是整个程序运行的入口,主函数可以带开始,是整个程序运行的入口,主函数可以带参数也可以不带参数,在本例中主函数没有带参数。该函数中可能包参数也可以不带参数,在本例中主函数没有带参数。该函数中可能包含以下几个方面

    10、的内容:含以下几个方面的内容:(1)局部变量的声明:局部变量的声明:int a,b;(2)函数调用:函数调用:int c=fnAdd(a,b);(3)执行语句:执行语句:a=5;1.4 C+程序的基本结构1.4.1 C+程序结构程序结构3函数定义区函数定义区程序中除了程序中除了main()函数外,还可以包含其它函数,每个函数都有函数外,还可以包含其它函数,每个函数都有一个不同的函数名称,以供主函数或其它函数调用。每个函数都是由一个不同的函数名称,以供主函数或其它函数调用。每个函数都是由函数声明和函数体组成的函数声明和函数体组成的,其中函数声明放在声明区。其中函数声明放在声明区。(1)函数的声明

    11、部分函数的声明部分1.4 C+程序的基本结构1.4.1 C+程序结构程序结构3函数定义区函数定义区(2)函数体部分函数体部分函数体是用一对花括号函数体是用一对花括号括起来的用于完成某种功能的语句的集合。括起来的用于完成某种功能的语句的集合。函数体一般包括变量定义和执行语句。在函数体一般包括变量定义和执行语句。在C+语言中,一个变量必须在使语言中,一个变量必须在使用之前进行定义,但变量的定义可出现在第一次使用之前的任意位置。用之前进行定义,但变量的定义可出现在第一次使用之前的任意位置。1.4 C+程序的基本结构1.4.2 C+程序中的注释程序中的注释注释是提高可读性的重要手段,注释是提高可读性的

    12、重要手段,C+中有两种注释方法中有两种注释方法:(1)C中注释方法,以中注释方法,以“/*”开始,以开始,以“*/”结束,在这之间的所有数结束,在这之间的所有数据编译程序认为是注释信息,编译时跳过它们据编译程序认为是注释信息,编译时跳过它们,一般用于多行注释。一般用于多行注释。(2)以符号以符号“/”表示注释开始,直到本行结束。这一种注释方法是表示注释开始,直到本行结束。这一种注释方法是C+特有的,一般用于一行中较短信息的注释。特有的,一般用于一行中较短信息的注释。1.4 C+程序的基本结构1.4.3 C+的输入的输入/输出流输出流程序是由语句组成的,输入输出语句是程序是由语句组成的,输入输出

    13、语句是C+最基本的语句。最基本的语句。C+中输入输出方法可以分为两类:一类是中输入输出方法可以分为两类:一类是C+保留的来自保留的来自C语言的语言的输入输出功能,通过输入输出函数完成,函数定义包含在输入输出功能,通过输入输出函数完成,函数定义包含在stdio.h文件中;文件中;另一类是另一类是C+通过输入输出流对象进行输入输出,通过输入输出流对象进行输入输出,C+的输入输出功能包的输入输出功能包含在含在iostream.h类库中。其中类库中。其中iostream.h包含了大部分功能。具体用法将在包含了大部分功能。具体用法将在第第10章详细介绍,为了编程方便,简单加以说明。章详细介绍,为了编程方

    14、便,简单加以说明。所以,在所以,在C+程序设计中,除了使用标准程序设计中,除了使用标准C语言函数库语言函数库stdio.h提供的提供的输入输出函数外,还可以使用自己定义的输入输出系统。输入输出函数外,还可以使用自己定义的输入输出系统。C+又增加了三又增加了三个关键字个关键字 cin、cout、cerr 和两个运算符(称为插入和两个运算符(称为插入insertion operator和析和析取运算符取运算符extraction operator)。1.4 C+程序的基本结构 1.cout输出流输出流cout 输出流,与屏幕显示相联系,故又称标准输出;输出流,与屏幕显示相联系,故又称标准输出;输出

    15、运算符(或称插入运算符输出运算符(或称插入运算符 insertion operator)。)。在程序执行期间,使用在程序执行期间,使用cout将变量中的数据或字符串显示在屏幕上,将变量中的数据或字符串显示在屏幕上,其一般格式为:其一般格式为:cout 例如,语句:例如,语句:cout 我开始学习我开始学习 C+语言了!语言了!输入运算符(或称析取运算符输入运算符(或称析取运算符 extraction operator)。)。在程序执行期间,使用在程序执行期间,使用cin来给变量输入数据,其一般格式为:来给变量输入数据,其一般格式为:cin 1.4 C+程序的基本结构3.格式化输入格式化输入/输

    16、出输出对于整型变量,从键盘上输入的数据默认为十进制。除此以外,对于整型变量,从键盘上输入的数据默认为十进制。除此以外,还可以按照八进制或十六进制来输入还可以按照八进制或十六进制来输入/输出数据。输出数据。oct 八进制输入输出八进制输入输出hex 十六进制输入输出十六进制输入输出dec 十进制输入输出十进制输入输出1.5 C+程序的开发过程图图1-4 1-4 程序的编辑、编译、连接程序的编辑、编译、连接和执行过程和执行过程1.5 C+程序的开发过程具体操作步骤如下:具体操作步骤如下:(1)编辑源程序,并以扩展名编辑源程序,并以扩展名.cpp的文件存盘。的文件存盘。(2)对源程序进行编译,将源程

    17、序转换为扩展名为对源程序进行编译,将源程序转换为扩展名为.obj的目标程序,但的目标程序,但目标程序仍不能运行。若源程序有错,必须予以修改,然后重新编译。目标程序仍不能运行。若源程序有错,必须予以修改,然后重新编译。(3)对编译通过的源程序连接,即加入库函数和其它二进制代码生成可对编译通过的源程序连接,即加入库函数和其它二进制代码生成可执行程序。连接过程中,若出现未定义的函数等错误,必须修改源程序,并执行程序。连接过程中,若出现未定义的函数等错误,必须修改源程序,并重新编译和连接。重新编译和连接。(4)执行生成的可执行代码,若不能得到正确的结果,必须修改源程序,执行生成的可执行代码,若不能得到

    18、正确的结果,必须修改源程序,重新编译和连接。若能得到正确结果,则整个编辑、编译、连接和运行过程重新编译和连接。若能得到正确结果,则整个编辑、编译、连接和运行过程顺利结束。顺利结束。1.6 C+程序的上机步骤1.6.1 Visual C+6.0开发环境开发环境Visual C+6.0,简称,简称VC+6.0,是微软公司推出的一款,是微软公司推出的一款C+编译器,编译器,是一个强大的可视化软件开发工具,它将程序代码的编辑、编译、连接和是一个强大的可视化软件开发工具,它将程序代码的编辑、编译、连接和调试等功能集于一体。调试等功能集于一体。Visual C+6.0的详细安装过程请参考其它有关书籍,的详

    19、细安装过程请参考其它有关书籍,下面将介绍下面将介绍Visual C+6.0集成开发环境的使用。集成开发环境的使用。1.6 C+程序的上机步骤1.6.2 第一个控制台应用程序第一个控制台应用程序为了便于程序的分类和管理,首先应在硬盘上创建一个新目录,比如为了便于程序的分类和管理,首先应在硬盘上创建一个新目录,比如D:MYVC,以便存放程序所生存的文件。,以便存放程序所生存的文件。1.启动启动Visual C+6.0选 择选 择“开 始开 始 程 序程 序Microsoft Visual Studio 6.0Microsoft Visual C+6.0”菜单命令,或双击桌面上的菜单命令,或双击桌面

    20、上的Visual C+6.0快捷图标,进快捷图标,进入入Microsoft Visual C+6.0的的集成环境,如图集成环境,如图1-5所示。所示。图图1-5 Visual C+6.0界面界面1.6 C+程序的上机步骤2.创建工程创建工程创建创建MyHello工程的步骤如下:工程的步骤如下:(1)启动启动Visual C+6.0后。选择后。选择“文件文件 新建新建”菜单命令。打开菜单命令。打开“新新建建”对话框。如图对话框。如图1-6所示。所示。(2)在在“新建新建”对话框中选择对话框中选择“工程工程”选项卡选项卡。然后选择。然后选择“Win32 Console Application”类型

    21、,类型,Visual C+6.0即将创建一个控制台应用程序。即将创建一个控制台应用程序。在在“工程名称工程名称”文本编辑框中输入文本编辑框中输入“MyHello”,单击位于,单击位于“位置位置”框右边框右边的小按钮,再从下拉的对话框中选择的小按钮,再从下拉的对话框中选择“D:MYVC”目录,使新创建的工程文目录,使新创建的工程文件放置在件放置在“D:MYVC”目录之下。目录之下。以上几个步骤分别指定了以上几个步骤分别指定了MyHello.exe程序的工程类型、工程名字和工程序的工程类型、工程名字和工程位置,此时程位置,此时“新建新建”对话框如图对话框如图1-6所示。所示。1.6 C+程序的上机

    22、步骤2.创建工程创建工程图图1-6“新建新建”对话框中的对话框中的“工程工程”选项卡选项卡1.6 C+程序的上机步骤(3)单击单击“确认确认”按钮。此时按钮。此时Visual C+6.0将显示如图将显示如图1-7所示的所示的“Win32 Console Application-步骤步骤1共共1步步”对话框。在此例中,选择默认设对话框。在此例中,选择默认设置置“一个空的工程一个空的工程”,即创建一个空的工程,它不包含任何源文件。,即创建一个空的工程,它不包含任何源文件。(4)单击)单击“完成完成”按钮,系统将显按钮,系统将显示示“新建工程信息新建工程信息”对话框,继续单击对话框,继续单击“确认确

    23、认”按钮,按钮,Visual C+6.0就会创建就会创建MyHello工程。工程。图图1-7“Win32 Console Application-步骤步骤1共共1步步”对话框对话框1.6 C+程序的上机步骤3.创建源程序文件创建源程序文件在创建好的工程中,添加源程在创建好的工程中,添加源程序文件。操作步骤如下:序文件。操作步骤如下:(1)选择选择“文件文件新建新建”菜单菜单命令,打开命令,打开“新建新建”对话框,选择对话框,选择“文件文件”选项卡,如图选项卡,如图1-8所示。选所示。选中对话框右则的中对话框右则的“添加到工程添加到工程”复复选框,即把当前要创建的文件加入选框,即把当前要创建的文

    24、件加入到工程到工程MyHello中。在中。在“文件文件”列列表中选中表中选中“C+Source File”,在,在“文件名文件名”编辑框中输入文件名编辑框中输入文件名“HelloWorld”,而文件扩展名,而文件扩展名.cpp将自动被加上。将自动被加上。图图1-8“新建新建”对话框中的对话框中的“文件文件”选项卡选项卡1.6 C+程序的上机步骤(2)单击单击“确认确认”按钮,按钮,源文件源文件HelloWorld.cpp将被将被添加到工程中,同时代码编添加到工程中,同时代码编辑 窗 口 被 打 开。选 择辑 窗 口 被 打 开。选 择Workspace窗口中的窗口中的FileView选项卡,可

    25、以看到在选项卡,可以看到在Source Files文件夹中多了一个文件,文件夹中多了一个文件,即刚刚添加的即刚刚添加的HelloWorld.cpp,如图,如图1-9所所示。在此文件中输入例示。在此文件中输入例1-1中中的代码。的代码。图图1-9 Visual C+窗口窗口1.6 C+程序的上机步骤4.编译、连接编译、连接选择选择“组建组建 组建组建 MyHello.exe”,或,或“组建组建 全部重建全部重建”菜单命菜单命令,对工程进行编译和连接。如果正确,则在输出窗口的最后一行将显示如令,对工程进行编译和连接。如果正确,则在输出窗口的最后一行将显示如下信息:下信息:MyHello.exe 0

    26、 error(s),0 warning(s)5运行程序运行程序选择选择“组建组建 !执行执行 MyHello.exe”菜单命令执行程序菜单命令执行程序“MyHello.exe”。将看到屏幕中弹出一将看到屏幕中弹出一DOS输出窗口,如图输出窗口,如图1-10所示。所示。图图1-10 运行程序的输出窗口运行程序的输出窗口1.6 C+程序的上机步骤1.6.3 程序文件的设置程序文件的设置由于由于Visual C+6.0开发环境对程序实行的是工程化管理,同一个工程开发环境对程序实行的是工程化管理,同一个工程可以管理多个源程序文件。但同一时刻只能编译、连接和运行一个程序。可以管理多个源程序文件。但同一时

    27、刻只能编译、连接和运行一个程序。那么,在同一工程下的多个程序中,如何设置你要编译、连接和运行的特那么,在同一工程下的多个程序中,如何设置你要编译、连接和运行的特定程序呢?定程序呢?在在HelloWorld工程中添加第二个工程中添加第二个C+程序文件。操作步骤如下:程序文件。操作步骤如下:(1)启动启动Visual C+6.0,打开打开“HelloWorld”工程。工程。(2)完全类似完全类似1.6.2节中的步骤节中的步骤“3.创建源程序文件创建源程序文件”,在,在“HelloWorld”工程中添加一个工程中添加一个C+源程序文件(比如,源程序文件(比如,HelloC.cpp),并),并编写代码

    28、。编写代码。(3)在在“FileView”标签中,选中标签中,选中“HelloWorld.cpp”程序文件并按鼠标程序文件并按鼠标右键,在弹出的快捷菜单中,选中右键,在弹出的快捷菜单中,选中“设置设置”菜单项。如图菜单项。如图1-11所示。所示。1.6 C+程序的上机步骤1.6.3 程序文件的设置程序文件的设置图图1-11 程序设置程序设置1.6 C+程序的上机步骤1.6.3 程序文件的设置程序文件的设置(4)单击单击“设置设置”菜单项,弹出菜单项,弹出“project Settings”对话框。并在对话框。并在“常规常规”选项卡中选项卡中,选中选中“组建时排除文件组建时排除文件”复选框。如图

    29、复选框。如图1-12所示,这样就把所示,这样就把HelloWorld.cpp程序脱离编译了。完全类似,如果有多个源程序文件,除了程序脱离编译了。完全类似,如果有多个源程序文件,除了你要编译的特定程序外,其余程序都必须选中你要编译的特定程序外,其余程序都必须选中“组建时排除文件组建时排除文件”复选框,复选框,使之对应的程序脱离编译。相反,把你要编译的程序文件取消使之对应的程序脱离编译。相反,把你要编译的程序文件取消“组建时排除组建时排除文件文件”复选框。复选框。(5)单击单击“确定确定”按钮,完成设置。按钮,完成设置。1.6 C+程序的上机步骤1.6.3 程序文件的设置程序文件的设置图图1-12

    30、 组建时排除文件的组建时排除文件的“工程设置工程设置”大连理工大学出版社地址:大连市软件园路80号E-mail :URL:http:/www.dutp,cn 第7章 继承与派生 第8章 多态和虚函数 第9章 模板和异常处理 第10章 文件的输入输出 第11章 Visual C+编程基础目录页目录页 Contents page 第1章 绪论 第2章 数据类型和表达式 第3章 控制结构 第4章 复合数据类型 第5章 函数 第12章 MFC应用程序实例 第6章 类与对象学习目标学习目标u 了解C+语言的基本字符、标识符和关键字u 了解C+语言的编程规范u 掌握C+语言的基本数据类型、常量和变量u 掌

    31、握C+语言的运算符、表达式及使用方法2.1 关键字和标识符2.1.1 关键字关键字关键字也称保留字,是一种有特殊用途的标识符。是由系统预先关键字也称保留字,是一种有特殊用途的标识符。是由系统预先定义好的字符序列,具有特殊的含义及用法,不能用于变量名或函数定义好的字符序列,具有特殊的含义及用法,不能用于变量名或函数名等。名等。C+的常见关键字如表的常见关键字如表2-1所示。所示。表表2-1 C+关键字关键字2.2 基本数据类型C+语言的数据类型分为语言的数据类型分为基本数据类型、构造数据类型基本数据类型、构造数据类型和引用类型,如图和引用类型,如图2-1所示。所示。基本数据类型是基本数据类型是C

    32、+系统内部系统内部的数据类型,构造类型和引用的数据类型,构造类型和引用类型都是由基本数据类型建立类型都是由基本数据类型建立起来的。起来的。图图2-1 C+的数据类型的数据类型2.2 基本数据类型2.2.1 整型数据整型数据1整型的类别整型的类别在在C+语言中,整型数据分为基本整型、短整型、长整型语言中,整型数据分为基本整型、短整型、长整型3大类。其中大类。其中每一类又分为无符号和有符号每一类又分为无符号和有符号2种,如表所示。种,如表所示。表表2-2 整型数据的分类整型数据的分类2.2 基本数据类型2整型数据在内存中的存储形式整型数据在内存中的存储形式整型数据是以二进制数补码的形式存储的。对有

    33、符号数据,则存储单元整型数据是以二进制数补码的形式存储的。对有符号数据,则存储单元的最高位为符号位,的最高位为符号位,1表示负数,表示负数,0 表示正数。对无符号数据,则没有符号表示正数。对无符号数据,则没有符号位,所有的存储单元均为数据位。假设用位,所有的存储单元均为数据位。假设用32个二进制位(个二进制位(bit)存放一个)存放一个int型数据,则有符号数据和无符号数据在内存中占用存储单元的情况如图型数据,则有符号数据和无符号数据在内存中占用存储单元的情况如图2-2所示。所示。图图2-2 整型数的存储形式整型数的存储形式2.2 基本数据类型3求补码的方法求补码的方法在计算机中,整数有原码、

    34、反码和补码在计算机中,整数有原码、反码和补码3种表示方法:种表示方法:(1)一个正数的反码和补码与原码相同一个正数的反码和补码与原码相同(2)负数的原码就是把符号位数值化负数的原码就是把符号位数值化(3)负数的反码,其原码的符号位不变,其它位按位取反负数的反码,其原码的符号位不变,其它位按位取反(4)负数的补码是反码末位(最右端位)加负数的补码是反码末位(最右端位)加1。2.2 基本数据类型2.2.2 实型数据实型数据1实型数据的类别实型数据的类别实型也称之为浮点型。在实型也称之为浮点型。在C+语言中,实型数据分为单精度(语言中,实型数据分为单精度(float)、)、双精度(双精度(doubl

    35、e)和长双精度()和长双精度(long double)3种。实型数均为有符号数据,种。实型数均为有符号数据,如表如表2-3所示。所示。表表2-3 实型数据的分类实型数据的分类2.2 基本数据类型2.2.2 实型数据实型数据2.实型数据的存储形式实型数据的存储形式实型数据在内存中是以指数形式存放的。系统把一个实型数据分成小数实型数据在内存中是以指数形式存放的。系统把一个实型数据分成小数部分和指数部分分别存放。其中,指数部分采用规范化的指数形式。部分和指数部分分别存放。其中,指数部分采用规范化的指数形式。例如,实型数据例如,实型数据3.14159=+0.314159X101在内存中的存放形式如图在

    36、内存中的存放形式如图2-5所所示。示。图图2-5 实型数据的存储形式实型数据的存储形式2.2 基本数据类型2.2.2 实型数据实型数据.字符型数据的存储形式字符型数据的存储形式在内存中,一个字符型数据占用一个字节(在内存中,一个字符型数据占用一个字节(8 8位),以位),以ASCIIASCII码(的二进码(的二进制)形式存放。制)形式存放。2 2字符数据与整数通用字符数据与整数通用char char 型数据的型数据的ASCIIASCII码的取值范围为码的取值范围为-128-128127127,其最高位是符号位。,其最高位是符号位。如果使用如果使用ASCIIASCII码为码为0 0127127之

    37、间的字符,因为最高位为之间的字符,因为最高位为0 0,所以在用整数格,所以在用整数格式式%d%d输出时,输出一个正整数。如果使用输出时,输出一个正整数。如果使用128128255255之间的字符,因为最高之间的字符,因为最高位为位为1 1,所以在用整数格式,所以在用整数格式%d%d输出时,输出一个负整数。输出时,输出一个负整数。2.3 常量与变量2.2.2 实型数据实型数据(2)(2)整型常量的表示整型常量的表示整型常量可以用十进制数、八进制数、十六进制三种形式书写。整型常量可以用十进制数、八进制数、十六进制三种形式书写。八进制整数八进制整数八进制数使用八进制数使用0(0(零零)作前缀修饰。八

    38、进制所含的数字是作前缀修饰。八进制所含的数字是0 07 7。例如:例如:OctaNum2=0571;/OctaNum2=0571;/正确,在常量前面加上正确,在常量前面加上0 0进行修饰进行修饰OctaNum4=0591;/OctaNum4=0591;/错误,含有非八进制数错误,含有非八进制数9 92.3 常量与变量2.2.2 实型数据实型数据(2)(2)整型常量的表示整型常量的表示整型常量可以用十进制数、八进制数、十六进制三种形式书写。整型常量可以用十进制数、八进制数、十六进制三种形式书写。十六进制整数十六进制整数十六进制使用十六进制使用0 x0 x或或0X0X作前缀。十六进制所含的数字是作

    39、前缀。十六进制所含的数字是0 09 9以及字母以及字母A AF(F(或或a af)f)。例如:。例如:HexNum2=0 x59af;/HexNum2=0 x59af;/正确,在常量前面加上正确,在常量前面加上0 x0 x进行修饰进行修饰HexNum4=0 x59ak;/HexNum4=0 x59ak;/错误,含有非十六进制数的字母错误,含有非十六进制数的字母k k 十进制整数十进制整数十进制常量是不需要在前面添加前缀的。十进制所含的数字是十进制常量是不需要在前面添加前缀的。十进制所含的数字是0 09 9。例。例如:如:AlgorismNum1=123;AlgorismNum1=123;2.3

    40、 常量与变量【例例2.3】三种进制表示方法的转换。三种进制表示方法的转换。#include iostream.hvoid main()int x=1234,y=01234,z=0 x1234;cout 十进制十进制:decx=x,y=y,z=zendl;/dec:十进制格式符输出十进制格式符输出 cout 八进制八进制:octx=x,y=y,z=zendl;/oct:八进制格式符输出八进制格式符输出 cout十六进制十六进制:hexx=x,y=y,z=zendl;/hex:十六进制格式符输十六进制格式符输出出运行结果如图运行结果如图2-7所示。所示。图图2-7 三种进制格式的输出三种进制格式的

    41、输出2.3 常量与变量3.字符常量字符常量字符型常量是用一对单引号(即撇号)括起来的单个字符,在内存中占字符型常量是用一对单引号(即撇号)括起来的单个字符,在内存中占一个字节。一个字节。例如例如:a,b,1,$,A、#/正确的字符常量正确的字符常量 AB、AB、a /错误的字符常量错误的字符常量 一个字符常量的值是该字符对应的一个字符常量的值是该字符对应的ASCII码值。码值。例如,字符常量例如,字符常量a z 对应的对应的ASCII编码值是编码值是97123;字符常量;字符常量09 对应的对应的ASCII编码值是编码值是4857。显然。显然0与数字与数字0是不同的。是不同的。C+语言中还允许

    42、一种特殊形式的字符常量,即以反斜线语言中还允许一种特殊形式的字符常量,即以反斜线“”开头的开头的字符序列,称为转义字符。字符序列,称为转义字符。2.3 常量与变量常用的转义字符见表常用的转义字符见表2.3 常量与变量4符号常量符号常量使用符号常量可以使数据含义清楚,同时也便于该数据的修改。符号常使用符号常量可以使数据含义清楚,同时也便于该数据的修改。符号常量的定义形式:量的定义形式:#define 符号常量标识符符号常量标识符 常量值常量值例如:例如:#define NULL 0 /定义符号常量定义符号常量NULL代表代表0#define PI 3.14159 /定义符号常量定义符号常量PI代

    43、表代表3.141595.布尔型常量布尔型常量布尔型常量只有布尔型常量只有2个,即个,即true和和false,分别代表分别代表“真真”和和“假假”。2.3 常量与变量6.字符串常量字符串常量字符串常量是用双引号括起来的字符序列。比如:字符串常量是用双引号括起来的字符序列。比如:CHINA,teacher and student,12345.456,a等都是字符串常量。等都是字符串常量。字符串常量一般用一个字符数组(参见第字符串常量一般用一个字符数组(参见第4章)来存储,每个字符占一章)来存储,每个字符占一个字节,存放其对应的个字节,存放其对应的ASCII码。字符串常量在内存中存储时,系统自动加

    44、码。字符串常量在内存中存储时,系统自动加上串尾标志上串尾标志0。每个字符串常量在内存中占用的存储单元数目每个字符串常量在内存中占用的存储单元数目应为该字符串长度(字符个数)加应为该字符串长度(字符个数)加1。例如,例如,CHINA的存储形式如图的存储形式如图2-8所示。所示。图图2-8 字符串字符串CHINA存储形式存储形式2.3 常量与变量2.3.2 变量变量变量是指在程序运行过程中,其值可以改变的量。使用变量前必须先定变量是指在程序运行过程中,其值可以改变的量。使用变量前必须先定义(声明),变量是用来保存常量的。变量有三个要素:名称、类型和值。义(声明),变量是用来保存常量的。变量有三个要

    45、素:名称、类型和值。1变量的名字变量的名字变量名字是一个标识符,所以必须符合标识符的命名规则。变量名字是一个标识符,所以必须符合标识符的命名规则。例如:例如:a,_abc,、AREA、x1、x2 /合法的变量名合法的变量名4ac、#g、a+1、fn!a、a$/不合法的变量名不合法的变量名2.3 常量与变量2变量的定义变量的定义变量在使用之前必须先定义,要声明自己的数据类型、存储类型。变量在使用之前必须先定义,要声明自己的数据类型、存储类型。变量的定义格式为:变量的定义格式为:例如:例如:int iSum,iLength,x,y;/定义定义4个整型变量个整型变量iSum,iLength,x,yc

    46、har ch;/定义定义1个字符型变量个字符型变量chfloat fSum,fWidth;/定义定义2个实型(单精度)变量个实型(单精度)变量fSum,fWidthdouble u,v;/定义定义2个实型(双精度)变量个实型(双精度)变量u,v2.3 常量与变量3变量赋初值变量赋初值当使用变量时,变量必须有值。当使用变量时,变量必须有值。C+语言允许在定义变量的同时使变量语言允许在定义变量的同时使变量初始化。初始化。如:如:int a=2;/定义定义a为整型变量,初值为为整型变量,初值为2char b=A;/定义定义b为字符型变量,初为字符型变量,初值为值为Afloat x=2.1234F;/

    47、定义定义x为实型变量,初值为为实型变量,初值为2.1234F也可对定义的部分变量进行初始化。也可对定义的部分变量进行初始化。如如int u,v=100,w;/定义定义u,v,w为整型变量,为整型变量,v的初值为的初值为1002.3 常量与变量4const型变量型变量变量的值可以随时变化,即按需要给变量重新赋值。但有时为了保护变变量的值可以随时变化,即按需要给变量重新赋值。但有时为了保护变量的值,不允许对变量作修改,则需要将变量说明成常量,具体方法是在变量的值,不允许对变量作修改,则需要将变量说明成常量,具体方法是在变量定义语句前面量定义语句前面(或类型与变量之间或类型与变量之间)加说明符加说明

    48、符const。例如:。例如:const float PI=3.14;int const MaxCout=100;常变量定义时必须初始化。在使用常变量定义时必须初始化。在使用const型变量时,除了不可以给它赋型变量时,除了不可以给它赋值外,其他均与使用一般变量一样。值外,其他均与使用一般变量一样。2.4 运算符与表达式2.4.1 算术运算符和算术表达式算术运算符和算术表达式C+语言的算术运算符包括基本算术运算符、强制类型转换运算符和自语言的算术运算符包括基本算术运算符、强制类型转换运算符和自增、自减运算符。增、自减运算符。1.基本算术运算符基本算术运算符 基本算术运算符及其功能如表基本算术运算

    49、符及其功能如表2-6所示。所示。表表 2-6 基本算术运算符基本算术运算符2.4 运算符与表达式2.自增、自减运算符自增、自减运算符自增、自减运算符是单目运算符,即对一个运算对象施加运算,运算结自增、自减运算符是单目运算符,即对一个运算对象施加运算,运算结果仍赋予该对象。如表果仍赋予该对象。如表2-7所示。所示。表表2-7 自增、自减运算符自增、自减运算符2.4 运算符与表达式3.算术表达式算术表达式用算术运算符和括号将运算对象(也称操作数)连接起来的式子,称为用算术运算符和括号将运算对象(也称操作数)连接起来的式子,称为算术表达式。运算对象可以是常量、变量、函数等。算术表达式。运算对象可以是

    50、常量、变量、函数等。4.运算优先级和结合性运算优先级和结合性在表达式求值时,先按运算符的优先级别高低次序执行,再按运算符的在表达式求值时,先按运算符的优先级别高低次序执行,再按运算符的结合方向结合(相同优先级时),例如,先乘除后加减。算术运算符的优先结合方向结合(相同优先级时),例如,先乘除后加减。算术运算符的优先级和结合性如表级和结合性如表2-8所示。所示。表表2-8 算术运算符的优先级和结合性算术运算符的优先级和结合性2.4 运算符与表达式2.4.2 关系运算符与关系表达式关系运算符与关系表达式1关系运算符关系运算符“关系运算符关系运算符”实际上就是实际上就是“比较运算符比较运算符”。关系

    展开阅读全文
    提示  163文库所有资源均是用户自行上传分享,仅供网友学习交流,未经上传用户书面授权,请勿作他用。
    关于本文
    本文标题:教学课件·面向对象程序设计(C++).ppt
    链接地址:https://www.163wenku.com/p-3523679.html

    Copyright@ 2017-2037 Www.163WenKu.Com  网站版权所有  |  资源地图   
    IPC备案号:蜀ICP备2021032737号  | 川公网安备 51099002000191号


    侵权投诉QQ:3464097650  资料上传QQ:3464097650
       


    【声明】本站为“文档C2C交易模式”,即用户上传的文档直接卖给(下载)用户,本站只是网络空间服务平台,本站所有原创文档下载所得归上传人所有,如您发现上传作品侵犯了您的版权,请立刻联系我们并提供证据,我们将在3个工作日内予以改正。

    163文库