收藏 分销(赏)

Visual-C++-6.0-实用教程.ppt

上传人:可**** 文档编号:840287 上传时间:2024-03-28 格式:PPT 页数:412 大小:3.74MB
下载 相关 举报
Visual-C++-6.0-实用教程.ppt_第1页
第1页 / 共412页
Visual-C++-6.0-实用教程.ppt_第2页
第2页 / 共412页
Visual-C++-6.0-实用教程.ppt_第3页
第3页 / 共412页
Visual-C++-6.0-实用教程.ppt_第4页
第4页 / 共412页
Visual-C++-6.0-实用教程.ppt_第5页
第5页 / 共412页
点击查看更多>>
资源描述

1、http:/bbs.chinafm.org/(工管之家管理资料免费下载)第1章VisualC+6.0开发环境1.1开发环境概述1.2开发环境的菜单功能1.3开发环境的工具栏1.4项目和项目工作区1.5资源1.6一个控制台应用程序1.7程序调试上机训练http:/bbs.chinafm.org/(工管之家管理资料免费下载)1.1开发环境概述界面由标题栏、菜单栏、工具栏、项目工作区窗口、文档窗口、输出窗口以及状态栏等组成,如图。图图1.2 Visual C+6.0开发环境开发环境工具栏菜单栏项目工作区窗口输出窗口文档窗口输出窗口标签标题栏状态栏http:/bbs.chinafm.org/(工管之家

2、管理资料免费下载)1.3开发环境的工具栏1.3.1工具栏概述l标准工具栏图图1.12 标准工具栏标准工具栏NewTextFileCutPasteRedoOutputFindinFilesSearchOpenSaveAllCopyUndoWorkspaceWindowListFindhttp:/bbs.chinafm.org/(工管之家管理资料免费下载)1.3开发环境的工具栏l类向导工具栏l小型编连工具栏图图1.13 WizardBarClassFilterMembersActions图图1.14 Build MiniBarCompileStopBuildGoBuildExecuteAdd/Re

3、movebreakpointshttp:/bbs.chinafm.org/(工管之家管理资料免费下载)1.4项目和项目工作区还有相应的Debug或Release、Res等子文件夹。若创建的单文档应用程序项目名是Ex_Sdi,则各文件的布局如图。VC应用程序向导创建项目时,系统会自动为项目创建Win32Debug的运行程序,并使用相应的缺省配置。和Win32Release版本的区别在于:Debug版本的运行程序有相应的调试信息码,Release版本的运行程序没有,但Release版本的运行程序经过代码的优化,其程序的运行速度被最大加速。注意:在开发环境中,VC是通过左边的项目工作区窗口来对项目进

4、行各 种 管 理。项 目 工 作 区 窗 口 包 含 三 个 页 面,是 ClassView页、ResourceView页和FileView页。图图1.18 项目文件的布局项目文件的布局Ex_Sdi文件夹Debug或Release文件夹Res文件夹类文件.cpp,.h资源文件Ex_Sdi.rc项目及项目工作区文件其他文件编连过程产生的文件运行文件Ex_Sdi.exe图标文件Ex_Sdi.ico等工具栏资源Toolbar.bmp其他资源Ex_Sdi.rc2等http:/bbs.chinafm.org/(工管之家管理资料免费下载)1.4项目和项目工作区1.4.2ClassView用以显示项目中的所

5、有的类信息。假设打开的项目名为Ex_Sdi,单击项目区窗口底部的ClassView,则显示出“Ex_Sdiclasses”的树状结点,在它的前面是一个图标和一个套在方框中的符号“+”,单击符号“+”或双击图标,Ex_Sdi中的所有类名将被显示,如CMainFrame、CEx_SdiApp、CEx_SdiDoc、CEx_SdiView等(如图所示)。图图1.19 ClassView图图1.20 ResourceView图图1.21 FileViewhttp:/bbs.chinafm.org/(工管之家管理资料免费下载)1.4项目和项目工作区1.4.3ResourceView包含了项目中所有资源的

