1、标识符必须是以字母或下划线开始的字母数字串。
2、整型常数
十进制数:一串连续的数字表示,最高位非零。
八进制数:以数字零开头。
十六进制:以数字零和字母x开头,a-f不区分大小写。
如:3238, -23344, 0 均为十进制数
010, 011 , 016 均为八进制数【此处是C语言中的数字,非二进制数字】
0x10, 0xde, 0xf均为十六进制
3、所有变量在使用前必须加以说明或定义
【问题:在调用函数前,是不是也要加以说明或定义呢?】
4、正整数以原码的形式存放在内存中;
负整数以补码的形式存放在内存中。
5、字符是以单引号括起来的单个字符。
字符串是以一对双引号括起来的零个或多个字符组成的序列。
6、转义字符
\0 空字符,ASCII码是0。
\ddd 表示1-3位八进制数字。
\0xff 表示1-2位十六进制数字。
【问:此处八进制为什么是3位,而16进制是2位?】
【答:因为ASCII码用二进制表示是8位,虽然只使用了7位。将此二进制用八进制代换最少需要三位八进制数,而用十六进制数表示则最少需要二位。】
【注】转义序列实际上作为一个字符来对待。但如果反斜线之后的字符和它不构成转义序列,则‘\’不起转义作用,将被忽略。
7、求字符串的长度
"\026[12,m" 这个字符串的长度应该为6,分析:\026是一个八进制数,[为一个字符,1为一个,2为一个,逗号为一个,m为一个。一共是6个,故其长度是6。
"\0mn"这个字符串的长度应该是0。分析:因为\0是一个字符串结束的标志,当编译器运行到\0时会自动终止后面字符的扫描,故其长度应该是0。