C++程序设计 教学课件 ppt 作者 张桦第2章 数据类型与表达式

上传人:w****i 文档编号:92479055 上传时间:2019-07-10 格式:PPT 页数:76 大小:1.71MB
返回 下载 相关 举报
C++程序设计 教学课件 ppt 作者 张桦第2章 数据类型与表达式_第1页
第1页 / 共76页
C++程序设计 教学课件 ppt 作者 张桦第2章 数据类型与表达式_第2页
第2页 / 共76页
C++程序设计 教学课件 ppt 作者 张桦第2章 数据类型与表达式_第3页
第3页 / 共76页
C++程序设计 教学课件 ppt 作者 张桦第2章 数据类型与表达式_第4页
第4页 / 共76页
C++程序设计 教学课件 ppt 作者 张桦第2章 数据类型与表达式_第5页
第5页 / 共76页
点击查看更多>>
资源描述

《C++程序设计 教学课件 ppt 作者 张桦第2章 数据类型与表达式》由会员分享,可在线阅读,更多相关《C++程序设计 教学课件 ppt 作者 张桦第2章 数据类型与表达式(76页珍藏版)》请在金锄头文库上搜索。

1、C+程序设计,第2章 数据类型、运算符和表达式,2.1 基本数据类型 2.2 常量 2.3 变量 2.4 基本运算符 2.5 类型转换 2.6 表达式和语句 2.7 本章小结,第2章 数据类型、运算符和表达式,2.1 基本数据类型,为什么要区分数据类型?,C+通过数据类型,告诉计算机数据是如何定义的。 C+数据类型定义了该类型数据所占的内存空间大小、表示范围和支持的运算。,2.1.1 关键字,在C+中,有一些预定义的标识符,称为关键字(keyword),也称为保留字,关键字是C+语言用来构建程序的一些必需元素,每个关键字都具有系统预先定义好的作用,不能把它们再定义为变量的标识符。 注意:关键字

2、区分大小写。,2.1.1 关键字,表2-2 C+中的关键字,2.1.2 标识符,标识符(identifier)是一个字符序列,用来标识常量名、变量名、函数名、类名、结构名、联合名、对象名、类型名或者标号名。,标识符只能由字母、数字、或下划线组成; 标识符的首字符必须是字母或下划线,不能是数字,例如:2cat 、8key是非法的标识符。在定义标识符时,虽然语法上允许用下划线开头,但是,由于标准库里的标识符一般以下划线开头,所以,最好避免使用下划线作为自定义标识符的首字符;,2.1.2 标识符,标识符区分大小写,如:star、Star、sTar、stAr和STAR是互不相同的标识符; 标识符不能和

3、C+关键字或运算符替代名相同,标识符不能与关键字重名,但标识符中可以包含关键字,例如,intx,myclass 是合法的标识符; C+标准没有限制标识符的长度,但编译器的实现都会有限制,建议:在定义标识符时,一般不要超过32位。,2.1.2 标识符,表2-4 几个正确和不正确的标识符实例,2.1.3 标点符号,在C+程序中,标点符号对编译器具有语法意义。,表2-5 C+中的标点符号,2.1.4 分隔符,分隔符用来分隔单词或程序正文,表示某个程序实体的结束或者另一个程序实体的开始。分隔符本身并不对程序的语法和语义产生任何影响,是一种不被编译的符号。 C+的分隔符可以是一个或多个:空格符、制表符、

4、换行符或者注释符。例如,下列两个程序段等价: char mybook ; char mydocument; 与 char mybook ; char mydocument;,2.1.5 C+的数据类型,C+数据类型如图2-1所示。,图2-1 C+数据类型,2.1.5 C+的数据类型,表2-6 基本数据类型及其表示范围,2.2 常量,在C+程序中,数据以两种形式表示:常量和变量。常量用于表示在程序运行的整个过程中始终保持不变的数据,如:圆周率。变量用于表示在程序执行过程中值可以改变的数据,如:float x = 5.26; 中的x。,常量可以用两种形式表示:字面值常量和符号常量。字面值常量也称直

