《002基本数据类型.ppt》由会员分享,可在线阅读,更多相关《002基本数据类型.ppt(43页珍藏版)》请在三一办公上搜索。
1、数据类型 运算符和表达式,概述:,基本的数据类型 变量的概念及应用 常量的概念及应用 运算符和表达式,重点:,难点:,变量的概念及应用,基本的数据类型 运算符和表达式,基本数据类型,2 基本数据类型,2.1.1数据类型与表示范围,1 C简单程序设计,基本数据类型,在程序中使用的变量名、函数名、标号等统称为标识符。除库函数的函数名由系统定义外,其余都由用户自定义。C语言规定:1)、标识符只能是字母(AZ,az)、数字(09)、下划线(_)组成的字符串。2)、标识符的第一个字符必须是字母或下划线。,1.3.1标识符,1 C简单程序设计,基本数据类型,关键字是由语言规定的具有特定意义的字符串,通常也
2、称为保留字。用户定义的标识符不应与关键字相同。语言的关键字主要有:Auto bool break case catch char class const const_cast continue default delete do double dynamic_cast else enum explicit extern false float for friend goto if inline int long mutable namespace new operator private protected public register reinterpret_cast return sho
3、rt signed sizeof static static_cast struct switch template this throw true try typedef typeid typename unsigned union virtual void volatile while,1.3.2 关键字,2 基本数据类型,第002课 基本数据类型,2.3 变量的定义与应用,变量的定义:在程序的执行过程中其值可以变化的量称为变量,变量是需要用名字来标识的。就像常量具有各种类型一样,变量也具有相应的类型。变量在使用之前需要首先声明其类型和名称。变量名也是一种标识符,因而给变量命名时,应该遵守
4、前面介绍的标识符构成规则。,第002课 基本数据类型,2 基本数据类型,2.3.1整型变量,变量说明的一般形式为:类型说明符 变量名标识符,变量名标识符,.;例如:int a,b,c;(a,b,c为整型变量)long x,y;(x,y为长整型变量)unsigned p,q;(p,q为无符号整型变量),第002课 基本数据类型,2 基本数据类型,在书写变量说明时,应注意以下几点:允许在一个类型说明符后,说明多个相同类型的变量。各变量名之间用逗号间隔。而类型说明符与变量名之间至少用一个空格间隔。最后一个变量名之后必须以“;”号结尾。变量说明必须放在变量使用之前。一般放在函数体的开头部分。,第002
5、课 基本数据类型,2 基本数据类型,实型变量说明的格式和书写规则与整型相同。其中单精度类型的有效位数为位双精度类型的有效位数为位例如:float x,y;(x,y为单精度实型量)double a,b,c;(a,b,c为双精度实型量),2.3.2 实型变量,2 基本数据类型,第002课 基本数据类型,常量的定义:常量是指在程序运行的整个过程中其值始终不可改变的量,也就是直接使用符号(文字)表示的值。例如,35,4.8,A都是常量。,2.2常量的定义与应用,2 基本数据类型,第002课 基本数据类型,2.2.1整型常量,十进制数:有正负数,数值的取值范围0-9.如 23 56-737.八进制数:无
6、负数,以0开始,数值的取值范围0-7.如 045 083 007.十六进制数:无负数,以0 x开始,数值的取值范围0-9,A-F(或a-f).如 0 xff 0 xab 0 x1e.数值的后缀:用L(或l)结尾表示长整数,用U(或u)结尾表示无符号.,2 基本数据类型,第002课 基本数据类型,2.2.2 实型常量,十进制数形式:由数码0-9和小数点组成.如 0.0,3.1415926,-117.711指数形式:由十进制数,加阶码标志e 或E以及阶码组成.如 2.1e5,-22E-2,2 基本数据类型,第002课 基本数据类型,2.2.3 字符常量,字符常量只能用单引号括起来,不能用双引号或其
7、它括号。字符常量只能是单个字符,不能是字符串。字符可以是字符集中任意字符。,字符常量是用单引号括起来的一个字符。例如a,b,=,+,?都是合法字符常量。在语言中,字符常量有以下特点:,2 基本数据类型,第002课 基本数据类型,2.2.6 布尔常量和符号常量,布尔型常量只有两个:false(假)和true(真)。,符号常量在使用之前一定要首先声明,这一点与变量相同。常量声明语句的形式为:,const 数据类型说明符 常量名=常量值;数据类型说明符 const 常量名=常量值;,例如,我们可以声明一个代表圆周率的符号常量:,const float pi=3.1415926;,小结:,第002课
8、基本数据类型,掌握整型,浮点型,布尔型等数据类型 了解常量的概念和在程序中的使用 了解变量的概念和在程序中的使用,第002课 基本数据类型,1、在计算机系统中,一个字节的二进制位数为 A)16 B)8 C)4 D)由CPU的型号决定2、在C语言中,合法的长整型常数是 A)OL B)4962710 C)324562&D)216D3、以下选项中合法的字符常量是 A)B B)x10 C)68 D)D4、以下选项中,非法的字符常量是 A)t B)17 C)n D)xaa5、以下选项中不属于C语言的类型的是 A)signed short imt B)unsigned long int C)unsigne
9、d int D)long short6、一个long 类型的变量,在内存中占用几个字节。A)1字节 B)2字节 C)4字节 D)8字节,小测验(单选题):,第002课 基本数据类型,1、在计算机系统中,一个字节的二进制位数为(B)A)16 B)8 C)4 D)由CPU的型号决定2、在C语言中,合法的长整型常数是(A)A)OL B)4962710 C)324562&D)216D3、以下选项中合法的字符常量是(B)A)B B)x10 C)68 D)D4、以下选项中,非法的字符常量是(C)A)t B)17 C)n D)xaa5、以下选项中不属于C语言的类型的是(D)A)signed short in
10、t B)unsigned long int C)unsigned int D)long short6、一个long 类型的变量,在内存中占用几个字节。(C)A)1字节 B)2字节 C)4字节 D)8字节,小测验(单选题答案):,第002课 基本数据类型,分别用常量和变量的形式在屏幕上打印出整型数,字符和浮点数。,课后作业:,第005课 基本运算符和表达式,3 基本运算符和表达式,3.1 运算符和表达式,3.1.1 运算符和表达式的概念,在程序中,表达式是计算求值的基本单位。,表达式可以被定义为:一个常量或标识对象的标识符是一个最简单的表达式,其值是常量或对象的值。一个表达式的值可以用来参与其它
11、操作,即用作其它运算符的操作数,这就形成了更复杂的表达式。包含在括号中的表达式仍是一个表达式,其类型和值与未加括号时的表达式相同,第005课 基本运算符和表达式,3 基本运算符和表达式,3.1.2 运算符的分类,1.算术运算符用于各类数值运算。包括加(+)、减(-)、乘(*)、除(/)、求余(或称模运算,%)、自增(+)、自减(-)共七种。2.关系运算符用于比较运算。包括大于()、小于(=)、小于等于(=)和不等于(!=)六种。3.逻辑运算符用于逻辑运算。包括与(&)、或(|)、非(!)三种。,第005课 基本运算符和表达式,3 基本运算符和表达式,4.位操作运算符参与运算的量,按二进制位进行
12、运算。包括位与(&)、位或(|)、位非()、位异或()、左移()六种。5.赋值运算符用于赋值运算,分为简单赋值(=)、复合算术赋值(+=,-=,*=,/=,%=)和复合位运算赋值(&=,|=,=,=,=)三类共十一种。6.条件运算符这是一个三目运算符,用于条件求值(?:)。,第005课 基本运算符和表达式,3 基本运算符和表达式,7.逗号运算符用于把若干表达式组合成一个表达式(,)。8.指针运算符用于取内容(*)和取地址(&)二种运算。9.求字节数运算符用于计算数据类型所占的字节数(sizeof)。10.特殊运算符有括号(),下标,成员(,.)等几种。,第005课 基本运算符和表达式,3 基本
13、运算符和表达式,在混合运算时的优先级规则:先乘除,后加减.先计算,后赋值.先比较,后逻辑.括号改变优先级.,3.1.3优先级和结合性,语言中各运算符的结合性分为两种:左结合性(自左至右)。算术运算符的结合性是自左至右,即先左后右。右结合性(自右至左)。赋值运算符。,第005课 基本运算符和表达式,3 基本运算符和表达式,3.2算术运算符和算术表达式,什么是算术表达式:算术表达式是由常量、变量、函数和运算符组合起来的式子。一个表达式有一个值及其类型,它们等于计算表达式所得结果的值和类型。表达式求值按运算符的优先级和结合性规定的顺序进行。单个的常量、变量、函数可以看作是表达式的特例。,3 基本运算
14、符和表达式,第005课 基本运算符和表达式,算术运算符的性质:算术运算符包含:+,-,*,/,%.都属于双目运算符,即运算符两侧要各有一个操作数.具有左结合性.,3 基本运算符和表达式,第005课 基本运算符和表达式,自增运算符+,自减运算符 自增1,自减1运算符均为单目运算,都具有右结合性。,3.3递增和递减运算符的应用,3 基本运算符和表达式,第005课 基本运算符和表达式,赋值运算符记为“=”。由“=”连接的式子称为赋值表达式。,3.4赋值运算符和赋值表达式,3.4.1赋值运算符和表达式,实型赋予整型,舍去小数部分。整型赋予实型,数值不变,但将以浮点形式存放,即增加小数部分(小数部分的值
15、为0)。字符型赋予整型,由于字符型为一个字节,而整型为二个字节,故将字符的ASCII码值放到整型量的低八位中,高八位为0。整型赋予字符型,只把低八位赋予字符量。,如果赋值运算符两边的数据类型不相同,系统将自动进行类型转换,即把赋值号右边的类型换成左边的类型。具体规定如下:,3 基本运算符和表达式,第005课 基本运算符和表达式,在赋值符“=”之前加上其它双目运算符可构成复合赋值符。可以使用十种复合赋值运算符:+=,-=,*=,=,%=,=,&=,=,|=例如:a+=5 等价于a=a+5x*=y+7 等价于x=x*(y+7),3.4.2复合赋值运算符及表达式,3 基本运算符和表达式,第005课
16、基本运算符和表达式,在程序中经常需要比较两个量的大小关系,以决定程序下一步的工作。比较两个量的运算符称为关系运算符。在语言中有以下关系运算符:,3.5关系运算符和表达式,3.5.1 关系运算符,3 基本运算符和表达式,第005课 基本运算符和表达式,关系运算符的规则:关系运算符都是双目运算符,其结合性均为左结合。关系运算符的优先级低于算术运算符,高于赋值运算符。在六个关系运算符中,,=的优先级相同,高于=和!=。=和!=的优先级相同。关系表达式的值只有真和假.,3 基本运算符和表达式,第005课 基本运算符和表达式,3.6逻辑运算符和表达式,3.6.1.逻辑运算符,语言中提供了三种逻辑运算符:
17、,3 基本运算符和表达式,第005课 基本运算符和表达式,逻辑表达示的规则:与运算符&和或运算符|均为双目运算符。具有左结合性。非运算符!为单目运算符,具有右结合性。逻辑运算符相互间优先级的关系可表示如下:!(非)&(与)|(或)逻辑运算符和其它运算符优先级的关系可表示如下:!(非)算术运算符 关系运算符&和|赋值运算符,3 基本运算符和表达式,第005课 基本运算符和表达式,与运算&参与运算的两个量都为真时,结果才为真,否则为假。或运算|参与运算的两个量只要有一个为真,结果就为真。两个量都为假时,结果为假。非运算!参与运算量为真时,结果为假;参与运算量为假时,结果为真。,3.6.2 逻辑运算
18、的值,逻辑运算的值也为“真”和“假”两种,用“1”和“0”来表示。其求值规则如下:,3 基本运算符和表达式,第005课 基本运算符和表达式,语言中逗号“,”也是一种运算符,称为逗号运算符。其功能是把两个表达式连接起来组成一个表达式,称为逗号表达式。对于逗号表达式还要说明两点:,3.7 逗号运算符和逗号表达式,逗号表达式一般形式中的表达式1和表达式2 也可以又是逗号表达式。在程序中使用逗号表达式,通常是为了在逗号表达式内分别求各表达式的值,而不一定是为了求整个逗号表达式的值。并不是在所有出现逗号的地方都组成逗号表达式,如在变量说明中,函数参数表中逗号只是用作各变量之间的间隔符。,3 基本运算符和
19、表达式,第005课 基本运算符和表达式,3.8位运算,我们平时常用的数值表达一般都是以十为进制的。但是在计算机中数据的存储和运算却是基于二进制的,而在编程中程序员常用的进制还有十六进制,八进制,它们之间的换算关系如下表所示:,3 基本运算符和表达式,第005课 基本运算符和表达式,语言提供了位运算的功能,这使得语言也能像汇编语言一样用来编写系统程序。语言提供了六种位运算符:,3 基本运算符和表达式,第005课 基本运算符和表达式,位运算的规则:位运算是对表达式中的操作数逐位进行运算的.取反,是单目运算符.在左移运算中,溢出的高位丢弃,低位补对于有符号数,在右移时,符号位将随同移动。当为正数时,
20、最高位补0,而为负数时,符号位为1,最高位是补0或是补1 取决于编译系统的规定。Turbo C和很多系统规定为补1。,3 基本运算符和表达式,第005课 基本运算符和表达式,3.9强制类型转换,3.9.1 自动转换,若参与运算量的类型不同,则先转换成同一类型,然后进行运算。转换按数据长度增加的方向进行,以保证精度不降低。char型和short型参与运算时,必须先转换成int型。在赋值运算中,赋值号两边量的数据类型不同时,赋值号右边量的类型将转换为左边量的类型。,自动转换发生在不同数据类型的量混合运算时,由编译系统自动完成。自动转换遵循以下规则:,3 基本运算符和表达式,第005课 基本运算符和
21、表达式,3.9.2 强制类型转换,强制类型转换是通过类型转换运算来实现的。其一般形式为:(类型说明符)(表达式)其功能是把表达式的运算结果强制转换成类型说明符所表示的类型。例如:(float)a 把a转换为实型(int)(x+y)把x+y的结果转换为整型,3 基本运算符和表达式,第005课 基本运算符和表达式,在使用强制转换时应注意以下问题:,类型说明符和表达式都必须加括号(单个变量可以不加括号),如把(int)(x+y)写成(int)x+y则成了把x转换成int型之后再与y相加了。无论是强制转换或是自动转换,都只是为了本次运算的需要而对变量的数据长度进行的临时性转换,而不改变数据说明时对该变
22、量定义的类型。,小结:,第005课 基本运算符和表达式,通过本章的学习,熟练掌握算术运算符,赋值运算符,关系运 算符,逻辑运算符,逗号运算符,位运算符及其相应的表达式 理解强制类型转换的机制和用途,第005课 基本运算符和表达式,1、假定x和y为double型,则表达式x=2,y=x+3/2的值是A)3.500000 B)3 C)2.000000 D)3.0000002、以下合法的赋值语句是A)x=y=100 B)d-;C)x+y;D)c=int(a+b);3、设a、b、C、d、m、n均为int型变量,且a=5、b=6、c=7、d=8、m=2、n=2,则逻辑表达式(m=ab)后,C的值为A)1
23、.4 B)1 C)2.0 D)27、若变量a是int类型,并执行了语句:a=A+1.6;,则正确的叙述是A)a的值是字符C B)a的值是浮点型C)不允许字符型和浮点型相加 D)a的值是字符A的ASCII值加上1。,小测验(单选题):,第005课 基本运算符和表达式,1、假定x和y为double型,则表达式x=2,y=x+3/2的值是(D)A)3.500000 B)3 C)2.000000 D)3.0000002、以下合法的赋值语句是(AD)A)x=y=100 B)d-;C)x+y;D)c=int(a+b);3、设a、b、C、d、m、n均为int型变量,且a=5、b=6、c=7、d=8、m=2、n=2,则逻辑表达式(m=ab)后,C的值为(B)A)1.4 B)1 C)2.0 D)27、若变量a是int类型,并执行了语句:a=A+1.6;,则正确的叙述是(D)A)a的值是字符C B)a的值是浮点型C)不允许字符型和浮点型相加 D)a的值是字符A的ASCII值加上1。,小测验(单选题答案):,第005课 基本运算符和表达式,取一个整数a从右端开始的47位。程序分析:利用位运算得到相应位的值。,课后作业:,
链接地址:https://www.31ppt.com/p-5298671.html