c语言关于double s=0,s=0.0

作者&投稿:谏试 (若有异议请与网页底部的电邮联系)
c语言 double s=0; double s=0.0;哪个写法正确? 为什么~

都一样 double s=0是 用个int型强制转换成double型,再放入double里面(如果是double强转int可能会导致数据遗失);
而double s=0.0 就是直接把double型放到s里面.
两个都能编译通过 也不能说 什么正不正确了....
想养成编写好习惯还是写double s=0.0规范一些.

C语言中有默认的数据类型转化,一般会把整型自动转化为实型。
如:double s=0; 事实上C语言赋值时真正赋的值为0.0,也就是相当于S=0.0

double s=0.0 和 double s=0 没有区别
至于有没有分,这个得问老师
如果s是double或者float类型(这些类型可以存小数)的话,s=1.0/t 和 s= 1/t有区别 :
主要是这个/号
因为除法的结果取决于/号两边的常量或变量,只要有一个是小数,结果就是小数,只有两个都是整数,结果才是整数
如果s是int类型(整型,只能存整数数)的话,结果都是整数,而且不会四舍五入

最好还是上级试试看,不同的系统结果可能会不同

double s=0.0 和 double s=0 没有区别s都是 double类型的。
如果s是double类型的话,s=1.0/t 和 s= 1/t有区别 :
s=1.0/t 如果t为整型的话 会被编译器强制转换为double类型 ,如果t=5的话,s=0.2
但是s= 1/t 是 将1/t先按整型算,结果在强制转换。 这如果t=5,s=0.0;
不知说的是否明白。

1.什么时候用double s=0.0,什么时候用double s=0
觉得这个没关系,一样的。

2.s=1.0/t,和s=1./t
这里也没区别。如果是1/t那就区别大了,这时才取决于t的类型。

当然有区别~
double s=0.0和double s=0这2个没区别
但是s=1.0/t,和s=1./t有区别,假如s为浮点型的数并且t=2的话,那么前者答案0.5 后者答案为0.0
因为整数除整数结果必定还是整数,去掉了小数点后面的,但是浮点数除整数的话结果是浮点型,所以答案不一样

1/t 和1.0/t的区别就在:前者是整除,运算结果只保留整数部分;后则就是除法,有带小数点的输出。结果一样是因为,把double s=0与double s=0.0;前者是被强制转换成double,结果一样,但是实际含义不同。


c语言float和double的区别是什么?
f指float型,c中的实数默认为double,除非后面跟着f的才指float。若把它赋给一个float型变量则会有精度损失的编译警告提示,0.5f的意思是告诉编译器将这个0.5按float型处理。这里的0.5f和0.5F没有区别。例如0xa5、0Xa5、0xA5、0XA5完全相同。

c语言中double的用法有哪些?
double是一种数据类型 具有比float更高的精度 在32位机中以8个字节储存。用法:同int float 一样,用于声明变量或定义函数的返回值类型,或可用于类型强制转换。函数(function)的定义通常分为传统定义和近代定义,函数的两个定义本质是相同的,只是叙述概念的出发点不同,传统定义是从运动变化的观点出发...

c语言中double 什么意思
double是c语言中的双精度浮点数类型,用来表示实数。1 定义:double var_name;这样定义一个名字为var_name的double类型变量。2 赋值:var_name = 100.325;同其它类型的赋值语句一样,对var_name赋值用=运算符,右侧可以是任意表达式。3 输入:scanf("%lf",&var_name);lf格式符号对应double,可以用来...

C语言中的double是最多多少位?
双精度实数,占用字节8。有效数字15~16(因为二进制转十进制问题)。数值范围-1.7*10负308次方~1.7*10的308次方。当有效数字全部是整数时,即整数有15~16位。C语言中,输出double类型(双精度实型)以及float类型(单精度实型)时,默认输出6位小数(不足六位以 0 补齐,超过六位按四舍五入截断)。

