第1章 C++语言基础.ppt
《第1章 C++语言基础.ppt》由会员分享,可在线阅读,更多相关《第1章 C++语言基础.ppt(51页珍藏版)》请在得力文库 - 分享文档赚钱的网站上搜索。
1、第第1 1章章 C+C+语言基础语言基础nC+是一种以是一种以C语言为基础开发的高级语言,语言为基础开发的高级语言,一般认为一般认为C是是C+的一个子集的一个子集或基础语言,或基础语言,但二者又是完全独立的。但二者又是完全独立的。nC+适合大型程序的开发与设计适合大型程序的开发与设计nC则适合于更底层的项目开发则适合于更底层的项目开发1.1 C+语言概述语言概述1.1.1 标准标准C+nC+发明者:发明者:Bell实验室实验室Bjarne Stroustrup博士博士nC+第一定义:第一定义:“带类的带类的C”C+保留了保留了C作为一个子集作为一个子集C+从从Simula语言引入了类的概念,包
2、括派生语言引入了类的概念,包括派生类和虚函数;借鉴了类和虚函数;借鉴了Algol语言的运算符重载等语言的运算符重载等特性。特性。1.1.1 标准标准C+(续)续)n起初,起初,C+编译系统只是一个预编译系统。编译系统只是一个预编译系统。n1988年,出现一个真正的年,出现一个真正的C+编译系统。编译系统。n1998年,年,ISO/ANSI C+标准正式通过并发标准正式通过并发布。布。n总体上,总体上,C+是一种混合语言,是集过程化是一种混合语言,是集过程化设计、面向对象、基于对象和泛型算法等设计、面向对象、基于对象和泛型算法等多种技术于一体的编程语言。多种技术于一体的编程语言。n学习学习C+最
3、重要的是集中关注概念,不要迷最重要的是集中关注概念,不要迷失在语言的技术细节中。失在语言的技术细节中。1.1.2 C+语言的简单程序语言的简单程序#include using namespace std;int main()int x=10,y=20;int z=x+y;cout“sum is”z endl;return 0;输出结果:输出结果:sum is 301.1.2 C+语言的简单程序(续)语言的简单程序(续)n1 main函数与程序结构函数与程序结构n一个完整的程序有且只能有一个一个完整的程序有且只能有一个main()主主函数或入口函数函数或入口函数n标准标准C+要求要求main函数
4、的声明类型为函数的声明类型为int,只要在末尾加上只要在末尾加上return 0;1.1.2 C+语言的简单程序(续)语言的简单程序(续)nC+的程序结构的程序结构预处理命令部分预处理命令部分函数声明部分函数声明部分类型定义部分类型定义部分main函数定义函数定义其它函数定义其它函数定义n函数由函数体构成,一般包括变量定义、函数由函数体构成,一般包括变量定义、输入、运算和输出等内容。输入、运算和输出等内容。1.1.2 C+语言的简单程序(续)语言的简单程序(续)n2 头文件包含与名字空间头文件包含与名字空间固定写法:固定写法:#include /头文件包含头文件包含 using namespa
5、ce std;/名字空间声明名字空间声明可以将一个名字空间理解成包含若干定义的一可以将一个名字空间理解成包含若干定义的一个区域的名字。个区域的名字。标准标准C+所有定义都属于名字空间所有定义都属于名字空间std。1.1.2 C+语言的简单程序(续)语言的简单程序(续)n3 注释注释n+的的“块块注注释释”:*和和*为为分分界界符符号号,与中的用法一致。与中的用法一致。n+的的“行行注注释释”:以以/符符号号开开始始到到一一行行的结束。的结束。n使用注释符时的注意事项:使用注释符时的注意事项:标标志志符符/和和*,/和和/之之间间不不可可以分开。以分开。注释符对注释符对“/*”“/*”和和“*/
6、”“*/”不可以嵌套。不可以嵌套。注释符注释符/之后的注释结束于本行。之后的注释结束于本行。/和和/*/*与与*/*/可以嵌套使用。可以嵌套使用。1.1.2 C+语言的简单程序(续)语言的简单程序(续)n思考题:下列程序是否正确?思考题:下列程序是否正确?#include using namespace std;int main()/*下下面面程程序序将将在在终终端端上上输输出出/*你你好好*/的的字字样样*/cout “你好你好!”endl;/*/输出字符输出字符*/return 0;/*/正常返回正常返回1.1.2 C+语言的简单程序(续)语言的简单程序(续)n4 输入输出对象输入输出对象
7、n使使 用用 I/O流流 必必 须须 要要 包包 含含“iostream”头头 文文 件件。“#include”告告诉诉C+编编译译器器,将将文文件件iostream内容插到此程序中。内容插到此程序中。niostream中中定定义义了了一一组组标标准准类类输输入入输输出出流流(I/O stream)类。类。n流流八位的字节序列。八位的字节序列。ncout是是标标准准输输出出流流类类的的一一个个预预定定义义的的对对象象,代代表表控制台输出设备(控制台输出设备(console out)如:显示器。如:显示器。ncin是是cout的反义词,控制台输入,如键盘。的反义词,控制台输入,如键盘。1.1.2
8、 C+语言的简单程序(续)语言的简单程序(续)ncincin与与coutcout说明说明用来取代用来取代scanf和和printf,更安全、更方便。更安全、更方便。1 格式控制符与输出数据的类型不一致格式控制符与输出数据的类型不一致2 scanf()的的第第二二个个参参数数应应是是一一个个指指针针参参数数,以以上上错错误误C编编译器不能检查出来。译器不能检查出来。#includevoid main()int i;float f;scanf(“%f”,i);printf(“%d”,f);#includeusing namespace std;void main()int i;float f;ci
9、ni;cout”在在C+中仍保持中仍保持C中中“右移右移”功能,但用于输入时扩充了其功能,表示将从标功能,但用于输入时扩充了其功能,表示将从标准输入流准输入流(键盘键盘)读取的数值传送给右方指定的变读取的数值传送给右方指定的变量。量。如:如:cinx;/键盘输入的数据自动转换为变量键盘输入的数据自动转换为变量X的类型,并存入变量的类型,并存入变量X内。内。n可以可以连续输连续输,如,如cinabc;不用顾忌类型。不用顾忌类型。它按书写顺序从键盘上提取所要求的数据,并存它按书写顺序从键盘上提取所要求的数据,并存入对应的变量中。入对应的变量中。n用用cin输入时,要注意使用输入时,要注意使用间隔符
10、间隔符 (空格、回车、空格、回车、Tab键键)。1.1.2 C+语言的简单程序(续)语言的简单程序(续)cout中运算符中运算符“”在在C+中保持中保持C中中“左左移移”功能,表示将右方变量的值写到标准功能,表示将右方变量的值写到标准输出流输出流cout(即屏幕即屏幕)中。中。“”允许用户连允许用户连续输出一串数据或表达式。续输出一串数据或表达式。可以使用格式控制可以使用格式控制(与与C兼容兼容),默认的转换默认的转换基数是十进制。基数是十进制。如:如:dec(十进制十进制),hex(十六进制十六进制),oct(八进制八进制),endl,t,n等。等。1.1.2 C+语言的简单程序(续)语言的
11、简单程序(续)C中换行用中换行用n;C+中换行用中换行用endl;如:如:coutxendl;coutyn;等价于等价于printf(“%dn”,x);#include using namespace std;void main()int x=25;couthexxdecxoctxn;输出结果:输出结果:19 25 311.1.2 C+语言的简单程序(续)语言的简单程序(续)n5 5 灵活的局部变量声明灵活的局部变量声明下面局部变量声明是否正确?为什么?下面局部变量声明是否正确?为什么?f()int i;i=10;int j;j=25;/1.1.2 C+语言的简单程序(续)语言的简单程序(续)
12、n6 编码习惯编码习惯尽量保持好的书写风格是必须养成的习惯。尽量保持好的书写风格是必须养成的习惯。要注意程序的书写格式,如缩进格式和成对符要注意程序的书写格式,如缩进格式和成对符号的对齐排列等。号的对齐排列等。1.2 面向对象的程序设计思想面向对象的程序设计思想nC向向C+过渡的实质是由过渡的实质是由过程化程序设计过程化程序设计思想向思想向面向对象程序设计面向对象程序设计的思想的转变。的思想的转变。程序设计语言的发展程序设计语言的发展 硬件发展硬件发展软件危机软件危机结构化程序设计结构化程序设计软件工程软件工程面向对象技术面向对象技术 机器码机器码低级低级高级;高级;1.2.1 过程化的程序设
13、计过程化的程序设计n面向过程编程面向过程编程它是早期的程序设计范型,它考察整个设计过程,以功能分解为中心。n面向过程的特征面向过程的特征早期程序设计者认为:程序=数据结构 +算法 这个公式贯穿于整个程序设计的始终,无论程序是系统程序还是模块程序。1.2.1 过程化的程序设计(续)过程化的程序设计(续)n过程化的问题处理思路形成了一套有效的过程化的问题处理思路形成了一套有效的程序设计方法,称为程序设计方法,称为结构化方法结构化方法。程序设计采用自顶向下,逐步细分的方法展开。程序设计采用自顶向下,逐步细分的方法展开。模块化模块化使用三种基本控制结构:顺序、选择、循环。使用三种基本控制结构:顺序、选
14、择、循环。n三种结构的共同点:每种结构只有三种结构的共同点:每种结构只有一个入口一个入口和和一个一个出口出口。1.2.1 过程化的程序设计(续)过程化的程序设计(续)n过程化方法应用举例:int main()开始函数();开始函数();绘制画面函数(初始棋局);绘制画面函数(初始棋局);重复下述步骤重复下述步骤 走棋函数(黑子);走棋函数(黑子);如果(判断输赢(棋局)已定出输赢)停止重复;如果(判断输赢(棋局)已定出输赢)停止重复;走棋函数(白子);走棋函数(白子);绘制画面函数(棋局);绘制画面函数(棋局);如果(判断输赢(棋局)已定出输赢)停止重复;如果(判断输赢(棋局)已定出输赢)停止
15、重复;输出结果函数(棋局);输出结果函数(棋局);结束函数();结束函数();1.2.1 过程化的程序设计(续)过程化的程序设计(续)n面向过程的不足面向过程的不足强调功能分解,为了实现功能,有时数据结构屈从于算法,结果造成数据结构和过程的分离。n由于过程化设计中的数据与过程是相互独立的,一个过程完全可以作用到并不相关的数据上,也不能保证对数据操作的合理性,数据对于算法完全是被动的。n此种操作是一种“谓语宾语”结构。对于庞大、复杂的程序难以开发和维护对于庞大、复杂的程序难以开发和维护1.2.2 面向对象的程序设计面向对象的程序设计n面向对象编程面向对象编程是一种以对象为中心的程序设计范型。也可
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 第1章 C+语言基础 C+ 语言 基础
限制150内