1、1书书 名名 作作 者者 出出 版版 社社 出版时间出版时间 教材教材Visual C+程序设计程序设计王永国主编王永国主编水利水电出版社水利水电出版社2008.11参参考考书书Visual C+实用教程(第实用教程(第2版)版)郑阿奇主编郑阿奇主编电子工业出版社电子工业出版社2005.1C/C+程序设计教程程序设计教程龚沛曾龚沛曾 杨志强杨志强高等教育出版社高等教育出版社2004.9二级教程二级教程C+语言程序设计语言程序设计教育部考试中心教育部考试中心高等教育出版社高等教育出版社2007.9C+语言程序设计(第语言程序设计(第3版)版)郑莉郑莉清华大学出版社清华大学出版社2003.12Vi
2、sual C+与面向对象程序设计教与面向对象程序设计教程第程第2版版吕军吕军 高等教育出版社高等教育出版社2003.7参参考考网网站站(1)http:/(2)http:/ 听课听课 (多媒体、启发式、讨论式)读书读书 (预习、复习)报告报告 (综合练习)考试成绩考试成绩课程成绩课程成绩 (考勤+作业+笔试)实验成绩实验成绩 (考勤+实验报告+上机考试)3第第1章章 Visual C+概述概述第第2章章 数据类型、运算符和表达式数据类型、运算符和表达式第第3章章 结构化程序设计结构化程序设计第第4章章 数组、字符串和指针数组、字符串和指针第第5章章 函数函数第第6章章 面向对象程序设计基础面向对
3、象程序设计基础第第7章章 Visual C+可视化编程基础可视化编程基础4第第1章章 Visual C+概述概述1.1 C+语言的发展与特点语言的发展与特点 1.2 简单的简单的C+程序程序 1.3 C+基本语法成分基本语法成分1.4 基本输入输出基本输入输出1.5 Visual C+简介简介5 1.1.1 C+语言的发展 C+起源于起源于C语言。语言。C语言是语言是1972年由美国贝尔实验室的年由美国贝尔实验室的Dennis Ritchie根据根据B语言开发设计出来的。最初,发明语言开发设计出来的。最初,发明C语语言的目的是用它来代替汇编语言为小型机编写言的目的是用它来代替汇编语言为小型机编
4、写UNIX操作系统。操作系统。后来,随着后来,随着UNIX操作系统的推广,操作系统的推广,C语言被越来越多的程序语言被越来越多的程序设计人员了解和使用。到设计人员了解和使用。到20世纪世纪70年代末,年代末,C语言已经凭借语言已经凭借其如下独有的特点风靡了全世界的程序设计领域:其如下独有的特点风靡了全世界的程序设计领域:1.语言简洁、紧凑,使用灵活、方便。语言简洁、紧凑,使用灵活、方便。2.具有丰富的运算符和数据类型。具有丰富的运算符和数据类型。3.可以进行许多低级操作,适合开发系统软件。可以进行许多低级操作,适合开发系统软件。4.程序的运行效率高。程序的运行效率高。5.代码的可移植性好。代码
5、的可移植性好。然而,在然而,在C语言流行的同时,也暴露出了它的局限性:语言流行的同时,也暴露出了它的局限性:6 1.类型检查机制相对较弱,这使得程序中的一些错误不能类型检查机制相对较弱,这使得程序中的一些错误不能及时被发现。及时被发现。2.缺少支持代码重用的语言结构,因此作为一个程序设计缺少支持代码重用的语言结构,因此作为一个程序设计的模块,很难再用于其他程序。的模块,很难再用于其他程序。3.不适合开发大型软件,当程序的规模大到一定程序时,不适合开发大型软件,当程序的规模大到一定程序时,维护工作会变得相当复杂。维护工作会变得相当复杂。为了满足开发大规模程序的需要,为了满足开发大规模程序的需要,
6、1980年贝尔实验室的年贝尔实验室的Bjarne Stroustrup和他的同事们开始对和他的同事们开始对C语言进行改进和扩充,语言进行改进和扩充,把一种早期的面向对象语言(把一种早期的面向对象语言(Simula67)中类的概念引入到)中类的概念引入到C语言,并将改进后的语言,并将改进后的C语言称为语言称为“带类的带类的C”。1983年夏,年夏,“带类的带类的C”被正式命名为被正式命名为“C+”,并于同年,并于同年7月首次对外发月首次对外发表。表。1985年由年由Bjarne Stroustrup编写的编写的C+程序设计语言程序设计语言一书出版,这标志着一书出版,这标志着C+1.0版本的诞生。
7、版本的诞生。7表 C+支持的新特性 版本年份在C语言基础上添加的新特性带类的带类的C1980类和派生类,公有成员和私有成员,构造函数和析构函数,友元,内类和派生类,公有成员和私有成员,构造函数和析构函数,友元,内联函数,赋值运算符的重载联函数,赋值运算符的重载C+1.01985虚函数,函数运算符的重载,引用,虚函数,函数运算符的重载,引用,const常量常量C+2.01989类的保护成员,多重继承,赋值和初始化的递归定义,抽象类,静态类的保护成员,多重继承,赋值和初始化的递归定义,抽象类,静态成员函数,成员函数,const成员函数成员函数C+3.01993模板,异常,类的嵌套,名字空间模板,异
8、常,类的嵌套,名字空间 经过对经过对C+语言的三次修订后,美国国家标准委员会语言的三次修订后,美国国家标准委员会(ANSI)于)于1994年制定了年制定了ANSI C+标准草案,这个草案最终标准草案,这个草案最终于于1998年被国际标准化组织(年被国际标准化组织(ISO)批准为国际标准)批准为国际标准(ISO/IEC 14882)。)。C+就是这样在不断的发展和完善中走过就是这样在不断的发展和完善中走过了二十多年的历史。至今,它仍然是一种充满活力的程序设计了二十多年的历史。至今,它仍然是一种充满活力的程序设计语言。目前主要使用的有语言。目前主要使用的有Inprise公司的公司的C+Builde
9、r、Borland公司的公司的Borland C+、Microsoft公司的公司的Visual C+等,本课程等,本课程主要基于目前流行的主要基于目前流行的Visual C+6.0。81.1.2 C+语言的特点 1.C+是是C语言的超集语言的超集 所谓“C+是C语言的超集”是指C+中包含C语言的全部语法特征。因此,每一个用C语言编写的程序都是一个C+程序。C+语言的设计宗旨就是在不改变C语言语法规则的基础上扩充新的特性。C+的组成的组成C语言语言面向对象设计面向对象设计(OOP)92.C+是一种面向对象的程序设计语言是一种面向对象的程序设计语言 C+语言集中体现了近20年来在程序设计和软件开发
10、领域出现的新思想和新技术,这主要包括:(1)抽象数据类型。(2)封装和信息隐藏。(3)以继承和派生方式实现程序的重用。(4)以运算符重载和虚函数来实现多态性。(5)以模板来实现类型的参数化。3.C+具有很好的通用性和可移植性具有很好的通用性和可移植性 C+语言是一种标准化的、与硬件基本无关的、广泛使用的程序设计语言,继承了C语言灵活、高效的优点,具有很好的通用性和可移植性。4.C+具有丰富的数据类型和运算符,并提供了功能强大的函具有丰富的数据类型和运算符,并提供了功能强大的函数库。数库。10例例1.1 一个最简单的一个最简单的C+程序程序 注释以注释以/开始开始#include是编译预处理命令
11、是编译预处理命令把头文件的内容插入该处把头文件的内容插入该处使用使用cin、cout函数必须有该命令函数必须有该命令main函数函数的函数体的函数体main函数的函数头函数的函数头void表示无返回值表示无返回值11#include iostream.h int add(int x,int y)/定义定义add()函数,求两个数之和函数,求两个数之和int z;/说明说明z为为int类型的变量类型的变量z=x+y;/将将x+y的值赋值给的值赋值给zreturn z;/结束结束add()函数的执行函数的执行,并将并将z的值返回给主函数的值返回给主函数例例1.2 求两个数之和。求两个数之和。voi
12、d main()/定义主函数定义主函数 int a,b,c;/说明说明a、b、c为为int类型的变量类型的变量 cinab;/从键盘输入两个数据送到从键盘输入两个数据送到a和和b中中 c=add(a,b);/调用调用add()函数,计算函数,计算a+b,并把结果赋给,并把结果赋给c coutcendl;/先输出先输出c的值,再输出换行符的值,再输出换行符12(1)C+程序是一个或多个函数构成的,main函数一定要有。(2)不管有多少个函数,执行从main函数开始。在一个函数内,执行从上到下开始的。(3)注释从/开始或从/*开始到*/结束,有增加可读性的作用。(4)书写形式自由。一行内可以写多条
13、语句,一条语句也可以分写在不同行上。(5)C+语言中大小写字母是不同的。总结:131.基本符号基本符号 (1)字母:字母:52个个 AZ az (2)数字字符:数字字符:10个个0 9 (3)下划线下划线 _ (4)特殊符号:一般作运算符,如特殊符号:一般作运算符,如+、-、*、/、&2.关键字关键字 有特定含义的、专用的单词。如int、char、break、for、define等。不能作变量名、符号常量名、函数名、类名等。1.3 C+基本语法成分基本语法成分143.标识符标识符由字母、数字和下划线三种字符组成 必须以字母或下划线开头合法标识符:A2 student area_of_circl
14、e num _dd Int不合法标识符:2A A-B area of circle M.D int 大小写字母不等价(习惯上,变量名小写,符号常量大写)。关键字不能作标识符用。例如,int、define等关键字不能作为标识符用。定义标识符时最好能简洁且“见名知义”,以提高程序的可读性。如min表示最小值,average表示平均值,day表示日期。在Visual C+中,标识符中不能有汉字,但是字符串和注释中可以有汉字。15 C+程序对数据的输入输出进行了扩充,引入了标准设备程序对数据的输入输出进行了扩充,引入了标准设备 cin(代表键盘)和(代表键盘)和cout(代表显示器),把数据的输入输出
15、处理为(代表显示器),把数据的输入输出处理为从一个对象到另一个对象的流动。所谓从一个对象到另一个对象的流动。所谓“流流”是从数据的传输是从数据的传输(流动)抽象而来的,可以把它理解为(流动)抽象而来的,可以把它理解为“特殊的文件特殊的文件”;它们是;它们是在头文件在头文件iostream.h中定义的。要使用中定义的。要使用 cin 和和cout,需要在程序前,需要在程序前面加语句:面加语句:#include iostream.h 或或#include 1.文件包含文件包含头文件:头文件:.h如如cstdio.h、iostream.h,它们包含了大量的函数,它们包含了大量的函数说明、常量定义。说
16、明、常量定义。作用:作用:将头文件的内容插入到源文件(将头文件的内容插入到源文件(.cpp)文件中。)文件中。形式:形式:(1)#include 从系统指定的文件夹中找从系统指定的文件夹中找 (2)#include 文件名文件名 从当前文件夹中找,现到系统指定的文件夹中找从当前文件夹中找,现到系统指定的文件夹中找注意:注意:一条文件包含命令只能包含一个文件一条文件包含命令只能包含一个文件16说明:说明:在在1998年通过的年通过的ISO C+标准中对标准中对C+语言的标准库进行了部分修语言的标准库进行了部分修订,其中包括重新命名定义输入输出功能的相关头文件,命名方法是将订,其中包括重新命名定义
17、输入输出功能的相关头文件,命名方法是将原来头文件名中的扩展名原来头文件名中的扩展名.h去掉,例如将去掉,例如将iostream.h改为改为iostream就形成就形成了新的头文件名。此外,新标准中还引入了名字空间(了新的头文件名。此外,新标准中还引入了名字空间(namespace)的概)的概念,其目的是为了避免一个程序不同模块中相同名称所引起的命名冲突念,其目的是为了避免一个程序不同模块中相同名称所引起的命名冲突,减少用户程序中的标识符与标准库中的标识符产生命名冲突。用户程,减少用户程序中的标识符与标准库中的标识符产生命名冲突。用户程序可以使用两种方法来引用序可以使用两种方法来引用std名字空
18、间中的标识符。名字空间中的标识符。方法一:方法一:使用关键字使用关键字using将将std名字空间中的标识符全部引入到全局名字空间(名字空间中的标识符全部引入到全局名字空间(即用户程序中)。具体用法是在包含标准头文件的即用户程序中)。具体用法是在包含标准头文件的include预处理命令后预处理命令后面添加语句行:面添加语句行:using namespace std;这样,在用户程序中就可以像原来一样继续使用这样,在用户程序中就可以像原来一样继续使用cin和和cout进行输入输进行输入输出操作了。如:出操作了。如:17#include iostream /新标准中的头文件名新标准中的头文件名us
19、ing namespace std;/引入引入std名字空间中的标识符名字空间中的标识符void main()int a;float b;coutab;couta+b=a+bendl;没有没有.h18 方法二:方法二:使用范围限定符使用范围限定符:(即两个相邻的冒号)在用户程序中显示地指明(即两个相邻的冒号)在用户程序中显示地指明属于属于std名字空间的标识符。具体用法是由前缀名字空间的标识符。具体用法是由前缀std:来引导来引导std名字空间名字空间中的标识符。例如,将中的标识符。例如,将cin改为改为std:cin,将,将cout改为改为std:cout。如:。如:#include ios
20、tream /新标准中的头文件名新标准中的头文件名void main()int a;float b;std:coutab;std:couta+b=a+bstd:endl;/操作符操作符endl也是定义在也是定义在std名字空间中的标识符名字空间中的标识符192.标准输出设备标准输出设备coutcout表达式表达式1表达式表达式2表达式表达式n;说明:说明:将各表达式的值按顺序输出到显示器上,数据的输出格式由系将各表达式的值按顺序输出到显示器上,数据的输出格式由系统自动决定。统自动决定。称为称为输出运算符输出运算符,也称为,也称为插入运算符插入运算符。各表达式可以是任意类型的。各表达式可以是任意
21、类型的。可以使用格式控制符控制数据的输出格式。可以使用格式控制符控制数据的输出格式。#include iostream.hvoid main()int a=2;double b=3.32;char c=A;couta bendl;coutc abcdendl;20格式控制符格式控制符说说 明明示示 例例语语 句句结结 果果endl输出换行符输出换行符cout123endl123123123dec十进制表示十进制表示coutdec123;123hex十六进制表示十六进制表示couthex123;7boct八进制表示八进制表示coutoct123;173setw(int n)设置数据输出的宽度设置
22、数据输出的宽度coutasetw(4)b;a b(中间有3个空格)setfill(int n)设置填充字符设置填充字符coutsetfill(*)setw(6)123;*123setprecision(int n)设置浮点数输出设置浮点数输出的有效数字位数的有效数字位数coutsetprecision(5)123.456123.46格式控制符格式控制符(程序中应使用程序中应使用#include“iomanip.h”命令命令)21使用格式控制符输出数据示例使用格式控制符输出数据示例#include iostream.h#include iomanip.hvoid main()int x=65;d
23、ouble f=123.456;cout123456789012345endl;coutdecx hexx octxendl;coutxendsxendl;coutfendl;coutsetprecision(4)fendl;coutsetw(12)fendl;coutsetw(12)setfill(#)f变量变量1变量变量2变量变量n;说明:说明:从键盘输入数据,从键盘输入数据,依次送入各变量中。依次送入各变量中。称为称为输入运算符输入运算符,也称为,也称为提取运算符提取运算符。各变量可以是任意数据类型,输入时各个数据之间用各变量可以是任意数据类型,输入时各个数据之间用空格空格、TAB键键或
24、或回车回车分隔。分隔。#include iostream.hvoid main()int a;float b;coutab;couta+b=a+bendl;231.5 Visual C+简介简介 项目工作区项目工作区输出窗口输出窗口代码窗口代码窗口24Visual C+编辑器功能特点:编辑器功能特点:自动语法自动语法:用高亮度和不同颜色的字来显示关键字和注释内:用高亮度和不同颜色的字来显示关键字和注释内容。容。自动缩进自动缩进:帮助你排列源代码,使其可读性更强。:帮助你排列源代码,使其可读性更强。参数帮助参数帮助:显示预定义的:显示预定义的windows函数的参数函数的参数 集成的关键集成的关
25、键字帮助。能够使你得到任何关键字、字帮助。能够使你得到任何关键字、MFC类或类或Windows函数函数的帮助信息(按的帮助信息(按F1即可)。即可)。拖放编辑拖放编辑(同(同Word):鼠标放在选中内容的任意部位,按):鼠标放在选中内容的任意部位,按下鼠标左键,此时鼠标右下方出现一个虚的长方形标志,该下鼠标左键,此时鼠标右下方出现一个虚的长方形标志,该标志就表示你将要拖动的内容。如果你想复制所选的内容,标志就表示你将要拖动的内容。如果你想复制所选的内容,则再按住则再按住Ctrl键(缺省为移动操作),此时鼠标右下方的长方键(缺省为移动操作),此时鼠标右下方的长方型标志中间出现了一个十字形。型标志
26、中间出现了一个十字形。自动错误定位自动错误定位:能自动将光标移动到有编译错误的源代码处:能自动将光标移动到有编译错误的源代码处,方便编辑。,方便编辑。25简单简单C+程序的编写、运行过程程序的编写、运行过程1创建一个空工程;创建一个空工程;Win32 Console Application(.dsw、.dsp、Debug文件夹)文件夹)2创建一个创建一个C+源文件,输入源程序;源文件,输入源程序;C+Source File(.cpp)3进行编译、连接、运行。进行编译、连接、运行。编译编译编译编译TEST.cpp Ctrl+F7编译编译构建构建TEST.exe F7编译编译执行执行TEST.ex
27、e Ctrl+F5编写源程序编写源程序预处理预处理编译编译连接连接执行执行预处理程序预处理程序 编译程序编译程序创建工程创建工程26程序调试程序调试1语法错误语法错误 错误信息错误信息D:TESTTEST.CPP(6):error C2146:syntax error:missing;before identifier cin 警告信息警告信息 D:TESTTEST.CPP(6):warning C4244:=:conversion from const double to int,possible loss of data2逻辑错误逻辑错误 3调试调试设置断点:设置断点:InsertRemo
28、ve Breakpoint F9运行到断点:运行到断点:编译编译开始调试开始调试去去 F5 单步执行:单步执行:F10 结束调试结束调试:Shift+F5 D:TESTTEST.dspTEST.dswTEST.cppDebugTEST.objTEST.exe编译连接后生成的主要文件编译连接后生成的主要文件27Variables窗口Watch窗口Restart 终止当前调试,重新运行,停在第一条语句终止当前调试,重新运行,停在第一条语句Stop Debugging 结束当前调试和运行结束当前调试和运行Step Over 单步运行,不进入函数体内单步运行,不进入函数体内Step Out 从函数体运
29、行到外面从函数体运行到外面28习题一习题一 1.选择题在书本完成选择题在书本完成 2.二二1、3、4、5、7、8 三三 1、2、3、4实验实验1:预备知识预备知识 1熟悉熟悉Windows基本操作,掌握利用基本操作,掌握利用“我的电脑我的电脑”或或“Windows资源资源管理器管理器”进行文件(夹)管理的基本方法;进行文件(夹)管理的基本方法;2掌握屏幕截图的基本方法,能够利用画图工具或掌握屏幕截图的基本方法,能够利用画图工具或PhotoShop对图片对图片进行简单加工;进行简单加工;3熟练掌握利用熟练掌握利用Word撰写实验报告;撰写实验报告;4掌握常用压缩工具掌握常用压缩工具WinRAR、WinZIP的使用;的使用;5掌握掌握E-MAIL与与FTP的使用。的使用。
侵权处理QQ:3464097650--上传资料QQ:3464097650
【声明】本站为“文档C2C交易模式”,即用户上传的文档直接卖给(下载)用户,本站只是网络空间服务平台,本站所有原创文档下载所得归上传人所有,如您发现上传作品侵犯了您的版权,请立刻联系我们并提供证据,我们将在3个工作日内予以改正。