6、层次列表。每一种资源都有自己使用的图标。1.4.4FileViewFileView可将项目中的所有文件分类显示,如图。每一类文件在FileView页面中都有自己的目录项(节点)。可以在目录项中移动文件,还可以创建新的目录项以及将一些特殊类型的文件放在该目录项中。创建一个新目录项,可在添加目录项的地方右击,选择“NewFolder”,如图,输入目录项名称和相关的文件扩展名,单击OK。图图1.22 “New Folder”对话框对话框http:/bbs.chinafm.org/(工管之家管理资料免费下载)1.5资源1.5.1资源与资源标识l资源的分类(1)快捷键列表(2)工具栏按钮(3)鼠标指针(

7、4)对话框(5)HTML(6)图标(7)菜单(8)字符串列表(9)版本信息l标识符标识符的命名规则:(1)在标识符名称中允许使用字母az、AZ、09以及下划线。(2)标识符名称不区分大小写字母。(3)不能以数字开头,如8BIT是不合法的标识符名。(4)字符个数不得超过247个。http:/bbs.chinafm.org/(工管之家管理资料免费下载)1.5资源1.5.2资源基本操作l创建资源(1)从“Insert”菜单选取“Resource”;或用快捷键Ctrl+R打开对话框,如图。New用来创建一个由ResourceType列表中指定类型的新资源,Custom按钮用来创建ResourceTyp

8、e列表中没有的新类型的资源,Import按钮用于将外部已有的位图、图标、光标或其他定制的资源添加到当前应用程序中。(2)从ResourceType列表中选择一种资源类型,而后按New按钮。(3)在项目工作区窗口的ResourceView页面中,看到了刚才选中的资源的缺省标识符,而且相应的资源编辑器自动打开。图图1.23 “Insert Resource”对话框对话框http:/bbs.chinafm.org/(工管之家管理资料免费下载)1.5资源l打开资源如果需要对已有资源进行查看或修改,可以首先切换到项目工作区窗口的ResourceView标签页,然后选中要打开的资源,双击鼠标左键或者按En

9、ter键,这时相应的资源编辑器也会相应自动打开。l删除、复制资源 如果删除一个已有的资源,可以首先切换到项目工作区窗口的ResourceView标签页,然后选中要打开的资源,按Del键或者利用Edit菜单下的Delete菜单项可实现删除。复制资源的过程与删除类似,选中要打开的资源,按住Ctrl键不放,并拖动鼠标左键或利用Edit菜单中的Copy和Paste菜单命令进行操作,它同其他软件的复制过程相同。l保存资源 当设计或修改好一个资源后,用File菜单的Save菜单命令或利用快捷键Ctrl+S将其保存在当前资源文件中。http:/bbs.chinafm.org/(工管之家管理资料免费下载)1.

10、5资源1.5.3资源文件的管理资源文件一经创建,其中所包含的资源也就随之而定,与资源相对应的标识符也被保存在Resource.h头文件中。一般,在一个资源文件.RC中所保存的所有资源已经满足的需要了,尽管如此,VC仍然允许用多个文件来存放资源。用View菜单中的ResourceIncludes菜单命令打开“ResourceIncludes”对话框(如图1.24所示)时,可以看到Compile-timedirectives编辑框中已经含有#includeresEx_Sdi.rc2。1.5.4资源编辑器所有Windows资源都可以用VC提供的资源编辑器来编辑。图图1.24 “Resource In

11、cludes”对话框对话框http:/bbs.chinafm.org/(工管之家管理资料免费下载)1.6一个控制台应用程序1.6.1用AppWizard创建用AppWizard创建一个控制台应用程序可按下列步骤进行:(1)选择“File”“New”菜单命令,显示出“New”对话框。(2)选择Projects标签,选中Win32ConsoleApplication项。(3)在ProjectName框中键入控制台应用程序项目名称。第一次使用时最好确定该项目所在的文件夹以便于源文件的管理,既可在Location下的编辑框中直接键入文件夹名称,也可单击Browse按钮择一个已有的文件夹,如图。图图1.

12、25 在在“New”对话框中建立对话框中建立Ex_Hello控制台应用程序控制台应用程序http:/bbs.chinafm.org/(工管之家管理资料免费下载)1.6一个控制台应用程序(4)单击OK。如图。选中Asimpleapplication项。(5)单击Finish,如图,单击OK按钮系统将自动创建此应用程序。图图1.26 选择控制台应用程序类型选择控制台应用程序类型图图1.27 Ex_Hello信息对话框信息对话框http:/bbs.chinafm.org/(工管之家管理资料免费下载)1.6一个控制台应用程序1.6.2理解程序框架 在项目工作区窗口中只能看到ClassView和File

