C语言基本数据类型之整型变量

基本数据类型之常量
C语言基本数据类型之整型变量_第1张图片

在c语言中,整形常量分为八进制、十六进制、和十进制三种

⑴八进制必须以0开头,以0作为八进制数的前缀。数码取值为0-7,八进制数通常是无符号数

⑵十六进制常整数的前缀为0X或者0x。数码取值为0-9,A-F或者a-f

⑶十进制整常数没有前缀。数码取值为0-9

⑷在16位字长的机器上,基本整形无符号十进制所能表示的数值最大为 2的16次方即0-65535,有符号整常数所能表示的是-32768(2的15次方)-32767,;八进制无符号常数的表示范围为0-0177777即二进制表示为777 777 777 777 777 7 十六进制无符号常数的表示范围为0x0-0xffff如果使用的数据超出了上述范围,就必须用长整形来表示 长整形数的后缀是L或者l
十进制 120L
八进制 020L
十六进制长整形 0X1aL

⑸无符号整常数可以用后缀来表示后缀为U或者u,例如220u,0x25au,056u,前缀和后缀可以同时使用

⑹整形数据在内存中是以二进制的形式存放,数值是以补码表示的,一个正数的补码和自身的原码是相同的,一个负数的补码是该数绝对值的二进制形式,按位取反再加一

例 -1的补码计算过程
-1原码 1000 0000 0000 0001
原码取反 符号位不变 其它的取反
1111 1111 1111 1110取反后
取反再加1
-1的补码
1111 1111 1111 1111

实型也称为浮点型,实型常量也称为实数或者浮点数。在C语言中,实数只采用十进制,它有两种形式,即十进制数形式和指数形式

1.十进制数形式
由0-9和小数点组成,例如0.0、3.25、。2588、5.0、-1.5等
2.指数形式
由十进制数加上阶码标志“e”或E以及阶码组成,例如,23e3表示23*10的3次方
注意:e之前必须有数字,e之后必须为整数

字符型常量

字符型常量分为字符常量和字符串常量,而字符常量又可进一步分为一般字符常量和特殊字符常量
1一般字符常量
一般字符常量是指用单引号括起来的一个字符,‘a’和‘?’都是合法的字符常量
⑴字符常量只能用单引号括起来,不能用双引号或其他括号
⑵字符常量只能是单个字符,不能是字符串
⑶字符可以是字符集中的任意字符,但数字被定义为字符型之后就不能参与数值运算

2.特殊字符常量

转义字符是一种特殊的字符常量,转义字符以“/”开头,后跟一个或者几个字符。转义字符具有特定的含义,不同于字符原有的含义所以称为“转义字符”,常用的转义字符如下表所示

C语言基本数据类型之整型变量_第2张图片
字符串常量
1.字符串常量的概念和字符串长度
字符串常量是用一对双引号括起来的若干字符序列
字符串中字符的个数称为字符串长度。长度为0的字符串称为空串 空格也是一个字符
2.字符常量的存储
C语言规定:在存储字符串常量时,由系统自动在字符串的末尾加一个‘\0’作为字符串结束标志
Eg:
字符常量A和字符串常量A的区别
⑴定界符不同:字符常量使用单引号,字符串常量使用双引号
⑵长度不同 : 字符常量的长度固定为1,字符串常量的长度可以为0,也可以是某个整数,而且这里的A的长度是2不是1
字符‘A’占一个字节
字符串“A”占用两个字节 一个字节放 \0

你可能感兴趣的:(常量)