第二章基本数据类型与表达式
合集下载
相关主题
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
第二章
基本数据类型与表达式
第二章 基本数据类型与表达式
本章内容主要有: C++数据类型 符号常量与常值变量 数值、逻辑表达式 自定义类型修饰符 表达式的副作用与表达式语句
第二章 基本数据类型与表达式
学习的目标
了解C++基本数据类型 了解符号常量与常值变量 了解自定义类型修饰符 掌握数值、逻辑表达式 掌握表达式的副作用与表达式语句
构造数据类型: 1、指针类——包括指针和应用 2、数组。 3、记录类——包括结构struct和联合
(union)。
2.1 C++数据类型概述
为什么要区分数据类型? 1、规定了不同数据类型在内存中的存储格
式不同。C++语言中的整型数和实型数与 数学中的整数和实数有区别。
2、对不同的类型数据所能实施的操作不同。 如两个整型数据可以相加,而两个记录数 据不能相加。
2.3.4 字符型与整型的关系 字符用代码表示,代码就是一个整数。在表达式
求值中,字符被转换成与其代码等值的整数,因 此能对字符实施算术运算。 如,char ch1='A',ch2='a'; 也可以写成 char ch1=65,ch2=97;
2.4 枚举型数据
2.4.1 枚举型数据的基本情况(课本表2-3)
定先定义,随定随用。变量定义使用一个
声明变量语名句的。命名要遵守以下规则:
格式不能:是类C+型+关键变字量。C名++;的关或键字如下表所所示。
第一个字符必须是字母或下划线,中间不能有空格。
类型变量变名量除了名使1用,26变个英量文2大,小-写--字-变母和量数n字;外,只能
使例用如下:划线。 一变例语 ch般量如句ar不名,c要不下ih超要列n;t过 与 变x量3C/,1+名个+/y中;定是字的义合符库/了法。函/的一数定变个名义量字、名了类符:一名型个和变对整量象型名变相量同。
个默认值或无效值,直到被修改。 2、 初始化数据的类型与所规定的类型不一致,自动进
行隐含转换,数据将转换成变量类型。如 int a=3.14 (允许)。但会丢失小数部分。 3、 在同一个块中或复合语句中,不允许定义同名变量, 而在不同的块中可以。 如: { int k;
---------// 块1 } { int k; ----------// 块2 } 是合法的。
a123 c3b file_1
2.2 整型数据
asm class double friend new register struct typedef while
表2-1 C++的标准关键字
auto const else goto operator return switch union
break continue enum if overload short this unsigned
case default extern inline private signed template virtual
catch
char
delete
do
float
for
int
long
protected public
sizeof
static
throw
try
void
volatile
2.2 整型数据
变量声明后类型就确定了。编译器就为该变 量在内存中开辟了存储单元。变量可以在定 义时初始化,也即个变量赋一个初值。
1、整型类——包括整型(int)、短整型 (short)、长整型(long)还有与整数 兼容的数据类型,包括字符型(char)、 枚举型(enum)和逻辑型(布尔型 bool)。
2、实型类(浮点型)——包括单精度 (float)、双精度(double)和长双精度
(long double)。
2.1 C++数据类型概述
2.1 C++数据类型概述
数据类型是指定义了一组数据以及定义 在这一组数据的操作,它是程序中最基 本的元素。
在程序设计中类型具有重要的意义。 C++预定义了丰富的数据类型,也允许 用户自定义数据类型。
C++数据类型分为:基本数据类型和构 造数据类型。
2.1 C++数据类型概述
基本数据类型:
2.7 数值表达式
2.7.1 无操作符的表达式——简单表达式 常量、变量和函数调用是三种最简单的表
达式。 简单表达式依据数据类型可分整型、长整
型、双精度表达式等。数值表达式是整型 类表达式和实型类表达式的统称。
2.7 数值表达式
2.7.2 算术运算 C++算术运算符包括一元运算符 —(取负值)、
2.2 整型数据
2.2.1.各种整型数据的基本情况(课本表2-1) 整型前面可以加上signed(有符号型)或
unsigned(无符号型)、long(长整型)或 short(短整型)来修饰。 其中signed和unsigned不能同时出现,long和 short也不能同时出现。 在三种不同的规格中短整型(short、 unsigned short)中用空间最少,表示的范围 也最少;长整型(long,unsigned long)表 示的范围最大,占用的空间也最大。
实数又称浮点数,与数学中的浮点数的区 别:
1、数学中的实数值域从无穷小到无穷大, 计算机中实数的值域有限。
2、数学中的实数精度是任意的,计算机 中精度有限,C++提供了单精度、双精度、 长双精度3种实型类型。
2.5 实型数据
2.5.2实型常量的表示
浮点数只能以十进制表示,可以采用科学 记数法和一般表示方法。科学记数法常用 于表示很大或很小的浮点数。如1.2E8(即 1.2×108)、-5.731E-9(即-5.731×109)。
2.2 整型数据
3、整型常量加后缀,以区分各种不同类 型的整数
1) 后缀L(或l)。表示长整型常量(long int型)如-56L,4562l;
2) 后缀U(或u)。表示无符号整型常量 (unsigned int型)如85U,20u;
3) 后缀L(或l)和U(或l)组合,表示无 符号长整型常量(unsigned long int型) 如464LU,586Lu,4645lU,123lu。
2.2 整型数据
2.2.2.短整型常量表示方法 短整型常量是借助整型常量来表示的,短整 型无条件的转换为整型。 2.整型常量表示方法: 1)十进制。 2)八进制整型常量——必须以0打头,其后
有0~7之间的数字组成。如012 3)十六进制整型常量——以0x或0X打头,
其后0~9之间的数和英文字母a~f(或 A~F组成)。如0X32,0xA8等。
例如:int a=3,b=-7; //也可以先定义, 后赋值 int a,b; a=3,b=-7;
double area=67.31; 则变量a、b、area分别被赋予初值,3、-7、
67.31,并一直保留改值直到被修改为止。
2.2 整型数据
注意: 1、若一个变量没有被初始化,则系统会为该变量规定一
2.7 数值表达式
2.7.3 位操作符(看书本) 2.7.4 赋值操作符 (1)赋值运算符“=”的一般格式为:
变量=表达式; 表示将其右侧的表达式求出结果,赋给其左 侧的变量。例如:
(in3t)i赋;值运算符的结合性是从右至左的,因 i=3*(此4+,5)C;++程序中//可i的以值出变现为连27续赋值的情 (2)赋值表况达式。本例身如的,运下算面结果的是赋右值侧是表合达法式的的: 值,而结果类型in是t左i侧,j变,量k;的数据类型。例 如: int i=1.2*3; i/=/结j=果k=为103;,而不是3/.6/i,j,k都赋值 为10
2.3 字符型数据
2.3.1 字符型数据的基本情况(课本表2-2) 类型修饰符char有可能表示有符号字符,也
可能表示无符号字符。 2.3.2 字符型常量的表示 字符又分为可显示的和不能显示的。 可显示的用符号图形来表示,即用引号括起
来的单个字符,如'k','@'等。
2.3 字符型数据
不能显示的(产生某些控制)用转义序列来表示 (两种形式):
+(取正值)和二元运算符+(加)、—(减)、 *(乘)、/(除)、%(取余数)。 其中%只用于int整型,如10%3=1(int)。其 余可以用于既可以用于int又可以用于float 和 double类型数据。用算术符号联起来的表达式称 算术表达式。 除法运算用于整型和实型是不同的。用于整数, /表示整除。如5/2=2(int)、10/3=3(int)。 而用于浮点数,5.0/2.0=2.5(float)、 8.0/5.0=1.6(float)。
2.5.3 实型变量的定义和初始化 与整型类似
2.6 符号常量和常值变量
符号常量的定义: 如#define PI 3.1416 表在程序中用PI表示3.1416。 好处: 1、提高程序的可读性。有意义的名词作为符号常量。 2、提高数据的一致性 3、提高数据的可维护性。达不到预期的精度,只需重新 定义。 常值变量的定义格式: const 数据类型 常量标识符 = 表达式 如,const double PI=3.1416; 常值变量定义时必须初始化,在程序中不允许改变。上 述两者等价。
enum WeekDay {Sunday, Monday, Tuesday, Wednesday,
Thursday, Friday, Saturday} today;
2.4 枚举型数据
也可以在枚举类型定义后,再定义枚 举变量格式.
如:WeekDay today= Monday, tomorrow= Tuesday; 并赋初值。
不是系统预定义的,而是用enum关键字 (保留字,是系统预定义有的特殊含义的单 词)自定义的数据类型。它的值域由用户定 义的一组符号常量限定的。目的是提高程序 的可读性。
2.4 枚举型数据
2.4.2 枚举类型的定义和枚举变量的定义 格式: enum 枚举类型名
{ 枚举常量名1; 枚举常量名2; ------------- ; } 枚举变量;// 在定义枚举类型的同时定义枚 举变量。 例如:
2.2 整型数据
2.2.3 整型变量的定义和初始化。 变量是用来存放数据的,因此应具有相应
的类型,C++中每个变量都属于一个特定 的类型,变量类型决定了它在内存中的存 储形式及取值范围。
引用一个变量名之前必须先声明变量的类 型,限定用法和操作,保证不会进行非法 的操作。
2.2 整型数据
C++中,变量必须先定义,后使用。不一
2.1 C++数据类型概述
数据最常用的表现形式:
1、常量——在程序运行中不变,其数据类 型可分为整型(123)、实型(12.4)、 字符型('s')和字符串型("Hello,你们 好!")。
2、变量——在程序运行中可变,变量名必 须实合法的标识符(区分大小些),即只 能是数字、字母和下划线,而且第一个字 符不能是数字。
Байду номын сангаасnum Week { Sunday=1, Monday, Tuesday, Wednesday, Thursday, Friday, Saturday=0};
Week 和WeekDay枚举常量有相同的取值。C++ 语言不允许枚举类型有相同的枚举常量。
C++不识别枚举符号。
2.5 实型数据
2.5.1 各种实型数据的基本情况(课本表2-4)
浮点数的整数部分和小数部分如果为零可 以省去,但不能两者都省去。例如 .34 456. 5.E3 .89E2(都合法)。
2.5 实型数据
浮点数还可以带后缀,以区分不同的类型的实数。 1、没有后缀,表示双精度(double型)。如 73.23。 2、后缀为F(或f),表示单精度的(float)。如 4.266F。或-1.2f。 3、后缀为L(或l),表示长双精度(long double)。如8.5l、2.07L。
1.用反斜杠‘\’加上该字符的ASCII码来构成。 ASCII码可采用八进制、十六进制。
2.另一种称为转义字符,由一个反斜杠后跟一个字 符来表示。如下表所示:
3.转义字符只代表一个字符,可显示字符也可 以用转义字符来表示。
2.3 字符型数据
2.3.3 字符型变量的定义和初始化 与整型类似,如char c1,c2='A'; 上面定义了两个字符型变量,其中c2被初始化为 字符A。
枚举变量只能在枚举常量集合中取值。 不能进行算术运算,只能赋值,比较 和输出。
2.4 枚举型数据
2.4.3 枚举型与整型的关系 C++编译程序为每个枚举常量分配一个整数型数 值,默认时第一个枚举元素的值为0,依次类推, 第n个为n-1。也可以显示的指定枚举常量的值, 后面逐个增1取值。如重新定义WeekDay如下;
基本数据类型与表达式
第二章 基本数据类型与表达式
本章内容主要有: C++数据类型 符号常量与常值变量 数值、逻辑表达式 自定义类型修饰符 表达式的副作用与表达式语句
第二章 基本数据类型与表达式
学习的目标
了解C++基本数据类型 了解符号常量与常值变量 了解自定义类型修饰符 掌握数值、逻辑表达式 掌握表达式的副作用与表达式语句
构造数据类型: 1、指针类——包括指针和应用 2、数组。 3、记录类——包括结构struct和联合
(union)。
2.1 C++数据类型概述
为什么要区分数据类型? 1、规定了不同数据类型在内存中的存储格
式不同。C++语言中的整型数和实型数与 数学中的整数和实数有区别。
2、对不同的类型数据所能实施的操作不同。 如两个整型数据可以相加,而两个记录数 据不能相加。
2.3.4 字符型与整型的关系 字符用代码表示,代码就是一个整数。在表达式
求值中,字符被转换成与其代码等值的整数,因 此能对字符实施算术运算。 如,char ch1='A',ch2='a'; 也可以写成 char ch1=65,ch2=97;
2.4 枚举型数据
2.4.1 枚举型数据的基本情况(课本表2-3)
定先定义,随定随用。变量定义使用一个
声明变量语名句的。命名要遵守以下规则:
格式不能:是类C+型+关键变字量。C名++;的关或键字如下表所所示。
第一个字符必须是字母或下划线,中间不能有空格。
类型变量变名量除了名使1用,26变个英量文2大,小-写--字-变母和量数n字;外,只能
使例用如下:划线。 一变例语 ch般量如句ar不名,c要不下ih超要列n;t过 与 变x量3C/,1+名个+/y中;定是字的义合符库/了法。函/的一数定变个名义量字、名了类符:一名型个和变对整量象型名变相量同。
个默认值或无效值,直到被修改。 2、 初始化数据的类型与所规定的类型不一致,自动进
行隐含转换,数据将转换成变量类型。如 int a=3.14 (允许)。但会丢失小数部分。 3、 在同一个块中或复合语句中,不允许定义同名变量, 而在不同的块中可以。 如: { int k;
---------// 块1 } { int k; ----------// 块2 } 是合法的。
a123 c3b file_1
2.2 整型数据
asm class double friend new register struct typedef while
表2-1 C++的标准关键字
auto const else goto operator return switch union
break continue enum if overload short this unsigned
case default extern inline private signed template virtual
catch
char
delete
do
float
for
int
long
protected public
sizeof
static
throw
try
void
volatile
2.2 整型数据
变量声明后类型就确定了。编译器就为该变 量在内存中开辟了存储单元。变量可以在定 义时初始化,也即个变量赋一个初值。
1、整型类——包括整型(int)、短整型 (short)、长整型(long)还有与整数 兼容的数据类型,包括字符型(char)、 枚举型(enum)和逻辑型(布尔型 bool)。
2、实型类(浮点型)——包括单精度 (float)、双精度(double)和长双精度
(long double)。
2.1 C++数据类型概述
2.1 C++数据类型概述
数据类型是指定义了一组数据以及定义 在这一组数据的操作,它是程序中最基 本的元素。
在程序设计中类型具有重要的意义。 C++预定义了丰富的数据类型,也允许 用户自定义数据类型。
C++数据类型分为:基本数据类型和构 造数据类型。
2.1 C++数据类型概述
基本数据类型:
2.7 数值表达式
2.7.1 无操作符的表达式——简单表达式 常量、变量和函数调用是三种最简单的表
达式。 简单表达式依据数据类型可分整型、长整
型、双精度表达式等。数值表达式是整型 类表达式和实型类表达式的统称。
2.7 数值表达式
2.7.2 算术运算 C++算术运算符包括一元运算符 —(取负值)、
2.2 整型数据
2.2.1.各种整型数据的基本情况(课本表2-1) 整型前面可以加上signed(有符号型)或
unsigned(无符号型)、long(长整型)或 short(短整型)来修饰。 其中signed和unsigned不能同时出现,long和 short也不能同时出现。 在三种不同的规格中短整型(short、 unsigned short)中用空间最少,表示的范围 也最少;长整型(long,unsigned long)表 示的范围最大,占用的空间也最大。
实数又称浮点数,与数学中的浮点数的区 别:
1、数学中的实数值域从无穷小到无穷大, 计算机中实数的值域有限。
2、数学中的实数精度是任意的,计算机 中精度有限,C++提供了单精度、双精度、 长双精度3种实型类型。
2.5 实型数据
2.5.2实型常量的表示
浮点数只能以十进制表示,可以采用科学 记数法和一般表示方法。科学记数法常用 于表示很大或很小的浮点数。如1.2E8(即 1.2×108)、-5.731E-9(即-5.731×109)。
2.2 整型数据
3、整型常量加后缀,以区分各种不同类 型的整数
1) 后缀L(或l)。表示长整型常量(long int型)如-56L,4562l;
2) 后缀U(或u)。表示无符号整型常量 (unsigned int型)如85U,20u;
3) 后缀L(或l)和U(或l)组合,表示无 符号长整型常量(unsigned long int型) 如464LU,586Lu,4645lU,123lu。
2.2 整型数据
2.2.2.短整型常量表示方法 短整型常量是借助整型常量来表示的,短整 型无条件的转换为整型。 2.整型常量表示方法: 1)十进制。 2)八进制整型常量——必须以0打头,其后
有0~7之间的数字组成。如012 3)十六进制整型常量——以0x或0X打头,
其后0~9之间的数和英文字母a~f(或 A~F组成)。如0X32,0xA8等。
例如:int a=3,b=-7; //也可以先定义, 后赋值 int a,b; a=3,b=-7;
double area=67.31; 则变量a、b、area分别被赋予初值,3、-7、
67.31,并一直保留改值直到被修改为止。
2.2 整型数据
注意: 1、若一个变量没有被初始化,则系统会为该变量规定一
2.7 数值表达式
2.7.3 位操作符(看书本) 2.7.4 赋值操作符 (1)赋值运算符“=”的一般格式为:
变量=表达式; 表示将其右侧的表达式求出结果,赋给其左 侧的变量。例如:
(in3t)i赋;值运算符的结合性是从右至左的,因 i=3*(此4+,5)C;++程序中//可i的以值出变现为连27续赋值的情 (2)赋值表况达式。本例身如的,运下算面结果的是赋右值侧是表合达法式的的: 值,而结果类型in是t左i侧,j变,量k;的数据类型。例 如: int i=1.2*3; i/=/结j=果k=为103;,而不是3/.6/i,j,k都赋值 为10
2.3 字符型数据
2.3.1 字符型数据的基本情况(课本表2-2) 类型修饰符char有可能表示有符号字符,也
可能表示无符号字符。 2.3.2 字符型常量的表示 字符又分为可显示的和不能显示的。 可显示的用符号图形来表示,即用引号括起
来的单个字符,如'k','@'等。
2.3 字符型数据
不能显示的(产生某些控制)用转义序列来表示 (两种形式):
+(取正值)和二元运算符+(加)、—(减)、 *(乘)、/(除)、%(取余数)。 其中%只用于int整型,如10%3=1(int)。其 余可以用于既可以用于int又可以用于float 和 double类型数据。用算术符号联起来的表达式称 算术表达式。 除法运算用于整型和实型是不同的。用于整数, /表示整除。如5/2=2(int)、10/3=3(int)。 而用于浮点数,5.0/2.0=2.5(float)、 8.0/5.0=1.6(float)。
2.5.3 实型变量的定义和初始化 与整型类似
2.6 符号常量和常值变量
符号常量的定义: 如#define PI 3.1416 表在程序中用PI表示3.1416。 好处: 1、提高程序的可读性。有意义的名词作为符号常量。 2、提高数据的一致性 3、提高数据的可维护性。达不到预期的精度,只需重新 定义。 常值变量的定义格式: const 数据类型 常量标识符 = 表达式 如,const double PI=3.1416; 常值变量定义时必须初始化,在程序中不允许改变。上 述两者等价。
enum WeekDay {Sunday, Monday, Tuesday, Wednesday,
Thursday, Friday, Saturday} today;
2.4 枚举型数据
也可以在枚举类型定义后,再定义枚 举变量格式.
如:WeekDay today= Monday, tomorrow= Tuesday; 并赋初值。
不是系统预定义的,而是用enum关键字 (保留字,是系统预定义有的特殊含义的单 词)自定义的数据类型。它的值域由用户定 义的一组符号常量限定的。目的是提高程序 的可读性。
2.4 枚举型数据
2.4.2 枚举类型的定义和枚举变量的定义 格式: enum 枚举类型名
{ 枚举常量名1; 枚举常量名2; ------------- ; } 枚举变量;// 在定义枚举类型的同时定义枚 举变量。 例如:
2.2 整型数据
2.2.3 整型变量的定义和初始化。 变量是用来存放数据的,因此应具有相应
的类型,C++中每个变量都属于一个特定 的类型,变量类型决定了它在内存中的存 储形式及取值范围。
引用一个变量名之前必须先声明变量的类 型,限定用法和操作,保证不会进行非法 的操作。
2.2 整型数据
C++中,变量必须先定义,后使用。不一
2.1 C++数据类型概述
数据最常用的表现形式:
1、常量——在程序运行中不变,其数据类 型可分为整型(123)、实型(12.4)、 字符型('s')和字符串型("Hello,你们 好!")。
2、变量——在程序运行中可变,变量名必 须实合法的标识符(区分大小些),即只 能是数字、字母和下划线,而且第一个字 符不能是数字。
Байду номын сангаасnum Week { Sunday=1, Monday, Tuesday, Wednesday, Thursday, Friday, Saturday=0};
Week 和WeekDay枚举常量有相同的取值。C++ 语言不允许枚举类型有相同的枚举常量。
C++不识别枚举符号。
2.5 实型数据
2.5.1 各种实型数据的基本情况(课本表2-4)
浮点数的整数部分和小数部分如果为零可 以省去,但不能两者都省去。例如 .34 456. 5.E3 .89E2(都合法)。
2.5 实型数据
浮点数还可以带后缀,以区分不同的类型的实数。 1、没有后缀,表示双精度(double型)。如 73.23。 2、后缀为F(或f),表示单精度的(float)。如 4.266F。或-1.2f。 3、后缀为L(或l),表示长双精度(long double)。如8.5l、2.07L。
1.用反斜杠‘\’加上该字符的ASCII码来构成。 ASCII码可采用八进制、十六进制。
2.另一种称为转义字符,由一个反斜杠后跟一个字 符来表示。如下表所示:
3.转义字符只代表一个字符,可显示字符也可 以用转义字符来表示。
2.3 字符型数据
2.3.3 字符型变量的定义和初始化 与整型类似,如char c1,c2='A'; 上面定义了两个字符型变量,其中c2被初始化为 字符A。
枚举变量只能在枚举常量集合中取值。 不能进行算术运算,只能赋值,比较 和输出。
2.4 枚举型数据
2.4.3 枚举型与整型的关系 C++编译程序为每个枚举常量分配一个整数型数 值,默认时第一个枚举元素的值为0,依次类推, 第n个为n-1。也可以显示的指定枚举常量的值, 后面逐个增1取值。如重新定义WeekDay如下;