c语言float输出
A. c语言如何输出双精度浮点型数据
1.双精度浮点型数据用%lf输出。因为double是8个字节的,float是4个字节的,%f 的格式就是4个字节的,而 %lf 就是8个字节的。 例如:printf("%lf ",x);
2.short 占用内存空间2个字节,短整型数据用%d输出 例如:printf("%d ",a);
例:
#include <stdio.h>
int main()
{double x;
short int a;
printf("%lf",x); // 输入double型
printf("%d",a); //输入短整型
return 0;
}
(1)c语言float输出扩展阅读:
C语言特有特点
1.C语言是一个有结构化程序设计、具有变量作用域(variable scope)以及递归功能的过程式语言。
2.C语言传递参数均是以值传递(pass by value),另外也可以传递指针(a pointer passed by value)。
3.不同的变量类型可以用结构体(struct)组合在一起。
4.只有32个保留字(reserved keywords),使变量、函数命名有更多弹性。
5.部份的变量类型可以转换,例如整型和字符型变量。
6.通过指针(pointer),C语言可以容易的对存储器进行低级控制。
7.预编译处理(preprocessor)让C语言的编译更具有弹性。
B. C语言中printf输出float和double都用%f么(scanf又如何)
答:
1.C语言中printf输出float和double都可以用%f,而double型数据还可以用%lf。
2.scanf当中若是对双精度的变量赋值是必须是%后跟lf,而printf当中可以用%f也可以用%lf没有限制。
拓展资料:
c语言中的格式控制符:
%d十进制有符号整数
%u十进制无符号整数
%f浮点数
%s字符串
%c单个字符
%p指针的值
%e指数形式的浮点数
%x,%X无符号以十六进制表示的整数
%0无符号以八进制表示的整数
%g自动选择合适的表示法
C. c语言中double,float输出问题
double 和 float都可以用%f输出。默认6位小数。如果是其它要求,需要指定。如
printf("%.11lf\n%.3f",a,b);
D. C语言里面float数据用printf(“%d”)输出的问题
首先你接收数据有误,你只接收第一个元素。
for(i=0;i<3;i++)
scanf("%f",a);
修改为:
for(i=0;i<3;i++)
scanf("%f",&a[i]);
其次,输出要强制类型转换
for(i=0;i<3;i++)
printf("%d\n",a[i]);
修改为:
for(i=0;i<3;i++)
printf("%d\n",int(a[i]));
修改后:
#include
void
main()
{
float
a[3]={3*0};
int
i;
for(i=0;i<3;i++)
scanf("%f",&a[i]);
for(i=0;i<3;i++)
printf("%d\n",int(a[i]));
}
E. C语言输出float变量的问题
数据截断,把double强制转换为float会发生这样的情况,你把数据类型变为double就好了。
F. c语言float类型输出
可以改成printf("%.1f ",sum);
结果见下图:
拓展资料
float是C语言中的一个数据类型的关键字,表示单精度浮点型(双精度浮点型为double)。定义格式为:float a // a表示一个浮点型的变量。
C语言规定浮点型在内存占用4个字节,精度为7位,取值范围为:3.4*10^-38 ~3.4*10^38。
浮点型运算可能有误差。
G. c语言中double与float的输出
c语言中使用printf函数
float的输出,用%f格式。
double的输出,用%f或%lf格式输出都可以的。
H. C语言float类型储存和printf输出问题
原因就是,你使用了lf输出,其实是将float
x转换为一个double输出了。
相当于
double
y
=
x;,然后输出y,这样后面的数值其实是因为一个4位浮点数给8位浮点数赋值的时候,将x的真实存储以double的精度显示出来了。
具体的说,这涉及float的二进制保存方式,如果你有兴趣,可以看看基础语法书上关于float的讲解,这里没法画图,不好解释,其实就是一个指数为8的位移码,因为实际不是以10进制存储,所谓10进制精度只是保障精度,实际的存储,是一个2^127
I. c语言float输出为什么是0.00000
1/3,是整型运算,为整型0,0给float.精度6位,则打印0.00000
J. C语言里面float数据用printf(“%d”)输出的问题
C语言里面float数据用printf(“%d”)输出是0,是float数据使用错误造成的,解决方法如下:
1、首先在电脑中打开C-Free 5编译器(界面) -> 文件 -> 新建(Ctrl+N)。