找回密码
 立即注册→加入我们

QQ登录

只需一步,快速开始

搜索
热搜: 下载 VB C 实现 编写
查看: 1537|回复: 1

【VFB】词法约定(VFB教程2-2)

[复制链接]

51

主题

31

回帖

648

积分

用户组: 大·技术宅

UID
3260
精华
7
威望
12 点
宅币
506 个
贡献
1 次
宅之契约
0 份
在线时间
23 小时
注册时间
2017-12-26
发表于 2018-2-26 21:00:53 | 显示全部楼层 |阅读模式

欢迎访问技术宅的结界,请注册或者登录吧。

您需要 登录 才可以下载或查看,没有账号?立即注册→加入我们

×
此处为VisualFreeBasic编程教程(从零开始学或VB进阶)的子章节部分,全部目录点链接。


注释

注释是编译器将忽略的文本区域,但可能包含对程序员有用的信息。一些例外是可能出现在某些类型的评论中的元命令。
单行注释
单引号(')可用于指示注释,并可能在源行上的其他关键字后显示。声明的其余部分将被视为注释。
  1. ' comment text
复制代码

注释语句:Rem
以Rem开头的源代码语句表示该行的其余部分是注释,不会被编译。Rem行为与上述相同,除了它必须是语句中的第一个关键字。
  1. Rem comment
复制代码

多行注释

多行注释用标记/'和'/标记。两个标记之间的所有文本都被认为是注释文本,没有被编译。
多行注释可以跨越几行,也可以在语句中间使用。注释结束后,声明将继续被解析为正常(即使注释超过换行符)。
  1. /' Multi-line
  2.    comment '/
  3. Print "Hello" /' embedded comment'/ " world"
复制代码

注意:如果FreeBASIC在不在多行注释中遇到密切注释标记,则由于单引号,它会将其视为正常的单行注释。
注释后续行
多行语句中的行连续字符(_)之后可能会出现单行注释。FreeBASIC不解析行继续字符后的文本,所以你不能在它们之后打开多行注释。
  1. Print _ ' line
  2.     "This is part of the previous line's statement"
复制代码


标识符规则

FreeBASIC符号的命名约定
标识符是在其范围或Namespace内唯一标识变量,Type,Enum,Function,Sub或Property的符号名称。
标识符可以只包含大小写拉丁字符a - z和A - Z),数字(0 - 9)和下划线字符(_)。标识符的第一个字符必须是字母或下划线,而不是数字。
标识符不区分大小写:FOO和foo(以及大写和小写的所有其他排列)引用相同的符号。
标识符可能在末尾有一个类型后缀,表示标准数据类型之一:
%Integer
&Long
!Single
#Double
$String
通常不会使用这些符号,也不允许使用。

替代方案是明确的 - 例如Dim As Integer foo或Dim foo As Integer而不是Dim foo%

文本

非变量编译时字符串和数值。
文本是直接在源代码中指定的数字或字符串。可以通过将它们赋值给变量或常量,将它们传递给过程或在表达式中使用它们来使用字面值。
数字文本有两种形式 - 整数和浮点数。
整数文本
十进制
小数位数(0 1 2 3 4 5 6 7 8 9)。
  1. Dim x As Integer = 123456
  2. Dim b As Byte = -128
复制代码

十六进制
“&H”,后跟十六进制数字(0 1 2 3 4 5 6 7 8 9 A B C D E F)。
  1. Dim x As Integer = &h1E240
  2. Dim b As Byte = &H80
复制代码

八进制
“&O”,后跟八进制数字(0 1 2 3 4 5 6 7)
  1. Dim x As Integer = &O361100
  2. Dim b As Byte = &O200
复制代码

二进制
“&B”,后跟二进制数字(0 1)
  1. Dim x As Integer = &B11110001001000000
  2. Dim b As Byte = &B10000000
复制代码



整数大小后缀

如果未提供整数文本后缀,则会自动计算保存文本所需的数字字段大小。指定大小后缀保证编译器将一个数字视为一个特定的整数大小。
整数文本以:
“%”被认为是32/64(取决于平台)位整数。(Integer)
“L”,“&”被视为有符号的32位长整数。(Long)
“U”被视为无符号32/64(取决于平台)位整数。(UInteger)
“UL”被视为无符号32位整数。(Ulong)
“LL”被视为带符号的64位整数。(LongInt)
“ULL”被视为无符号的64位整数。(ULongInt)
前缀,后缀和十六进制字母数字都不区分大小写。
  1. Dim a As Long = 123L
  2. Dim b As UInteger = &h1234u
  3. Dim c As LongInt = 76543LL
  4. Dim d As ULongInt = &b1010101ULL
