资源预览内容
第1页 / 共488页
第2页 / 共488页
第3页 / 共488页
第4页 / 共488页
第5页 / 共488页
第6页 / 共488页
第7页 / 共488页
第8页 / 共488页
第9页 / 共488页
第10页 / 共488页
亲,该文档总共488页,到这儿已超出免费预览范围,如果喜欢就下载吧!
资源描述
面向对象程序设计前言 第1章 C+语言概述 第2章 数据类型和表达式 第3章 预处理和语句 第4章 函数和作用域 第5章 类和对象(一) 第6章 类和对象(二) 第7章 继承性和派生类 第8章 多态性和虚函数 第9章 C+的I/O流库内容简介 面向对象的基本思想 C+语言的基本概念、基本语法和编程方法 C+语言的面向对象特征k类与对象k继承与派生k多态性与虚函数学习方法 多练习,掌握基本概念 多读程序,学习编程方法与技巧 多上机实践,加强动手能力 多剖析范例,积累编程经验教材及参考书目 C+语言基础教程吕凤翥著清华大学出版 社1999 C+语言及其程序设计教程(修订版)张国 峰编著电子工业出版社1997 C+语言程序设计郑莉等编著清华大学出 版社1999第1章 C+语言概述 1.1 C+的起源及特点 1.2 面向对象的方法 1.3 面向对象的程序设计语言C+ 1.4 C+程序的编辑、编译和运行 1.5 C+的词法及词法规则 1.6 C+程序的结构1.1.1 面向对象的由来和发展 机器语言(二进制码) 汇编语言 20世纪50年代中期,FORTRAN语言 20世纪50年代中期,Algol语言在计算机语言发展史上具有划时代的意义, 引入了许多程序设计概念。如变量、数组、循环 、分支等。提出块(BeginEnd)思想,对数据进行保护, 是一种初级封装。1.1.1 面向对象的由来和发展(续 ) 20世纪60年代中期,Simula 67语言面向对象语言的鼻祖,提出了对象、类的概 念,并支持类的继承。 20世纪70年代中期,Ada语言支持数据抽象类型的最重要的语言之一,但 不完全支持继承。 20世纪70年代中期,Smalltalk语言最有影响的面向对象语言之一,丰富了面向 对象的概念。 20世纪80年代中期后出现C+等多种面向对象语言1.1.2 C+的起源和特点一、C+的起源 在C语言基础上为支持面向对象的程序设计研 制的一个通用目的的程序设计语言; 由ATint wdcount,chcount;wdcount=1;chcount=0;printf(“*:Please input any phrasen“);while(ch=getche()!=r)chcount+;1.2.1 面向过程与面向对象程序设计(续)if(ch= )wdcount+;printf(“n*:The number of word is %dn“,wdcount);printf(“n*:The number of char is %dn“,chcount); 面向对象的方法 #include #include class count public: 定义类公有成员1.2.1 面向过程与面向对象程序设计(续)count();void process();void display(); private:int wdcount,chcount; ; count:count() wdcount=1;chcount=0; void count:process() 私有成员构造函数成员函数数据成员1.2.1 面向过程与面向对象程序设计(续)char ch;cout void main() cout:提取符 例如: cin“Please input two integers:“; cinab;endl:换行;第2章 数据类型和表达式 2.1 基本数据类型 2.2 常量和变量 2.3 数组类型 2.4 枚举类型 2.5 指针和引用 2.6 运算符 2.7 表达式 2.8 类型定义2.1 基本数据类型一、基本数据类型整型int浮点型(实型)字符型char基本数 据类型逻辑型bool空值型void单精度浮点数float双精度浮点数double用于函数和指针2.1 基本数据类型(续)二、数据类型修饰符signed:有符号 unsigned:无符号 short:短型long:长型说明:3) long修饰符还适用于双精度浮点数;2) 上述修饰符均可用于整型和字符型;1) 类型修饰符可以修饰除void、bool类型以外的 其他类型;2.1 基本数据类型(续)三、基本数据类型列表表2-1 C+的基本数据类型2.1 基本数据类型(续)说明:1) 表中的int可以省略,即在int之前有修饰符出 现时,可以省略关键字int;2) 单精度类型float、双精度类型double、长精度 类型long double统称浮点类型;3) char类型和各种int类型统称整型类型;char类 型变量在内存中以它的ASCII码值的形式存储;4) 字宽(字节)取决于操作系统和编译器的实现 ,可用sizeof验证;2.2.1 常量一、整型常量(无小数部分) 1、表示方法 十进制 八进制 十六进制 2、十进制表示 由09的数字组成 不能以0开始 无前缀 例:132, -3453、八进制表示 由0 7的数字组成 以0为前缀 例:010, -0536 4、十六进制表示 由09的数字及A F的字母(大小写均可) 组成 以0x或0X为前缀 例:0x7A, -0X3de2.2.1 常量(续)5、说明:1) 长整型用L(或l)做后缀表示。例如:32765L,793l; 2) 无符号型用U(或u)做后缀表示。例如:4352U,3100u; 3) unsigned long型用后缀U(或u)和L(或l)一 起表示,L与U的先后顺序无关。例如:49321ul,37825LU,41152Lu; 4) 无后缀时,整型常量类型按如下顺序确定:int, (unsigned), long, unsigned long十进制时无2.2.1 常量(续)二、浮点型常量 由整数部分和小数部分构成; 只有十进制表示; 一般表示形式(小数表示形式):k整数部分与小数部分可以省去一部分, 但不能全部省去;k例如:5.,.25,4.072.2.1 常量(续) 科学表示形式: k在小数表示法后面加E(或e)表示指数 ;k例如:23.5E6,.032E-5,.3e10k指数部分可正可负,但必须为整数; 浮点常量的缺省数据类型为double型; 后缀F(或f)表示float类型; 后缀l(或l)表示long double类型;2.2.1 常量(续)三、字符常量 由一对单引号括起的一个字符表示; 其值为所括起字符在ASCII表中的编码; 所括起字符的表示方法:k图形表示法该方法适用于有图形符号的可打印字符; 例如:A,a,*k转义序列表示法该方法适用于所有字符,尤其是无图形符号 的不可打印字符;2.2.1 常量(续)K转义序列表示方法:以反斜线()开头,后跟字符 的ASCII码值;K八进制表示: ddd;例如:101K十六进制表示 :xhh;例如:x41表2-2 C+中常用转义序列符2.2.1 常量(续)四、布尔常量有两个值:true和false;五、字符串常量(串常量,字符串) 一对双引号括起的字符序列,字符序列可以 包含空格、转义序列或任何其他字符,这些字 符不一定是C+字符集中的字符,只要C+编译 器支持即可;例如:“This is a string; “ 串常量与字符常量的区别:2.2.1 常量(续) 由一个字符型变量存 放 由一维数组存放字符常量串常量 用单引号括起 用双引号括起 字符串有一个结束符 ,该结束符用0表示 字符常量a在内存中 占用一个字节 字符串常量“a“在内存 中占用两个字节 可进行加、减法运算 可进行连接、拷贝运算2.2.1 常量(续)六、符号常量 用来表示C+中的常量,即用一个与常量相关 的标识符来替代常量; 优点:增加可读性,增强可维护性;例如:PI表示3.1415926 定义方法:使用类型说明符const;例如:const int size=80; 定义的符号常量必须初始化; 一个符号常量可看作是一个只读变量,由const 定义的常量的值不可以改变;Line1:#include Line2:const double pi=3.1415; Line3:const double r; Line4:void main() Line5: Line6: double perimeter,area; Line7: perimeter=2*pi*r; Line8: pi=3.14; Line9: area=pi*r*r; Line10: cout ;例如:int a,b,c; double x,y,z;2.2.2 变量(续) 同一程序块内不可以定义同名变量; 初始值k变量定义时可赋初始值; k声明格式: 数据类型 标识符1(初始值1), ,标识符n(初始值n); 数据类型 标识符1=初始值1, ,标识符n=初始值n; k例如:double price=15.5; int size=100;k未被初始化的变量的值或者是默认值,或者是 无效值,由变量类型决定; 变量可被赋值,由变量名标识;2.3 数组类型数目固定、类型相同的若干个变量的有序 集合;2.3.1 数组的定义1、格式; 说明: 方括号( )表示数组的维; 某维的大小必须是大于1的常量表达式;2、示例 int a3; char b35; const int size=80; int msize;2.3.2 数组的赋值1、数组元素的表示 下标表示:; 说明: k为常量表达式; k下标从0开始;k各个元素在内存中按其下标的升序顺序连续 存放; 指针表示:2.3.2 数组的赋值(续) 2、数组元素赋初值 利用初始值表(由一对花括号括起来的若干数 据项组成)实现; 数组元素的个数要大于等于初始值表中数据项 的个数; 例如:int a5=1,2,3,4,5;int a4=5,4;int b23=1,2,3,4,5,6;int b23=1,2,3,4,5,6;int c232=5,4,3,2,1,0; 3、数组元素的赋值 例如:int m3; m0=5; m1=3; m2=1;2.3.3 字符数组说明: 字符数组是指数组元素是char类型的数组; 注意字符常量、字符数组与字符串常量的区别 ; 例如:char s14=a, b, c, d;字符数组 char s25=a, b, c, d, 0;字符数组 (字符串常量)等价于 char s25=“abcd“;char s35=“abcde“; char s3=“abcde“;2.4 枚举类型枚举类型是若干个有名字的整型常量的集 合;2.4.1 枚举声明和枚举变量一、枚举声明 enum ; 由若干个枚举符组成,多个枚举符之 间用逗号分隔; 枚举符是用标识符表示的整型常量,又称枚举 常量; 枚举常量的值默认为最前边的一个为0,其后 的值依次加1; 枚举常量的值也可显式定义,未显式定义的则 在前一个值的基础上加1;2.4.1 枚举声明和枚举变量(续 )二、枚举变量 例如:enum day Sun,Mon,Tue,Wed,Thu,Fri,Sat;enum day Sun=7,Mon=1, Tue,Wed,Thu,Fri,Sat; 枚举变量的值不一定互不相同; enum ; 多个枚举变量之间用逗号分隔; 例如: enum day d1,d2
收藏 下载该资源
网站客服QQ:2055934822
金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号