⑴ c语言中整型,字符型,浮点型,和双精度浮点型,详解
整型,计算机中的一个基本的专业术语,指没有小数部分的数据。整型可以用十进制,十六进制或八进制符号指定,前面可以加上可选的符号(- 或者 +)。包括整型常量和整型变量,整型变量又包括短整型、基本整型、长整型,它们都分为有符号和无符号两种版本,是一种智能的计算方式。
字符型量包括字符常量和字符变量。字符串常量由一对双引号括起的字符序列。字符变量的取值是字符常量,即单个字符。字符变量的类型说明符是char。字符变量类型说明的格式和书写规则都与整型变量相同。
浮点型利用指数使小数点的位置可以根据需要而上下浮动,从而可以灵活地表达更大范围的实数。
双精度浮点型,此数据类型与单精度数据类型(float)相似,但精确度比float高,编译时所占的内存空间依不同的编译器而有所不同,是double float数据类型,C/C++中表示实型变量的一种变量类型。
(1)c语言整型浮点型运算扩展阅读
双精度浮点型类型数值可转换到其他类型的整数或浮点数,反之亦然。双精度浮点型常量的最后一个字符可加上“d”或“D”。其存储格式与浮点型类似,最高位为符号位,次高11位为指数位,其次52位为尾数。
双精度型就是双精度浮点型,同数值型比,它能提供更高的数值精度,采用固定存储长度的浮点数形式,每个双精度浮点型数据占8个字节。与数值型数据不同,它的小数点位置是由输入的数据值来决定的,并且只能用于表中的字段。
⑵ c语言中整型和浮点型混合运算的结果是什么类型
c语言中整型和浮点型混合运算的结果为double型(双精度浮点类型)。
c语言中如果一个运算符两边的运算数类型不同,先要将其转换为相同的类型,即较低类型转换为较高类型,然后再参加运算,转换规则:float(浮点型)转化为double(双精度浮点类型)、int(整型)转为unsigned(无符号整型)转为long(长整型)转为(双精度浮点类型)。
因此,c语言中整型和浮点型混合运算,只能是整型和浮点型同时强制转换为相同的double型(双精度浮点类型)。如两个float型数参加运算,虽然它们类型相同,但仍要先转成double型再进行运算,结果亦为double型。
(2)c语言整型浮点型运算扩展阅读:
在C语言中,自动类型转换遵循以下规则:
1、若参与运算量的类型不同,则先转换成同一类型,然后进行运算。
2、转换按数据长度增加的方向进行,以保证精度不降低。如int型和long型运算时,先把int量转成long型后再进行运算。若两种类型的字节数不同,转换成字节数高的类型。若两种类型的字节数相同,且一种有符号,一种无符号,则转换成无符号类型。
3、所有的浮点运算都是以双精度进行的,即使仅含float单精度量运算的表达式,也要先转换成double型,再作运算。
4、char型和short型参与运算时,必须先转换成int型。
5、在赋值运算中,赋值号两边量的数据类型不同时,赋值号右边量的类型将转换为左边量的类型。如果右边量的数据类型长度比左边长时,将丢失一部分数据,这样会降低精度,丢失的部分按四舍五入向前舍入。
⑶ c语言整型和浮点乘法
1.新建工程,在.cpp文件里插入如下代码:
#include "stdafx.h"
#include "stdio.h"
void main()
{
//定义两个小数
float p1=3.5,p2=5.5;
//定义两个整数
int q1=0,q2=0;
//定义运算结果变量
float t;
//输入整数q1
printf("请输入整数1:");
//接收整数q1
scanf("%d",&q1);
//输入整数q2
printf("请输入整数2:");
//接收整数q2
scanf("%d",&q2);
//乘法运算
t=p1*q1+p2*q2;
//输出结果
printf("%f*%d+%f*%d=%f ",p1,q1,p2,q2,t);
}
⑷ C语言如何把整型转换成浮点数
C语言有以下几种取整方法:
1、直接赋值给整数变量。如:
int i = 2.5; 或 i = (int) 2.5;
这种方法采用的是舍去小数部分,能用于你的问题。
2、C/C++中的整数除法运算符“/”本身就有取整功能(int / int),而下面介绍的取整函数返回值是double。整数除法对正数的取整是舍去小数部分,能用于你的问题。不过整数除法对负数的取整结果和使用的C编译器有关。
3、使用floor函数。floor(x)返回的是小于或等于x的最大整数。如:
floor(2.5) = 2
floor(-2.5) = -3
4、使用ceil函数。ceil(x)返回的是大于x的最小整数。如:
ceil(2.5) = 3
ceil(-2.5) = -2
floor()是向负无穷大舍入,floor(-2.5) = -3;ceil()是向正无穷大舍入,ceil(-2.5) = -2。floor函数能用于你的问题。
5、
int b = (int)a;//取整
int c = (int)(a+0.5);//四舍五入
⑸ C语言的浮点型怎么转换为整型
C语言中,浮点型转换为整型可以用:强制类型转换、自动类型转换,例如:(int)3.14、int a = 3.14。
1、强制类型转换
强制类型转换是通过类型转换运算来实现的。其一般形式为:(类型说明符)(表达式),其功能是把表达式的运算结果强制转换成类型说明符所表示的类型。
例如: (double) a 把a转换为双精度浮点型,(int)(x+y) 把x+y的结果转换为整型。
2、自动类型转换
(1)执行算术运算时,低类型(短字节)可以转换为高类型(长字节);例如: int型转换成double型,char型转换成int型等。
(2)赋值表达式中,等号右边表达式的值的类型自动隐式地转换为左边变量的类型,并赋值给它。
(3)函数调用时,将实参的值传递给形参,系统首先会自动隐式地把实参的值的类型转换为形参的类型,然后再赋值给形参。
(4)函数有返回值时,系统首先会自动隐式地将返回表达式的值的类型转换为函数的返回类型,然后再赋值给调用函数返回。
(5)c语言整型浮点型运算扩展阅读:
C语言中常用的数据类型:
1、int:整型
2、float:单精度浮点型
3、double:双精度浮点型
4、char:字符型
5、char *:字符指针型
⑹ C语言中,浮点类型和整数类型的区别具体在哪些方面
1、包含类型方面的区别:
整数类型包含byte型、int型、short型、long型, 浮点类型包含float(单精度)型、double常量
2、取值范围的区别:我们可以看到整数类型最大的取值是:1,844,674,407,370,955,161,共有19位数。而浮点数中float的取值范围就有39位数3.4E+38。
3、精度的区别:整数类型是一个准确的数值,而浮点数很多时候是一个看似值。比如float类型就只用确保前面6~7位是准确的。如:float f = 123456789; //8和9这两个数值就可能是不准确的。
(6)c语言整型浮点型运算扩展阅读:
C语言其他数据类型:
一、基本类型
1、整形类型:int ,short int,long int,long long int(C99),char,bool
2、浮点类型:float ,double,双精度浮点型(float_complex,double_complex,long long_comples)
二、枚举类型 enum
三、空类型 void
四、派生类型
指针类型 *、数组类型 、结构体类型 struct、共用体类型 union、函数类型
参考资料来源:网络—数据类型
⑺ c语言整型与浮点型数据间的运算
一楼请不要误导楼主
如果楼主希望的是得到1.000000 则可以
(float)n/b;
如果希望是1.250000 则可以用
(float)n/(float)b;
⑻ C语言中除运算符对整型和浮点型数据的区别
没有区别,都是计算除法
要说有区别就是,除数和被除数都是整型数据时,会得到结果的整数部分,小数部分被舍弃,而浮点数除后保留小数部分取值。
⑼ 如何运用C语言的整型和浮点数实现加减乘除计算
对于加减乘三种运算,可以直接用整数进行。
对于除法,C语言中两个整数相除,结果仍然是整数(只取商的部分,忽略余数),如果想得到除法的精确值(例如10/4=2.5),可以使用浮点数参与计算,方法是把被除数乘以1.0,然后再除以除数,结果就是浮点数了。
⑽ c语言中整形数能和浮点数做运算吗
c语言中整形数能和浮点数可以做运算。