
C语言问题
在C语言原程序中,不带任何修饰符的浮点数直接量(如3.14)都是按_______类型数据存储的。本题问的好象是存储类别,auto,register之类的,但答案是doub...
在C语言原程序中,不带任何修饰符的浮点数直接量(如3.14)都是按_______类型数据存储的。
本题问的好象是存储类别,auto,register之类的,但答案是double,不懂 展开
本题问的好象是存储类别,auto,register之类的,但答案是double,不懂 展开
7个回答
展开全部
这题考的是自动类型转换,由编译系统自动完成,转换是"向上"靠的!
举个例子:
#include"stdio.h"
void main()
{int a,b;
float c;
scanf("%d%d",&a,&b);
printf("%f",c=1.0*a/b);
}
你编译一下就会有警告:
conversion from 'double ' to 'float ', possible loss of data
也就是说系统默认转化了a,b的数据类型为double!因为它是最长的类型!
你完全可以不必理会这个警告,结果不会有任何错误!
举个例子:
#include"stdio.h"
void main()
{int a,b;
float c;
scanf("%d%d",&a,&b);
printf("%f",c=1.0*a/b);
}
你编译一下就会有警告:
conversion from 'double ' to 'float ', possible loss of data
也就是说系统默认转化了a,b的数据类型为double!因为它是最长的类型!
你完全可以不必理会这个警告,结果不会有任何错误!
展开全部
这是一个for语句,根据for语句的形式:for(语句1;语句2;语句3){函数体;}
的执行顺序是:语句1,判断语句2是否成立(非0为真,0为假)函数体,最后是语句3,(£)再进行判断语句2,是否成立,在执行函数体,语句3
,在执行(£)知道条件不满足语句2,跳出循环;如果,语句2是非逻辑表达式,即非判断语句时,循环体内,必有满足条件的跳出语句
break,否则为死循环;
这里的
for(k=1;k+1;k++)
可以这样解释:执行循环for()语句时,初始条件
K=1;之后执行
K+1
(k=2,非0,条件为真继续执行)之后执行函数体for下面花括号{}的内容,之后在执行
K++(K自增1)
所以,明白for()语句的执行顺序就可以明白了,明白了吗?
的执行顺序是:语句1,判断语句2是否成立(非0为真,0为假)函数体,最后是语句3,(£)再进行判断语句2,是否成立,在执行函数体,语句3
,在执行(£)知道条件不满足语句2,跳出循环;如果,语句2是非逻辑表达式,即非判断语句时,循环体内,必有满足条件的跳出语句
break,否则为死循环;
这里的
for(k=1;k+1;k++)
可以这样解释:执行循环for()语句时,初始条件
K=1;之后执行
K+1
(k=2,非0,条件为真继续执行)之后执行函数体for下面花括号{}的内容,之后在执行
K++(K自增1)
所以,明白for()语句的执行顺序就可以明白了,明白了吗?
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
是DOUBLE.3.14是浮点数无疑,但是为了更好的适应,或者说保险吧,就按照双精度处理了.
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
在C语言中,如果你不故意设置为FLOAT型的话,小数全部按照DOUBLE类型
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
FLOAT
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询