] 本帖最后由 aleyn 于 2020-5-19 08:49 编辑 [/i]
[md]## 大脚蟹快速开发平台学习教程《二》:基础入门篇
上一节,我们学习了《环境搭建篇》,本篇将学习基础语法,默认所有的工具已经准备就绪中。
本文建议大家使用SublimeText3.0,不仅界面清爽美观,而且功能强大好用。
一 、全世界通用的“Hello World”。
打开Demo\EX01_HelloWorld.carb,将会显示如下图一样的程序代码。
上图中的代码,各部分解释如下:
- 用 / /包起来的,是注释部分,注释是给人看的,机器编译的时候,会忽略这部分代码
- import system; 这是让编译器导入库文件(注:库文件也是Crab格式的源代码文件)
- main {} 这是主程序,开发者写的程序代码,将从这里开始执行。
- Print('Hello World');这一句,是在日志控制台上打印一句'Hello World';
我们先不管代码是怎么样写的,而是先运行一下,看看效果。
打开CrabStudio。
- 点击“连接”按钮,如果连接成功,下面窗口会出现连接后的设备信息。
- 点击“打开”,选择Demo\EX01_HelloWorld.carb这个文件。
- 点击“编译”,将会出现如下图所示。
- 点击“下载”,将编译后的程序下载到开发板上。
- 点击“运行”,下方窗口将会切换到“Term"页面,并显示”Hello World“
这表示,我们的第一个程序,已经完美运行成功。
接下来,我们开始学习CRAB语言的语法部分。
二、基本语法
- 注释
注释是用于解释代码。编译器会忽略注释的条目。和大多数C系(C/C#/C++)语言相似,在 CRAB程序中,多行注释以 / 开始,并以字符 / 终止,如下所示:
/*========================================
Thisis a simple DEMO program, it send
agreeting of "Hello World" to
thecomputer.
这是一个最简单的DEMO程序,它向你发送一个
“HelloWorld” 的问候。
========================================*/
单行注释是用 '//' 符号表示,常用于行尾。例如:
Print('Hello World'); //发送“Hello World”问候。
- 标识符
l 标识符是用来识别变量名、函数、类、接口或任何其它用户定义的项目。在 CRAB 中,标识符的命名必须遵循如下基本规则:
l 标识符必须以字母开头,后面可以跟一系列的字母、数字( 0 - 9 )或下划线( _ )。标识符中的第一个字符不能是数字。
l 标识符必须不包含任何嵌入的空格或符号,比如 ? - +! [url=home.php?mod=space&uid=5830]@[/url] # % ^ & * ( ) [ ] { } . ; : " ' / \。但是,可以使用下划线( _ )。
l 标识符不区分大小写。大写字母和小写字母都认为是相同的字母。
l 标识符可以使用中文名称,比如:名称,我是中文变量
l 标识符不能是 CRAB 关键字。(注:请参阅文章最后的关键字表格)
|
|
|
|
|
|
|
保留关键字 |
|
|
|
|
|
|
and |
as |
boolean |
break |
case |
catch |
class |
const |
continue |
crab |
default |
debug |
do |
double |
else |
enum |
event |
extern |
false |
finally |
for |
foreach |
helper |
if |
import |
in |
interface |
is |
long |
new |
not |
null |
object |
or |
out |
override |
params |
private |
protected |
public |
property |
refer |
return |
repeat |
sizeof |
static |
string |
struct |
switch |
this |
throw |
true |
try |
typeof |
until |
var |
virtual |
void |
while |
xor |
|
|
|
- 值类型
值类型变量可以直接分配给一个值。值类型直接包含数据。比如 int、char、float,它们分别存储数字、字母、浮点数。当您声明一个 int 类型时,系统分配内存来存储值。
下表列出了 CRAB 中可用的值类型:
类型 |
描述 |
范围 |
默认值 |
boolean |
布尔值 |
True 或 False |
False |
byte |
8 位无符号整数 |
0 到 255 |
0 |
char |
8位 单个字符 |
0到255 |
'\0' |
tiny |
8 位有符号整数 |
-127到127 |
0 |
short |
16 位有符号整数类型 |
-32,768 到 32,767 |
0 |
ushort |
16 位无符号整数类型 |
0 到 65,535 |
0 |
int |
32 位有符号整数类型 |
-2,147,483,648 到 2,147,483,647 |
0 |
uint |
32 位无符号整数类型 |
0 到 4,294,967,295 |
0L |
long |
64 位有符号整数类型 |
-923,372,036,854,775,808 到 9,223,372,036,854,775,807 |
0.0 |
ulong |
64 位无符号整数类型 |
0 到 18,446,744,073,709,551,615 |
0.0 |
float |
32 位单精度浮点型 |
-3.4 x 1038 到 + 3.4 x 1038 |
0 |
double |
64 位双精度浮点型 |
(+/-)5.0 x 10-324 到 (+/-)1.7 x 10308 |
0 |
date |
32位日期型 |
从0000-00-00到9999-12-31 |
0000-00-00 |
time |
32位时间型 |
从00:00:00.000到23:59:59.999 |
00:00:00 |
datetime |
64位日期时间型 |
是date型和time型的合并体 |
0000-00-00 00:00:00 |
|