第二章 基本数据类型

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

不能夹有空格 bool do you love me; //不行 你可以用下划线代替空格: bool do_you_love_me; //OK
17/74
类型
(有符号)字符 无符号字符
类型名
(signed) char unsigned char
字宽
1 1 2 2/4 2 2/4
取值范围
-128~127 0~255 -32,768~32,767(-215 ~ 215-1) -32,768~32,767(-215 ~ 215-1) 0~65,535 0~65,535(0 ~ 216-1)
理解signed与unsigned 1字节: 最高位表示符号,0为正,1为负 符号位 1 1 1 1 1 1 1 26 + 1 * 25 + 1 * 24 + 1 * 23 + 1 * 22 + 1 * 21 + 1* 20 = 127
无符号数: 有符号数:
0 ----------------- 255 -128 --------- 0 ---------- 127
宏的用法 #define 宏名称 宏值
用 宏 表 示 常 量
#define PAI 3.14159 其行末不用加分号。宏名称经常使用全部大写的字母 double zc = 2 * PAI * R; 宏的好处 1)让代码更简洁明了 2)方便代码维护
#define PI 3.14159 int main( ) { float Area; float r = 1.5; Area = PI*r*r; return 0; }
只含有单一数据值,没有内部结构
布 尔 型
空 值 类 型
类型修饰符:signed、unsigned short、long 数据类型决定了数据的存储方式、取值 范围、可参与的运算
(int) (char)
(void) (bool)
单 精 度
双 精 度
(float) (double)
9/74
数 据类型
数据名称
练习: 1.以下符号能用作用户标识符的符号是( ) a. _256 b. void c. cout d.struct 2.以下标识符中,不合法的用户标识符是( ) a. _123 b. SS c. $A d. ABC
7/74
内存与地址
内存:内部存储器,是微型计算机主机的组成部分,用来存放当前 正在使用的或则随时要使用的数据或程序.
程序设计是计算机学科的 核心和灵魂
程序设计基础
第二章 c++基本数据类型
1/74
2.1数据类型
整个世界是有类型的
人类 你 他 我 动物类 金属类 植物类 ……
猪 狗 牛 羊
金 银 铜 铁
花 草 树 木
.... ....
整个世界可以用数 据和处理来表示
整个世界就是一个程序, 万事万物就是数据
计算机的世 界呢?
20/74
字符常量
1)字符常量
表示ASCII字符集中的一个字符。字符有一个整型值,即该字符的 ASCII码值。
表示方法:’A‟ 、 ’!‟ 。单引号定界的一个字符。 值为:65 ‟A‟+10 = 65+10
21/74
2)转义字符
特殊的字符常量,以‛\”开头后面跟一个或多个字符,用来表示ASCII 字符集中的控制字符,以及系统占用字符如:‛ 控制字符: 系统占用符号 : \b 表示BACKSPACE \\ 表示\; \’ 表示’ \n 表示换行 \? 表示?; \” 表示‛ \r 表示回车 \t 表示TAB \ddd 1到3位8进制数所代表的字符 \xhh 1到2位16进制数所代表的字符 \0 表示空,是字符串结束标志 cout << "TAB:" << '\t' << "AA" << endl; cout << "换行:" << '\n' << "AA" << endl; cout << "听到BEEP声吗?" << '\a' << endl; cout << '\'' << endl; cout << '\"' << endl; cout << '\\' << endl;
(void)
单 精 度
双 精 度
长 双 精 度
(float) (double) (long double)
数 组 类 型
枚 举 类 型
结 构 体 类 型
共 用 体 类 型
类 类 型
3/74
(enum) (struct) (union) (class)
类型的作用
决定了数据的表示方式、占内存的空间大小、取值范 围以及对数据可以使用的操作。 C++中,所有的数据都属于特定的类型 “先声明、后使用‛的原则
无符号数: 有符号数:
0 ----------------- 255 -128 --------- 0 ---------- 127
11/74
常量与变量
变量和常量通常都属于数据对象,具有值、存储地址、 名字等属性。程序中对数据等的处理通常表现为对变 量和常量的具体运算和操作,因此与变量和常量相关 的语法、规定等,对于程序设计十分重要 常量:在程序执行期间,其值不可改变的量 变量:在程序执行期间,其值可改变的量
try
asm
short
continue
catch
sizeof
delete
switch
public
private
volatile
protected
struct
5/74
标识符
定义:变量、符号常量、函数、数组、类型、文件、标 签和其他各种用户定义的对象的名称。
第一个字符必须是字母或下划线
后续字符可以是字母、数字或下划线
19/74
字符类型
字符类型数据的存储占据1字节
任何信息在内存中都是以数字的形式存储的,字符类型也不例外。 不同字符根据编码规则被赋予不同的二进制整数。一般采用的编码 规则是ASCII编码或扩展ASCII编码。例如:英文大写字母A~Z被 编码为41H~5AH(即十进制的65~90 )。其它常用字符的编码见 书中附录(p482)。 由于编码在字符之间建立起一种顺序关系,编码值小的字符在编 码表中的位臵靠前,可以通过比较字符编码的大小确定两个字符 在编码表中的前后顺序,可以把字符型数据做为一种特殊的整数 使用。