5、接量(literal),在程序中直接按其书写形式对待,如数字36、字符串“Hello”。符号常量指给常量取一个名字,指定数据类型,并定义为const,因而符号常量也称命名常量,在程序中通过常量名使用符号常量。,2.2.1 整型字面值常量,1.后缀类型标识,整型包括短整型(short)、长整型(long)、有符号型(int)和无符号型(unsigned int),字面值整型常量的类型默认为int或long,其值适合int就是int类型,比int大的就是long类型。C+通过在整数后面添加后缀字符,直接指定字面值整型常量的类型,u或U表示unsigned,l或L表示long,l或L与u或U的组合:

6、ul、lu、uL、Lu、Ul、lU、UL或者LU,表示类型是unsigned long int,类型简写为unsigned long,如:,2.2.1 整型字面值常量,在C+中整型有三种表示形式:10进制、8进制和16进制,以非0开头的数是10进制,以0开头表示8进制,以0x或0X开头表示16进制,例如:,2.前缀类型标识,50000L / 10进制长整数 2002u / 无符号10进制整数 123ul或123lu / 无符号10进制长整数 0126 / 8进制整数 050000L / 8进制长整数 0x12A / 16进制整数 0x5a000L / 16进制长整数,2.2.2 浮点字面值常量

7、,浮点类型包括float、double和long double,默认的浮点类型常量为double,如果要表达一个float或long double型常量,可以分别使用后缀 f(或F)或 l(或L),具体地,浮点类型字面值常量,表示方式有定点数表示法和指数表示法。,定点表示法 由整数和小数两部分组成,中间用小数点隔开,例如: 2.71828f / float 2.36 / double,默认类型 3.14159L / long double,2.2.2 浮点字面值常量,指数表示法,指数表示法(科学记数法)必须有尾数和指数两部分,并且指数只能是整数,指数用e或者E表示,表示“10的X次方”,X是字

8、符e后面跟的整数值,例如: 3.6E2 / 3.6 102 6.02e23 / 6.02 1023 1.6e-19 / 1.6 10-19,2.2.3 字符字面值常量,1.字符常量,字符类型常量包括普通字符常量和转义字符常量。,普通字符常量,转义字符常量,可打印字符的字面值常量,可以用一对单引号括起单个字符的方式定义,例如: a A 2 , ,不可打印的控制字符,如退格、回车和换行等,以及在C+中有特殊意义的字符,如单引号、双引号和反斜线等,表示方法是:以转义符开头,后跟一个特定字母来表示。,2.2.3 字符字面值常量,表2-7 常用的转义字符及其描述,2.2.3 字符字面值常量,2.字符常量

9、的通用ASCII码表示,在转义符后面接8进制或16进制数,表示ASCII码等于该值的字符。,2.2.4 布尔字面值,在C+中,布尔类型(bool)用于描述“真”和“假”,bool类型取值只有两个:true或false,分别对应“真”或“假”,bool字面值通过直接写出bool值表示,直接写:true或者false。,bool类型通常作为条件表达式的计算结果,分别表示条件的满足和不满足,bool值也可以参加算术运算:true对应1、false对应0。同时,其它类型的数据可以转换成bool型: 0 false 非0 true,2.2.5 字符串字面值常量,字符串字面值常量简称字符串,是由一对双引号

10、括起来的零个或多个字符,字符串中可以包含空格符、可打印字符和不可打印字符,其中不可打印字符用ASCII码转义序列表示。,“Hello World!“ / 字符串字面值常量 “ / 空字符串 “nCCtoptionstfile.cCn“ / 含有换行和Tab的字符串 “20071022“ / 字符串常量,2.2.5 字符串字面值常量,C+中所有的字符串字面值都由编译器自动在末尾加上字符串结束标志0(空字符),而字符型常量不加0,所以字符串字面值的长度是字符串中字符的个数再加上1(0是转义字符,占1位)。例如: “Hello“ / 双引号:字符串常量,长度6 “A“ / 双引号:字符串常量,长度2

