第二章基本数据类型运算符和表达式.PPT
《第二章基本数据类型运算符和表达式.PPT》由会员分享,可在线阅读,更多相关《第二章基本数据类型运算符和表达式.PPT(63页珍藏版)》请在三一办公上搜索。
1、2023年7月5日星期三,安徽理工大学计算机软件教研室,1,第二章 基本数据类型、运算符和表达式,2.1 数据类型2.2 变量和常量 2.3 运算符和表达式2.4 指针2.5 typedef语句2.6 应用举例,2023年7月5日星期三,安徽理工大学计算机软件教研室,2,程序中要对各种各样的数据进行描述和操作,用到的数据都必须指明其类型。数据类型的作用:指出了应为数据分配的存储空间的大小规定了数据所能进行的操作,2.1 数据类型,2023年7月5日星期三,安徽理工大学计算机软件教研室,3,2023年7月5日星期三,安徽理工大学计算机软件教研室,4,基本数据类型,C+语言的基本数据类型:数据类型
2、 类型说明浮 占用字节字符型 char 1个短整数 short 2个整型 int 4个浮点型 float 4个双精度型 double 8个,2023年7月5日星期三,安徽理工大学计算机软件教研室,5,数据在计算机中的存放,数据在计算机中采用二进制存放;一个字节8个二进制位,示意图如下:,数的表示范围:-2727-1(-128127)显然,一个字节表示数的范围是有限的。要表示更大范围内的数,就要使用多个字节。,7,0,2023年7月5日星期三,安徽理工大学计算机软件教研室,6,整数的存储格式,字符型短整型短整数表示范围为:-215215-1(-3276832767)长整型 长整数表示范围为:-2
3、31231-1,7,0,15,8,7,0,31,24,23,16,15,8,7,0,2023年7月5日星期三,安徽理工大学计算机软件教研室,7,实数的表示,实数也称为浮点数,用于表示小数;有两种表示形式:十进制形式:.指数形式:.,一般浮点数的可以达到7位有效数字。例如1234.567。双精度浮点数的有效位数可以达到1516位。,尾数部分,指数部分,31,24,23,16,15,8,7,0,2023年7月5日星期三,安徽理工大学计算机软件教研室,8,程序运行过程中其值可变的量,定义方式如下:数据类型 变量名表;C/C+规定:程序中所有变量必须先定义后使用,可及时发现录入错误(如,定义的变量为d
4、ata,而程序体中使用变量为date),同时还可限制非法运算(如:a%b,若a,b为float类型则出错)。,C+中变量可随时使用,随时定义。,例如:int a,b;(定义变量a和b为整型)float x,y;(定义变量x和y为单精度实型),2.2.1 变量,2.2 变量和常量,1.变量的定义,2023年7月5日星期三,安徽理工大学计算机软件教研室,9,变量必须先有确定的值后才能参与各种相应的操作,变量获取值的途径有三:通过输入语句输入(如:cina;)通过赋值语句赋值(如:a=3;)通过初始化方式赋初值(如:int k=3;)所谓初始化是指在定义变量的同时指定变量的初值,形式有二:例如:in
5、t k=3,m=3,n(3);()int k=m=n=3;/不允许为多个变量同时初始化,数据类型 变量名=表达式;数据类型 变量名(表达式);,2.变量的初始化,2023年7月5日星期三,安徽理工大学计算机软件教研室,10,C+中增加了“引用”这一概念,许多地方可以代替指针实现相应的功能,比指针更安全。所谓引用即给一个已知变量起个别名,系统不为引用另外开辟内存,而是与原变量共享同一段内存,引用好比是一个虚拟的变量,声明形式为:,数据类型&引用名=已定义的变量,如:int a=3,/你知道此时a的值为多少吗?,3.变量引用,2023年7月5日星期三,安徽理工大学计算机软件教研室,11,通过引用名
6、与通过被引用的变量名访问变量的效果是一样的。使用引用是必须注意下列问题:声明一个引用时,必须同时对它进行初始化,使它指向一个已存在的对象。一旦一个引用被初始化,就不能改为指向其他对象。即一个引用从它诞生之时起,就必须确定是哪个变量的别名,而且始终只能作为这个变量的别名,不能另作他用。引用可以作为形参,称为引用调用。,2023年7月5日星期三,安徽理工大学计算机软件教研室,12,2.2.2 常量,在程序运行过程中其值不能改变的量,有值常量和符号常量两种。,1.整型常量,2023年7月5日星期三,安徽理工大学计算机软件教研室,13,十进制小数形式:由正负号、数字和小数点组成,如1.25、-1.25
7、、17.和.1 指数形式:由尾数、指数符号e(或E)及指数构成,其中指数必须是十进制整数。如1.25e-5、+1e10、-1.25e5。注意:e前面不能没有数字,e后面的数字必须为整数,也不能加园括号。如1E(-3)、E-5、1e2.1都是错误的。,2.实型常量,2023年7月5日星期三,安徽理工大学计算机软件教研室,14,C/C+提供了两类字符型常量:普通字符常量:用单引号括起来的一个字符。如:A、0、?。转义字符常量:以“”(反斜杠)开头的用单引号括起来的字符序列。如:n、t、x61等。常用的转义字符见p26。注意:0表示ASCII码为0的字符,它是一个空字符,注意其与0的区别,后者表示的
8、是ASCII码为48的数字字符。字符型数据在内存中以ASCII码存储,故整型数据和字符型数据在一定范围内可以通用。如:,2.字符常量,x=a+2;,2023年7月5日星期三,安徽理工大学计算机软件教研室,15,是以标识符形式出现的常量,作用是便于程序阅读和修改。C+中用define命令或关键字const定义符号常量,形式如下:,字符串常量是用双引号括起来的字符序列,系统在字符串常量最后自动加字符串结束符号 0。例如:字符串“A”的存储形式:字符A的存储形式:,#define 标识符 常量值或:const 数据类型 标识符=常量值,4.字符串常量,5.符号常量,2023年7月5日星期三,安徽理工
9、大学计算机软件教研室,16,注意:,习惯上符号常量名大写,而变量名小写,以示区分。符号常量虽然用标识符来标识,但本质上是常量,具有常量值不能改变的性质。,#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=sendl;,例2-1,1.演示不同精度圆周率的程序运行结果2.观察编译中的“警告”对程序运行的影响3.消除“warning”的方法,2023年7月5日星期三,安徽理工大学计算机软件教研室,17,运算符具有三个属性:优先级:指运算的先后次序,共分15个级别。(见p27
10、表1.2.4)结合性:指相同优先级运算符连续出现时的计算顺序,分自左 向右和自右向左两种,除特别声明外,皆指自左向右。目 数:指运算符要求的操作数的个数,包括单目、双目和三目,一般目数越少,优先级越高。,表达式:由常量、变量、函数调用和运算符按一定规律组合在一起构成的式子。如:a+14/(3+2)-sqrt(17),2.3 运算符和表达式,2.3.1 基本概念,2023年7月5日星期三,安徽理工大学计算机软件教研室,18,C运算符简介,1.概念:运算是对数据的加工,在描述数据加工时,用来表示各种运算的符号称运算符。用运算符将运算对象连接形成的运算式称运算表达式,简称表达式。C语言的运算符是一种
11、向编译程序说明一个特定的数学或逻辑运算的符号,运算符必须有运算对象。C中运算符的运算对象可以是一个,称单目运算符;运算对象可以有两个,称双目运算符;运算对象还可以是三个,称三目运算符。双目运算符放在运算对象中间,三目运算符夹在三个运算对象之间。,2023年7月5日星期三,安徽理工大学计算机软件教研室,19,2.优先级:表达式中有多个运算符时,就会碰到哪个先运算的问题,称运算符的优先级,即优先级高的先运算。注:用圆括号括住的部分先算,其优先级高于任何运算符;若在圆括号中又有圆括号,则内层圆括号优先于外层圆括号。3.结合性:即同级别运算符还规定结合性,运算时自左向右进行的,称左结合;运算时自右向左
12、进行的,称右结合。4.运算符:有30多种,分类见下页图。注:运算符由键盘上的符号或若干符号组成;,2023年7月5日星期三,安徽理工大学计算机软件教研室,20,2023年7月5日星期三,安徽理工大学计算机软件教研室,21,少数运算符号有重复,如:“+”:既是单目的正运算,又可表示双目加法运算;“-”:既是单目的取负运算,又可表示双目减法运算;“*”:既是双目乘法运算,在指针运算中表示指针指向的变量;“&”:表示双目逻辑的“与”运算,在指针运算中表示取地址和运算。,2023年7月5日星期三,安徽理工大学计算机软件教研室,22,2023年7月5日星期三,安徽理工大学计算机软件教研室,23,种类:+
13、(加法或取正)-(减法或取负)*(乘法)/(除法)%(求余数)+(自增)-(自减),正、负,加、减,2.3.2 运算符,1.算术运算,其中:+和-的结合性则是自右向左 优先级:(从高到低)(+、-、+、-)(*、/、%)(+、-),2023年7月5日星期三,安徽理工大学计算机软件教研室,24,说明:在除法运算中,当两个操作数都是整数时,商也为整数,小数部分一律舍去。如:1/2 0 1.0/2 0.5%(求余运算)要求两个操作数都是整型,结果为整除后余下的整余数。自增、自减运算符(+、-)+i,-i(在使用 i之前,先使i的值加减1)i+,i-(在使用 i之后,使i的值加减1),若 i 的值为3
14、,则:j=+i;j的值为4,i的值为4 j=i+;j的值为3,i的值为4,注意:自增、自减运算符只能用于变量,而不能用于常量和表达式。()5+、(a+b)+,2023年7月5日星期三,安徽理工大学计算机软件教研室,25,有关表达式使用中的问题说明:1.在表达式中包含自加(减)运算时,很容易出错。如:(i+)+(i+)+(i+)表达式值为9,然后i值为6;(i原为3)k=(+i)+(+i)+(+i)先对i自加三次1,i得6,然后k=6+6+6 2.C语言中有的运算符为一个字符,有的为两个字符,如:i+j,是理解成(i+)+j,还是i+(+j)呢?C编译时尽可能多地自左而右将若干字符组成一个运算符
15、,故解释为(i+)+j。,2023年7月5日星期三,安徽理工大学计算机软件教研室,26,种类:(大于)=(等于)、=(大于等于)、!=(不等于)优先级:(从高到低)(、=)(=、!=)关系运算描述的是一种“判断关系”,其结果有“真(true)”和“假(false)”两种。用“1”代表“真”,用“0”代表“假”例如:53的结果为1,aB的结果为0思考:x为0到100之间的数能否表示为 0=x=100?,2.关系运算,2023年7月5日星期三,安徽理工大学计算机软件教研室,27,种类:&(逻辑与)、|(逻辑或)、!(逻辑非)优先级:(从高到低)!&|其中,“!”是单目运算符,优先级高于算术运算符。
16、“”和“|”低于关系运算符。逻辑运算通常用来连接关系运算,逻辑运算符两端的操作数如为“非”,就当作“真”来处理,如果是“”,便当作“假”来处理。逻辑运算的结果也只有 0(false)和1(true)两种。,3.逻辑运算,2023年7月5日星期三,安徽理工大学计算机软件教研室,28,说明:当多个&连续出现时,如表达式&表达式&表达式从左到右,只要一个操作数为0,结果就为0,不进行后续运算。当多个|连续出现时,如表达式|表达式|表达式从左到右,只要一个操作数为1,结果就为1,不进行后续运算。例如表达式:(m=ab)&(n=cd)当a=1,b=2,c=3,d=4,m和n原值为1;由于ab的值为0,所
17、以m=0,而n=cd不被执行,因此n的值仍保持原值1。,2023年7月5日星期三,安徽理工大学计算机软件教研室,29,#include iostream.hvoid main()int m,n=10;m=2,例2-2,1.分析运行结果2.改为m=0&n+,结果又如何。,形式:e1?e2:e3 一般而言,e1为条件表达式,当其成立时,将e2的值作为整个表达式的值,不再计算e3的值;否则取e3的值作为整个表达式的结果,而不计算e2的值。,4.条件运算,2023年7月5日星期三,安徽理工大学计算机软件教研室,30,如:max(xy?x:y);/将和中较大的一个数赋值给变量max条件运算符的结合性是由
18、右向左思考题:对n(0)个人进行分班,每班k(0)个人,最后不足k人也编一班,问要编几个班?(试用条件运算符表达),n%k0?n/k+1:n/k,格式:作用:将一个数据赋给一个变量,并以变量的值作为整个式子的值。,变量 赋值运算符 表达式,5.赋值运算,2023年7月5日星期三,安徽理工大学计算机软件教研室,31,其中赋值运算符可以是“=”,也可以是复合赋值运算符,如“+=”、“-=”、“*=”、“/=”和“%=”等等。复合赋值运算符的等价形式:(以“+=”为例)例如:b/=a+2 等价于:b=b/(a+2)结合性自右向左若两端类型不同,则系统自动将右端类型转换为左端类型。例如:有定义 int
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 第二 基本 数据类型 运算 表达式
链接地址:https://www.31ppt.com/p-5415801.html