c语言double输入输出格式(c语言浮点型输入格式)
c语言double输入输出格式,c语言浮点型输入格式
浮点型
OK,接下来进入上节遗留的问题,浮点型,浮点型又称实型,很简单,基本浮点型就两个double和float,当然,还可以衍生longdouble型等,先看基本内容。
float
单精度型,一般占4字节,浮点型编译器默认保留6位精度(就是编译器默认只输出小数点后六位,除非用户自己设置保留几位),float就是6位精度,有效位数是7位。定义floata;
double
双精度型,占8字节,15位精度,有效位数是16位。上面举例的longdouble是占16字节的,一般情况下我们是用不到了,为啥呢?
小数点后15位数都不够你用的,你想上天么?定义doublea;
我们前面介绍整型数据类型都直接告诉大家取值范围,到浮点型咋不给呢?直接给怕你们印象不深,我们通过程序写出来。
前面告诉大家%f是可以输出浮点数的,但是在这里我们要全部显示出来,因为光听我讲精度是几位,取值范围是多少,大家怀疑,拿我们打印出来好了,所以换一个,%E或%e,按指数形式输出单、双精度实数,大家自己看。
怎么写?
用float.h这个头文件,老规矩,先引用:
我们可以看到,FLT_MAX、FLT_MIN、DBL_MAX和DBL_MIN这四个大写的宏,这个宏出自float.h这个头文件里。
啥叫宏?
卖关子。反正这几个宏就是float和double能赋的**值和最小值,来看结果:
知道我为啥不直接写了吧……
老规矩,上图(包括longdouble):
字符类型
我们char字符型终于上场了。无论哪种操作系统,字符类型都是占一个字节。比如chara=‘a’;前面的a是变量,后面的a是字符,要用单引号。
为啥是单引号?
如果是双引号就变成了接下来要说的字符串了,记住’a’和”a”不是同一个东西。还有,前面提到的\n也是一个字符。
说到字符类型,就不得不提一个东西——ASCII表,长啥样子呢?
我们看一共0~255,256个,为啥是256个字符?
因为char占一字节,无符号**就是255。
我们来说下这个ACSII表怎么用,看97号,字符a,程序如下:
定义一个字符变量s,赋值为’a’,我们分别以%d和%c打印,还记得啥意思不,以十进制和字符型输出,我们看结果:
可见,a字符在ASCII表中的确是97,没毛病吧。
既然我们说了,char是整型和字符型,那能不能直接用整型输出字符型呢?
当然没问题,我们看程序:
一样是可以的。
字符串
C语言中使用双引号""表示一个字符串,比如:"ABCDEF"。这就是我们在打印"HelloWorld!"时为什么要使用双引号的原因。
如果大家学过C++,应该知道有个string是专门定义字符串的,但C语言没有这个关键字,但也有办法,就是用数组,这个我之后再说。
其他类型
基本数据类型基本就给大家讲完了,至于构造类型、指针类型和void,我们之后在结构体和指针再说,咱们慢慢来。