1.常用编译器
Clang //熟手用
GCC //熟手用
Win-TC
SUBLIME
MSVS(Mircrosoft VisualStudio)
TurboC
2. C语言变量类型
char 字符型 1 //用单引号‘’以描述字符
short 短整型 2
long 长整型 4 //C语言标准:sizeof(long) >= sizeof(int)
int 整型 4
long long 更长的整型 8
float 单精度浮点型 4
double 双精度浮点型 8 //占用空间:8个字节
3. sizeof() 函数
计算类型或变量所占的空间的大小,单位:字节。如
sizeof(a); //计算变量a所占的空间大小
sizeof(int); //计算整型类型所占的空间大小
4. 变量的作用域和生命周期
作用域(scope),一段程序代码中所用到的名字并不是总是有效/可用的,而限定这个名字的可用性的代码范围就是这个名字的作用域。
根据作用域的不同,变量分为局部变量和全局变量。
所谓局部:变量所在的“{ }”范围内
所谓全局:整个工程
生命周期,变量的创建到销毁之间的一个时间段。
局部变量的生命周期:进入作用域开始,出作用域结束
全局变量的生命周期:整个程序的生命周期
5. 常量
a. 字面常量,如数字1,π,字符‘a’ ‘abc’等
b. const修饰的常变量,const int a = 10;
c. #define 定义的标识符常量,#define MAX 200
d. 枚举常量,默认是从0开始枚举,
enum sex //枚举类型的变量
{
//变量的可能取值
//3个枚举常量
male,
female,
secrect
}
int main()
{
enum sex s = male;
return 0;
}
6. 数组:一组同一类型的元素
整型数组:int arr[2] = {0};
字符型数组:char arr1[] = "Hello"; char arr2[] = {'a','b','c'};
字符串数组 arr1[] 在内存中存储 abc\0,
字符串数组 arr2[] 在内存中存储abc...(之前存留但未清除的数据)
通过添加转移符可以解决:
char arr2[] = {'a','b','c','\0'}; //添加结束标志\0
7. 转义字符
\' 用于表示字符常量单引号'( printf ( "%c\n", ' \' ' ) )
\" 用于表示一个字符串内部的双引号
\\ 用于表示一个反斜杠,防止它被解释为一个转义序列符
\a 警告字符,输出蜂鸣
\b 退格符
\f 进纸符
\n 换行符
\r 回车
\t 水平制表符
\v 垂直制表符
\ddd ddd表示1~3个八进制的数字。如:print("%c\n",'\130')打印出X(130对应十进制的数是88, ASCII码88对应的字符是X,故输出字符X)
\xdd dd表示2个十六进制的数字。如:\x30表示0
8. 注释
C语言风格的注释:/******/
缺陷:不能嵌套注释
C++风格的注释//*********
可以注释一行也可以注释多行