tft每日頭條

 > 生活

 > 怎麼寫邏輯表達式

怎麼寫邏輯表達式

生活 更新时间:2024-10-01 12:13:04
一:選擇語句

1. if語句:

一般語法如下:

if (test-condition) { statement(s); }

如果test-condition結果為真,執行statement(s),否則跳過statement(s)。

2. if...else語句

一般語法如下:

if (test-condition) { statement(s)1; } else { statement(s)2; }

如果test-condition結果為真,則執行statement(s)1,否則執行statement(s)2。

3. if...else if...else語句

一般語法如下:

if (test-condition1) { statement(s)1; } else if (test-condition2) { statement(s)2; } ... else if (test-conditionN) { statement(s)N; } else { statement(s); }

實際上,這種結構表示的含義是:一個if else語句被嵌套在另外一個if else中。但相比于層層嵌套,該結構語句的格式更清晰,可讀性更高。

4. switch語句

一般語法如下:

switch (integer-expression) { case label1: { statement(s); } break; case label2: { statement(s); } break; ... case labelN: { statement(s); } break; default: { statement(s); } break; }

switch語句中的integer-expression結果必須為整型,通過判斷integer-expression的值來跳到對應的case分支,執行該分支下的statement(s)。

switch語句也可改寫為if...else if...else語句,兩者相比:

Ⅰ. switch語句隻能測試整型條件,而if...else if...else語句可以處理其他類型測試。

Ⅱ. 如果兩種語句都可用且選項超過兩個,switch語句的效率更高。

5. ?:運算符

條件運算符(?:)可以用來代替if else語句,它是C 中唯一需要3個操作數的運算符。該運算符的通用格式如下:

expression1 ? expression2 : expression3

如果expression1結果為真,則整個表達式的值為expression2的值,否則表達式的結果為expression3的值。

二:邏輯表達式

需要測試多個條件時,可以用邏輯運算符來将多個表達式組成邏輯表達式。這些運算符有:邏輯或(||)、邏輯與(&&)和邏輯非(!)。

多個條件進行邏輯或運算時,隻要一個條件結果為真,則整個邏輯表達式的結果為真。

多個條件進行邏輯與運算時,隻要一個條件結果為假,則整個邏輯表達式的結果為假。

邏輯非運算時,對原表達式結果取反。

邏輯與和邏輯或運算符優先級低于關系運算符和算術運算符,且邏輯與運算符優先級高于邏輯或;而邏輯非的運算符優先級高于關系運算符和算術運算符。

三:補充

break語句:用于循環語句和switch語句中,使程序結束循環或結束switch語句。

continue語句:用于循環語句中,讓程序跳過循環體中餘下的代碼,并開始新一輪循環。

字符函數庫:從C語言繼承的用來判斷字符的函數軟件包。常用的字符函數有:

isalnum():如果參數是字母或數字,該函數返回true。

isalpha():如果參數是字母,該函數返回true。

isdigit():如果參數是數字(0~9),該函數返回true。

islower():如果參數是小寫字母,該函數返回true。

isupper():如果參數是大寫字母,該函數返回true。

ispunct():如果參數是标點符号,該函數返回true。

tolower():如果參數是大寫字母,該函數返回其小寫,否則返回該參數。

toupper():如果參數是小寫字母,該函數返回其大寫,否則返回該參數。

四:實戰演示

題目:編寫一個程序,讀取鍵盤輸入,直到遇到@字符為止,并回顯輸入(數字除外),同時改變輸入字符的大小寫。

代碼如下:

#include <iostream> #include <vector> using namespace std; int main() { std::vector<char> chVec; char ch; cin.get(ch); while (ch != '@') { if (isdigit(ch)) { cin.get(ch); continue; } if (islower(ch)) { ch = toupper(ch); } else if (isupper(ch)) { ch = tolower(ch); } chVec.push_back(ch); cin.get(ch); } for (int size = chVec.size() - 1; size >= 0; --size) { cout << chVec.at(size); } cout << endl; system("pause"); return 0; }

測試結果如下圖所示:

怎麼寫邏輯表達式(選擇語句與邏輯表達式)1

圖1 測試結果

,

更多精彩资讯请关注tft每日頭條,我们将持续为您更新最新资讯!

查看全部

相关生活资讯推荐

热门生活资讯推荐

网友关注

Copyright 2023-2024 - www.tftnews.com All Rights Reserved