目录:
常量.c
常量分类: (1)字面常量(直接常量):数值常量(分为整型常量和浮点型常量)、字符串常量和字符常量
(2)符号常量
(3)常变量
\f,换页,将当前位置移到下一页的开头
\v,垂直制表符,将当前位置移到下一个垂直制表对齐点
\o、\oo或\ooo(o代表一个八进制),与该八进制码对应的ASCII字符,与该八进制码对应的字符
\xh[h...](h代表一个十六进制),与该十六进制码对应的ASCII字符,与该十六进制码对应的字符
注:只要在定义一个变量的时候在它之前加上一个const这个关键字,就代表所定义的变量是一个常变量,常变量必须在定义时初始化,之后其值不能被修改
整型:
(一)补码:整型以补码的形式存放
(1)一个正数的补码是此数的二进制形式
求一个正整数的二进制,除以2,直至商为0,余数倒数排序
(2)一个负数的补码,先求其绝对值的补码,然后该补码所有位取反,所得之数最后加1
例如:求-5的补码
假设-5储存的单元是一个字节,一个字节是八个二进制位,求-5的补码先求5的补码,5的补码是101,其他高位上用0来填充则是00000101,得到5的补码后需要对所有位取反,对0取反就是1,对1取反就是0,所以就是11111010,然后加1得到11111011,这就是-5的补码。
(3)0的补码,所有位全都是0
注意:在存放整型的存储单元中最左边一位是用来表示符号的(一个正整数最左边那一位是0,负整数最左边那一位是1)。
8位二进制补码所代表的整数:
二进制 十进制
0000 0000 —————————— 0
0000 0001 —————————— 1
……
0111 1111 —————————— 127 ——— 2^(8-1)-1 最大正数
1000 0000 —————————— -128 ——— -2^(8-1) 最小负数
1000 0001 —————————— -127 ——— -(2^(8-1)-1)
1000 0010 —————————— -126 ——— -(2^(8-1)-2)
……
1111 1111 —————————— -1
自然数0~127,负整数-128~-1
(二)整型数据的存储空间及范围
(1)Turbo C中 int 是2个字节。VC++中 int 是4个字节。C标准没有具体规定各种数据类型所占用储存单元的长度,这是由各编译系统自行决定的。
短整型 整型 长整型 双长整型 名称
short <= int <= long <= long long 类型
2 2或4 4 8 字节
无符号短整型 无符号整型 无符号长整型 无符号双长整型 名称
unsigned short <= unsigned int <= unsigned long <= unsigned long long 类型
2 2或4 4 8 字节
注意:只有整型(包括字符型)数据可以加 unsigned 修饰符,实数型不能加,对无符号整型数据用 %u 格式输出,C99新增数据的整型类型有 long long 和 bool(布尔型)
字节数
有符号的取值范围
类型
2
- 2^15~2^15-1(-32768~32767)
short, int
4
- 2^31~2^31-1(约-2e9~2e9)
int, long
8
- 2^63~2^63-1(-约-9e18~9e18)
long long
字节数
无符号的取值范围
类型
2
0 ~ 2 ^64-1(约0~18e18)
unsigned short, unsigned int
4
0 ~ 2 ^32-1(约0~4e9)
unsigned int, unsigned long
8
0 ~ 2 ^64-1(约0~18e18)
unsigned long long
记住 2^7 == 128
2^8 == 256
2^15 == 32768
2^16 == 65536
2147483648 == 2^31 ≈ 2e9
4294967296 == 2^32 ≈ 4e9
9223372036854775808 == 2^63 ≈ 9e18
18446744073709551616 == 2^64 ≈ 18e18
注意:黑色的格式声明scanf可用,黑色和红色的格式声明printf可用。
类型
格式声明
十进制的
八进制的
十六进制的
short
%hd, %hi
%ho
%hx, %hX, %#hx, %#hX
int
%d, %i
%o
%x, %X, %#x, %#X
long
%ld, %li
%lo
%lx, %lX, %#lx, %#lX
long long
%lld, %lli
%llo
%llx, %llX, %#llx, %#llX
unsigned short
%hu
%ho
%hx, %hX, %#hx, %#hX
unsigned int
%u
%o
%x, %X, %#x, %#X
unsigned long
%lu
%lo
%lx, %lX, %#lx, %#lX
unsigned long long
%llu
%llo
%llx, %llX, %#llx, %#llX
*整型常量的类型转换
类型
常量末尾所加符号(建议都大写)
short
无
unsigned short
无
int
无
unsigned int
U、u
long
L, l
unsigned long
UL, ul, Ul, uL
long long
LL, ll, Ll, lL
unsigned long long
ULL, ull, ULl, uLL, Ull, uLl, ulL
注:如果不加这些说明符号,整型变量的类型是由系统自动识别。
字符型数据:
(一)字符型是以整数形式(ASCII码)存放在内存中。ASCII共128个字符(0~127这128个整数来表示字符)(也就是说最多用7位数就可以表示)。
记住: ‘A‘ —— 65
‘a‘ —— 97 一个小写字母比其大写字母的ASCII码大32
‘0‘ —— 48
空格 —— ‘ ‘ —— 32
换行 —— ‘\n‘ —— 10
空字符 —— ‘\0‘ —— 0
(二)字符型数据的存储空间和值
*
类型
字节数
取值范围
signed char
1
-128 ~ 127
unsigned char
1
0 ~ 255
注意:1.C99把字符型数据作为整型类型的一种。
2.在使用有符号字符型变量时,允许存储的值为负数,但是字符的代码是不可能是负值,所以在存储字符时只用到了 0 ~ 127 这一部分。
getchar 和 putchar函数.c
f1输出值:
f2输出值:
浮点型数据(包括:单精度浮点型,双精度浮点型,长双精度浮点型,复述浮点型):
(一)规范化的指数形式,把小数部分中小数点前的数字为0,小数点后第一位数不为0,如:0.314159e1就是3.14159的规范化的指数形式。
(二)实数储存空间及范围(Turbo C中long double 占16个字节,vc++6.0中占8个字节)
字节数
有效数字
数值范围 ( 绝对值)
数据类型
4
6
0以及1.2e-38~3.4e38
float
8
1 5
0以及2.3e-308~1.7e308
double, long double
1 6
19
0以及3.4e-4932~1.1e4932
long double
注:从数值的左边第一个不为0的数字起,一直数到这个数字结束,中间的数字叫这个值的有效数字(如0.618的有效数字有三个,分别是6,1,8)
注:(一)所有常量末尾加的数据转换类型转换符可以大小写不分
(二)在目前学习过的所有格式声明中只有xeg可以不分大小写。
printf用到的格式附加字符.C
scanf函数注意事项.C
scanf函数中不可以使用#、-、m-n(m,n属于自然数)的格式附加字符,可以使用域款的格式附加字符
运算符.2.C
原文:https://www.cnblogs.com/XiaMengJie/p/12343424.html