C语言
第六章:数据的存储和基本类型
数据的存储:所有的计算机处理信息都以二进制形式表示。在计算机中我们一般用补码表示数值(原码、反码也可表示数值)
-
整数类型:
正数:原码,反码,补码相同。符号位为0(符号位为最左边的一位)。
eg:1的补码是 00000000 00000001.
负数:原码,反码,补码不同。
原码:符号位为1,其余各位表示数值的绝对值。
反码:符号位为1,其余各位对原码取反。
补码:反码加1。
eg:-1的原码是 10000000 00000001
-1的反码是 11111111 11111110
-1的补码是 11111111 11111111 -
实形数据 :分为符号位,阶码,尾数。
-
字符型数据:在内存中只占用一个字节,存储它的ASCll码(具体对应关系请见ASCll值数表)
基本数据类型:
-
整型:指的是不存在小数部分的数据类型,。(常常是变量形式)
int 有符号整型 32位 -2147483648~2147483647(-2^31 ~ 2^31-1)
short int 有符号短整型 16位
long int 有符号长整型 32位
unsigned int无符号整型 32位 0~4294967295(0 ~ 2^32-1)
unsigned long int ……
unsigned short int ……
注:c语言并未规定各类整型数据的长度,只要求short型不长于int型,long型不短于long型。
整型常量:即整数。通常我们运用十进制、八进制、十六进制的三种表现形式来表现整数。
十进制:由正负号和阿拉伯数字0~9组成,首位数字不能是0。
八进制:由正负号和阿拉伯数字0~7组成,首位数字必须是0.
十六进制:由正负号和阿拉伯数字0-9,英文字母a~f或者A-F组成,且首位必须由0x或者0X组成。
eg:16
十进制形式:16
八进制形式:020
十六进制形式:0x10
如何判断整数类型:根据整数后面的后缀。
例如用l或者L来表示long型常量,如-12L,01234567890L;用u或者U来表示unsigned型整数,如12u,034u,0x2fdU。
如果整数后面没有出现字母,根据它的值来确定它的类型。具体参考上面给出的数据的取值范围。 -
字符型和字符型常量
c语言中的字符具有数值特征,不但可以写成字符常量的形式还可以用相对应的ASCll值来进行表示。即两者之间可以进行互换。
表现形式 :ch
字符型常量:用一对单引号及其所括起来的字符来表示。如 ‘a’ ‘X’ ‘?’ ’ '(空格符)
转义字符:有一些字符如回车符、退格符等控制码,不能直接在屏幕上显示,也无法从键盘直接输入,只能用转义字符来表示。
表现形式:反斜杠+一个字符或者数字组成
常见:\n 换行
\t 横向调格
\ \ 反斜杠
" 双引号
’ 单引号
\ddd 1~3位八进制整数所代表的字符
\xhh 1~2位十六进制整数所代表的字符 -
实型和实型变量:
实型;又称之为浮点型,指存在小数部分的数。
表现形式:float(单精度浮点型) 32位 ±(10^-38—— 10^38)
double(双精度浮点型)
实型变量:即实数,又称为浮点数,通常都是双精度浮点型。
浮点表示法:由正负号,阿拉伯数字0~9和小数点组成,必须由小数点,并且小数点前后一位至少一边又有数字。
科学计数法:由正负号,数字和字母e(或者E)组成,其中e表示指数,在e前要有数据,在e后的指数只能是整数。eg:普朗克常数6.026*10^-27可以表示为6.026E-27。
、