一点一点的积累开始
1.数据类型
char 字符数据类型 一个字节
short 短整型 两个字节
int 整型 四 个字节
long 长整形 四个字节
long long 更长的整型 八个字节
float 单精度浮点数 四个字节
double 双精度浮点数 八个字节
2.变量
(1)分类
局部变量
全局变量
#include <stdio.h>
int global=2019//全局变量
{
int local=2018;//局部变量
int global=2020;
printf ("global=%d\n",global);
return 0;
}
结果输出的global为2020;
当全局变量和局部变量同名时,局部变量优先使用。
(2)变量作用域与生命周期
作用域体现有效范围,生命周期体现使用时间。
3.常量
字面常量
const修饰的常变量
#define 定义的标识符常量
枚举常量
其中 枚举常量举例
//举例
enum sex
{
male,
female,
secret
};
4.字符串和转义字符
注意: 字符串的结束标志是一个\0的转义字符,并不算做字符内容,因此使用strlen函数时,结果中不包含\0的长度。
有如下代码
#include<stdio.h>
int main()
{
printf("%d\n",strlen("c:\test\328\test.c"));
return 0;
}
结果为 14 原因在于每一个\加后面的字符被计算机当成了一个转义字符。
5.操作符
算数操作符
+ - * / %
移位操作符
>> <<
位移操作符
& ^ |
赋值操作符
= += -= *= /= ^= |= >>= <<=
单目操作符
! 逻辑反操作
- 负值
+ 正值
& 取地址
sizeof 操作数的类型长度(以字节为单位)
~ 二进制取反操作
– 前置,后置
++ 前置,后置
* 间接访问操作符
(类型) 强制类型转换
关系操作符
>
>=
<
<=
!=
==
逻辑操作符
&&
||
条件操作符
exp1?(exp2:exp3)
6.**关键字**
external 在文件外部声明变量
register 定义寄存变量
volatile 易变关键字
其中static修饰局部变量时只改变生命周期,但作用域不改变。
修饰全局变量时,使得这个全局变量只在本源文件内使用
修饰函数时,也是只能在本源文件内使用。
define定义常量和宏
在定义宏时, 有如下例子
#define add(x,y) ((x)+(y))
注意为了安全起见应该给x和y各自都带括号整体也要带括号。