数据的表现形式及其运算

 数据类型

所谓类型,就是对数据分配存储单元的安排,包括存储单元的长度(占多少字节)以及数据的存储形式。不同的类型分配不同的长度和存储形式。

C语言允许使用的类型如图所示

 整型数据

1.整型数据的分类
(1)基本整型(int型)

          编译系统分配给int型数据2个字节或4个字节。在存储单元中的存储方式是:用整数的补码形式存放。如果是个负数,则应先求出负数的补码。

正整数的补码就是此数的二进制形式,5的补码:

 负整数的补码是①将此数绝对值的二进制形式;②除最高位符号位外其他数
取反;③加1。
-5的补码:

 (2)短整型(short int)

           类型名为short int或short。如用Visual C++,编译系统分配给int数据4个字节,短整型2个字节。存储方式与int型相同。

(3)长整型(long int)

          类型名为long或long int。如用Visual C++,编译系统分配给long int数据4个字节(即32位)。

(4)双长整型(long long int)

类型名为long long int或long long,一般分配8个字节。

2.整型变量的符号属性

 

 说明: C标准没有具体规定各种类型数据所占用存储单元的长度,只要求
sizeof(short)≤sizeof(int)≤sizeof(long)≤sizeof(long long),具体由各编译系统自行决定的。
sizeof是测量类型或变量长度的运算符。

(1) 只有整型(包括字符型)数据可以加signed或unsigned修饰符,实型数据不能加。
(2) 对无符号整型数据用“%u”格式输出。%u表示用无符号十进制数的格式输出。

在将一个变量定义为无符号整型后,不应向它赋予一个负值,否则会得到错误的结果。

3.字符型数据

(1). 字符与字符代码

大多数系统采用ASCII字符集
字母: 大写英文字母A~Z,小写英文字母a~z
数字: 0~9
专门符号: 29个,包括
! "  #  &  '  (  )  *  +  ,  -  .  /  :  ;  <  =  >  ?  [  \  ]  ^  _  `  {  |  }  ~
空格符: 空格、水平制表符(tab)、垂直制表符、换行、换页(form feed)
不能显示的字符: 空(null)字符(以'\0'表示)、警告(以'\a'表示)、退格(以'\b'表示)、回车(以'\r'
表示)等

注意: 字符′1′和整数1是不同的概念。
字符′1′只是代表一个形状为′1′的符号,在需要时按原样输出,在内存中以ASCII码形式存储,占1个字节。
00110001
而整数1是以整数存储方式(二进制补码方式)存储的,占2个或4个字节。
0000000000000001
整数运算1+1等于整数2,而字符′1′+′1′并不等于整数2或字符′2′。

(2)字符变量

字符变量:用类型符char定义字符变量。
char c='?';//定义c为字符型变量并使初值为字符′?′。′?′的ASCII代码是63,系统把整数63赋给变量c。
printf("%d %c\n",c,c);//用“%d”格式输出十进制整数63,用“%c”格式输出字符′?′

4.浮点型数据

浮点型数据用来表示具有小数点的实数。
3.14159=3.14159*100=0.314159*101=314.159*10-2
由于小数点位置可以浮动,所以实数的指数形式称为浮点数。
浮点数类型包括float(单精度浮点型)、double(双精度浮点型)、long double(长双精度浮点型)。

5.实型数据

 

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值