13、View标签,如图。切换到FileView页面,可以看到AppWizard为生成了Ex_Hello.cpp、Stdafx.cpp、Stdafx.h以及ReadMe.txt四个文件。Stdafx.cpp是一个只有一条语句的空文件,Stdafx.h是VC为每个项目配置的用来预编译的文件;ReadMe.txt是VC为每个项目配置的说明文件,包括对AppWizard产生文件类型的说明以及操作的一些技巧;Ex_Hello.cpp是AppWizard产生的“真正”具有实际意义的程序源代码文件,几乎所有的代码都是添加在这个文件中的。图图1.28 Ex_Hello项目工作区内容项目工作区内容http:/bbs

14、.chinafm.org/(工管之家管理资料免费下载)1.6一个控制台应用程序1.6.3添加程序代码(1)单击项目工作区窗口的ClassView标签项,将显示Ex_Hello类信息。(2)单击各目录项前面的“+”号,将所有目录项展开。(3)双击main函数名,在文档窗口中显示出main函数体所在的源文件Ex_Hello.cpp,且文本光标已移至此函数名的前面。(4)键入下列代码:.#include/输入输出操作的头文件int main(int argc,char*argv)coutHello world!n;return 0;(5)用SaveAll命令项或标准工具栏的SaveAll按钮将所有文

15、件保存。http:/bbs.chinafm.org/(工管之家管理资料免费下载)1.6一个控制台应用程序1.6.4编译运行打开Build菜单,选用BuildEx_Hello.exe菜单项或按快捷键F7,系统对Ex_Hello进行编译、连接,同时在输出窗口中在线地显示出编译的内容,当出现Ex_Hello.exe-0error(s),0warning(s)字样时,表示Ex_Hello.exe可执行文件已经正确无误地生成了。在Build菜单中选取ExecuteEx_Hello.exe命令或按快捷键Ctrl+F5,就可以运行刚刚生成的Ex_Hello.exe,如图。在Ex_Hello窗口中,“Pres

16、sanykeytocontinue”是系统自动加上去的。图图1.29 Ex_Hello运行结果运行结果http:/bbs.chinafm.org/(工管之家管理资料免费下载)1.7程序调试1.7.1修正语法错误调试最初的任务主要是修正一些语法错误,这些错误包括:(1)未定义或不合法的标识符,如函数名、变量名和类名等。(2)数据类型或参数类型及个数不匹配。上述错误在编译后,会在Output窗口中列出所有错误项。若将光标移到Output窗口中的错误编号上,按F1键可启动MSDN并显示出错误的内容,从而帮助用户理解错误产生的原因。为了能使快速定位到错误产生的源代码位置,提供下列一些方法:(1)在Ou

17、tput窗口中双击某个错误,或将光标移到该错误处按Enter键,则该错误被亮显,状态栏上显示出错误内容,并定位到相应的代码行中,且该代码行最前面有个蓝色箭头标志。(2)按F4键可显示下一错误,并定位到相应的源代码行。(3)在Output窗口中的某个错误项上,右击鼠标,在弹出的快捷菜单中选择“GoToError/Tag”命令。语法错误被修正后,编译时会出现类似“Ex_Hello.exe-0error(s),0warning(s)”的字样。并不是说,此项目完全没有错误,可能还有“异常”、“断言”等其他错误,而这些错误在编译时是不会显示出来的,只有当程序运行后才会出现。http:/bbs.china

18、fm.org/(工管之家管理资料免费下载)1.7程序调试1.7.2设置断点调试的断点可以有下列类型:(1)位置断点、(2)数据断点、(3)条件断点。l快捷方式 三种快捷方式可以设置位置断点:(1)按快捷键F9。(2)在Build工具栏上单击按钮。(3)在需要设置断点的位置右击,选择“Insert/RemoveBreakpoint”命令。图图1.30 设置的断点设置的断点断点标志断点标志程序中断的位置http:/bbs.chinafm.org/(工管之家管理资料免费下载)1.7程序调试l使用Breakpoints对话框(1)凡是可以使用的断点前均有选中标记()。若单击前面的复选框,则该断点被禁止

19、。按钮Remove和RemoveAll清除当前选中的断点或全部断点。(2)在Location页面中,“BreakAt”文本框中可以输入断点的名称。单击Edit Code可 以 查 看 断 点 位 置 处 的 源 代 码 或 目 标 代 码。单 击Condition,可以输入程序运行中断所需要的表达式条件,从而设置一个条件断点。(3)在Data页面中,提供了一种设置数据断点的方法,如图。在Data页面的最上面编译框中,可以键入任何有效的C/C+表达式,它可以是赋值语句,可以是条件语句,可以是单独的一个变量名。在程序运行过程中,若变量的值有所改变,或者条件表达式变成真时,则程序在该断点处中断。图图

