资源描述
,C+,程序设计,新世纪应用型高等教育教材编审委员会 组编,主编 罗烨 李秉璋,第二版,新世纪应用型高等教育软件专业系列规划教材,第,1,章,C+,基础,1.1 C+,概述,3,1.1.,1 程序设计语言,人类的社会生活中,“,自然语言”是人与人之间用来交流的工具,是由语音、词汇和,语法构成,的系统。而“程序设计语言”是人指挥计算机工作的工具,是计算机可以识别的语言,用于,描述解决问题的方法,供计算机阅读和执行,。,常见的高级语言有,:,Basic,、,Pascal,、,C,、,C,+,、,C,#,、,Java,、,PHP,、,Python,等,不同的语言有,不同,的应用范围,。,1.1 C+,概述,4,1.1.2,程序设计,(,1),数据描述,:,数据描述,是把被处理的信息描述成计算机可以接收的数据形式,如整数,、实数,、字符、数组等,。,(2),数据处理,:,数据处理,是指对数据进行输入、输出、整理、计算、存储、维护等一系列,的操作,。数据处理的目的是为了提取所需的数据成分,以获得有用的资料。,1.1 C+,概述,5,1.1.3,C+,语言,的发展历史和特点,C,+,语言由,C,语言,发展而来,是以面向对象为主要特征的语言。它是,20,世纪,80,年代初,由贝尔实验室,的,BjarenStroustrup,博士,发明的,最初称为“带类的,C”,1983,年,正式,命名为,C,+,。,1.1 C+,概述,6,1.1.3,C+,语言,的发展历史和特点,(,1),作为,C,语言,的超集,C+,继承了,C,的所有,优点,与,C,语言,兼容,支持结构化的,程序设计。,(2),对,C,语言,的数据类型做了扩充,修补了,C,语言,中的一些漏洞,提供了更好的类型,检查,和编译时的分析。,(,3),生成目标程序质量高,程序执行效率高,。,(4),支持面向对象的程序设计,通过类和对象的概念把数据和对数据的操作封装在,一起,模块的独立性更强,。,(5),提供了异常处理机制,简化了程序的出错处理。,C+,的主要,特点包括,:,1.2,简单,的,C+,程序,实例,7,C+,的程序,结构由注释、编译预处理指令和程序主体组成。,【例1-1】输入,圆的半径,编程计算圆周长、圆面积、球体积并将其显示出来。,1.3 C+,程序,开发过程,8,C,+,程序,开发通常要,经过,5,个阶段,包括,:,编辑,编译预处理,编译,连接,运行,调试,1.3 C+,程序,开发过程,9,在,C,+,系统,下,程序开发过程如图,1-1,所示,。,1.4 C+,的,词法单位,10,C,+,的,字符集,是,ASCII,码字符集,的子集。包括如下字符,:,26,个英文,大写字母,:,ABCDEFGHIJKLMNOPQRSTUVWXYZ,26,个英文,小写字母,:abcdefghijklmnopqrstuvwxyz,l0,个阿拉伯数字,:,0123456789,26,个其他,符号,:+,、,-,、*、,/,、,=,、,、,.,、,_,、,:,、,;,、,?,、,、,、,、,、,|,、,!,、,#,、,%,、,&,、,(),、,、,、,、,、空格,。,C,+,的,上述字符集构成,了,5,种词法单位,:,关键字、标识符、标点符号、运算符和空白符。,1.5 C+,的,数据类型,11,C+,中提供,了丰富的数据类型,分为基本类型和非基本类型两大类,如图,1-2,所示,。,1.5 C+,的,数据类型,12,1.6,变量,和常量,13,在程序运行过程中,其值可以改变的量称为变量。变量必须用标识符进行标识,该,标识符,称为变量名,。,在,C+,中,变量说明的一般,格式,为,:,程序中的数据类型可以,是,C,+,定义,的基本类型,也可以是非基本类型。,变量定义可以出现在程序中的任何位置,只要在使用该变量之前定义即可。同一,变量在,一定范围内只能定义一次。,定义变量时可以根据需要给变量一个值,这称为变量初始化或给变量赋初值。,1.6.1,变量,1.6,变量,和常量,14,定义一个变量即明确了它,的,4,个属性,:,名字、数据类型、允许的取值范围及合法操作,。这样,做带来三个好处,:,(1),便于系统为变量分配内存空间,系统根据变量类型为其分配一段连续的内存单元,不同,类型的变量占用内存单元的字节数不同,根据类型能够保证内存空间的有效使用。,(,2),便于在编译期间进行语法检查。不同类型的变量有其相应的合法操作,编译程序,可以,根据变量的类型对其操作的合法性进行检查。,(,3),程序可以按名访问变量。变量名和内存单元地址之间存在映射关系,当程序引用,变量,时,计算机通过变量名寻址,进而访问其中的数据。,1.6.1,变量,1.6,变量,和常量,15,常量是指取值在程序的执行过程中始终保持不变的量,。,根据,取值和表示方法的不同,文字常量,分为,:,1.6.2,文字,常量,整型,常量,实型,常量,字符型常量,字符串常量,1.6,变量,和常量,16,1.6.2,文字,常量,1,.,整型,常量,C,+,中的,整型常量可以使用十进制、八进制、十六进制形式表示。,2.,实型常量,C+,中的,实型常量,有一般形式和指数形式两种表示方法,。,3.,字符型常量,字符型常量是用单引号引起来的字符,在内存中保存的是字符的,ASCII,码值,。有,两种形式,:,(,1),单引号引起来的单个字符,如,:A,、,$,、,0,、,_,等。,(,2),单引号内以反斜杠开头的字符,称为转义序列表示。,1.6,变量,和常量,17,1.6,变量,和常量,18,1.6.2,文字,常量,4,.,字符串常量,用双引号引起来的若干个字符序列称为字符串常量,。,需要注意的是,:,(,1),字符串常量和字符常量是不同的,不能将字符串常量赋值或初始化给字符变量。,(,2),当单引号作为字符串中的一个字符时,可以直接按书写形式出现,也可以用转义,序列,表示,但当双引号作为字符串中的一个字符时,只能用转义序列表示。,1.6,变量,和常量,19,1.6.3,常,变量,用,常量说明,符,const,给文字,常量起个名字,这个标识符就称为标识符常量。由于,标识符,常量形式很像变量,因此也称为常变量。常变量的定义形式为,:,1.7,运算符,和表达式,20,1.7.1 C+,的运算符、优先级,和结合性,对常量或变量进行运算或处理的符号称为运算符,参与运算的对象称为操作数,运算符与,操作数是相关联的,相同的运算符对不同类型的操作数执行的运算是有差异的。,1,.运算符,的分类,按照要求的操作数个数的不同,C+,运算符,可以,分为:,单目运算符,双目运算符,三目运算符,1.7,运算符,和表达式,21,1.7.1 C+,的运算符、优先级,和结合性,1,.运算符,的分类,按照运算的功能,C+,运算符,可以,分为:算术运算,符、关系运算符、逻辑运算符、位,运算符,、条件运算符、赋值运算符、逗号运算符、,sizeof,运算符,及其他运算符。,2,.,运算符,的优先级和结合性,运算符的优先级指不同运算符在运算中的优先关系,表中序号越小,其优先级越高。,运算符,的结合性是指优先级相同的运算符组合在一起时运算符和操作数的结合方向。,1.7,运算符,和表达式,22,1.7.2,运算符,及其表达式,1,.,算术运算,符及算术表达式,表达式是由运算符、操作数及分隔符组成的式子。,C,+,提供,5,种基本,的算术运算符,:+(,加,),、,-(,减,),、,*,(,乘,),、,/(,除,),、,%(,取余,),2,.,赋值,运算符与赋值表达式,C+,的赋值,运算符为“,=”,其意义是将赋值号右边的值送到左边变量名所标识的,内存单元,中。语法格式为,:,1.7,运算符,和表达式,23,1.7.2,运算符,及其表达式,3,.,自增、自,减运算,表达式是由运算符、操作数及分隔符组成的式子。,自增、自减运算符是单目运算符。其中,+,是自,增运算符,-,是自,减运算符,其,意义是,使变量的当前值,加,1,或减,1,后再,赋给该变量。,4,.,关系,运算和逻辑运算,C,+,提供了,6,种关系,运算符,:(,大于,),、,=(,大于,等于,),、,(,小于,),、,=(,小于,等于,),、,=(,等于,),和,!=(,不等于,),用来完成两个操作数的比较,结果为逻辑值,true(,真,),或,false(,假,),。,C,+,提供了,3,种逻辑运算,符,:!(,逻辑非,),、,&(,逻辑,与,),和,|(,逻辑,或,),。其中,!,是单,目运算符,。,1.7,运算符,和表达式,24,1.7.2,运算符,及其表达式,1.7,运算符,和表达式,25,1.7.2,运算符,及其表达式,5,.,逗号,运算符与逗号表达式,表达式是由运算符、操作数及分隔符组成的式子。,C+,中的,逗号“,”,也是一个运算符,在所有运算符中它的优先级最低。用逗号连接,起来的,表达式称为逗号表达式。语法格式为,:,6.sizeof(),运算符,该运算符计算某种类型或某种类型变量在内存中所占的字节数。语法格式为,:,1.7,运算符,和表达式,26,1.7.2,运算符,及其表达式,7,.,条件,运算符和条件表达式,C+,中唯一,的一个三目运算符是条件运算符“,?:”,由条件运算符构成的表达式称为,条件,表达式。条件表达式能够实现简单的选择功能。语法格式为,:,1.7,运算符,和表达式,27,1.7.3,表达式,求解中的数据类型转换,1,.,自动,类型转换,(,1),字符可以作为整数参与数值运算,整数值为其,ASCII,码。,(,2),操作数为,bool,、字符,或短整型时,系统自动将其转换成整型。,(,3),当两操作数的类型不同时,将精度低,(,或表示范围小,),的操作数的数据类型转换为,另一,操作数的类型后再进行运算,转换规则如图,1-5,所示,。,1.7,运算符,和表达式,28,1.7.3,表达式,求解中的数据类型转换,2.,强制类型转换,强制,类型转换必须通过类型转换运算来实现。其格式为,:,1.7,运算符,和表达式,29,1.7.4,语句,C+,程序,由语句构成。一个程序包含若干条语句,语句都是用来完成一定操作任务的。,C+,中的,语句分为以下几种,:,1.,说明语句,2.,表达式语句,3.,空语句,4.,复合语句,5.,流程控制语句,1.8,数据,的输入,/,输出,30,1.7.4,语句,在,C,+,中,输入,/,输出使用了流的概念。每一个输入,/,输出设备接收和传送一系列的,字节,称之为流。输入操作可以看成是字节从一个设备流入内存,而输出操作可以看成是,字节从,内存流出到一个设备。要使用,C+,标准,的输入,/,输出流库的功能,需要包括两个头文件,:iostream,和,iomanip,形式如下,:,1.8,数据,的输入,/,输出,31,1.7.4,语句,用,cin,对象,输入数据,一般格式为,:,用,cout,对象,输出数据,一般格式为,:,THANKS,
展开阅读全文