1e50是多少c语言,C语言的数据类型和运算.doc

C语言的数据类型和运算

第二章 C语言的数据类型和运算

2.1 数据类型

数据是计算机加工处理的对象,C语言中的数据包括:常量、变量和有返回值的函数。为存储和处理的需要,将数据划分为不同的类型,编译程序为不同的类型分配不同大小的存储空间(存储单元的字节数),并对各种类型规定了该类型能进行的运算(运算符集),任何类型数据的值均被限制在一定的范围内,称为数据类型的值域(取值范围)。

2.1.1 C的数据类型

说明: ● 构造类型是由基本类型按一定的规律构造而成的。

空类型的作用:①表示函数没有返回值;

②说明函数无参数;

③表示指针不指向任何值。

2.1.2 数值型数据的表示与存储形式

如π的表示: 日常表示 C语言中的表示

小数点的位置是浮动的,称为浮点数形式。在计算机内部实数都以浮点形式存储,如float占4个字节,三个字节存数字部分,一个字节存指数部分。

小数点的位置是固定的,称为定点数,如:3.14159 ,10,-20, 1992显然整数都属于定点数,如:整数10,在计算机内部一般占2个字节。

定点数的小数点一般是在最高位(定点小数)或在最低位(定点整数)。对于实数型定点数如:3.14159,C语言则把它按指数形式存放3.14159e0,即C的实数一律以浮点形式存储。

字符型数据的表示和存储形式

字符型数如:(’a’,’A’,’#’,’3’)在内存中以相应的ASCII代码存放(占一个字节),如’a’的ASCII代码为97,存储形式为:

在C中,ASCII代码值可以被看成整数,如’A’+32为97与’a’等价。

2.1.4 基本类型的名字和长度

下列关键字称为类型区分符:

char、 int、 short、 long、 signed 、unsigned 、float、double

类型区分符代表一个基本类型的名字,用来说明一个数据的类型。

表2.1 基本类型的名字和长度

完整的类型名简单的类型名类型的长度(字节)取值范围char char 1有符号:-128~127

无符号:0~255signed charsigned char1-128~127Unsigned charUnsigned char10~255int int 2或4(与具体机器有关)2字节:-32768~32767

4字节:约-21亿~21亿short intshort2-32768~32767long intlong4约-21亿~21亿signed int signed2或4 (同int)同intUnsigned intunsigned2或 4(同int)2字节:0~65535

4字节:约0~42亿signed short int signed shor2-32768~32767Unsigned short intunsigned short20~65535singed long int signed long 4约-21亿~21亿Unsigned long intunsinged long4约0~42亿float float4 绝对值约

13.4e-38~13.4e+38double double8绝对值约:

1.7e-308~1.7e+308long doublelong double>=8由具体实现定义说明:

①signed和unsigned不能同时修饰char,short和long或signed和unsigned不能同时修饰int。float不能使用任何修饰词,double可用long修饰;

②int的长度与具体机器的字长相同,在16位机上为2字节,在32位机上为4字节。因此,int 的长度与short或long 相同。

③signed char用1个字节的低7位表示字符值,最高位表示符号。

unsigned char用整个字节表示字符值,无符号位。char表示有符号和无符号与具体机器系统有关,但char一定和signed char或unsigned char其中之一同。在多数机器系统中,char与signed char同。

④浮点类型的范围与浮点在机器内的表示有关,标准C没有规定浮点数格式,大多数机器浮点数格式为:

对于4个字节浮点数,阶码占8位,尾数占23位,1位符号位:

对于8字节的浮点数:

在浮点数中尾数位决定精度(有效数字位数),阶码决定取值范围。

⑤对于带符号的数据类型,一般用最高位(左边第1位)表示符号,0表示正,1表示负,数值以补码形式存放(一个正数的补码是该数的二进制数),如(10)补为

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值