欢迎来到天天文库
浏览记录
ID:14130776
大小:155.00 KB
页数:25页
时间:2018-07-26
《第2章 类型、运算符与表达式》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库。
1、第2章类型、运算符与表达式变量和常量是程序处理的两种基本数据对象。声明语句说明变量的名字及类型,也可以指定变量的初值。运算符指定将要进行的操作。表达式则把变量与常量组合起来生成新的值。对象的类型决定该对象可取值的集合以及可以对该对象执行的操作。本章将详细讲述这些内容。所有整型都包括signed(带符号)和unsigned(无符号)两种形式,且可以表示无符号常量与十六进制字符常量。浮点运算可以以单精度进行,还可以使用更高精度的longdouble类型运算。字符串常量可以在编译时连接。ANSIC还支持枚举类型,
2、该语言特性经过了长期的发展才形成。对象可以声明为const(常量)类型,表明其值不能修改。2.1变量名对变量的命名与符号常量的命名存在一些限制条件,由字母和数字组成,第一个字符必须为字母。下划线“_”被看作是字母,通常用于命名较长的变量名,以提高其可读性。由于函数的名字通常以下划线开头,因此变量名不要以下划线开头。大写字母与小写字母是有区别的,所以,x与X是两个不同的名字。在传统的C语言用法中,变量名使用小写字母,符号常量名全部使用大写字母。类似于if、else、int、float等关键字是保留给语言本身使
3、用的,不能把它们用做变量名。所有关健字中的字符都必须小写。选择的变量名要能够尽量从字面上表达变量的用途,这样做不容易引起混淆。局部变量一般使用较短的变量名(尤其是循环控制变量),外部变量使用较长的名字。2.2数据类型及长度C语言只提供了下列几种基本数据类型:char字符型,占用一个字节,可以存放本地字符集中的一个字符int整型,通常反映了所用机器中整数的最自然长度float单精度浮点型double双精度浮点型此外,还可以在这些基本数据类型的前面加上一些限定符。short与long两个限定符用于限定整型:sh
4、ortintsh;longintcounter;在上述这种类型的声明中,关键字int可以省略。通常很多人也习惯这么做。short与long两个限定符的引入可以为我们提供满足实际需要的不同长度的整型数。int通常代表特定机器中整数的自然长度。short类型通常为16位,1ong类型通常为32位,int类型可以为16位或32位。各编译器可以根据硬件特性自主选择合适的类型长度,但要遵循下列限制:short与int类型至少为16位,而long类型至少为32位,并且short类型不得长于int类型,而int类型不得长
5、于long类型。类型限定符signed与unsigned可用于限定char类型或任何整型。unsigned类型的数总是正值或0,并遵守算术模2n定律,其中n是该类型占用的位数。例如,如果char对象占用8位,那么unsignedchar类型变量的取值范围为0~255,而signedchar类型变量的取值范围则为-128~127(在采用对二的补码的机器上)。不带限定符的char类型对象是否带符号则取决于具体机器,但可打印字符总是正值。longdouble类型表示高精度的浮点数。同整型一样,浮点型的长度也取决于
6、具体的实现。float、double与longdouble类型可以表示相同的长度,也可以表示两种或三种不同的长度。有关这些类型长度定义的符号常量以及其它与机器和编译器有关的属性可以在标准头文件与中找到,这些内容将在附录B中讨论。练习2-1编写一个程序以确定分别由signed及unsigned限定的char、short、int与long类型变量的取值范围。采用打印标准头文件中的相应值以及直接计算两种方式实现。后一种方法的实现较困难一些,因为要确定各种浮点类型的取值范围。2
7、.3常量类似于1234的整数常量属于int类型。long类型的常量以字母l或L结尾,如123456789L。如果一个整数太大以至于无法用int类型表示时,也将被当作long类型处理。无符号常量以字母u或U结尾。后缀ul或UL表明是unsignedlong类型。浮点数常量中包含一个小数点(如123.4)或一个指数(如1e-2),也可以两者都有。没有后缀的浮点数常量为double类型。后缀f或F表示float类型,而后缀l或L则表示longdouble类型。整型数除了用十进制表示外,还可以用八进制或十六进制表示
8、。带前缀0的整型常量表示它为八进制形式;前缀为0x或0X,则表示它为十六进制形式。例如,十进制数31可以写成八进制形式037,也可以写成十六进制形式0x1f或0X1F。八进制与十六进制的常量也可以使用后缀L表示long类型,使用后缀U表示unsigned类型。例如,0XFUL是一个unsignedlong类型(无符号长整型)的常量,其值等于十进制数15。一个字符常量是一个整数,书写时将一个字符括在单引号中,如'x
此文档下载收益归作者所有