目的
在C語言中,條件運算符「? : 」是唯一的一個三目運算符,它對第一個表達式作真/假檢測,然後根據其結果返回另外兩個表達式中的一個,其通用表達式形式如下圖所示:
上式中y的值取決於表達式1的值,當其值為真時,y的值為表達式2的值,否則,y的值為表達式3的值。
舉個簡單的例子,對於下面的C語言代碼:
y = x > 0 ? 1 : -1;
其實現的功能是,當輸入x的值大於0時,y的值為1,否則,y的值為-1。在LabVIEW中如何實現這種功能呢?下面給出幾種方法。
方法1:最簡單的方法直接使用「選擇」函數實現
最直接最簡單的方法,可以在LabVIEW中使用「選擇」函數實現。在程序框圖的函數模板中選擇編程-->比較子模板中可以找到這個函數,其使用說明如下圖所示:
實現代碼如下圖所示:
方法2:使用條件結構方法實現
使用條件結構方法實現,這種方法相對於第1種方法稍微麻煩些,條件結構中真和假兩種情況的代碼如下圖所示:
方法3:使用公式節點寫C語言代碼實現
這種方法在LabVIEW中使用公式節點,在公式節點中寫C語言代碼實現,其代碼如下圖所示:
這種方法投機取巧了些,本質上是完全使用的C語言中的三目運算符「? : 」實現。
方法4:使用表達式節點寫C語言代碼實現
這種方法同上面公式節點類似,區別在於使用的是LabVIEW中的表達式節點,其位置位於函數模板中的編程-->數值子模板中,其使用說明如下圖所示:
使用表達式節點的實現代碼如下圖所示:
注意,使用表達式節點時,在表達式中只能包含一個變量,這也是與公式節點的區別所在。
總結
本文介紹了四種方法實現C語言中條件運算符「? : 」的功能,從這兒可以看出,在LabVIEW中實現也是比較簡單的。
本文由編碼那些事原創,請關注+轉發+收藏+點讚,帶你一起長知識!