C++面向对象程序设计教师:余波Email:hndxjtxy1@163.com13975892378C++面向对象程序设计•教材:C++参考大全•学时:40(理论)+24(实践)•考试:70%(笔试)+30%(平时)第一章C++编程基础一、程序语言的发展1、机器语言(用二进制代码表示)2、汇编语言(用符号表示)3、高级语言(类似自然语言)第一章C++编程基础二、C++与C的联系1、C++是在C的基础上发展而来,是带类的C语言。2、C语言支持结构化程序设计,C++语言支持面向对象程序设计。3、结构化程序设计的思想:☆功能分解,并逐步求精。面向对象程序设计的本质:☆把数据和处理数据的过程看成一个整体——对象。第一章C++编程基础第一章C++编程基础三、C++中几个重要概念1、程序:数据+操作2、数据类型:不同的数据组织方式得到不同的数据类型3、表达式:操作符+操作数4、语句控制:数据操作的流程第一章C++编程基础四、开发一个C++程序的四个步骤:1、编辑(产生源文件,扩展名为CPP)2、编译(产生目标文件,扩展名为OBJ)3、连接(产生执行文件,扩展名为EXE)4、运行第一章C++编程基础五、集成开发环境(IDE)1、定义:集文字处理、编译、连接、项目管理、程序排误等多功能为一体的软件开发工具。2、常见的集成开发环境:BorlandC++,VisualC++第一章C++编程基础六、程序风格1、良好的编程风格,不仅有利于自己对程序的调试,而且会大大增加程序的可复用机会。第一章C++编程基础2、注释(1)定义:为增加程序的可读性而在程序中附加的说明性文字。(2)形式:☆以符号//打头,只占一行。C++特有的注释形式。☆包含在符号/﹡与﹡/之间,可占多行。继承C的注释形式。第一章C++编程基础六、程序风格3、命名(为常量、变量、函数取名)(1)名字必须符合标识符的规范。(2)标识符:由字母、数字、下划线组成,而且只能以字母、下划线打头。(3)名字不能是保留字(系统有固定用途的标识符)。(4)字母的大小写有区别。(5)名字最好能表达一定的含义。第一章C++编程基础4、编排编排时使用缩进、空行、空格使程序更清晰。第一章C++编程基础七、简单性原则1、可以用一句话说清楚的,不要用一页纸去说明,可以用一个简单的语句完成的功能,不要用许多语句来完成。2、不要写太长的函数,可以用函数调用来缩短函数的定义。3、不要写太长的语句,可以用多条语句来代替一条语句。第一章C++编程基础4、如果文件太长,将它分成几个小文件。5、不要用太多的嵌套,可以考用switch语句或者引入新的函数来解决问题。6、定义类时,一个文件放一个类的定义。第一章C++编程基础八、一致性原则1、变量的命名应该有意义。2、在程序中加上适当的注释。3、利用缩进使程序清晰。4、相关的内容组织在一起。5、能简单,则简单。第二章基本C++程序结构例1:#includeiostream.hvoidmain(){cout”同学们,你们好!”;}程序功能:在屏幕上显示输出同学们,你们好!说明一说明二说明三说明四说明五说明六第二章基本C++程序结构一、编译预处理命令#include1、#:预处理命令的标志。2、#include:包含命令;把一个文本文件的内容插入到该命令处。3、iostream.h命令参数;给出要插入文件的文件名。返回第二章基本C++程序结构二、头文件:以h为扩展名的文本文件如果程序文件中引用到的函数、变量、常量、对象、数据类型等是由别的文件提供的,则必须在程序文件的开始部分用#include命令把有关的头文件包含进来。返回第二章基本C++程序结构三、函数(具有特定功能的程序模块)1、定义格式:返回类型函数名(形式参数表){函数体}voidmain(){cout”同学们,你们好!”;}返回第二章基本C++程序结构(1)类型修饰符:函数返回值的类型。(2)函数名:非保留字的标识符。(3)形式参数表:由一系列用逗号隔开的参数组成。(4)函数体:包含在一对{}中的语句序列。第二章基本C++程序结构2、主函数(main函数)每个程序中至少要有一个函数,这个不可缺少的函数就是主函数,约定主函数名为:main(1)程序由一个或多个函数组成。(2)如果程序中只有一个函数,则一定是main函数。(3)如果程序中有多个函数,则有且仅有一个为main函数。第二章基本C++程序结构(4)main函数是程序的入口,程序是从main函数开始执行的。(5)main函数的返回值☆void:无返回值。☆int:有返回值。(0表示程序正常结束非0表示程序非正常结束)第二章基本C++程序结构四、C++语句☆基本语句:以分号;作为结束标志。☆复合语句:包含在{}中的基本语句序列。返回第二章基本C++程序结构五、常量数据的一种重要表现形式,常量的值不可改变1、整型常量(整型常数)如:1232、实型常量(实型常数)如:1.233、字符常量(用’’括起的一个字符)如:’a’第二章基本C++程序结构4、字符串常量(用””括起的字符序列)如:”student”5、枚举常量注:除字符串常量中引号内的字符以及注释外,其它字符必须是半角字符。尤其注意不要误用中文标点。返回第二章基本C++程序结构六、cout和数据的显示输出1、cout:连接显示器的输出流对象。2、:输出操作符(插入操作符)第二章基本C++程序结构3、显示输出语句的格式:cout表达式【表达式】;注:【】中内容可有可无,若有,可重复多次。如:cout100;屏幕输出100cout100200100+200;屏幕输出100200300返回第二章基本C++程序结构4、插入空格:(空格符为’’)如:cout100’’200100+200;屏幕输出:100200300第二章基本C++程序结构5、换行输出☆换行符号:’\n’☆换行控制符:endl如:cout100\n200;cout100endl200;则这两个语句的输出结果相同:100200第二章基本C++程序结构四点注意:1、要输出的字符串需要用双引号””括起来。但输出到屏幕上时,双引号””并不显示。2、语句的最后要用分号;表示结束。第二章基本C++程序结构3、换行符号’\n’和换行控制符endl写法不同,但效果相同。4、可以作为输出内容的不止是字符串,还可以是数、表达式等等。返回第二章基本C++程序结构例2:#includeiostream.hvoidmain(){floatradius,circum;constfloatPI=3.14;cinradius;circum=2*PI*radius;cout”circum=”circum;}说明一说明二说明三第二章基本C++程序结构程序功能:根据从键盘输入的半径,计算并输出圆的周长。如:键盘输入2.0,则屏幕输出:circum=12.56返回第二章基本C++程序结构一、变量数据的一种重要表现形式,变量的值可以改变。1、变量必须先定义后使用。定义格式:变量类型变量名;如:intage;返回第二章基本C++程序结构2、变量赋值和初始化如:intage;age=20;//变量赋值intage=20;//变量初始化第二章基本C++程序结构3、常值变量在一般变量定义前加上保留字const如:constfloatPI=3.14;注:常值变量定义时必须初始化,且值不可改变。常值变量名通常大写。第二章基本C++程序结构1、定义:由操作符和操作数按照一定的语法规则组成的符号序列。如:2*PI*radius//算术表达式circum=2*PI*radius//赋值表达式注:最简单的表达式:常量,变量,函数调用。二、表达式返回第二章基本C++程序结构2、优先级和结合性:优先级:不同操作符出现在同一表达式中,谁先运算的级别。如:a+b﹡c//﹡优先级高于+结合性:同等优先级的操作符出现在同一表达式中,谁先运算的规定。如:a+b-c//从左到右第二章基本C++程序结构3、表达式语句:表达式后加;如:circum=2*PI*radius;4、C++表达式的写法:(1)所有字符写在同一水平线上。(2)乘号:﹡除号:/(3)算术运算符不可省略。第二章基本C++程序结构5、表达式的值(1)算术表达式☆算术运算符:+,-,﹡,/,%%(取模操作符):求两整数相除后所得的余数。如:22%7=1第二章基本C++程序结构若两操作数都为整数,则计算结果为整数。如:345/10=34若两操作数有一个为实数,则计算结果为实数。如:345.0/10=34.5☆/第二章基本C++程序结构(2)赋值表达式:☆赋值操作符=☆赋值表达式格式变量=表达式如:circum=2﹡PI﹡radius第二章基本C++程序结构☆赋值表达式的值:赋值操作符左边表达式的值。如:cout(x=5)endl;屏幕输出5☆赋值语句格式变量=表达式;如:circum=2﹡PI﹡radius第二章基本C++程序结构三、cin和键盘输入☆cin:连接键盘的输入流对象。☆:输入操作符(提取操作符)☆键盘输入语句的格式:cin变量【变量】;返回第二章基本C++程序结构1、【】中内容可有可无,若有,可重复多次。如:inta,b,c;cina;cinabc;2、格式中cin后跟的是变量,不可是常量或表达式。如:cin100;(×)cin100+200;(×)注:若在程序中用到cin或cout,则在程序中应有#includeiostream.h第三章数据类型一、C++数据类型分类图数据类型基本数据类型整型(int)浮点型(float)字符型(char)双精度型(double)无值(void)构造数据类型引申数据类型指针(*)引用(&)结构化数据类型数组([])结构(struct)联合(union)位域枚举(enum)类(class)第三章数据类型二、基本数据类型概况:1、数据在计算机中的存储(1)计算机内存单元的单位是字节,一个字节是8个二进制位。如:0000000010101010是两个字节。第三章数据类型(2)不同的计算机中,同一数据类型占用的空间不一定相同。如:16位计算机中,整型占两个字节;32位计算机中,整型占四个字节;第三章数据类型(3)数据占用内存字节的多少决定了其能表达的数据的范围。如:两个字节的整数表示范围是-32768~32767第三章数据类型(4)计算机对内存中存放的同样信息解释会因其所能表示的数据类型的不同而不同。如:0000000000001010在16位计算机中若表示整数,则为一个整数若表示字符,则为两个字符第三章数据类型注:定义变量时,数据类型有两个含义:☆为该变量分配多大的存储空间;☆如何解释该存储空间中的二进制数位。如:定义变量floatradius;则表示radius将要占用4个字节的存储空间,并且对这个空间的值的存放和解释都按小数进行。第三章数据类型2、修饰符号long(长型符)short(短型符)signed(有符号型)unsigned(无符号型)第三章数据类型☆使用修饰符号后的基本数据类型所属类型加修饰符后的类型16位计算机中所占字节数简写charchar1unsignedchar1signedchar1char第三章数据类型所属类型加修饰符后的类型16位计算机中所占字节数简写intint2unsignedint2signedint2int所属类型加修饰符后的类型16位计算机中所占字节数简写shortintshortint2shortunsignedshortint2signedshortint2第三章数据类型所属类型加修饰符后的类型16位计算机中所占字节数备注longintlongint4longunsignedlongint4signedlongint4第三章数据类型所属类型加修饰符后的类型16位计算机中所占字节数备注实型float4double8longdouble