20、1.31 “Breakpoints”对话框对话框图图1.32 Data页面页面http:/bbs.chinafm.org/(工管之家管理资料免费下载)1.7程序调试1.7.3启用调试器选择“Project”菜单“Settings”命令,如图。在调试程序时必须使用Debug版本。通过选择“Debuginfo”组合框来设置调试选项。含义如表。还可以在“ProjectSettings”对话框中的“Link”页面中,选中“Generatemapfile”项,使其在编连时产生相应的映射文件。选择“Build”菜单“StartDebug”子菜单的“Go”、“StepInto”或“RunToCursor”命

21、令,就可以启动调试器了。图图1.33 “Project Settings”对话框对话框http:/bbs.chinafm.org/(工管之家管理资料免费下载)1.7程序调试1.7.4控制程序运行当程序开始运行在Debug状态下时,程序会由于断点而停顿下来。这时可以看到有一个小箭头,它指向即将执行的代码。而且,原来的“Build”菜单就会变成“Debug”菜单,如图1.34所示。其中有四条命令StepInto、StepOver、StepOut和RuntoCursor是用来控制程序运行的,其含义是:StepOver的功能是运行当前箭头指向的代码(只运行一条代码)。StepInto的功能是如果当前箭

22、头所指的代码是一个函数的调用,则用StepInto进入该函数进行单步执行。StepOut的功能是如果当前箭头所指向的代码是在某一函数内,用它使程序运行至函数返回处。RuntoCursor的功能是使程序运行至光标所指的代码处。http:/bbs.chinafm.org/(工管之家管理资料免费下载)1.7程序调试1.7.5查看和修改变量的值调试器还提供一系列的窗口,用来显示各种不同的调试信息。可借助“View”菜单下的“DebugWindows”子菜单可以访问它们。当启动调试器后,VC的开发环境会自动显示出Watch和Variables两个调试窗口,且Output窗口自动切换到Debug页面,如图

23、。图图1.34 Debug菜单菜单Watch窗口Output窗口Variables窗口http:/bbs.chinafm.org/(工管之家管理资料免费下载)1.7程序调试lQuickWatch窗口的使用用来帮助用户快速查看或修改某个变量或表达式的值。若仅需要快速查看变量或表达式的值,则只需要将鼠标指针直接放在该变量或表达式上,片刻后,系统会自动弹出一个小窗口显示出该变量或表达式的值。启动调试器后,选择“Debug”“QuickWatch”或按快捷键Shift+F9,如图。Expression框可以让用户键入变量名或表达式,而后按Enter键或单击Recalculate,就可以在Current

24、value列表中显示出相应的值。若想要修改其值的大小,则可按Tab键或在列表项的“Value”域中双击该值,再输入新值按Enter键就可以了。单击AddWatch按钮可将刚才输入的变量名或表达式及其值显示在“Watch”窗口中。图图1.36 “QuickWatch”窗口窗口http:/bbs.chinafm.org/(工管之家管理资料免费下载)1.7程序调试lWatch窗口的使用选择“View”“Debug Windows”“Watch”,四个页面:Watch1、Watch2、Watch3和Watch4,在每一个页面中有要查看的变量或表达式,可以将一组变量或表达式的值显示在同一个页面中。使用W

25、atch窗口进行操作时,要注意到下面一些技巧:(1)添加新的变量或表达式选定窗口中某个页面,在末尾的空框处,单击左边的“Name”域,输入变量或表达式,按Enter键。同时,又在末尾处出现新的空框,如图。在变量或表达式中右击,选择“Properties”查看其类型。(2)修改变量或表达式的值选中相应的变量或表达式,按Tab键或在列表项的“Value”域中双击该值,再输入新值按Enter键就可以了。(3)删除变量或表达式单击Del键可将当前选定的变量或表达式删除。图图1.37 添加新的变量或表达式添加新的变量或表达式空框http:/bbs.chinafm.org/(工管之家管理资料免费下载)1.

26、7程序调试lVariables窗口的使用Variables窗口能快速访问程序当前的环境中所使用的重要变量。选择“View”“DebugWindows”“Variables”,其中有三个页面:Auto页面显示出当前语句和上一条语句使用的变量,还显示使用StepOver或StepOut命令后函数的返回值。Locals页面显示出当前函数使用的局部变量。This页面显示出由This所指向的对象。Variables窗口还有一个“Context”框,从下拉列表中可以选定当前CallStack的指令,以确定在页面中显示变量的范围,如图。图图1.38 “Context”框框http:/bbs.chinafm.

