ZetCode

FreeBasic 条件语句

最后修改日期:2025 年 6 月 16 日

FreeBasic 的 If/Then/Else/ElseIf 语句允许程序基于条件进行决策。这些关键字通过根据布尔表达式执行不同的代码块来控制程序流程。

基本定义

If 语句评估一个条件,如果条件为真则执行代码。Then 标记了条件为真时要执行的代码块的开始。

Else 提供了一个备用代码块,在条件为假时执行。ElseIf 允许在单个 If 语句中按顺序检查多个条件。

简单的 If/Then 语句

此示例演示了基本的 If/Then 结构。

simple_if.bas
Dim age As Integer = 18

If age >= 18 Then
    Print "You are an adult"
End If

代码检查 age 变量是否大于等于 18。如果为真,则打印消息。条件 age >= 18 评估为布尔值。End If 标记了条件块的结束。

If/Then/Else 语句

此示例展示了如何使用 Else 来提供备用路径。

if_else.bas
Dim temperature As Integer = 25

If temperature > 30 Then
    Print "It's hot outside"
Else
    Print "It's not too hot"
End If

条件检查温度是否超过 30。如果为真,则打印第一条消息。否则,执行 Else 块。根据条件,只会显示两条消息中的一条。

If/Then/ElseIf/Else 语句

此示例演示了使用 ElseIf 的多个条件。

elseif.bas
Dim score As Integer = 85

If score >= 90 Then
    Print "Grade: A"
ElseIf score >= 80 Then
    Print "Grade: B"
ElseIf score >= 70 Then
    Print "Grade: C"
Else
    Print "Grade: D or F"
End If

代码按顺序检查多个成绩阈值。当满足一个条件时,其块将被执行,其余块将被跳过。Else 子句处理了先前条件未涵盖的所有剩余情况。

嵌套 If 语句

此示例展示了嵌套在其他 If 语句中的 If 语句。

nested_if.bas
Dim age As Integer = 25
Dim hasLicense As Boolean = True

If age >= 18 Then
    If hasLicense Then
        Print "You can drive"
    Else
        Print "You need a license"
    End If
Else
    Print "You're too young to drive"
End If

外部 If 检查年龄,而内部 If 检查许可证状态。嵌套条件允许更复杂的决策树。每个 If 都必须有自己的 End If 语句来标记其块的结束。

单行 If 语句

FreeBasic 允许在单行上使用简单的 If 语句。

single_line_if.bas
Dim number As Integer = 7

If number Mod 2 = 0 Then Print "Even" Else Print "Odd"

这种紧凑的形式对于非常简单的条件非常有用。整个 If/Then/Else 结构都可以在一行中完成。请注意,在此格式中,Then 和 Else 之后只能有一个语句。复杂的逻辑应使用多行格式。

条件中的逻辑运算符

此示例使用逻辑运算符组合多个条件。

logical_operators.bas
Dim age As Integer = 22
Dim hasTicket As Boolean = True
Dim hasID As Boolean = True

If age >= 21 And hasTicket And hasID Then
    Print "You can enter the club"
Else
    Print "Entry requirements not met"
End If

该条件使用 And 运算符来要求所有三个子条件都为真。FreeBasic 支持 And、Or、Not 和 Xor 来组合布尔表达式。括号可以用来澄清复杂的条件。

在多个选项之间进行选择

此示例展示了一种更复杂的决策结构。

multiple_options.bas
Dim day As Integer = 3 ' 1=Monday, 7=Sunday

If day = 1 Or day = 2 Or day = 3 Then
    Print "Early week"
ElseIf day = 4 Or day = 5 Then
    Print "Mid week"
ElseIf day = 6 Then
    Print "Weekend starts"
ElseIf day = 7 Then
    Print "Sunday"
Else
    Print "Invalid day number"
End If

代码使用多个 ElseIf 子句对一周中的天进行分类。按顺序检查每个条件,直到找到匹配项。Else 处理任何无效的日期编号。这种结构比多个单独的 If 语句更清晰。

最佳实践

本教程涵盖了 FreeBasic 条件语句,并提供了实际示例,展示了 If/Then/Else/ElseIf 在不同场景下的用法。

作者

我的名字是 Jan Bodnar,我是一名热情的程序员,拥有丰富的编程经验。我自 2007 年以来一直在撰写编程文章。到目前为止,我已撰写了 1,400 多篇文章和 8 本电子书。我在编程教学方面拥有十多年的经验。

列出所有 FreeBasic 教程