C语言中不同数据类型的数据在运算时采用的规则有哪些

2020-11-24 11:29:30 字数 6428 阅读 7258

1楼:匿名用户

不同数据类型之bai

间的转换

有du2种方式:隐式转换和显zhi式转换dao。

隐式转换指的是默

专认做的一些转换式,比如属整形和实型做混合运算(这里我说的运算是合法的运算,不会是取余这样对操作数有数据类型要求的运算),得到的结果是自动由精度低的或占位数低的数据类型向高的数据类型做转换,也就是上述问题得到的结果是实型。

显示转换:指的是使用强制类型转换运算符来进行强制的结果类型转换,这是人为的得到想要的类型的一种方法。

你所描述的不同数据类型的数据在运算时,采取的多是隐式转换。

c语言中不同数据类型的数据在运算时采用的规则有哪些 5

2楼:匿名用户

不同数据类型之间的转换有2种方式:隐式转换和显式转换。

隐式转换指的是默认做的一些转换式,比如整形和实型做混合运算(这里我说的运算是合法的运算,不会是取余这样对操作数有数据类型要求的运算),得到的结果是自动由精度低的或占位数低的数据类型向高的数据类型做转换,也就是上述问题得到的结果是实型。

显示转换:指的是使用强制类型转换运算符来进行强制的结果类型转换,这是人为的得到想要的类型的一种方法。

你所描述的不同数据类型的数据在运算时,采取的多是隐式转换。

3楼:匿名用户

当然是相同大小数据的等位运算了,参见汇编语言

4楼:

这个在一般的c语言教程里面都有介绍的 谭老大的教材里面说的很清楚

5楼:汤曼华袁秋

1、赋值运算中如果赋值号“=”两边的数据类型不同,赋值号右边的类型转换为左边的类型,这种转换是截断型的转换,不会四舍五入。

比如i是整型变量,则i=2.99;结果i的值为2直接舍去

#include

intmain()

测试结果为2.

c语言中不同类型的数据能否进行混合运算?如果能,以何种规则进行?

6楼:小葱爱石头

可以,强制复转换就行,制int('a')就将

baichar 型转换成int型,还有就是可以利用du一些函zhi

数进行转换,如itoa()将daoint型转换成char型,atof()将char型转换成float型等等,很多这种函数,可以上网查一下

c语言中各种数据类型有什么区别?

7楼:匿名用户

1、数据计算类型不同。基本数据类型分为三类:整数型(定点型)、实数型(浮点型)和字符型。

除了基本数据类型,还有构造类型(数组、结构体、共用体、枚举类型)、指针类型、空类型void。

3、不同数据类型占用内存的大小不同。short占2byte,int占4byte,long占4byte,float占2byte,double占8byte,char占1byte(不同的平台可能占用内存大小不一样,具体的可以用sizeof 测试下)。

8楼:匿名用户

1、c语言中数据类型分类如下:

2、最主要的区别就是数据计算类型不同。

c语言中基本数据类型分为三类:整数型(定点型)、实数型(浮点型)和字符型。当然,除了基本数据类型,还有构造类型(数组、结构体、共用体、枚举类型)、指针类型、空类型void。

最常见的基本数据类型,也就是整数型、浮点型和字符型。

不同数据类型占用内存的大小。short占2byte,int占4byte,long占4byte,float占2byte,double占8byte,char占1byte(不同的平台可能占用内存大小不一样,具体的可以用sizeof测试下)。

9楼:韩萧_寒

告诉计算机所要存储运算的是什么类型的数,例如你定义 int m; 那么 printf("m=%d",1/10); 输出地结果会是0,因为int是整型,而如果是float m,那么结果就会输出0.1,float是浮点型。

10楼:爱在没理那

肯定有不同点的吧,数据结构不一样的,运行需要也不同的啊

11楼:匿名用户

基本类型有整形,实型(浮点型)分单精度型和双精度型,字符型和枚举类型;构造类型有数组类型、结构体类型、共用体类型;指针类型,空类型