27、org/(工管之家管理资料免费下载)第2章基本C+语言2.1C+程序结构2.2数据类型和基本输入输出2.3运算符和表达式2.4基本语句2.5函数和预处理2.6构造类型2.7指针和引用上机训练http:/bbs.chinafm.org/(工管之家管理资料免费下载)2.1C+程序结构2.1.1几个C+程序例1 在屏幕上输出一个由星号形成的三角形。/输出星号的三角形阵列#include void DoDraw(int num);/声明一个全局函数void main()int num=5;/定义并初始化变量DoDraw(num);/函数的调用void DoDraw(int num)/函数的定义for(

28、int i=0;inum;i+)/循环语句for(int j=0;j=i;j+)cout*;coutn;http:/bbs.chinafm.org/(工管之家管理资料免费下载)2.1C+程序结构例Ex_Simple2 用类的概念重写例Ex_Draw。/输出星号的三角形阵列#include class CDrawArray/定义一个类public:void DoDraw(int num);/声明类的公有成员函数;void CDrawArray:DoDraw(int num)/成员函数的实现for(int i=0;inum;i+)for(int j=0;j=i;j+)cout*;coutn;voi

29、d main()int num=5;CDrawArray myDraw;/定义类的一个对象myDraw.DoDraw(num);/调用此对象的成员函数http:/bbs.chinafm.org/(工管之家管理资料免费下载)2.1C+程序结构2.1.2C+程序的基本组成C+程序往往由预处理命令、语句、函数、变量和对象、输入与输出以及注释等几个基本部分组成的。(1)预处理命令在程序的一开始出现含有以“#”开头的命令,它们是预处理命令。三类预处理命令:宏定义命令、文件包含命令和条件编译命令。(2)语句可以是用来判断的条件语句,可以是用来反复运行的循环语句等。(3)函数一个程序由若干个函数组成。有的是

30、系统中所提供的库函数,有的是根据自己需要自己编制设计的函数。程序中必须有一个且只能有一个主函数main。(4)变量和对象变量的类型有整型(int)、字符型(char)以及浮点型(float)等。对象通常是指“类”的实例(具有该“类”类型的变量),如myDraw是类CDrawArray的对象。(5)输入与输出使用输入与输出可以要求键入一些数值或把计算的结果显示在屏幕上。(6)注释程序的目的不仅在于实现某种功能、解决某个问题,而且还在于数据结构和算法的交流。注释能提高程序的可读性,帮助用户对程序的理解。http:/bbs.chinafm.org/(工管之家管理资料免费下载)2.1C+程序结构2.1

31、.3C+程序的书写风格l标识符命名用来标识变量名、函数名、数组名、类名、对象名、类型名、文件名等的有效字符序列。标识符命名的好坏也会影响程序的可读性,命名时注意:(1)合法性标识符由大小写字母、数字字符(09)和下划线组成,第一个字符必须为字母或下划线。任何标识符中都不能有空格、标点符号及其他字符。注意,标识符的大小写是有区别的。用户定义的标识符不能和系统的关键字同名。(2)有效性标识符的长度(组成标识符的字符个数)是任意的,最好不超过32个,因为有的编译系统只能识别前32个字符,也就是说前32个字符相同的两个不同标识符被有的系统认为是同一个标识符。(3)易读性在定义标识符时,若能做到“见名知

32、意”就可以达到易读性的目的。http:/bbs.chinafm.org/(工管之家管理资料免费下载)2.1C+程序结构l缩进和注释缩进是指程序在书写时不要将程序的每一行都由第一列开始,在适当的地方加进一些空行或空格。它同注释一样,也是为了提高程序的可读性。注释要注意的是:(1)注释应在编程的过程中同时进行,不要指望程序开发完成后再补写注释。那样只会多花好几倍的时间,更为严重的是,时间长了以后甚至会读不懂自己写的程序。(2)必要的注释内容应包含:源程序的总体注释(文件名、作用、创建时间、版本、作者及引用的手册、运行环境等)、函数注释(目的、算法、使用的参数和返回值的含义、对环境的一些假设等)及其

