标签:#條件結構

共 8 篇文章

分支表

程序设计中的分支表(branch table)或跳躍表(jump table)是一種利用表格來轉移程式控制權(分支)的方式,表格中的內容就是對應的分支指令。這屬於多路分支。若使用汇编语言撰寫程式,常會用到分支表,不過也可能是由編譯器產生,特別是實現最佳化的,且其數值很相近的情形。 典型的實現 分支表包括許多的分支指令,而分支到這些分支指令的方式是是用其序列索引乘以分支指令長度當作分支指令的偏移量,此作法的原因是机器语言的分支指令長度是固…

空值结合运算符

空值结合运算符(在Perl中称逻辑定义或运算符)是一种二元运算符,是多种编程语言的基本条件表达式语法的一部分,包括C#、PowerShell 7.0.0、Perl 5.10,Swift,PHP 7.0.0。虽然其行为因实现而异,但空值合并运算符首先考虑返回其左操作数的值(如果左操作数存在且不为空) ,其次考虑返回右操作数的值。此行为可为特定值不可用的情况定义缺省值。 与三元条件表达式 x?x:y中表达式x可能求值2次相比,空值结合运算符…

安全导航运算符

在面向对象程序设计中,安全导航运算符(safe navigation operator,也可称作optional chaining operator、safe call operator、null-conditional operator)是一个二元运算符,在第一个实参为空值时返回空值,否则按照第二个实参执行解引用(dereference)操作(典型如对象成员访问,数组索引,lambda调用)。 在编程语言中,导航运算符(navigat…

斷言 (程式)

在程式設計中,斷言(assertion)是一種放在程式中的一階邏輯(如一個結果為真或是假的邏輯判斷式),目的是為了標示與驗證程式開發者預期的結果-當程式執行到斷言的位置時,對應的斷言應該為真。若斷言不為真時,程式會中止執行,並給出錯誤訊息。 例如,以下的程式包括二個斷言: x := 5; {x > 0} x := x + 1 {x > 1} x > 0及x > 1,當程式執行到二個斷言對應的位置時,斷言的內容均為真。 程式設計者可以用斷…

多路分支

多路分支(Multiway branch)是依照一些事先規劃的準則來變更控制流程,變更後的選擇不止兩個。多路分支是條件指令的一種。若要從多個標記選擇一個,轉移流程控制,多路分支多半是算法效率最高的方法,尤其是已事先從中決定索引值,以此決定流程控制的情形。 像分支表、、多分派都是多路分支的例子。 分支表 多路分支可以用有效率,配合索引進行的查找表進行(用資料本身當数组索引,或是用某個從資料計算出來的值當索引),這也是常見實現多路分支的作法…

條件 (編程)

在計算機科學中,條件-{zh-cn:运算式; zh-tw:表達式;}-()、條件語句()、或條件結構(),是一種程式語言的功能,它可以用來決定當程式指定的布林運算值為真或假時,程式接下來將會採取的行動。 术语 在指令式编程中,通常稱為“條件語句”,又稱“條件陳述”,在函數式編程中,通常稱為“條件-{zh-cn:运算式; zh-tw:表達式;}-”。 if–then(–else)結構 一般形式为以下: If ( ) Then () Els…

卫语句

在计算机程序设计中,卫(guard)是布尔表达式,其结果必须为真,程序才能执行下去。卫语句(guard code或guard clause)用于检查先决条件。卫语句的用途,例如: 引用(reference)使用前检查是否为空引用; 使用一个布尔域,使得释放资源操作成为幂等运算,即多次释放资源等效于只释放一次。 概述 卫语句可用于子进程的提前退出(early exit),这是结构化程序设计的一种常见偏离,可删除一层嵌套使得代码更扁平: 把…

短路求值

短路求值(Short-circuit evaluation; minimal evaluation; McCarthy evaluation; 又称最小化求值),是一种逻辑运算符的求值策略。只有当第一个运算数的值无法确定逻辑运算的结果时,才对第二个运算数进行求值。例如,当AND的第一个运算数的值为false时,其结果必定为false;当OR的第一个运算数为true时,最后结果必定为true,在这种情况下,就不需要知道第二个运算数的具体值…