程序语言:本身实际上是对一个现实问题的描述;其发展的根本问题在于如何更加接近人的自然思维。(机器-汇编-高级语言;面向过程-面向对象)
面向对象:
n 一种软件方法(方),而不仅仅限于程序设计语言,更重要的是如何看待世界。
n 基本思想:从现实世界中客观存在的事务(对象)出发来构造软件系统,并在系统构造中尽可能运用人类的自然思维方式。
n 定义:机器实现的定义。
u 数据和操作在一起,内存块可以复制副本
u 对象间通过函数调用实现通信;对象的继承
n 关键要素:
u 抽象:忽略事物的非本质特性,只注意与当前目标有关的本质特征,从而找出事物的共性;把具有共同性质的事物划为一类,得到一个抽象的概念。
u 封装:将一组数据和与这组数据有关的操作集合组装在一起,形成一个能动的实体,也就是对象。(意义:对象集中而完整的描述并对应一个具体的事物,封装的信息隐蔽作用反映了事物的相对性;减少“波动效应”。副作用:增加了许多只负责读写的服务。)
u 继承:特殊类的对象拥有其一般类的对象的全部属性与服务,称作特殊类对一般类的继承。
u 多态:一般类中定义的属性或服务被特殊类继承之后,可以具有不同的数据类型或表现出不同的行为。(目前不要求OOPL支持)
C++语言的来龙去脉:对C语言进行面向对象的扩展。一种混合型OOPL。
n C语言的一个超集,语法基本使用C的语法,引入了新的概念
n 支持OO的特性
1.2 C++基本程序结构:讨论C++对C的一些改进
风格:
1) 输入输出:cin和cout代替printf, iostream.h代替stdio.h,更加方便。
2) 注释:“//”的引入
3) 使用const(代替无参数宏)和内联函数(代替有参数宏)代替宏定义
4) 函数原型(更强的编译时刻的检查)和缺省参数(方便函数调用、减少错误)
5) 新的动态内存分配函数new/delete:使用上更加简单
6) 新的换行符 endl
内联函数inline:
1) 不是用函数调用的机制,编译遇到时简单的替换而已,省去了函数调用的额外开销
2) 使用宏定义的副作用:
u # define f (x) (x+1); 在后面使用 f(1)展开成:(x) (x+1) (1),报编译错,但容易发现
u 参数中有表达式:
# define floor(x,b) x=b?0:1,
调用:if(floor(a&优先级低于,产生错误。
难发现,好解决――加括号
u #define band(x) (((x)5 10) ? (x) : 0)
下面的执行结果如何?
for(int i = 4; i 11; i++) {
int a = i;
out a = a endl \t;
out band(++a)= band(++a) endl;
out \t a = a endl; }
展开后会影响到a的值(++a)。
这一点和函数调用不同(函数一般传值)。
u 宏没有作用域的问题
引用:
1) 使引用和原来定义的变量一样无区别的操作内存的某一空间。
2) 最主要用途:建立函数参数传递的引用传递方式,不必使用指针;另一个用途:返回引用的函数,用于赋值运算符的左边。
3) 两种情况下引用的是临时变量:对常量(或const修饰的变量)的引用;引用类型和初始化时使用的变量类型不一致。
4) 定义返回引用了函数时,不要返回局部变量的引用。
编译指令:不是C++的一部分,提供给编译器使用
1) 嵌入指令:# include / # include “filename”
2) 宏定义:# define 宏名 替换正文
3) 条件编译指令:# if, # else, # endif, #defined
1.3 改变习惯重新思考
C++不仅仅是在语法上对C的扩展,改变的是整个程序设计的方式和思
几个掌握C++新特性的途径(目前)
1.4 教材
这部分内容主要是最基本的C语言和C++的知识。
头文件和预处理指令:
n # include 文件名.扩展名
# include “文件名.扩展名”
n # ifndef:为了防止宏的重复定义
数据和表达式:
n 词法符号
关键字:C++的保留字,具有自己确定的意义;不能被重新定义为标识符。
标识符:用作变量名、函数名、类型名。规则:以字母或下划线开头,后面可跟数字、下划线及大小写字母。长度由具体编译器决定。
标点:语法要求,无实际意义。
n 基本数据类型:
u 基本类型:char、int、float、double、void
u 修饰符:signed/unsighed、short/long
n 常量:整常量(十进制、八进制:0开始、十六进制:0x开始)、浮点常量(double,可以强制转换为float:最后加F)、字符常量(包括C++预定义的转义序列)
n 字符串:用双引号括起来的字符序列。只用空格隔开的两个串表示一个。
n 枚举类型:enum 枚举标记 {枚举常量,枚举常量,}
n 简单变量的说明和初始化:数据类型 变量名1,变量名2,,变量名n;
存储类:
n 四种存储类:auto、register、static、extern
n 两种修饰符:const、volatile
运算符及优先级
赋值及运算顺序
语句:
n 表达式语句、空语句、块语句
n 选择语句
n 循环语句
n 转移语句
n return语句
数组:
n 一维数组: 数组元素类型 数组名[数组大小]
n 数组:数组的数组
指针:
n 声明:type name;
n 使用:int pointer;
u pointer:指针,保存一个地址
u pointer:指针指向的内容
u pointer = &nt const p
类型定义:
n typedef 类型名 新名(如:typedef int INTEGER)
串:
n 以\0结尾的字符数组。
n 可以声明为数组或者指针:
char str = “new string”; char[] str = “new string”;
n 字符串操作函数:string.h
char strcat( char strDestination, const char strSource );
char strcpy( char strDestination, const char strSource );
int strcmp( const char string1, const char string2 );
更多自考咨询请点击:
自考小时培训热线:、86982230、
咨询:、
友情链接
江苏民办教育网 司法考试 思科认证培训 中国教育搜索 中国教师招聘 方向标英语 高考网 城市学习网 莆田生活网 广西招考网 民办高校查询 中国现代教育网 城市学习网 南京心理咨询网 投顶网 牛耳培训网