复制代码


浮点文本

浮点数以十进制数表示,可以是正数或负数,具有小数部分,可选地指数。浮点文本的格式如下:
number[.[fraction]][((D|E) [+|-] exponent)|(D|E)|][suffix]

.fraction[((D|E) [+|-] exponent)|(D|E)|][suffix]
默认情况下,没有指数或后缀的浮点数被视为双精度浮点值,其中7位或更少的数字被认为是单精度。
  1. Dim a As Double = 123.456
  2. Dim b As Double = -123.0
复制代码

放在数字/分数部分之后的字母“D”或“E”允许给出一个指数。指数可以用正号或负号(“+”)或减号(“-”)指定。没有符号的指数是正数。
在信之后不需要指数,所以该字母只能用于指定类型。“D”指定双精度浮点数。“E”使用默认精度指定浮点数。当字母与后缀结合使用时(见下文),后缀表示的类型会覆盖字母指定的类型。
  1. Dim a As Double = -123.0d
  2. Dim b As Double = -123e
  3. Dim c As Double = 743.1e+13
  4. Dim d As Double = 743.1D-13
  5. Dim e As Double = 743.1E13
  6. Dim f As Single = 743D!
复制代码

数字上的“!”或“F”后缀指定单个精度(总共32位)浮点值。后缀“#”指定双精度浮点数。
请注意,字母后缀和指数说明符都不区分大小写。
  1. Dim a As Single = 3.1!
  2. Dim b As Single = -123.456e-7f
  3. Dim c As Double = 0#
  4. Dim d As Double = 3.141592653589e3#
复制代码


字符串文本

字符串文本是包含在两个双引号之间的一系列字符。字符序列已转义或未转义。
双引号可以在字符串文本中使用两个双引号在一起指定。
  1. Print "Hello World!"
  2. Print "That's right!"
  3. Print "See the ""word"" contained in double quotes."
复制代码

字符串字面值可以包含转义序列,如果字符串文本以! Operator(转义字符串文本)为前缀。有关接受的转义序列的列表,请参阅转义序列.
  1. Print !"Hello\nWorld!"
复制代码


标签

定义程序中的位置。
语法
symbolname:
在Goto可以跳转到的程序中定义一个地方。
symbolname 标签必须以冒号(:)字符结尾。
  1. Goto beginning
  2. beginning:
  3. Print "你好,世界!"
复制代码


行继续符(长行)

代码行末尾的单个_(下划线)字符告诉编译器该行在下一行中继续。这允许单个语句(代码行)分散在输入文件中的多行中,这可以是一个很好的格式化帮助。
  1. Dim myvariable _
  2. As Integer
复制代码

这通常用于使很长的代码行更容易阅读,例如具有很多参数的过程声明:
  1. Declare Sub drawRectangle( ByVal x As Integer, ByVal y As Integer, _
  2.                            ByVal w As Integer, ByVal h As Integer )

  3. '' or:

  4. Declare Sub drawRectangle _
  5.     ( _
  6.         ByVal x As Integer, _
  7.         ByVal y As Integer, _
  8.         ByVal w As Integer, _
  9.         ByVal h As Integer _
  10.     )
复制代码

_行连续字符可以插入一行代码中的任何一点。它不会在评论内。
在标识符或关键字后面添加_行延续字符时要小心。它应该与至少一个空格字符分开,否则将被视为标识符或关键字的一部分。
  1. Dim As Integer a_     '错误写法
  2. Dim As Integer a _   '正确写法  
  3. = 5
复制代码

警告:当使用_行连续字符将错误的代码行分散在多行数据块上时,错误消息仅指块的最后一行。
回复

使用道具 举报

1

主题

157

回帖

603

积分

用户组: 大·技术宅

UID
7535
精华
0
威望
0 点
宅币
445 个
贡献
0 次
宅之契约
0 份
在线时间
67 小时
注册时间
2021-10-16
发表于 2022-5-17 11:20:34 | 显示全部楼层

如此好贴,必须支持~~~
回复 赞! 靠!

使用道具 举报

QQ|Archiver|小黑屋|技术宅的结界 ( 滇ICP备16008837号 )|网站地图

GMT+8, 2024-3-29 01:52 , Processed in 0.039250 second(s), 31 queries , Gzip On.

Powered by Discuz! X3.5

© 2001-2024 Discuz! Team.

快速回复 返回顶部 返回列表