12楼:匿名用户

在变量中如果没有关键字的话与存储长度有关

如果前面还加了其他关键字则还会与存储的位置相关

在c语言中不同的数据类型之间是如何转换的 不同的数据类型是怎样计算的

13楼:手机用户

在c语言中,不同数据类型在进行运算时首先要转换成同一类型,一种是自动转换,二是强制转换,如(int)a 将a强制转换为int型 转换原则:箭头是转换方向 char,short->int->unsigned->long,float->double 说这个题之前要接受一个事实:不同计算机上运行此程序结果会不一样,原因和你是好多位计算机有关系,在很多书上int占两个字节,而在有些计算机却占4个字节,具体是好多你可以用sizeof(int)测试一下,那我的计算机就占4个字节,现在再看题:

c=x+a x为长整型a为整型,运算之前先将a自动转换为长整型,x=-5,计算机存储为0fffffffbh,a=3,x+a=0fffffffeh 输出格式是%u 也就是以十进制无符号形式输出,结果为4294967294而不是65534。d=y+b,a=3就不用多说明了,最后用%f输出单精度或双精度浮点数,其默认为6位小数,要想控制显示位数用%m.nf,具体看看书哈

c语言 不同数据类型间的混合运算

14楼:匿名用户

c语言里 不同数据类型间的混合运算会强制转换的```如6.0/5``结果必然向float型转换```比如char short型参与运算都是先转为int型`float转为double型

int double混合运算时转为double型都是向着占用较大的方向转换``使适用范围也更大`````书上应该说的比较详细了 `呵呵`

c语言数据类型的自动转换和强制转换有什么区别

15楼:學雅思

一、指代不同

1、自动转换:参与运算量的类型不同,则先转换成同一类型,然后进行运算。

2、强制转换:是通过类型转换运算来实现的。

二、方式不同

1、自动转换:转换按数据长度增加的方向进行,以保证精度不降低。如int型和long型运算时,先把int量转成long型后再进行运算。

2、强制转换:功能是把表达式的运算结果强制转换成类型说明符所表示的类型。

三、特点不同

1、自动转换:是在源类型和目标类型兼容以及目标类型广于源类型时发生一个类型到另一类的转换。

2、强制转换:所有的浮点运算都是以双精度进行的,即使仅含float单精度量运算的表达式,也要先转换成double型,再作运算。

16楼:溅糁埤

c语言数据类型转换分自动转换和强制转换两类。

自动转换自动转换发生在不同数据类型的量混合运算时,由编译系统自动完成。自动转换遵循以下规则:

1.若参与运算量的类型不同,则先转换成同一类型,然后进行运算。

2.转换按数据长度增加的方向进行,以保证精度不降低。如int型和long型运算时,先把int量转成long型后再进行运算。

3.所有的浮点运算都是以双精度进行的,即使仅含float单精度量运算的表达式,也要先转换成double型,再作运算。

4.char型和short型参与运算时,必须先转换成int型。

5.在赋值运算中,赋值号两边量的数据类型不同时, 赋值号右边量的类型将转换为左边量的类型。 如果右边量的数据类型长度左边长时,将丢失一部分数据,这样会降低精度, 丢失的部分按四舍五入向前舍入。

强制类型转换

强制类型转换是通过类型转换运算来实现的。其一般形式为: (类型说明符) (表达式) 其功能是把表达式的运算结果强制转换成类型说明符所表示的类型。

例如: (float) a 把a转换为实型(int)(x+y) 把x+y的结果转换为整型在使用。

强制转换时应注意以下问题:

1.类型说明符和表达式都必须加括号(单个变量可以不加括号),如把(int)(x+y)写成(int)x+y则成了把x转换成int型之后再与y相加了。

2.无论是强制转换或是自动转换,都只是为了本次运算的需要而对变量的数据长度进行的临时性转换,而不改变数据说明时对该变量定义的类型。

c语言简单数据类型有哪些?

17楼:哇哎西西

c语言的基本数据类型为:整型、字符型、实数型。

