基本数据类型运算符和表达式.PPT





《基本数据类型运算符和表达式.PPT》由会员分享,可在线阅读,更多相关《基本数据类型运算符和表达式.PPT(63页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、Chapter 2 第二章基本数据类型、运算符和表达式2.1 数据类型2.2 变量和常量 2.3 运算符和表达式2.4 指针2.5 typedef语句2.6 应用举例4/22/20231 1安徽理工大学计算机软件教研室安徽理工大学计算机软件教研室Chapter 2 程程序序中中要要对对各各种种各各样样的的数数据据进进行行描描述述和和操操作作,用用到到的的数数据据都都必必须须指明其类型。数据类型的作用:指明其类型。数据类型的作用:指出了应为数据分配的存储空间的大小指出了应为数据分配的存储空间的大小规定了数据所能进行的操作规定了数据所能进行的操作2.1 2.1 数据类型数据类型数据类型数据类型基本
2、类型基本类型 构造类型构造类型 整型整型(int)(int)实型实型 字符型字符型(char)(char)布尔型布尔型(bool)(bool)空类型空类型(void)(void)单精度型单精度型(float)(float)双精度型双精度型(double)(double)数组数组指针指针结构型结构型(struct)(struct)共用体共用体(union)(union)枚举枚举(enum)(enum)类类(class)(class)4/22/20232 2安徽理工大学计算机软件教研室安徽理工大学计算机软件教研室Chapter 2 4/22/20233 3安徽理工大学计算机软件教研室安徽理工大学计
3、算机软件教研室Chapter 2 基本数据基本数据类型型C+语言的基本数据类型:语言的基本数据类型:数据类型数据类型 类型说明浮类型说明浮 占用字节占用字节字符型字符型 char 1个个短整数短整数 short 2个个整型整型 int 4个个浮点型浮点型 float 4个个双精度型双精度型 double 8个个4/22/20234 4安徽理工大学计算机软件教研室安徽理工大学计算机软件教研室Chapter 2 数据在数据在计算机中的存放算机中的存放数据在计算机中采用二进制存放;一个字节数据在计算机中采用二进制存放;一个字节8个二进制位,个二进制位,示意图如下:示意图如下:数的表示范围:数的表示范
4、围:-2727-1(-128127)显然,一个字节表示数的范围是有限的。要表示显然,一个字节表示数的范围是有限的。要表示更大范围内的数,就要使用多个字节。更大范围内的数,就要使用多个字节。704/22/20235 5安徽理工大学计算机软件教研室安徽理工大学计算机软件教研室Chapter 2 整数的存整数的存储格式格式字符型字符型短整型短整型短整数表示范围为:短整数表示范围为:-215215-1(-3276832767)长整型长整型 长整数表示范围为:长整数表示范围为:-231231-1701587031242316158704/22/20236 6安徽理工大学计算机软件教研室安徽理工大学计算机
5、软件教研室Chapter 2 实数的表示数的表示实数也称为浮点数,用于表示小数;有两种表示形式:实数也称为浮点数,用于表示小数;有两种表示形式:十进制形式:十进制形式:.指数形式:指数形式:.一般浮点数的可以达到一般浮点数的可以达到7位有效数字。例如位有效数字。例如1234.567。双精度浮点数的有效位数可以达到双精度浮点数的有效位数可以达到1516位。位。尾数部分尾数部分指数部分指数部分31242316158704/22/20237 7安徽理工大学计算机软件教研室安徽理工大学计算机软件教研室Chapter 2 程序运行过程中其值可变的量程序运行过程中其值可变的量,定义方式如下:定义方式如下:
6、数据类型数据类型 变量名表变量名表;C/C+C/C+规定:规定:程序中所有变量必须程序中所有变量必须先定义后使用先定义后使用,可及时发现,可及时发现录入错误录入错误(如,定(如,定义的变量为义的变量为datadata,而程序体中使用变量为,而程序体中使用变量为datedate),同时还可限制非法运算),同时还可限制非法运算(如:(如:a%b,a%b,若若a,ba,b为为floatfloat类型则出错)。类型则出错)。C+C+中变量可随时使用,随时定义。中变量可随时使用,随时定义。例如:例如:int a,b;(int a,b;(定义变量定义变量a a和和b b为整型为整型)float x,y;(
7、float x,y;(定义变量定义变量x x和和y y为单精度实型为单精度实型)2.2.1 2.2.1 变量变量2.2 2.2 变量和常量变量和常量1.变量的定义4/22/20238 8安徽理工大学计算机软件教研室安徽理工大学计算机软件教研室Chapter 2 变量必须先有确定的值后才能参与各种相应的操作,变量获取值变量必须先有确定的值后才能参与各种相应的操作,变量获取值的途径有三:的途径有三:通过输入语句输入通过输入语句输入 (如:如:cincina;)a;)通过赋值语句赋值通过赋值语句赋值 (如:如:a=3;a=3;)通过初始化方式赋初值通过初始化方式赋初值 (如:如:intint k=3
8、;)k=3;)所谓初始化是指在定义变量的同时指定变量的初值,形式有二:所谓初始化是指在定义变量的同时指定变量的初值,形式有二:例如:例如:intint k=3,m=3,n(3);k=3,m=3,n(3);()intint k=m=n=3;k=m=n=3;/不允许为多个变量同时初始化不允许为多个变量同时初始化数据类型数据类型 变量名变量名=表达式;表达式;数据类型数据类型 变量名(表达式);变量名(表达式);2.变量的初始化4/22/20239 9安徽理工大学计算机软件教研室安徽理工大学计算机软件教研室Chapter 2 C+C+中增加了中增加了“引用引用”这一概念,许多地方可以代替指针实现相这
9、一概念,许多地方可以代替指针实现相应的功能,比指针更安全。应的功能,比指针更安全。所谓引用即给一个已知变量起个所谓引用即给一个已知变量起个别名别名,系统不为引用另外开辟系统不为引用另外开辟内存,而是与原变量共享同一段内存内存,而是与原变量共享同一段内存,引用好比是一个虚拟的变量,引用好比是一个虚拟的变量,声明形式为:声明形式为:数据类型数据类型&引用名引用名=已定义的变量已定义的变量如:如:int a=3,&b=a;/int a=3,&b=a;/定义定义b b为为a a的引用的引用b=5;b=5;/你知道此时你知道此时a a的值为多少吗?的值为多少吗?3.变量引用4/22/20231010安徽
10、理工大学计算机软件教研室安徽理工大学计算机软件教研室Chapter 2 通过引用名与通过被引用的变量名访问变量的效果是通过引用名与通过被引用的变量名访问变量的效果是一样的。使用引用是必须注意下列问题:一样的。使用引用是必须注意下列问题:声明一个引用时,必须同时对它进行初始化,使它指声明一个引用时,必须同时对它进行初始化,使它指向一个已存在的对象。向一个已存在的对象。一旦一个引用被初始化,就不能改为指向其他对象。一旦一个引用被初始化,就不能改为指向其他对象。即一个引用从它诞生之时起,就必须确定是哪个变量即一个引用从它诞生之时起,就必须确定是哪个变量的别名,而且始终只能作为这个变量的别名,不能另作
11、的别名,而且始终只能作为这个变量的别名,不能另作他用。他用。引用可以作为形参,称为引用调用。引用可以作为形参,称为引用调用。4/22/20231111安徽理工大学计算机软件教研室安徽理工大学计算机软件教研室Chapter 2 2.2.2 2.2.2 常量常量进制进制形式形式实例实例错例错例十进制十进制以数字以数字19开始开始-3,+5,12045八进制八进制以数字以数字0开始开始(由由07之间数字组成)之间数字组成)023,-010078十六进制十六进制以以0 x或或0X开始开始(由由09及及AF组成)组成)0XAF,-0X510XFG在程序运行过程中其值不能改变的量,有在程序运行过程中其值不
12、能改变的量,有值常量和符号常量值常量和符号常量两种。两种。1.整型常量4/22/20231212安徽理工大学计算机软件教研室安徽理工大学计算机软件教研室Chapter 2 十进制小数形式十进制小数形式:由正负号、数字和小数点组成,:由正负号、数字和小数点组成,如如1.251.25、-1.25-1.25、17.17.和和.1 .1 指数形式指数形式:由尾数、指数符号:由尾数、指数符号e(e(或或E)E)及指数构成,其中及指数构成,其中指数指数必必须是十进制整数。如须是十进制整数。如1.25e-51.25e-5、+1e10+1e10、-1.25e5-1.25e5。注意注意:e e前面不能没有数字,
13、前面不能没有数字,e e后面的数字必须为整数,也不能加园后面的数字必须为整数,也不能加园括号。如括号。如1E(-3)1E(-3)、E-5E-5、1e2.11e2.1都是错误的。都是错误的。2.实型常量4/22/20231313安徽理工大学计算机软件教研室安徽理工大学计算机软件教研室Chapter 2 C/C+C/C+提供了两类字符型常量:提供了两类字符型常量:普通字符常量普通字符常量:用单引号括起来的一个字符。如:用单引号括起来的一个字符。如:AA、00、?。转义字符常量转义字符常量:以:以“”“”(反斜杠)开头的用单引号括起(反斜杠)开头的用单引号括起来的字符序列。如:来的字符序列。如:n
14、n 、t t 、x61 x61等。等。常用的转义常用的转义字符见字符见p26p26。注意注意:0 0表示表示ASCIIASCII码为码为0 0的字符的字符,它是一个空字符,注意其与它是一个空字符,注意其与00的区别,后者表示的是的区别,后者表示的是ASCIIASCII码为码为4848的数字字符。的数字字符。字符型数据在内存中以字符型数据在内存中以ASCIIASCII码存储,故整型数据和字符型数码存储,故整型数据和字符型数据在一定范围内可以通用。如:据在一定范围内可以通用。如:2.字符常量x=a+2;x=a+2;4/22/20231414安徽理工大学计算机软件教研室安徽理工大学计算机软件教研室C
15、hapter 2 是以标识符形式出现的常量,作用是便于程序阅读和修改。是以标识符形式出现的常量,作用是便于程序阅读和修改。C+C+中用中用definedefine命令或关键字命令或关键字constconst定义符号常量定义符号常量,形式如下:形式如下:字符串常量是用双引号括起来的字符序列字符串常量是用双引号括起来的字符序列,系统在字符串常量系统在字符串常量最后自动加字符串结束符号最后自动加字符串结束符号 0 0 。例如:例如:字符串字符串“A”“A”的存储形式:的存储形式:字符字符AA的存储形式:的存储形式:A 0 A内存中实际存放的是内存中实际存放的是这些字符的这些字符的ASCII码码#de
16、fine#define#define#define 标识符标识符标识符标识符 常量值常量值常量值常量值或:或:或:或:const const const const 数据类型数据类型数据类型数据类型 标识符标识符标识符标识符=常量值常量值常量值常量值4.字符串常量5.符号常量4/22/20231515安徽理工大学计算机软件教研室安徽理工大学计算机软件教研室Chapter 2 注意:注意:习惯上符号常量名大写,而变量名小写,以示区分。习惯上符号常量名大写,而变量名小写,以示区分。符号常量虽然用标识符来标识,但本质上是常量,具有常符号常量虽然用标识符来标识,但本质上是常量,具有常量值不能改变的性质
17、。量值不能改变的性质。#define PI 3.14#include iostream.hvoid main()float r=3.0,s,l;l=2*PI*r;s=PI*r*r;coutl=l,s=s .2左结合左结合2!+-+(类型类型)*&sizeof new delete1右结合右结合3*/%2左结合左结合4+-2左结合左结合52左结合左结合6 =2左结合左结合7=!=2左结合左结合8&2左结合左结合92左结合左结合10|2左结合左结合11&2左结合左结合12|2左结合左结合13?:3右结合右结合14=+=-=*=/=%=|=2右结合右结合15,2左结合左结合4/22/20232222
18、安徽理工大学计算机软件教研室安徽理工大学计算机软件教研室Chapter 2 种类:种类:+(加法或取正)(加法或取正)-(减法或取负)(减法或取负)*(乘法)(乘法)/(除法)(除法)%(求余数)(求余数)+(自增)(自增)-(自减)(自减)正、负正、负加、减加、减2.3.2 2.3.2 运算符运算符1.算术运算其中:其中:+和和-的结合性则是自右向左的结合性则是自右向左 优先级:优先级:(从高到低从高到低)(+(+、-、+、-)-)(*(*、/、%)%)(+(+、-)-)4/22/20232323安徽理工大学计算机软件教研室安徽理工大学计算机软件教研室Chapter 2 说明:说明:在除法运
19、算中,当两个操作数都是整数时,商也为在除法运算中,当两个操作数都是整数时,商也为整数整数,小数部,小数部分一律舍去。如:分一律舍去。如:1/2 0 1.0/2 0.5%(求余运算)要求两个操作数都是(求余运算)要求两个操作数都是整型整型,结果为整除后余下的,结果为整除后余下的整余数。整余数。自增、自减运算符自增、自减运算符(+、-)+i ,-i (在使用在使用 i之前之前,先使先使i的值加减的值加减1)i+,i-(在使用在使用 i之后之后,使使i的值加减的值加减1)若若 i i 的值为的值为3 3,则:,则:j=+i;j j=+i;j的值为的值为4,i4,i的值为的值为4 4 j=i+;j j
20、=i+;j的值为的值为3,i3,i的值为的值为4 4注意注意:自增、自减运算符只能用于变量,而不能用于常量自增、自减运算符只能用于变量,而不能用于常量和表达式。和表达式。()5+、(a+b)+4/22/20232424安徽理工大学计算机软件教研室安徽理工大学计算机软件教研室Chapter 2 有关表达式使用中的问题说明:1.在表达式中包含自加(减)运算时,很容易出错。如:(i+)+(i+)+(i+)表达式值为9,然后i值为6;(i原为3)k=(+i)+(+i)+(+i)先对i自加三次1,i得6,然后k=6+6+62.C语言中有的运算符为一个字符,有的为两个字符,如:i+j,是理解成(i+)+j
21、,还是i+(+j)呢?C编译时尽可能多地自左而右将若干字符组成一个运算符,故解释为(i+)+j。4/22/20232525安徽理工大学计算机软件教研室安徽理工大学计算机软件教研室Chapter 2 种类种类:(小于)、(小于)、=(大于)(大于)=(等于)、(等于)、=(大于等于)、(大于等于)、!=!=(不等于)(不等于)优先级优先级:(从高到低)(从高到低)(、=、=)=)(=(=、!=)!=)关关系系运运算算描描述述的的是是一一种种“判判断断关关系系”,其其结结果果有有“真真(true)”(true)”和和“假假(false)”(false)”两种。用两种。用“1”“1”代表代表“真真”
22、,用,用“0”“0”代表代表“假假”例如:例如:5353的结果为的结果为1 1,a a B B 的结果为的结果为0 0思考:思考:x x为为0 0到到100100之间的数能否表示为之间的数能否表示为 0=x=100?0=xb)&(n=cd)当a=1,b=2,c=3,d=4,m和n原值为1;由于ab的值为0,所以m=0,而n=cd不被执行,因此n的值仍保持原值1。4/22/20232828安徽理工大学计算机软件教研室安徽理工大学计算机软件教研室Chapter 2#include iostream.hvoid main()int m,n=10;m=2&n+;coutm=m,n=y?x:y)(xy?
23、x:y);/将和中较大的一个数赋值给变量将和中较大的一个数赋值给变量maxmax条件运算符的结合性是由右向左条件运算符的结合性是由右向左思考题:思考题:对对n(0)n(0)个个人人进进行行分分班班,每每班班k(0)k(0)个个人人,最最后后不不足足k k人人也也编编一一班班,问要编几个班?(试用条件运算符表达)问要编几个班?(试用条件运算符表达)n%k0?n/k+1:n/k格式:格式:作用:作用:将一个数据赋给一个变量,并以变量的值作为整个式子的值。将一个数据赋给一个变量,并以变量的值作为整个式子的值。变量变量变量变量 赋值运算符赋值运算符赋值运算符赋值运算符 表达式表达式表达式表达式5.赋值
24、运算4/22/20233030安徽理工大学计算机软件教研室安徽理工大学计算机软件教研室Chapter 2 其中赋值运算符可以是其中赋值运算符可以是“=”,“=”,也可以是复合赋值运算符也可以是复合赋值运算符,如如“+=”“+=”、“-=”“-=”、“*=”“*=”、“/=”“/=”和和“%=”“%=”等等。等等。复合赋值运算符的等价形式:复合赋值运算符的等价形式:(以(以“+=”“+=”为例)为例)例如:例如:b/=a+2 b/=a+2 等价于:等价于:b=b/(a+2)b=b/(a+2)结合性自右向左结合性自右向左若两端类型不同,则系统自动将右端类型转换为左端类型。若两端类型不同,则系统自动
25、将右端类型转换为左端类型。例如:有定义例如:有定义 intint a=3.78;a=3.78;则则a a中存放的值为中存放的值为3 3左端只能是变量左端只能是变量(或数组元素或数组元素),不能为表达式或常量,如:,不能为表达式或常量,如:a+2*=b (a+2*=b ()a=b+2=c+5 (a=b+2=c+5 ()变量变量+=+=表达式表达式变量变量=变量表达式变量表达式4/22/20233131安徽理工大学计算机软件教研室安徽理工大学计算机软件教研室Chapter 2 赋值表达式也可包含复合的赋值运算符,如:a+=a-=a*a,如a=12,先进行a=a-a*a运算,结果为-132;然后进行
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 基本 数据类型 运算 表达式

限制150内