c语言 int是不是程序中所有小数都自动化为整数

2021-03-11 05:26:25 字数 3505 阅读 6225

1楼:

x=4.因为432与100都是bai整数,结果也只du取整数部分。在你zhi编译时dao

候会有警告(不是回错误),x的当前类型会答造成结果部分丢失。int是一种定义类型,当然只对xyz有效。如果有新的定义,会遵循新的定义类型。

xyz属于int类型,而不能说int针对那些数还是整个程序。

2楼:

int可以强制取整,例如:(int)4.5=4;

int在它对应作用域内成立,int是定义在main里面的,所以在main中适用。

3楼:倒霉熊

是4 是不带小数的来

432 和 100 在c语言都被看成是自int 而int相除的结果就是 int 然后将这个int赋值给x

而不是因为x是int 而舍弃小数的

你可以这样试试

float x = 432/100;

然后 用%f输出 看输出的是 4.32还是 4.0 ??

4楼:匿名用户

自动转换啊。你最好去看看整数的四则运算,它本身就会做取整操作的。

5楼:匿名用户

转化成前面的 而非四舍五入~

6楼:匿名用户

对后面表达式的结果约束,使其转化为整形

c语言中int 能定义小数吗?下面这个程序怎么回事?

7楼:卒子的疯狂

int 是整数类型,只会取整数

你那 x=567.12; y=123.4;也只等与567,y=123;

所以sum的值为567+123

8楼:觉悟壮志

int 不能定义小数

定义小数用float(单精度)

或者double(双精度)

main()

9楼:储杨

不能定义小数,但编译时不会报错,它会直接把后面的小数去掉再参加运算!

10楼:

定义小数没有,他还是整数。要是小数选用float或者double型。首先,x,y,是整形,所以赋值时,你赋小数,他本生还是整数,即x=567,y=123,但sum为单精度形,有6位小数,后面的输出形式%f,是采用单精度输出,所以输出有6位小数。

11楼:匿名用户

可以的,但是有warning,也没有意义,程序会强制转换成float型,由小转大,,,你这个写的printf里面的“”是中文的,不是英文""

12楼:匿名用户

567.12会被强制类型转换吧.

13楼:匿名用户

这个。。。

按道理不行的

14楼:匿名用户

可以,但是会自动修正。

c语言中int数据类型后可以加小数点吗

15楼:匿名用户

c语言中int数据类型一定不会有小数点。

带有小数点的常数,系统认为是浮点类型,默认为double类型数据。

如:5是整数类型,而5.0是浮点数类型

16楼:欢天喜地河北夏

12、设变量xfloat型且bai已经赋值则语du句能够x数值保留数点面2位并第zhi

dao3位四舍五入__b__

a)内x=x*100+0.5/100.0 b)x=(x*100+0.5)/100.0

c)x=(int)(x*100+0.5)/100.0 d)x=(x/100+0.5)*100.0

我要析程谢谢虾

例:容int(2.5+4.7)值少

17楼:helong_小莫

这已经编译无法通过了。。。

c语言中int后是一个带有小数的数字,那么它的值是多少?

18楼:我是果疯

int(2.5+4.7)=7

在c语言中,取int()系统会强制将其他数据类型转换为int型,不会四舍五入直接舍去小数点后面的数字。

例如:int b=10;//声明变量为int型并初始化赋值

printf("%f",b*5.0);//打印为浮点型的数字,强制将10*5.0结果为50.000000

float a=2.1314;//声明变量为实数型并初始化赋值

int c=(int) a;//声明变量c为int型并将a强制转换为int型所得值赋给c,即c=2

扩展资料:

数据类型关键字:

short:修饰int,短整型数据,可省略被修饰的int。(k&r时期引入)

long:修饰int,长整型数据,可省略被修饰的int。(k&r时期引入)

long long:修饰int,超长整型数据,可省略被修饰的int。(c99标准新增)

signed:修饰整型数据,有符号数据类型。(c89标准新增)

unsigned:修饰整型数据,无符号数据类型。(k&r时期引入)

restrict:用于限定和约束指针,并表明指针是访问一个数据对象的唯一且初始的方式。(c99标准新增)

19楼:听不清啊

系统会自动截尾取整的。

例如:int x=12.945;

printf("%d\n",x);

会输出12。

20楼:匿名用户

例子:int(2.5+4.

7)的值为:7,先求和,再将浮点型7.2强制转化为整形7。

若不带括号,如:(int)2.3+5.

5,则先将2.3强制转化为2,再和5.5相加,结果为7.

5(2和5.5相加时,2先隐式转化为浮点型再跟5.5相加)。

c语言控制台程序怎样知道输入的是整数还是小数

21楼:匿名用户

cin>>自动根据后面的变量类型判断应输入什么类型的数。

22楼:天天快乐郎

来说,9.9的整数部

制分是9,小数部分是9,那请问9.09要如何表示,他的小数部分是多少?仅仅以一个long来表示是否能区分这两个的区别?

另外,windows不支持浮点数的格式化,也不支持字符串到浮点数,这句话我不明白,你在用c编程,c语言有浮点数类型,而且也有到字符串的转换函数。当然你可以自己定义浮点数,问题在于这种定义和float,double的优势在哪儿呢?且不管之前的问题,如果long是32位的,那么表示的十进制数只有10位数,也就是只能表示10位的整数加上小数点后10位的小树,其表示的数还不如double,那么为什么要做这个工作?

23楼:匿名用户

#include

main()

你试试有问题再找我回,答

c语言。编写程序。把任意十进制整数转化为二进制数。并输出

1楼 饶磊 include void main while a 0 printf 输出的二进制 while i 0 printf d s i printf n c语言问题求教!!!编写一个程序,将任意一个十进制数转换成二进制数,按为存放在数组中,然后输出 2楼 董俊锟 你这数组只有这么长 可以把n定...

C语言数组中重复的数据都不要,C语言编程:判断数组里有没有重复数字,有true,无false

1楼 匿名用户 首先要确定数组中存的是什么类型的数据,之后strlen他的长度,从0开始到strlen a 10 2为止,两个for循环比较,如果相等,删除那两个数据 就是将他赋值为空 就是这样 2楼 匿名用户 void main b 10 int i j k 0 c 0 for i 0 i str...