《C++语言程序设计课件》由会员分享,可在线阅读,更多相关《C++语言程序设计课件(44页珍藏版)》请在金锄头文库上搜索。
1、C+C+语言程序设计语言程序设计语言程序设计语言程序设计主讲:谢主讲:谢主讲:谢主讲:谢 昕昕昕昕 副副副副教授教授教授教授华东交通大学信息工程学院 E-Mail: 办公电话:7046268参考教材RR选用教材选用教材选用教材选用教材 C+C+C+C+面向对象程序设计面向对象程序设计面向对象程序设计面向对象程序设计 谭浩强谭浩强谭浩强谭浩强RR参考教材参考教材参考教材参考教材 C+C+C+C+语言基础教程语言基础教程语言基础教程语言基础教程 吕凤翥编著吕凤翥编著吕凤翥编著吕凤翥编著RR参考教材参考教材参考教材参考教材 C+C+C+C+程序设计教程程序设计教程程序设计教程程序设计教程 钱能主编钱
2、能主编钱能主编钱能主编RR英文教材英文教材英文教材英文教材 Programming in C+Programming in C+Programming in C+Programming in C+(SESESESE)高等教育出版社高等教育出版社高等教育出版社高等教育出版社RR参考教材参考教材参考教材参考教材 C+ PrimerC+ PrimerC+ PrimerC+ Primer中文版中文版中文版中文版( ( ( (第三版第三版第三版第三版) ) ) )StandleyStandleyStandleyStandley B.LippmanB.LippmanB.LippmanB.Lippman著潘
3、爱民译著潘爱民译著潘爱民译著潘爱民译中国电力出版社中国电力出版社中国电力出版社中国电力出版社2精品课程- C+程序设计http:/http:/4学时分配总学时:64讲课:48学时上机:16学时课外上机:每周不少于4学时课程设计(17 18共两周)5成绩考核R总评成绩平时成绩50%期末考试成绩50%R平时成绩组成:作业、提问、测验、考勤、上机若有四次缺勤,取消考试资格:平时成绩会在考前公布,敬请关注!61.11.1C+C+程序结构的特点程序结构的特点 一个示范程序一个示范程序一个示范程序一个示范程序 程序的组成部分程序的组成部分程序的组成部分程序的组成部分 程序的书写格式程序的书写格式程序的书写
4、格式程序的书写格式7一个一个C+C+的示范程序的示范程序/*This is a simple Cpp program*/#include /文件包含命令void main( ) /主函数头 /主函数体 double x,y; /变量说明 cout xy ; /输入数据 double z=x+y; /定义变量,并赋值 cout x+y= zendl ; /输出数据任何变量都必须先说明后使用执行结果为:执行结果为: Enter two float number: 3 4 Enter two float number: 3 4 x+yx+y=7=78C+C+程序的组成部分程序的组成部分1 1 1 1
5、、预处理命令、预处理命令、预处理命令、预处理命令在程序开头出现含有在程序开头出现含有“# #”开头的命令。开头的命令。分为三类:宏定义、文件包含、条件编译。分为三类:宏定义、文件包含、条件编译。如:如:#include #include 2 2 2 2、输入和输出输入和输出输入和输出输入和输出cout xy ; /输入数据给变量cout x+y= z2) a=3; else a=2; if (32) a=3; else a=2; 循环语句:循环语句:for (I=1;I10;I+) sum=sum+I;for (I=1;I10;I+) sum=sum+I;C+C+程序的组成部分程序的组成部分1
6、1C+C+程序的书写格式程序的书写格式基本原则如下:基本原则如下:一般一行写一条语句;一般一行写一条语句;采用适当的缩格书写方式;采用适当的缩格书写方式;多采用大括号。多采用大括号。如:如:#include#include void main( )void main( ) intint a,b; a,b; a=5; a=5; b=7; b=7; coutcouta*b=a*ba*b=a*bendlendl; ; 121.2 C+1.2 C+的语法及词法规则的语法及词法规则 字符集字符集字符集字符集 语法规则语法规则语法规则语法规则13C+C+的字符集的字符集由以下字符组成:由以下字符组成:1
7、1、大小写英文字母大小写英文字母:azaz,AZAZ2 2、数字字符数字字符:09093 3、特殊字符特殊字符:空格空格 ! # % & * _ - + = # % & * _ - + = / / | | . . , , ; ; : : ? ? “ ( ) ( ) 14C+C+的词法规则的词法规则1 1 1 1、关键字、关键字、关键字、关键字关关键键字字是是有有特特殊殊含含义义的的预预定定义义的的保保留留标标识识符符。它们不能被用来作为程序中的标识符。它们不能被用来作为程序中的标识符。auto casechar class constdelete do double else falseflo
8、at for int if inlinelong operator private protected publicreturn short signed static thisvirtual void while new15常常用用于于作作为为函函数数名名、类类名名、变变量量名名等等等等。C+C+规规定定,标标识识符符是是由由大大小小写写字字母母、数数字字字字符符和和下下划划线线组组成,并以成,并以字母或下划线字母或下划线开始所组成的字符序列。开始所组成的字符序列。注意:注意:1 1、长度是任意的,一般为长度是任意的,一般为8 8个以内。个以内。2 2、大小写字母有区别大小写字母有区别大小写
9、字母有区别大小写字母有区别。3 3、尽量使用有意义的单词。尽量使用有意义的单词。4 4、不要采用系统保留字作为用户定义标识符。不要采用系统保留字作为用户定义标识符。2 2 2 2、标识符、标识符、标识符、标识符C+C+的词法规则的词法规则16 实际上是系统预定义的函数名字。实际上是系统预定义的函数名字。 如:如:1+3 1+3 等效于:等效于:operator +(1,3)operator +(1,3)operator +(1,3)operator +(1,3)函数的调用。函数的调用。根根据据运运算算符符所所操操作作的的对对象象个个数数不不同同,可可分分为为单单目目运运算符、双目运算符和三目运
10、算符。算符、双目运算符和三目运算符。运算符运算时分十多种运算符运算时分十多种优先级优先级和两类和两类结合性结合性。3 3 3 3、运算符、运算符、运算符、运算符C+C+的词法规则的词法规则17 又又称称为为标标点点符符号号。用用来来分分隔隔单单词词或或程程序序正正文文的的。常用的有:常用的有: 空格符、逗号、分号、冒号、大括号等。空格符、逗号、分号、冒号、大括号等。4 4 4 4、分隔符、分隔符、分隔符、分隔符5 5、注释符、注释符、注释符、注释符注注释释在在程程序序中中仅仅是是为为了了便便于于阅阅读读,不不会会参参与与程程序序执行。执行。C+C+中有两种注释方法:中有两种注释方法:使用使用“
11、/*/*/*/*”和和“* * * */ / / /”括起多行信息作为注释。括起多行信息作为注释。使用使用“/”开始,直到它所在行尾,作为注释。开始,直到它所在行尾,作为注释。C+C+的词法规则的词法规则18一个稍难一点的一个稍难一点的C+C+的示范程序的示范程序#include /文件包含命令#include /数学函数库double max(double x,double y); /函数原型说明函数原型说明void main( ) /主函数头 /主函数体 double a,b,c; /变量说明 cout ab ; /输入数据 c=max(a,b); /调用函数计算c cout “the s
12、quart of maximum= ”sqrt(c)y) return x; else return y;形参实参函数调用函数调用相当于查字典19C+C+程序的实现程序的实现 程序的编辑、编译和运行程序的编辑、编译和运行程序的编辑、编译和运行程序的编辑、编译和运行 VC+6.0VC+6.0VC+6.0VC+6.0的集成开发环境的集成开发环境的集成开发环境的集成开发环境 上机步骤上机步骤上机步骤上机步骤20C+C+程序的编辑、编译和运行程序的编辑、编译和运行源程序源程序( (. . . .CPP)CPP)目标程序目标程序( (. . . .OBJ)OBJ)可执行文件可执行文件( (. . . .
13、EXE)EXE) 磁盘中的磁盘中的#include#include文件文件C+C+库文件库文件编译编译器器连接器连接器21项目工作区窗口菜单栏工具栏标题栏文档窗口输出窗口状态栏图1.2 Visual C+开发环境VISUAL C+6.0VISUAL C+6.0的集成开发环境的集成开发环境221 1 1 1、菜单功能、菜单功能、菜单功能、菜单功能 在在VCVC开发环境界面中有一系列的菜单,每一个菜开发环境界面中有一系列的菜单,每一个菜单下都有各自的菜单命令。而了解一下各菜单命令的基单下都有各自的菜单命令。而了解一下各菜单命令的基本功能是很有必要的。本功能是很有必要的。 VCVC的菜单栏如图的菜单
14、栏如图1.31.3所示。所示。文件 显示编辑插入编连窗口项目工具帮助图1.3 菜单栏VISUAL C+6.0VISUAL C+6.0的集成开发环境的集成开发环境23一、一、FileFile菜单菜单菜单菜单选择打开最近的工作区打开一个已有的项目保存当前项目关闭当前项目选择打开最近的工作区文件图1.4 File菜单24二、二、ProjectProjectProjectProject菜单菜单菜单菜单激活指定项目将组件或外部的源文件添加在当前的项目中修改当前编译和调试项目的一些设置图1.5 Project菜单将项目加入到项目工作区中25三、三、三、三、BuildBuildBuildBuild菜单菜单菜
15、单菜单重新编连整个项目文件图1.6 Build菜单生成应用程序的EXE文件编译C或C+源代码文件执行应用程序26 2 2 2 2、项目和项目工作区、项目和项目工作区、项目和项目工作区、项目和项目工作区 大多数大多数WIN32WIN32应用程序除了有许多源代码之外,应用程序除了有许多源代码之外,还包含了菜单、工具栏、对话框、图标等许多资源,还包含了菜单、工具栏、对话框、图标等许多资源,而这些资源通常用资源文件保存起来。另外,还需包而这些资源通常用资源文件保存起来。另外,还需包含应用程序源代码文件编连时所需要的库文件、系统含应用程序源代码文件编连时所需要的库文件、系统DLLDLL文件等。文件等。
16、而而项目项目项目项目则用来有效地组织这些文件并维护各源文则用来有效地组织这些文件并维护各源文件之间的依赖关系。件之间的依赖关系。 27在在VC+VC+项目中通过采用文件夹方式来管理所有文件。项目中通过采用文件夹方式来管理所有文件。它将它将项目名项目名作为作为文件夹名文件夹名,在此文件夹下包含了,在此文件夹下包含了源代码文源代码文件件(. .cppcpp,.h.h)、)、项目文件项目文件(. .dspdsp) ) 、项目工作区文件项目工作区文件(. .dswdsw)及相应的调试或发行、资源等及相应的调试或发行、资源等子文件夹子文件夹Ex_Sdi文件夹Res文件夹Debug或Release文件夹编
17、连过程产生的文件其他资源Ex_Sdi.rc2等类文件.cpp .h资源文件Ex_Sdi.rc项目及项目工作区文件运行文件Ex_Sdi.exe图标文件Ex_Sdi.ico等工具栏资源Toolbar.bmp图1.17 项目文件的布局 2 2 2 2、项目和项目工作区、项目和项目工作区、项目和项目工作区、项目和项目工作区28a)a)File- new- projectFile- new- project,弹出弹出 New projectNew project对话对话框。框。b)b)在在“ProjectsProjects”中选择项目类型为中选择项目类型为“win32 win32 console app
18、licationconsole application”。在在“project nameproject name”中中输入所指定的输入所指定的项目名项目名。在。在locationlocation选框内输入项选框内输入项目文件所在的目文件所在的路径名路径名。c)c)在随着弹出的在随着弹出的stepstep对话框中选择对话框中选择 an empty an empty projectproject项,再项,再finishfinish结束。结束。上机步骤上机步骤一、创建一个新的项目文件一、创建一个新的项目文件29上机步骤上机步骤30上机步骤上机步骤311 1)Project-add file to p
19、roject-newProject-add file to project-new,弹出弹出newnew框。框。二、向项目文件中新建或添加已有源文件二、向项目文件中新建或添加已有源文件2 2)在)在FilesFiles页面中选页面中选“c+ source filec+ source file”,并填并填入源文件名,新建一个源文件。入源文件名,新建一个源文件。3 3)或选)或选FilesFiles项弹出项弹出Insert file into projectInsert file into project框,将已有源文件添加到项目中。框,将已有源文件添加到项目中。上机步骤上机步骤32上机步骤上机步
20、骤33上机步骤上机步骤34上机步骤上机步骤351 1)Build-build allBuild-build all, 生成与项目文件名同名的可生成与项目文件名同名的可执行文件。执行文件。2 2)再用)再用execute *.exeexecute *.exe命令执行。命令执行。 示例示例示例示例三、编译、连接并运行项目文件三、编译、连接并运行项目文件CompileBuildExecuteInsert BreakpointGoStop Build上机步骤上机步骤36Step 1:编辑源程序Step 2:编译源文件Step 3:构建目标文件Step 4:执行EXE文件上机步骤上机步骤37 提示:在菜
21、单栏或工具栏的空白处单击鼠标右键,然后在一个弹出式菜单中选择要显示或隐藏的工具栏。工具栏的显示和隐藏38小贴士:自动补全单词小贴士:自动补全单词小贴士:自动补全单词小贴士:自动补全单词 在输入较长的标识符时,为了更方便地使用自动补全单词功能,可为该功能的命令添加一个快捷键。执行菜单命令Tools|Customize|KeyboardTools|Customize|Keyboard,在Category栏选择All Commands项,在Editor栏选择Text项,Commands框中找 到 命 令 项 CompleteWordCompleteWord, 将 光 标 置 于 Press new
22、shortcut 框中,按下需要的快捷键组合,如Alt+Space,最后单击Assign按钮。设置快捷键后,在输入关键字、标识符和变量时,按下 Alt+Space 就可以自动补全单词的其余部分。 嘿嘿:还有更酷的方式哟39Visual Assist XVisual Assist XVisual Assist X是一款非常好的支持Visual Studio .NET 2003、2002插件,支持C/C+、C#、ASP、Visual Basic、Java和HTML等语言,也支持VC+6、VC+5,能自动识别各种关键字、系统函数、成员变量、自动给出输入提示、自动更正大小写错误、自动标示错误等,有助于
23、提高开发过程地自动化和开发效率 40Visual Assist XVisual Assist X41Visual Assist X Visual Assist X 的效果的效果的效果的效果42又一例:求三个数的最大值又一例:求三个数的最大值又一例:求三个数的最大值又一例:求三个数的最大值又一例:求三个数的最大值又一例:求三个数的最大值#include /文件包含命令double max(double x,double y); /函数原型说明void main( ) /主函数头double a,b,c; double maxv,temp;/变量说明cout abc; temp=max(a,b);maxv=max(temp,c);cout maximum= maxvy) return x; else return y;43本讲作业本讲作业本讲作业本讲作业1、编写程序计算y的值: x-5 (x1) y= x*5+2 (1x10) x+5 (x10)2、从键盘上输入一个整数和一浮点数,比较其大小,并输出小值。44