C04第2章数字化信息编码与C语言数据类型

C04第2章数字化信息编码与C语言数据类型

ID:40836721

大小:532.01 KB

页数:48页

时间:2019-08-08

C04第2章数字化信息编码与C语言数据类型_第1页
C04第2章数字化信息编码与C语言数据类型_第2页
C04第2章数字化信息编码与C语言数据类型_第3页
C04第2章数字化信息编码与C语言数据类型_第4页
C04第2章数字化信息编码与C语言数据类型_第5页
资源描述:

《C04第2章数字化信息编码与C语言数据类型》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库

1、新编C语言程序设计教程清华大学出版社周二强zeq@hncj.edu.cn软件学院计算机科学与工程系配套视频:zeq126.56.com博客:blog.csdn.net/stunt数字化信息编码与C语言的数据类型2.3整型2.3.1整型的分类2.3.2整型字面量2.3.3整型的输入输出2.4浮点型2.4.1浮点型的取值范围和精度2.4.2浮点型的分类2.4.3浮点型字面量和浮点型数据的输入输出2.5字符型2.5.1字符型数据的编码2.5.2字符型字面量2.5.3字符型数据的输入和输出2.3.1整型的分类整型的基本类型符为int。整型的编码长度通常

2、是一个机器字。在早期的16位机器如IBMPc机上,整型(int)用2个字节编码,取值范围为-215~215-1即-32768~32767;而在32位机器上,整型(int)用4个字节编码,取值范围为-231~231-1,即-2147483648~2147483647。编码长度相对比较固定的整型shortint类型(短整型),可简写为short,编码长度为2个字节,取值范围-32768~32767。longint类型(长整型),可简写为long,编码长度为4个字节,取值范围-2147483648~2147483647。严格地说,整型只有两类shor

3、tint和longint,int与系统相关,但仅相当于其中的一个。VC6.0中,int的编码长度是4个字节,与longint等价。“无符号”整型修饰符unsigned加在整型前面就变成了“无符号”整型。所谓“无符号”整型,就是编码中取消了符号位,全部为数值位,因此“无符号”整型虽然不能编码负数,但是,它可以编码的正数的范围扩大了一倍。无符号整型有哪些呢?“无符号”整型unsignedshortint(无符号短整型),简写为unsingedshort,编码长度2个字节不变,取值范围0~216-1(65535)。unsignedlongint(无符

4、号长整型),简写为unsingedlong,编码长度4个字节不变,取值范围0~232-1(4294967295)。unsignedint(无符号整型),等价于上面两个中的一个。如何选择变量的类型?数据的运算结果超出取值范围时就会因溢出而出错长整型的变量存储取值范围很小的数据又会造成内存空间的浪费return2.3.2整型字面量所谓字面量是指在编码的时候就已经确定的量。一个整数如23就是一个整型字面量。整型字面量默认也是有类型的如果整型字面量的值在-32768~32767范围内,则认为其是short型的;如果整型字面量的值超过了上述范围,而在-2

5、14783648~2147483647范围内,则认为其是long型的。整数字面量的后缀字面量加上后缀l或L后被认为是长整型。,如23默认为是short型的,占两个字节,而23L则是long型的,占4个字节。整型字面量可以加上后缀u或U,表示它的类型为unsingedint(无符号整型)。整型字面量还可以加上u和l两后缀(次序、大小写不限),表示该字面量为无符号长整型。整数字面量的注意事项一,整型字面量究竟是何类型通常与编译系统相关,如字面量-1在TC中通常认为是short型,而在VC中通常认为是long型的。二,如果有初始化语句unsinged

6、shorti=-1u;,则-1会先转换成1111111111111111的补码形式,然后-1的补码形式会存储到变量i标示的存储空间,即i的值是65535。这条语句也可写作unsingedshorti=-1;。语句shorti=-1u;和语句shorti=65535;均应这样理解。整数字面量的注意事项三,在类型转换和表达式求值时,要特别注意字面量的类型,如:-1u-23的结果-1u是short型无符号数时其值为65535,因此-1u-23结果为65512,大于0,而-1-23的结果为-24小于0。整型字面量的进制在C语言中,使用前缀来标明一个整型

7、字面量的进制。前缀为“0”的整数是八进制数如027为十进制的23;前缀为“0x”或“0X”的整数是十六进制数如0x17为十进制的23。十进制整数的前缀为空,即无前缀。如:语句inti=027,j=0x17,k=0X17;定义了三个变量i、j、k,而且它们的值都被初始化为23了。return2.3.3整型的输入输出利用格式符串%d可以输出整型变量的值,也可把数据赋值给整型变量。利用格式字符d使用语句scanf("%d",&a);把类似031这样的八进制字面量正确赋值给变量a可以吗?行不通!格式字符d只能用来输入或输出有符号的十进制整数与整型相关的

8、常用格式字符还有i、u、o、x、X。整型的格式字符前面可以加一个附加格式说明符l或h。l用于长整型输入或输出;h用于短整型的输入或输出。一般地,int

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。