4
4 4 8 8/12
-2,147,483,648~2,147,483,647
0~4,294,967,295 3.4E-38~3.4E+38 1.7E-308~1.7E+308 3.4E-4932~1.1E+4932 7位 15位 19位
18/74
理解取值范围 1字节: 1 1 1 1 1 1 1 1 1 * 27 + 1 * 26 + 1 * 25 + 1 * 24 + 1 * 23 + 1 * 22 + 1 * 21 + 1* 20 = 255
标识符的有效长度不超过247字符
标识符不能和关键字相同
注 意
标识符区分大小写 最好也不要和系统预定义标识符同名 标识符命名要做到‚见名知义‛ 应该避免使用可能引起混淆的字母 标识符命名要做到‚见名知义‛
6/74
标识符举例
-一些正确的标识符名称 Arena、s_count、marks40、class_one -不正确的标识符示例 1sttest、oh!god、12b、int 、123*abc
eg2-3-2.cpp
14/74
常量的定义:
const 数据类型 标识符名 = 常量值
main( ) { const float PAI = 3.14159; float Area,r = 1.5; Area = PAI*r*r; }
注 意
•符号常量必须先定义,同时进行初始化它表示一个数值
•符号常量的值在其作用域内不能改变,也不能再被赋值。
占有字节
取值范围
ห้องสมุดไป่ตู้
字符类型 整数类型 浮点类型 双精度类型 空值类型 布尔类型 字符类型
char int float double void bool signed char
1 2 4 8 0 1 1
-128~127 -32 768~32 767 3.4E-38~ 3.4E+38 1.7E-308~ 1.7E+308 无值 true false
int nIndex=8; cout<<"The address is"<<&nIndex; 16/74
注意:
不能取名为C、C++的保留字。 void类型不能直接定义变量 int char; //不行,char是保留字 void a; //不行
不能超过250个字符。 这是一个可以调整的值。
不能以数字开头 int 100; //不行 int 100ren; //不行
4/74
2.2保留字、标识符、内存与地址
保留字(关键字)
C++系统中预定义的、在语言或编译系统的实现中具有特殊含 义的单词:
if int for do new else char float long void while double break typedef register signed unsigned auto static extern throw const class friend return union goto operator template enum this virtual case default inline
有效位
(有符号)短整型 (signed) short (int) (有符号)整型 (signed) int
无符号短整型 unsigned short (int) 无符号整型 unsigned (int)
(有符号)长整型 (signed) long (int)
无符号长整型 unsigned long (int) 单精度浮点型 float 双精度浮点型 double 长双精度浮点 long double
实型常量
字符常量用单引号括起来的一个字符,如:‘a‟,„b‟,„c‟,„ ‟,„A‟。等。 可以用转义符来表示一些无法打出的符号,如 '\n','\r','\t'。
字符串常量
由一对双引号括起的来的字符序列 。 "Hello, world!" "How do you do?" "Hello"
13/74
变量在程序中常用于暂存运算 的中间结果或程序块之间的信 息传递。 int temp,x,y; x=5; y=-5; temp=x; x=y; y=temp; 65+10 „A‟+10
swap.cpp
12/74
整型常量
7,365,-100
实型常量
size.cpp
类型:float,double,long double 在C++中,默认的常数类型是double 1.23//默认double型 1.23f//float型 12.3L //long double类型
•符号常量名习惯用大写字母表示
15/74
变量三要素——变量名、变量值、类型
1. 变量的定义与赋初值
变量类型 变量名1; int nMark, nIndex; 定义变量的同时为其申请存储空间 变量必须先定义,后使用 类型 变量名=常量/常量表达式 int x=10 ; #define PI 3.1415926 float x=PI ; int a , b, c=1, d=2; float r=2 ,l, s; int a=6, b=6, c=6; 或可写为:int a=b=c=6;
-128~127 0~255
10/74
unsigned char 1
理解取值范围 1字节: 1 1 1 1 1 1 1 1 1 * 27 + 1 * 26 + 1 * 25 + 1 * 24 + 1 * 23 + 1 * 22 + 1 * 21 + 1* 20 = 255
理解signed与unsigned 1字节: 最高位表示符号,0为正,1为负 符号位 1 1 1 1 1 1 1 26 + 1 * 25 + 1 * 24 + 1 * 23 + 1 * 22 + 1 * 21 + 1* 20 = 127
2/74
2.1数据类型
数 据
对客观事物特征的符号化表示。客观事物不同,表示方法也不同, 处理方法也不同,因此根据程序处理的数据对象,规定数据的类型
基本类型 整 数 类 型
复合类型 空 值 类 型
字 符 类 型
浮 点 类 型
指 针 类 型
引 用 类 型
构 造 类 型
函 数 类 型
(int) (char)
2. 变量的值
可在定义的时候赋初值,也可 在程序运行中使用赋值语句 改变变量的值: int nCount = 8; nCount+= 2; nCount = nCount*nCount;
3.变量的地址
存储该变量值的存储空间首地址, 指 所占用存储区的第一个字节的地址 变量地址可以使用运算符 & 得到, 地址值可以被输出或赋值给另一类 变量—指针变量
由存储单元组成的。其特点是存储单元是线性连续的。存储单元的 最小单位是字节,每个字节都有唯一的编号 地址:为了访问内存中的某个存储单元,我们要为它编号,这种 编号称为内存地址。通过地址我们就能够访问该地址所标识的存 储单元。
2007
8/74
2.3基本数据类型
基本类型
整 数 类 型 字 符 类 型 浮 点 类 型
相关文档
最新文档