1、变量的作用范围及生命周期
局部变量的作用范围:局部变量所在的局部范围(函数内)
全局变量的作用范围:整个工程。要在一个文件中使用另一个文件中的全局变量:要用extern,例如: extern int g_val
2、常量
分为四种:字面常量、#define定义的标识符常量、const修饰的常变量、枚举常量等等
1、字面常量:3.14:浮点型字面值 100:整形字面值 ‘w’:字符型字面值 “abcdef”:字符串常量。
2、const修饰的常变量:本质上还是变量,但赋值之后不能在改变它的值,因此具有常属性。语句:const int n=10;int arr【n】={0};是错的,因为n本质上是一个变量,而数组在初始化的时候数组个数应该是常量。
3、#define定义的标识符常量:形式:#define 常量名 常量值
4、枚举常量 枚举类型:enum
举例:enum Sex
{
MALE
FEMALE
SECRET \\表示Sex有MALE、FEMALE、SECRET这三种类型
}
3、字符串
表示一串(一个)字符
求字符串长度:strlen()函数,头文件:<string.h>
%d:打印整形 %s:打印字符串 %c:打印字符
4、转义字符
\?: 连续书写多个问号,防止他们被解析成三字母词。
(三字母词:??)->] 如:printf("(are you OK??)")会被解释成:"(are you OK])"
\':表示字符串常量'
\":表示字符串内部的双引号
\\:表示一个反斜杠,防止它被解释成一个转义字符
\a:蜂鸣
\b:退格符。 如:printf(“ab\bcdef”)->"acdef"
\f:进纸符
\n:换行符
\r:回车
\t:水平制表符,相当于tab
\v:垂直制表符
\ddd:把输入的八进制的数据转化为十进制,再转化为这个ACSII值为十进制数字的字符
\xdd:把输入的十六进制的数据转化为十进制,再转化为这个ACSII值为十进制数字的字符
进行\ddd、\xdd这两个操作时表示的数转化为十进制数后不能超过ACSII值表示的范围(0-127),不然会报错!