栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > C/C++/C#

学习C语言时的那些我们共同的疑问(持续更新...)

C/C++/C# 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

学习C语言时的那些我们共同的疑问(持续更新...)

参考资料:C语言程序设计(第四版)谭浩强著

目录

Q1:为什么在用计算机运算时,要指定数据的类型?

Q2:浮点型数据是用来表示具有小数点的实数的。为什么在C中把实数称为浮点数呢?

Q3:在C语言中,不仅变量有类型,常量也有类型。为什么要把常量分为不同的类型呢?

Q4:为什么说“使用C语言进行编程时,还存在语法错误之外的错误?”

Q5:“不要以为计算机输出的所有数字都是绝对精确有效的”这句话如何理解?


Q1:为什么在用计算机运算时,要指定数据的类型?

 A1:因为在数学中,数值是不分类型的,数值的运算是绝对准确的,例如: 78与97之和为175,1/3 的值是0. 3333333...(循环小数)。数学是一门研究抽象的学科,数和数的运算都是抽象的。而在计算机中,数据是存放在存储单元中的,它是具体存在的。而且,存储单元是由有限的字节构成的,每一个存储单元中存放数据的范围是有限的,不可能存放“无穷大”的数,也不能存放循环小数。

例如用C程序.计算和输出1/3:
        printf("%d" ,1.0/3.0);
得到的结果是0.333333,只能得到6位小数,而不是无穷位的小数。


Q2:浮点型数据是用来表示具有小数点的实数的。为什么在C中把实数称为浮点数呢?

A2:因为在C语言中,实数是以指数形式存放在存储单元中的。一个实数表示为指数可以有不止一种形式,如3.1416可以表示为: 3. 14159X10° 、0. 314159X 10' 、0. 0314159X10² 、31.4159X10ˉ¹ 、314. 159X10ˉ²等,它们代表同一个值。可以看到:小数点的位置是可以在31416几个数字之间和之前或之后(加0)浮动的,只要在小数点位置浮动的同时改变指数的值,就可以保证它的值不会改变。由于小数点位置可以浮动,所以实数的指数形式称为浮点数。


Q3:在C语言中,不仅变量有类型,常量也有类型。为什么要把常量分为不同的类型呢?

A3:因为在程序中出现的常量是要存放在计算机中的存储单元中的。这就必须确定分配给它多少字节,按什么方式存储。例如,程序中有整数12,在Visual C++ 6.0中会分配给它4个字节,按补码方式存储。


Q4:为什么说“使用C语言进行编程时,还存在语法错误之外的错误?”

A4:由于C语言使用灵活,在不同类型数据之间赋值时,常常会出现数据的失真,而且这不
属于语法错误,编译系统并不提示出错,全靠程序员的经验来找出问题。这就要求编程人员
对出现问题的原因有所了解,以便迅速排除故障。


Q5:“不要以为计算机输出的所有数字都是绝对精确有效的”这句话如何理解?

A5:因为在用%f输出时要注意数据本身能提供的有效数字,比如double型数据能保证15位有效数字。float型数据的存储单元只能保证6位有效数字。来看下面两个例子你就应该明白了↓


... 待更新 ...

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/890433.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号