bite集训营
5/28
每周一点课程回顾以及知识总结(对于别人真的没什么用 :-(
1、两种特殊的转义字符
(1)、\ddd:d d d 表示1~3个八进制的数字,可以是一个d,例如\d(d为1至7中任意一个数字,只要不超过位数),也可以是两个d,例如\dd;
(2)、\xdd: d d 表示两个十六进制数字,例如\x30;
注:
①、在编译器中,若直接输入17,系统会将其认定为十进制数的17,而若输入017,系统会将其认定为八进制数,经过printf函数打印后会得到 0×8^2 + 1×8^1 + 7 × 8^0 = 15;
②、该两个转义字符的意思是,将输入的八进制数和十六进制对应的ASCII码,以字符的形式进行输出
③、在使用strlen函数计算字符串长度时,转义字符一个整体属于一个字符长度(例如 "c:\test\110\abc",在计算字符串长度时,系统会将"\t","\110","\a"视为转义字符,其长度只有1,该三个转义字符分别指制表符、\ddd、警报)
2、数据类型
内置的(还有一种为自定义类型,例如数组、结构体、枚举、联合体暂时不做要求)
字符型//character:char、signed char //有符号的 、unsigned char // 无符号的;
整形//integer:int、short int 、 long int 、 long long int ;
浮点型:float、double 、long double;
布尔类型:有关真假的判断,原来C语言中 '0'为假,’非0‘为真,但在C99中引入了布尔类型来专门表示真假
注:其中short int 、long int 、 long long int 后的int可以省略
3、sizeof操作符
用于计算类型长度,单位字节,通过课程可知以下数据类型的长度
short:2
int:4
long:4
long long :8
float:4
double:8
long double:8
注:
①:sizeof(long) >= sizeof(int)
②:sizeof(a=b+c); 括号中不做运算,且输出a的字符类型的长度
③:sizeof(表达式) ,表达式的括号可以省略,类型不行
④:size_t 是一种专门为sizeof设计的返回值类型,属于无符号整形,将sizeof的返回值类型统一为%zd
4、signed 和 unsigned
signed 和 unsigned 能够修饰字符型和整形数据,其实输入 int 就默认为有符号signed型,
而当要输入无符号数据时,必须为 unsigned int 、unsigned long int 、 unsigned long long int;
其中后两者中的int 可以省略。
注:3、中可知,有符号int类型的长度为4个字节,即-2147483648~2147483647 通过查limits.h文件可知;对于无符号,即unsigned int ,其取值范围为0~4294967295,最大值翻了一倍
6、若一个变量同时为局部变量和全局变量,则局部的优先级高于全局,同时,局部变量的表达式只有在局部才有用。