基本语法¶
兼容标准C语言的大部分内容。
目前不支持的内容:
多维数组;
指针;
enum/struct/union语句;
同时定义过个变量;
……
Token¶
C 程序由各种Token组成,Token可以是关键字、标识符、常量、字符串值,或者是一个符号。
分号¶
在 C 程序中,分号是语句结束符。也就是说,每个语句必须以分号结束。它表明一个逻辑实体的结束。
注释¶
C 语言有两种注释方式:
1 | // 单行注释
 | 
以//开始的单行注释,这种注释可以单独占一行。
1 2 3 4 5 6  | /* 单行注释 */ /* 多行注释 多行注释 多行注释 */  | 
/* */这种格式的注释可以单行或多行。
您不能在注释内嵌套注释,注释也不能出现在字符串或字符值中。
标识符¶
C 标识符是用来标识变量、函数,或任何其他用户自定义项目的名称。一个标识符以字母A-Z或a-z或下划线_开始,后跟零个或多个字母、下划线和数字(0-9)。
C 标识符内不允许出现标点字符,比如 @、$ 和 %。C 是区分大小写的编程语言。因此,在 C 中Manpower和manpower是两个不同的标识符。
关键字¶
下表列出了 C 中的保留字。这些保留字不能作为常量名、变量名或其他标识符名称。
关键字  | 
说明  | 
|---|---|
  | 
获取变量/数组/函数地址  | 
  | 
跳出当前循环  | 
  | 
与  | 
  | 
声明字符型变量或函数返回值类型  | 
  | 
定义常量,如果一个变量被  | 
  | 
结束当前循环,开始下一轮循环  | 
  | 
与  | 
  | 
循环语句的循环体  | 
  | 
暂不支持  | 
  | 
条件语句否定分支(与  | 
  | 
暂不支持  | 
  | 
声明变量或函数是在其它文件或本文件的其他位置定义  | 
  | 
暂不支持  | 
  | 
一种循环语句  | 
  | 
直接跳转到标签  | 
  | 
条件语句  | 
  | 
声明整型变量  | 
  | 
声明长整型变量  | 
  | 
暂不支持  | 
  | 
子程序返回语句(可以带参数,也可不带参数)  | 
  | 
声明短整型变量  | 
  | 
声明有符号类型变量  | 
  | 
计算数据类型或变量长度(即所占字节数)  | 
  | 
声明静态变量  | 
  | 
暂不支持  | 
  | 
分支语句  | 
  | 
暂不支持  | 
  | 
声明无符号类型变量  | 
  | 
暂不支持  | 
  | 
声明函数无返回值或无参数  | 
  | 
说明变量在程序执行中可被隐含地改变  | 
  | 
循环语句的循环条件  | 
  | 
声明布尔变量或函数  | 
  | 
暂不支持  | 
  | 
标记不会返回的函数,编译器不会向函数插入  | 
  | 
获取表达式类型信息,结果为一个32位数值,属于扩展功能  | 
  | 
静态条件语句,与  | 
  | 
静态断言,属于扩展功能  | 
  | 
嵌入汇编  | 
  | 
定义存储到code区常量,如果一个变量被  | 
  | 
定义存储到xdata区变量  | 
  | 
暂不支持  | 
  | 
暂不支持  | 
  | 
定义入口函数,默认入口函数  | 
  | 
定义中断函数  | 
  | 
修饰变量为别名,同时指定其存储地址  | 
  | 
为变量指定地址,只能针对全局变量和  | 
  | 
与  | 
空格¶
只包含空格的行,被称为空白行,可能带有注释,C 编译器会完全忽略它。
在 C 中,空格用于描述空白符、制表符、换行符和注释。空格分隔语句的各个部分,让编译器能识别语句中的某个元素(比如 int)在哪里结束,下一个元素在哪里开始。