这些类型按其在计算机中的存储方式可被分为两个系列,即整数(integer)类型和浮点数(floating-point)类型。

这三种类型之下分别是:short、int、long、char、float、double 这六个关键字再加上两个符号说明符signed和unsigned就基本表示了c语言的最常用的数据类型。

下面列出了在32位操作系统下 常见编译器下的数据类型大小及表示的数据范围:

18楼:勇素芹代雨

告诉计算机所要存储运算的是什么类型的数,例如你定义intm;

那么printf实现不同的数据定义

基本类型有整形,实型(浮点型)分单精度型和双再看看别人怎么说的。

19楼:令可欣钦倩

整型变量

整型变量可分为以下几类:

1.基本型

类型说明符为int,在内存中占2个字节,其取值为基本整常数。

2.短整量

类型说明符为short

int或short'c110f1。所占字节和取值范围均与基本型相同。

3.长整型

类型说明符为long

int或long

,在内存中占4个字节,其取值为长整常数。

4.无符号型

类型说明符为unsigned。

无符号型又可与上述三种类型匹配而构成:

(1)无符号基本型

类型说明符为unsigned

int或unsigned。

(2)无符号短整型

类型说明符为unsigned

short

(3)无符号长整型

类型说明符为unsigned

long

各种无符号类型量所占的内存空间字节数与相应的有符号类型量相同。但由于省去了符号位,故不能表示负数。

下表列出了turbo

c中各类整型量所分配的内存字节数及数的表示范围。

整型变量的说明

变量说明的一般形式为:

类型说明符

变量名标识符,变量名标识符,...;

实型量实型常量

实型也称为浮点型。实型常量也称为实数或者浮点数。在c语言中,实数只采用十进制。它有二种形式:

十进制数形式指数形式

1.十进制数形式

由数码0~

9和小数点组成。例如:0.0,.25,5.789,0.13,5.0,300.,-267.8230等均为合法的实数。

2.指数形式

由十进制数,加阶码标志“e”或“e”以及阶码(只能为整数,可以带符号)组成。其一般形式为aen

(a为十进制数,n为十进制整数)其值为

a*10,n 如:

2.1e5

(等于2.1*10,5),

3.7e-2

(等于3.7*10,)-2*) 0.5e7

(等于0.5*10,7),

-2.8e-2

(等于-2.8*10,)-2*)以下不是合法的实数

345(无小数点) e7

(阶码标志e之前无数字)

-5(无阶码标志) 53.-e3

(负号位置不对) 2.7e

(无阶码)

标准c允许浮点数使用后缀。后缀为“f”或“f”即表示该数为浮点数

实型变量

实型变量分为两类:单精度型和双精度型,

其类型说明符为float

单精度说明符,double

双精度说明符。在turbo

c中单精度型占4个字节(32位)内存空间,其数值范围为3.4e-38~3.4e+38,只能提供七位有效数字。双精度型占8

个字节(64位)内存空间,其数值范围为1.7e-308~1.7e+308,可提供16位有效数字。

实型变量说明的格式和书写规则与整型相同。

字符型量

字符型量包括字符常量和字符变量。

字符常量

字符常量是用单引号括起来的一个字符。例如'a','b','=','+','?'都是合法字符常量。在c语言中,字符常量有以下特点:

1.字符常量只能用单引号括起来,不能用双引号或其它括号。

2.字符常量只能是单个字符,不能是字符串。

3.字符可以是字符集中任意字符。但数字被定义为字符型之后就

不能参与数值运算。如'5'和5

是不同的。'5'是字符常量,不能参与运算。

c语言中可以进行位运算的数据类型有什么

1楼 匿名用户 float 和double不可以 剩下的几个都行 2楼 李 只能用于整型操作数,即char short int long类型 c语言位运算有什么作用 3楼 逍遙侠 可以用位运算做文件加密,比如一个文档,让其中的内容位运算,再打开就会显示一堆乱码,除非按特定的位运算变回来 c语言逻辑运...