基本语法¶
兼容标准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)在哪里结束,下一个元素在哪里开始。