C语言怎样接收double类型变量输入

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了C语言怎样接收double类型变量输入相关的知识,希望对你有一定的参考价值。

参考技术A

我们在使用C语言编写程序的时候,经常需要使用double类型,那么C语言如何接收double类型的数据呢?下面我给大家分享一下。

工具/材料

Dev C++

    01

    首先我们打开Dev C++软件,新建一个C语言项目,如下图所示

    02

    接下来在C语言文件中通过scanf让用户输入数字,接着在打印数字,注意这里用的lf接收double数据类型,如下图所示

    03

    然后我们运行编写好的C语言文件,如下图所示

    04

    最后在弹出的CMD界面中我们就可以输入double类型的数据了,程序接收到数据以后就会进行输出,如下图所示

C语言 双精度类型(double)变量的输入问题

#include <stdio.h>
#include <conio.h>

int main()

int a;
char b;
float c;
double d=0;
char e[80];
printf("输入int类型:");
scanf("%d",&a);
printf("\n输出int类型:%d\n",a);
fflush(stdin);
printf("输入char类型:");
scanf("%c",&b);
printf("\n输出char类型:%c\n",b);
fflush(stdin);
printf("输入float类型:");
scanf("%f",&c);
printf("\n输出float类型:%f\n",c);
fflush(stdin);
printf("输入double类型:");
scanf("%e",&d);
printf("\n输出double类型:%e\n",d);
fflush(stdin);
printf("输入字符串:");
scanf("%s",e);
printf("\n输出字符串:%s",e);
return 0;


执行该程序时到输入double里出现问题;我在double中输入“4.0”,但输出的不是"4.0".怎么回事啊。望解惑。

c语言中
单精度型和双精度型
指两种
类型

浮点数。
单精度型

float
型,
有效数字约10进制7位
双精度型

double
型,
有效数字约10进制15位
所以能描述的数值精度不同。
c语言
数据

ieee
754
国际标准。float


4
字节存放,double


8
字节存放。
single
precision
2进制:
数符1位,指数8
位,尾数
23

double
precision
2进制:
数符1位,指数11
位,尾数
52

单精数值范围:
±
~10的-44.85次方


10的38.53次方
双精度数值范围
±
~10的-323.3
次方
to

10的
308.3次方。
float
a=1.234567;
double
b=1.2345678901234;
-------------
10%3
整除取余数,得
1。
1

float

double
表示,精度没有区别。
a=(float)(10%3);
b=(double)(10%3);
强制转换
要带
小括号。
参考技术A scanf("%e",&d);e是以指数形式输出,可以使用%g来使计算机自动判断使用%e还是%f本回答被提问者采纳 参考技术B scanf("%lf",&d);

以上是关于C语言怎样接收double类型变量输入的主要内容,如果未能解决你的问题,请参考以下文章

c语言怎样输出一个变量名?

c语言double类型输出问题及字符输入问题

c语言float可以输入指数吗

double和char之间怎样转换?谢谢!

c语言中,double a,b;是一个定义语句,对吗?

C语言中 double a=5.13.789215 什么意思?