11、 A / 单引号:字符常量,长度1,图2-2 字符串与字符的存储方式,2.2.6 枚举,枚举(enumeration)提供了一种语言级的支持,枚举将变量或者对象可能的值一一列举出来。,1.枚举的定义和初始化,枚举的定义包括关键字enum,其后是一个可选的枚举类型名,以及花括号内用逗号分隔的枚举成员列表: enum ; 或者不定义枚举类型名,在枚举定义的同时定义枚举变量,格式如下: enum ;,2.2.6 枚举,枚举值对应着一个int型常量,可以在定义时指定初值,如不提供初值,第一个枚举成员默认初始化为,后面每个枚举成员值依次比前面的大1,例如: enum bool false, true;

12、/ bool是C+预定义的枚举,false默认初始化为0,true为1 enum Forms shape = 1, sphere, cylinder, polygon; / shape=1、sphere=2 ,/ point2d=2,point2w=3,point3d=3,point3w=4 enum Points point2d = 2, point2w, point3d = 3, point3w;,2.2.6 枚举,2.枚举类型的使用,【例 2.1】枚举类型应用示例。 #include using namespace std; int main( ) / 定义一个weekDay枚举类型 e

13、num weekDay Mon = 1,Tue,Wed,Thu, Fri, Sat, Sun; weekDay d1, d2, d3; / 定义3个weekDay枚举类型的变量 d1 = Thu; / d1只能赋“Mon、Tue、Wed、Thu、Fri、Sat、Sun”之一 d2 = Sat; d3 = d2; cout “d1=“ d1 “ d2=“ d2 “ d3=“ d3 endl; return 0; ,运行结果: d1=4 d2=6 d3=6,2.3 变量,变量声明与定义的区别: 在C+中,声明(declaration)指将一个变量、函数或者类的类型名称介绍给编译器,定义(defin

14、ition)指将细节信息提供给编译器,声明与定义的区别在于声明不分配存储空间,无论是变量定义还是函数定义,编译器都在定义处分配存储空间。,变量是程序设计中的一个重要概念 ,在C+等高级程序设计语言中,程序通过变量引用内存单元,变量提供了程序可以操作的有名字的存储区,程序通过变量名读取或更改变量的值。,2.3 变量,在程序中,使用变量主要有三个步骤: 声明和定义变量:指明变量的名字和数据类型; 变量初始化; 在程序中使用变量:变量赋值,操作变量中存储的值。,变量由4个部分组成:变量名、数据类型、内存地址以及变量值。 变量名是一个标识符,数据类型决定了变量的内存大小和布局、存储在变量中的数据的取值

15、范围,以及变量所支持的操作集。,1.变量的声明和定义,2.3 变量,变量定义的一般格式如下: 类型名 变量1,变量2, ; 变量的非定义性声明使用extern关键字,形式为: extern 类型名 变量名;,2.3 变量,2.变量的初始化,定义变量的同时给变量赋初值称为变量的初始化,定义变量并同时初始化的一般格式如下: 类型名 变量1 = 初值1, 变量2=初值2, ; 或者 类型名 变量1 (初值1), 变量2 (初值2), ;,C+支持两种变量初始化形式:复制初始化和直接初始化。复制初始化语法用等号(=),直接初始化是把初始化值放在括号中: int ival = 1024; / 复制初始化 int ival(1024); / 直接初始化,2.3 变量,下面是几个变量定义的例子: int month, day, year;/ 定义了3个整型变量,未赋初值 int d(36); / 定义整型变量 d,并赋初值36 long n; / 定义了一个长整型变量n,未赋初值 / 定义变量a、b,a未赋初值,b赋初值为0.5 double a, b = 0.5; / 定义了一个std:string类型的变量,未赋初值 std:string address;,2.3 变量,程序运行过程中,变量的值主要通过赋值运算改变。赋值运算由赋值运算符(=)将赋值表达式分为左、右两边:左边一般是变

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 高等教育 > 大学课件

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号