面向对象程序设计教案
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
第2章 C++ 编程基础
程序设计工作主要包括数据结构(即数据类型)和算法(操作步骤)的设计。程序中最基本的元素是数据类型,确定了数据类型,才能确定变量空间的大小和其上的操作;算法是由一系列控制结构组成。
每种语言都是用一组字符来构造有意义的语句,C++语言的字符集由下述字符构成: • 英文字母:A ~Z ,a ~z • 数字字符:0~9 • 特殊字符:
空格 ! # % ^ & * _(下划线) + = : - ~ < > / \ ‘ “ ; . () {} []
2.1 数据类型与表达式
一个程序要运行,就要先描述算法。描述一个算法应先说明算法要用的数据,数据以变量或常量的形式来描述,每个变量或常量都有数据类型。C++中的数据类型分为基本类型和非基本类型,见图2-1。基本类型是C++编译系统内置的,非基本类型也称是用户定义数据类型,即用户自己定义的数据类型,
字符型 整型
整数integer 短整形 长整形 基本类型 逻辑型 bool
单精度型float
实数 floating 双精度型 double 数据类型 长双精度型 long double 枚举型enum
数组型 非空数据类型 [ ] 指针型 非空数据类型 * 非基本类型 空类型 void 结构体类型 struct 共用体类型 union 类 class
图2-1 C++数据类型
数据类型的定义确定了其内存所占空间大小,也确定了其表示范围。表1-1列出了基本数据类型的取值范围。需要说明的是,在不同的系统中,每个变量类型所占的字节数目可能有所不同,这里列出的是在VC++编译环境中的情况。
表2-1 常用基本数据类型描述
2.1.1 常量
所谓常量是指在程序运行的整个过程中其值始终不可改变的量,常量有以下几种:1.整型常量
整型常量即以数码形式出现的整数,包括正整数、负整数和零。整型常量的表示形式有十进制、八进制和十六进制。
十进制整型常量的一般形式为:[±]若干个0~9的数字
八进制整型常量的一般形式为:[±]0若干个0~7的数字
十六进制整型常量一般形式为:[±]0x若干个0~9的数字及A~F的字母
整型常量可以用后缀字母L(或l)表示长整型,后缀字母U(或u)表示无符号型,也可同时用后缀L和U(大小写无关)。
2.实型常量
实型常量又称浮点小数,在C++语言中,实型常量只使用十进制表示,有两种表示形式:
一般形式例如:16.5,-13.5等。
指数形式例如:0.565E+2表示0.565×102,-34.4E-3表示-34.4×10-3,
实型常量默认为double型,如果后缀F(或f)则为float型。
3.字符常量
字符常量是单引号括起来的一个字符,如’a’,’G’,’?’,’$’等。
另外,还有一些字符是不可显示字符,也无法通过键盘输入,例如响铃、换行、制表符、回车等等。这样的字符常量该如何写到程序中呢?C++提供一种称为转义序列的表示方法来表示这些字符,表2-2列出了C++预定义的转义序列。
表2-2 C++预定义的转义序列
字符串常量简称字符串,是用一对双引号括起来的字符序列,例如”China”就是一个字符串常量。
5.布尔常量
布尔型常量只有两个:false(假)和true(真)。
2.1.2 变量
在程序的执行过程中其值可以变化的量称为变量,变量需要用标识符来命名。变量在使用之前需要首先声明其类型和名称。变量声明的形式如下:
<类型标识符> 变量名1,变量名2,…,变量名n;
在声明一个变量的同时,也可以给它赋以初值。
2.1.3 引用
引用是个别名,当建立引用时,程序用另一个变量或对象(目标)的名字初始化它。自此,引用作为目标的别名而使用,对引用的改动实际是对目标的改动。
引用的声明形式为:
<类型标识符> &引用名=目标名
或<类型标识符>& 引用名=目标名
其中:
①引用名是为引用型变量所起的名字,它必须遵循变量的命名规则。
②前面的数据类型就是它所引用目标的数据类型。
在此要特别说明的是:引用在声明时必须进行初始化,即指出该引用是哪一个对象的别名,这里的目标名可以是变量名,也可以是以后将要介绍的对象名。而且引用一旦声明,就以对应目标的内存单元地址作为自己的地址,并且不再改变,从一而终。
例如,引用一个整型变量:
int someInt;
int& rInt=someInt;
声明rInt是对整数的引用,初始化为引用someInt。在这里,要求someInt已经声明或定义。
引用不是值,不占存储空间,声明引用时,目标的存储状态是不会改变的。
例2-1如何建立和使用引用例题。
#include
void main()
{
int someInt;
int& rInt=someInt;
someInt=6;
cout<<"someInt:"< cout<<"rInt:"< rInt=7; cout<<"someInt:"< cout<<"rInt:"< } 程序运行结果为: someInt:6 rInt:6 someInt:7 rInt:7 在上述程序中,引用rInt用someInt来初始化。以后,无论改变someInt或rInt,实际上都是指someInt,两个的值都一样,对引用的理解可以见图2-2。 someInt