33、他的少量注释。千万不要陈述那些一目了然的内容,否则会使注释的效果适得其反。http:/bbs.chinafm.org/(工管之家管理资料免费下载)2.2数据类型和基本输入输出2.2.1基本数据类型使用基本数据类型时需要注意:(1)无符号和有符号的区别在于数值最高位的含义。对signed类型,最高位是符号位,其余各位表示数值大小;unsigned类型的各个位都用来表示数值大小;相同基本数据类型的signed和unsigned的数值范围是不同。(2)char、short、int和long可统称为整型。缺省时,char、short、int和long本身是有符号(signed)的。http:/bbs.

34、chinafm.org/(工管之家管理资料免费下载)2.2数据类型和基本输入输出2.2.2常量l整型常量(1)十进制整型常量:即十进制整数,如34、128等。(2)八进制整型常量:以0开头的数,由0至7的数字组成。(3)十六进制整型常量:以0 x或0X开头的数,由0至9、A至F或a至f组成。需要注意的是:整型常量中的长整型(long)要以L或小写字母l作为结尾。整型常量中的无符号型(unsigned)要以U或u作为结尾。l浮点型常量(1)十进制数形式:由整数部分和小数部分组成。(2)指数形式:采用科学表示法,能表示出很大或很小的浮点数。若浮点型常量是以F(或f)结尾的,则表示单精度类型(flo

35、at),以L(或小写字母l)结尾的,表示长双精度类型(longdouble)。若一个浮点型常量没有任何说明,表示双精度类型(double)。http:/bbs.chinafm.org/(工管之家管理资料免费下载)2.2数据类型和基本输入输出l字符常量字符常量是用单引号括起来的一个字符。http:/bbs.chinafm.org/(工管之家管理资料免费下载)2.2数据类型和基本输入输出l字符串常量字符串常量是一对双引号括起来的字符序列。可以包含空格、转义序列符或其他字符。由于双引号是字符串的分界符,因此如果需要在字符串中出现双引号则必须用“”表示。例如:“Please press”F1”to h

36、elp!”这个字符串被解释为:Please press“F1”to help!字符串常量必须在同一行书写,若一行写不下,则需要用来连接,不要将字符常量和字符串常量混淆不清,它们主要的区别如下:(1)字符常量用单引号括起来,占一个字节;字符串常量是用双引号括起来,至少占用两个字节。例如a是字符常量,占有的一个字节用来存放字符a的ASCII码值,而“a”是字符串常量,它的长度不是1而是2,除了字符a之外,它的末尾还有个0字符。每个字符串的末尾都有一个这样的字符。(2)字符常量实际上是整型常量的特殊形式,它可以参与常用的算术运算;而字符串常量则不能。例如:int b=a+3;/结果b为100,这是因

37、为将a的ASCII码值97参与运算http:/bbs.chinafm.org/(工管之家管理资料免费下载)2.2数据类型和基本输入输出l符号常量例Ex_PI1 用#define定义符号常量。#include#define PI 3.14159void main()double r=100.0,area;area=PI*r*r;cout圆的面积是:area n;http:/bbs.chinafm.org/(工管之家管理资料免费下载)2.2数据类型和基本输入输出2.2.3变量l变量的定义定义变量是用下面的格式语句进行定义的:;需要说明的是:(1)在同一个程序块中,不能有两个相同的变量名。(2)没有

38、字符串变量类型,字符串是用字符类型的数组或指针来定义的。(3)与其他语言相比,C+变量的定义比较自由。l变量的初始化程序中常需要对一些变量预先设置初值,这一过程称为初始化。可以在定义变量时同时使变量初始化,也可以在多个变量的定义语句中单独对某个变量初始化。需要注意的是,一个未初始化的变量不是没有数值,而是取决于变量在系统中的存储形式,它可能是系统的缺省值或无效值。http:/bbs.chinafm.org/(工管之家管理资料免费下载)2.2数据类型和基本输入输出2.2.4基本输入输出输出流(cout)通过cout可以输出一个整数、实数、字符及字符串,cout中的插入符“.其中,提取符“”可以连

39、续写多个,每个后面跟一个表达式,该表达式通常是获得输入值的变量或对象。http:/bbs.chinafm.org/(工管之家管理资料免费下载)2.3运算符和表达式2.3.1算术运算符算术运算符如下所示:+(正号运算符,如+4,+1.23等)-(负号运算符,如-4,-1.23等)*(乘法运算符,如6*8,1.4*3.56等)/(除法运算符,如6/8,1.4/3.56等)%(模运算符或求余运算符,如40%11等)+(加法运算符,如6+8,1.4+3.56等)-(减法运算符,如6-8,1.4-3.56等)注意:(1)除法运算两个整数相除,结果为整数,如7/5的结果为1,它是将小数部分去掉,而不是四舍