c语言double、 float型数据怎样表示?
1、双精度浮点型数据用%lf输出。因为double是8个字节的,float是4个字节的,%f 的格式就是4个字节的,而 %lf 就是8个字节的。 例如:printf("%lf\\n",x);2、short 占用内存空间2个字节,短整型数据用%d输出 例如:printf("%d\\n",a);例如:include <stdio.h> int main(){double x;sh...

C语言中double要输出几位小数
C语言中double默认输出 6 位小数(不足六位以 0 补齐,超过六位按四舍五入截断),可以根据自己的需要去修改输出的位数,例如输出两位小数:(%2lf)。double可以表示十进制的15或16位有效数字。

在c语言中double是什麽意思?
double是指双精度浮点数类型。float指单精度浮点数类型。它们的区别是精度的不同,double类型的精度约等于float的两倍。精度指精确到小数点后多少位。都是用来声明变量或常量类型的。

c语言中 long float 和double有什么区别
一、主体不同 1、 long:表示一种长整型数据。2、float:浮点型数据类型 3、double:双精度浮点数据型。二、类型不同 1、 long:默认为有符号长整型,含4个字节。2、float:用于存储单精度浮点数或双精度浮点数。3、double:表示十进制的15或16位有效数字。三、取值范围不同 1、 long:取值范围为...

C语言中double要输出几位小数?
C语言中double要输出几位小数?C语言中double预设输出 6 位小数。如果要控制输出小数位数,可以格式化输出。printf("%.3lf ", d); "%.3lf" .3 则是输出 3 位小数 printf("%.4lf ", d); "%.4lf" .4 则是输出 4 位小数 c语言中想要让输出数字保留几位小数该怎么做?举个例...

C语言中 double和float 的区别
单精度浮点数在机内占4个字节,用32位二进制描述。双精度浮点数在机内占8个字节,用64位二进制描述。对编程人员来说,double 和 float 的区别是double精度高,有效数字16位,float精度7位。但double消耗内存是float的两倍,double的运算速度比float慢得多,C语言中数学函数名称double 和 float不同,不...

柳城县17322487313: c语言 double s=0; double s=0.0;哪个写法正确? 为什么 -
禽震复方: 都一样 double s=0是 用个int型强制转换成double型,再放入double里面(如果是double强转int可能会导致数据遗失);而double s=0.0 就是直接把double型放到s里面.两个都能编译通过 也不能说 什么正不正确了....想养成编写好习惯还是写double s=0.0规范一些.

柳城县17322487313: C语言中,如果事先定义s为double型的变量,那么赋值时s=0和s=0.0是否都可以?谢谢啦 -
禽震复方: C语言中有默认的数据类型转化,一般会把整型自动转化为实型.如:double s=0; 事实上C语言赋值时真正赋的值为0.0,也就是相当于S=0.0

柳城县17322487313: C语言 求π -
禽震复方: main() {int i,f=1;double s=0; s满足s<0.0000001 往下执行for(i=1;s<0.0000001;i=i+2){ i=1时s=s+(double)1/i*f; s=0+ (double)1/1*1 s=(double)1f=f*(-1); f=-1}printf("%lf\n",s*4);} 1*4=4在执行的话s=1不满足s<0.0000001 ,跳出循环

柳城县17322487313: C语言中强制类型转换这样写对吗? int i,j;double s=0.0; s=s+(1.0)i/j; -
禽震复方: 可以 s=s+1.0*i/j;或者 s=s+(double)i/j;

柳城县17322487313: 如何使用C语言编程计算S=1!+2!+……+n! -
禽震复方: #include "stdio.h" main() { double s=0,p=1,i; int n; printf("输入N:"); scanf("%d",&n); for(i=1;i<=n;i++) { p*=i; s+=p; } printf("%lf\n",s); }

柳城县17322487313: 1. 用公式 求s=1+1/2+1/4+1/7+1/11+1/16+1/22+1/29......的近似值,直到最后一项的绝对值小于10 - 4为止. -
禽震复方: double s=0,a,i=1;for(;a>=10*10*10*10;i=i*(i-1)/2){s=s+a;a=1/i;i=i+1;};

柳城县17322487313: 在C语言中,一般在求和时会定义一个变量:float s=0或者 double s=0这两个有什么区别? -
禽震复方: double比float更精确,保存的范围更广,速度更快!

柳城县17322487313: c语言中double s=0 t=1是什么意思
禽震复方: double是一种数字类型,s和t是double类型的变量,等于后面的数字就是给变量赋值

柳城县17322487313: C语言上机填空题对double型S进行赋值,填写0.0会给分吗 -
禽震复方: 既然类型已经确定了为double, S=0.0是没问题的,即便是S = 0也是没有问题

柳城县17322487313: C语言中double s和 float s的区别!!在线等,重谢!! -
禽震复方: double 和 float 两者只差在精确度以及数值范围,使用方法都一样 float :单精度型变量占用4个字节,范围是-3.4*10^38 ~~3.4*10^38,小数点有效位为7位 double:双精度型变量占用8个字节,范围是-1.7*10^308 ~~1.7*10^308,小数点有效位为15位 double s =0 和 s= 0.0 同义,系统会将常数强制转换成对应型态.在c 语言使用 printf() 时,double 型态的变数必须用 %lf 来显示,而float 使用 %f.

本站内容来自于网友发表,不代表本站立场,仅表示其个人看法,不对其真实性、正确性、有效性作任何的担保
相关事宜请发邮件给我们
© 星空见康网