admin 管理员组文章数量: 887021
2023年12月16日发(作者:google翻译需要外网吗)
龙源期刊网
数据类型和存储模式在C程序设计中的重要作用
作者:王玲
来源:《电子世界》2013年第15期
【摘要】在C程序设计中,必须坚决执行变量、函数先定义,后使用的原则。在定义时务必做到,首先根据估算的可能发生的最大或最小值、充分考虑将要发生的各种运算,正确选择变量函数的数据类型,以避免数据溢出及运算异常。其次根据变量的作用域和生命历程,选择合理的存储模式,以优化程序,提高程序运行效率。
【关键词】合理定义;数据类型;存储模式;正确编程
1.一个简单程序带来的深层思考
有位学生在学习Turbo C语言程序设计时,根据圆周率的级数展开式:
这一程序,编译、连接时连警告信息也没有顺利通过,然而在运行时区发生了意想不到的错误结果。计算后输出的结果并非事先人们已经知道的3.141593,而是显示:
pi=2.000000
这说明,程序中存在软错误,即逻辑错误、数据类型错误、运算错误等。这位学生反复检查,却并未发现有数学运算方面的问题,找不到错误出现的原因。无奈之下,只好求助于老师。
老师看后告诉他:主函数完全正确,但两个子函数fact()、multi()及各函数体内的局部变量p的数据类型不对。不能把它们定义为int型,而应定义为double型。
学生根据老师的提示进行了修改,果然得到了正确的结论。但尚不明白为什么这么小小的修改,就会产生完全不同的结果。老师启发他,认真看书,务必搞清楚定义变量、函数时,正确选择数据类型的重要意义。
2.正确定义变量的数据类型是避免错误的有效方法之一
在C语言程序设计中,始终必须坚持一个非常行重要的原则,即变量必须“先定义而后使用”。变量的定义格式是:
数据类型 变量名1[=值1][,变量名2[=值2]……];
龙源期刊网
C语言的数据类型分为基本型、构造型、指针型、空型。他们决定了变量在内存中的存储形式、值域及所允许的运算。
2.1 数值类数据的机内存储形式
在C语言中基本数据类型分为:数值型、字符型、枚举型三大类。其中数值型数据又分为:整型、实型两个子类。
(1)整型数据以补码形式存储
整型数据又可细分为:短整型short、整型int、长整型long三类。Turbo C中,它们分别按1、2、4个字节(8、16、32个二进制位)以补码形式在计算机中存放。
(2)实型数据以浮点型是存储
实型数据又可细分为:单精度型float、双精度型double两类。Turbo C中,它们分别按4、8个字节(32、64个二进制位)以浮点形式在计算机中存放。
Float型数据存放时,1位数符位(0为正1为负)、1位阶符位(0为正1为负)、7位阶码位、23位尾数位。
double型数据存放时,1位数符位(0为正1为负)、1位阶符位(0为正1为负)、11位阶码位、52位尾数位。
以下面是+987.654浮点数在计算机内存储的示意格式。
2.2 数值类数据的值域
值域指数据所允许取值的范围。在C语言中整型数与实型数,因其存储形式不同,所以值域大有差别。
(1)整型数据的值域
用整型数据表示的数值绝对精确,但表示的范围却很有限。如超限会产生数据溢出,而可怕的是这种溢出C语言并不给出错误信息,全凭程序设计者的经验与细心才能避免。设一个整型变量m占n个二进制位,则它的取值范围为:
例如int整型变量,按2字节补码方式二进制存储,因此它的取值范围为:-215到+215-1之间,即:-32768到+32767之间。
(2)实型数据的值域
版权声明:本文标题:数据类型和存储模式在C程序设计中的重要作用 内容由网友自发贡献,该文观点仅代表作者本人, 转载请联系作者并注明出处:http://www.freenas.com.cn/jishu/1702707702h427576.html, 本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容,一经查实,本站将立刻删除。
发表评论