40、五入;若除数和被除数中有一个是浮点数,则进行浮点数除法,结果是浮点型。如7/5.0、7.0/5、7.0/5.0的结果都是1.4。(2)求余运算 求余运算要求参与运算的两个操作数都是整型,结果是两个数相除的余数。例如40%5的结果是0,40%11的结果是7。要理解负值的求余运算,例如40%-11结果是7,-40%11结果是-7,-40%-11结果也是-7。http:/bbs.chinafm.org/(工管之家管理资料免费下载)2.3运算符和表达式(3)优先级和结合性 将表达式的求值中多种运算之间的先后关系(即运算符之间的优先关系)用运算符的优先级表示,优先级的数值越小优先级越高。在算术运算符中,

41、单目运算符的优先级最高,其次是乘、除和求余,最后是加减。优先级相同的运算符,则按它们的结合性进行处理。运算符的结合性是指运算符和操作数的结合方式,有“从左至右”和“从右至左”。“从左至右的结合”指运算符左边的操作数先与运算符相结合,再与运算符右边的操作数进行运算;自右至左的结合次序是将运算符右边的操作数先与运算符相结合。在算术运算符中,除单目运算符外,其余运算符的结合性都是从左至右的。(4)关于书写格式 在使用运算符进行数值运算时,若书写时没有在双目运算符两边加上空格,则有时编译系统会做出与自己想象中不同的理解。书写时,有时有意识地加上一些括号。这样不仅增强程序的可读性,而且,尤其当对优先关系

42、犹豫时,加上括号是保证正确结果的最好方法。(5)溢出处理某数除以0或当其它浮点溢出时,编译系统将报告错误并终止程序运行。但对整数溢出,系统却不认为是一个错误。http:/bbs.chinafm.org/(工管之家管理资料免费下载)2.3运算符和表达式2.3.2赋值运算符l复合赋值10种复合赋值运算符:+=,-=,*=,/=,%=,=,|=,=,=注意:(1)在复合赋值运算符之间不能有空格,例如+=不能写成+=。(2)所有运算符高于逗号运算符,复合赋值运算符的结合性是从右至左的。l多重赋值指在一个赋值表达式中出现两个或更多的赋值符(“=”),例如:nNum1=nNum2=nNum3=100;赋值

43、符的结合性是从右至左,上述赋值的过程:首先对nNum3=100求值,将100赋值给nNum3,同时该赋值表达式取得值100;然后将该值赋给nNum2,该赋值表达式也取得值100;最后将100赋给nNum1。http:/bbs.chinafm.org/(工管之家管理资料免费下载)2.3运算符和表达式2.3.3数据类型转换l自动转换将数据类型从低到高进行转换,例如:10+a+2*1.25-5.0/4L运算:(1)2*1.25的运算,将2和1.25都转换成double型,结果为double型的2.5。(2)长整型4L和5.0转换成double型,5.0/4L结果为double型,值为1.25。(3)

44、进行10+a 的运算,先将a转换成整数97,运算结果为107。(4)整数107和2.5相加,先将整数107转换成double型,值为109.5。(5)进行109.5-1.25的运算,结果为double型的108.25。l强制转换强制类型有下列两种格式:()、()。整型(int)无符号整型(unsigned)长整型(long)无符号长整型(unsignedlong)双精度浮点型(double)短整型,字符型(short,char)单精度浮点型(float)图2.1类型转换的顺序http:/bbs.chinafm.org/(工管之家管理资料免费下载)2.3运算符和表达式2.3.4关系运算符是比较两

45、个操作数是否符合给定的条件。若符合条件,则关系表达式的值为“真”,否则为“假”。在编译系统中,往往将“真”表示为“true”或1,将“假”表示为“false”或0。而任何不为0的数被认为是“真”,0被认为是“假”。由于关系运算需要两个操作数,所以关系运算符都是双目运算符。提供了6种关系运算符:(小于),(大于),=(大于等于),=(相等于),!=(不等于)其中,前4种的优先级相同且高于后面的两种。例如:a=b c等效于a=(b c)但关系运算符的优先级低于算术运算符(其他可参见表2.6)。例如:a=bc等效于a=(bc)http:/bbs.chinafm.org/(工管之家管理资料免费下载)2

