资源描述:
《C语言程序设计 教学课件 作者 王玉 主编第2章.ppt》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、第2章基本数据类型、运算符及表达式本章主要内容2.1常量2.2变量及其说明2.3标准数据类型2.4数据类型转换2.5运算符及表达式2.1常量2.1.1常量的分类和表示2.1.2常量的定义2.1.1常量的分类和表示1.无正负号整型常量无正负号整型常量可以用以下3种形式表示:①十进制数形式为非0开头的一串十进数字串。②八进制数形式为以0开头的一串八进数字串。③十六进制数形式为以0x或0z开头的一串十六进数字串。2.整型常量在无正负号整型常量前可加上符号,则构成正整型常量或负整型常量。因其符号位要占据一个二进制位,故其数值范围为-32767~32767。3.实型常量实型常量是一种在数值
2、中出现小数点或指数部分的常量,又称浮点常量。它可以用两种形式表示。①十进制数形式,又称定点表示形式,它由数字和小数点组成。②指数形式,又称浮点表示形式。它由下述5部分组成:[±]数[.数]e[±]数数符尾数阶符阶码4.双精度实型常量双精度实型常量与实型常量一样有十进制数和指数两种表示形式,同样是带有小数点或指数部分的常量,区别仅在于它占有更多的字节存储位置。5.字符常量C语言的字符常量又称字符型常量。它有两种表示方式:①由括在一对单引号中的一个字符构成。②由括在一对单引号中的转义字符构成。6.字符串常量字符串常量由括在一对双引号中的字符序列或转义字符序列构成。其中字符序列由零个或
3、多个字符组成。2.1.2常量的定义为了提高通用性和灵活性,C程序常用一个标识符来代表一个常量,称符号常量。C语言规定要用常量定义来说明常量标识符及其所代表的常量。常量定义格式:#define常量标识符常量如:#defineMAX1002.2变量及其说明变量是一种在程序执行过程中其值能不断变化的量。C程序中每一个变量都必须有一个标识符作“变量名”。习惯约定,变量名用能反映其意义的小写字符串来表示。对程序中的变量,在使用之前必须加以说明,指明其存储属性和数据类型,以便编译系统给它分配存储位置。变量说明格式:[存储属性]类型变量表;其中变量表为:变量,变量……变量。例如:inta,b,
4、c;2.3标准数据类型2.3.1整数类型2.3.2实数类型2.3.3双精度实数类型2.3.4字符类型2.3.1整数类型整数类型的标志是int,它可以保存一个整数常量。分为如下四种:①基本型:标志是int。②短整型:标志是shortint或short。③长整型:标志是longint或long。④无符号型:存储单元中全部二进位均用来存放整数本身,而不包括符号位。它又分为三种:无符号整型:标志是unsignedint。无符号短整型:标志是unsignedshort。无符号长整型:标志是unsignedlong。2.3.2实数类型实数类型的标志是float,又称为单精度浮点类型。通常一个
5、float型数据在内存中占32位(4个字节),其中8位表示指数部分,其余24位表示带符号的尾数。float型数据的数值范围同样与宿主机器有关。在IBMPC微机中,float型数据就按上述32位格式存储,故其数值范围约为3.4×10-38~3.4×1038。float型变量可以用来存放一个单精度的实型常量,它具有7位十进制数的精确度。2.3.3双精度实数类型双精度实数类型的标志是double,又称为双精度浮点类型。通常一个double型数据在内存中占64位(8个字节),其精度为15~16位有效数字,在IBMPC微机中,double型数据的数值范围约为10-308~10308。2.3
6、.4字符类型字符类型的标志是char,它用来存放一个字符,不能存放字符串,而只能存放一个字符。一个char型数据在内存中占8位(1个字节),它实际上存储的是该字符相应的ASCII(美国标准信息交换码)。在C语言中将小写字母转换成大写字母,只要对其减去32即可得到。此外,在C语言中,字符型数据和整型数据之间还可以互相赋值。C语言没有直接提供其他高级语言所常有的“逻辑类型”或“布尔类型”。但是,在C语言中,同样有关系运算和逻辑运算。为了表示关系表达式和逻辑表达式所得的逻辑结果,C语言用整型值0表示逻辑值“假”,而用非0整型值表示逻辑值“真”。2.4数据类型转换2.4.1标准类型数据隐
7、式转换2.4.2强制类型转换2.4.1标准类型数据隐式转换隐式转换规则中,横向向左的箭头表示运算时必定的转换;纵向向上的箭头表示运算对象类型不一致时转换的方向,其总的原则是由级别低的向级别高的转换。C语言允许任何标准类型数据之间的隐式转换。即在运算时,不同类型数据将按图2.1所示规则,自动地进行类型转换,从而实现整型、单精度型、双精度型和字符型间不同类型数据的混合运算。图2.1标准类型数据隐式转换规则2.4.2强制类型转换C语言系统提供了一个强制类型转换运算符“()”,用它可以在