标签:
各种糟糕,入坑这么久才开始看K&R的The C Programming Language学C,而且还是为了应付开学某场滚回本体的考试(虽然觉着即使复习了还会被各种吊打),废话不多说,开始施工。
?
?
|-->
导言
整数除法会执行舍位,故要先乘后除。
数据类型:
关键字 | 位长(字节) | 范围 | 格式化字符串 |
char | 1 bytes | -128..127(或0..255,与体系结构相关) | ?%c |
unsigned char | 1bytes | 0..255 | ?%c,?%hhu |
signed char | 1bytes | -128..127 | ?%c,?%hhd,?%hhi |
int | 2bytes(16位系统) | -32768..32767 | ?%i,?%d |
4bytes | -2147483648..2147483647 | ||
unsigned int | 2bytes | 0..65535 或 | ?%u |
4 bytes | 0..4294967295 | ||
signed int | 2bytes | -32768..32767 | ?%i,?%d |
4bytes | -2147483648..2147483647 | ||
short int | 2bytes | -32768..32767 | ?%hi,?%hd |
unsigned short | 2 bytes | 0..65535 | ?%hu |
signed short | 2bytes | -32768..32767 | ?%hi,?%hd |
long int | 4bytes | -2147483648..2147483647 | ?%li,?%ld |
8bytes | -9223372036854775808..9223372036854775807 | ||
unsigned long | 4bytes | 0..4294967295 或 | ?%lu |
8 bytes | 0..18446744073709551615 | ||
signed long | 4 bytes | -2147483648..2147483647 或 | ?%li,?%ld |
8bytes | -9223372036854775808..9223372036854775807 | ||
long long | 8bytes | -9223372036854775808..9223372036854775807 | ?%lli,?%lld |
unsigned long long | 8bytes | 0..18446744073709551615 | ?%llu |
float | 4bytes | 3.4x10?38..3.4x10+38?(7 sf) | ?%f,?%e,?%g |
double | 8bytes | 1.7x10?308..1.7x10+308?(15 sf) | ?%lf,?%e,?%g |
long double | 8 bytes或以上 | 编译器相关 | ?%Lf,?%Le,?%Lg |
?
第二章
1UL < -1L < 1U
条件表达式,对于expr1 ? expr2 : expr3,若expr2、expr3类型不同,结果类型由类型转换规则决定。
运算符优先级与结合性:
()、 []、 -> 、 .、?!、 ++、 -- ? | 圆括号、方括号、指针、成员、逻辑非、自加、自减 |
++ 、 -- 、 * 、 & 、 ~ 、?! 、 + 、 - 、 sizeof、(type)? | 单目运算符(右) |
* 、 / 、?% | 算术运算符 |
+ 、 -? | 算术运算符 |
<< 、 >> | 位运算符 |
< 、 <= 、 > 、 >= | 关系运算符 |
== 、?!= | 关系运算符号 |
& | 位与 |
^ | 位异或 |
| | 位或 |
&& | 逻辑与 |
|| | 逻辑或 |
?? 、?: | 条件运算符 |
= 、 += 、 -= 、 *= 、 /= 、?%= 、 &= 、 |= 、 ^= | 赋值运算符(右) |
, | 顺序(逗号)运算符(右) |
除&&、||、,(逗号运算符)外C语言没有指定同一运算符多个操作数的计算顺序,以及函数各个参数的求值顺序。
?
<--|
The C Programming Language(K&R) 扣细节随记(施工中...
标签:
原文地址:http://www.cnblogs.com/LinkDoyle/p/5161270.html