46、.3运算符和表达式2.3.5逻辑运算符将多个关系表达式或逻辑量组成一个逻辑表达式。提供了3种逻辑运算符:!逻辑非(单目):指将“真”变“假”,“假”变“真”。&逻辑与(双目):指两个操作数都是“真”时,结果为“真”,否则为“假”。|逻辑或(双目):指两个操作数中有一个是“真”时,结果为“真”,只有它们都为“假”时,结果才为“假”。“逻辑非”、“逻辑与”和“逻辑或”的优先级依次从高到低,且“逻辑非”的优先级还比算术运算符和关系运算符高,而“逻辑与”和“逻辑或”的优先级却比关系运算符要低。例如:0|2 4-!0表达式的运算过程是这样的:(1)进行“!0”的运算,结果为1(“真”)。(2)进行“8

47、4-1”的运算,即“8 3”,结果为0(“假”)。(3)进行“0|0”的运算,结果为0(“假”)。表达式的值为0。http:/bbs.chinafm.org/(工管之家管理资料免费下载)2.3运算符和表达式2.3.6位运算符是对操作数按其在计算机内表示的二制数逐位地进行逻辑运算或移位运算,参与运算的操作数只能是整型常量或变量。提供了六种位运算符:(按位求反,单目运算符):将一个二进制数的每一位求反,即0变成1,1变成0。(右移,双目运算符):将左操作数的二进制值向右移动指定的位数,右移后,移出的低位舍弃。无符号数高位补0;有符号数高位补符号位。&(按位与,双目运算符):将两个操作数对应的二进制

48、位进行逻辑与操作。(按位异或,双目运算符):将两个操作数对应的二进制位进行异或操作。|(按位或,双目运算符):将两个操作数对应的二进制位进行逻辑或操作。说明:(1)左移和右移运算可替代乘和除以2的n次方运算,n为移位的位数。(2)当多个位运算符出现在同一个表达式中时,要注意它们的优先级别。http:/bbs.chinafm.org/(工管之家管理资料免费下载)2.3运算符和表达式2.3.7三目运算符C+中唯一的三目运算符是条件运算符,其格式如下:?:“条件表达式”是C+中可以产生“真”和“假”结果的任何表达式,如果条件表达式的结果为“真”,则执行表达式1,否则执行表达式2。例如:nNum=(a

49、 b)?10:8;注意,只有在表达式2后面才能出现分号结束符,“表达式1”和“表达式2”中都不能有分号。http:/bbs.chinafm.org/(工管之家管理资料免费下载)2.3运算符和表达式2.3.8增1和减1运算符+和-既可放在变量的左边也可以出现在变量的右边,称为前缀运算符和后缀运算符。例如:i+;或+i;(等效于i=i+1;或i+=1;)i-;或-i;(等效于i=i-1;或i-=1;)若前缀运算符和后缀运算符仅用于某个变量的增1和减1,这两都是等价的,如果将这两个运算符和其他的运算符组合在一起,在求值次序上就会产生根本的不同:如果用前缀运算符对一个变量增1(减1),在将该变量增1(

50、减1)后,用新的值在表达式中进行其他的运算。如果用后缀运算符对一个变量增1(减1),用该变量的原值在表达式进行其他的运算后,再将该变量增1(减1)。例如:a=5;b=+a-1;/相当于 a=a+1;b=a 1;和a=5;b=a+-1;/相当于 b=a 1;a=a+1;虽然它们中的a值的结果都是6,但b的结果却不一样,前者为5,后者为4。http:/bbs.chinafm.org/(工管之家管理资料免费下载)2.4基本语句2.4.2选择语句l条件语句条件语句if具有下列形式:if ()else (1)条件语句中的表达式一般为逻辑表达式或关系表达式。表达式的类型也可以是任意的数值类型(包括整型、浮

展开阅读全文
相似文档                                   自信AI助手自信AI助手
猜你喜欢                                   自信AI导航自信AI导航
搜索标签

当前位置:首页 > 通信科技 > 开发语言

移动网页_全站_页脚广告1

关于我们      联系我们       自信AI       AI导航        获赠5币

©2010-2024 宁波自信网络信息技术有限公司  版权所有

客服电话:4008-655-100  投诉/维权电话:4009-655-100

gongan.png浙公网安备33021202000488号  |  icp.png浙ICP备2021020529号-1 浙B2-2024(办理中)  

关注我们 :gzh.png    weibo.png    LOFTER.png 

客服