W3Cschool
恭喜您成為首批注冊用戶
獲得88經(jīng)驗值獎勵
這些運算符可用于確定變量或值之間的邏輯。
操作符 | 含義 |
---|---|
&& | 與 |
|| | 或 |
! | 非 |
邏輯與運算符&&,是組合兩個邏輯表達式的二進制運算符,即兩個計算為true或false的表達式。
考慮這個表達式:
test1 && test2
如果表達式test1和test2的值都為true,則此表達式計算結(jié)果為true。
如果操作數(shù)中的任一個或兩個都為false,則操作結(jié)果為false。
使用&&運算符的明顯地方在if表達式中。這里有一個例子:
if(age > 12 && age < 20) { printf("You are a teenager."); }
僅當(dāng)age的值為13到19(含)時,才執(zhí)行printf()語句。
當(dāng)然,&& 運算符可以是bool變量。
您可以用以下語句替換上一條語句:
bool test1 = age > 12; bool test2 = age < 20; if(test1 && test2) { printf("You are a teenager."); }
和運算符的真值表
X | y | 結(jié)果 |
---|---|---|
true | true | true |
true | false | false |
false | true | false |
false | false | false |
使用邏輯與運算符
#include <stdio.h>
#define PERIOD "."
int main(void)
{
char ch;
int charcount = 0;
while ((ch = getchar()) != PERIOD)
{
if (ch != """ && ch != "\"")
charcount++;
}
printf("There are %d non-quote characters.\n", charcount);
return 0;
}
上面的代碼生成以下結(jié)果。
邏輯或運算符||,檢查兩個或多個條件中的任何一個為真。
如果||的任一個或兩個操作數(shù)運算符是真的,結(jié)果是真實的。
有當(dāng)兩個操作數(shù)都為false時,結(jié)果為false。
以下是使用此運算符的示例:
if(a < 10 || b > c || c > 50) { printf("At least one of the conditions is true."); }
只有在三個條件a <10,b> c或c> 50中的至少一個為真時,才執(zhí)行printf()。
您可以使用&&和||邏輯運算符組合,如下面的代碼片段:
if((age > 12 && age < 20) || savings > 5000) { printf ("hi."); }
您可以用以下語句替換上一條語句:
bool over_12 = age > 12; bool undere_20 = age < 20; bool age_check = over_12 && under_20; bool savings_check = savings > 50; if(age_check || savings_check) { printf ("Hi."); }
或運算符的真值表
X | y | 結(jié)果 |
---|---|---|
true | true | true |
true | false | true |
false | true | true |
false | false | false |
邏輯非運算符,由!表示。
!運算符是一元運算符,因為它只適用于一個操作數(shù)。
邏輯非運算符反轉(zhuǎn)邏輯表達式的值:true變?yōu)閒alse,false變?yōu)閠rue。
if( !(age <= 12) ) { printf("Hi."); }
非運算符的真值表
X | 結(jié)果 |
---|---|
true | false |
false | true |
為了說明如何在C代碼中使用邏輯運算符,可以編寫這段代碼。
#include <stdio.h>
int main() {
int a,b;
a = 5;
b = 8;
printf("%d \n",a>b && a!=b);
printf("%d \n",!(a>=b));
printf("%d \n",a==b || a>b);
return 0;
}
上面的代碼生成以下結(jié)果。
以下代碼顯示如何測試字母大小寫。
#include <stdio.h>
int main(void)
{
char letter = 0; // Stores an input character
printf("Enter an upper case letter:"); // Prompt for input
scanf(" %c", &letter); // Read the input character
if((letter >= "A") && (letter <= "Z")) // Verify uppercase letter
{
letter += "a"-"A"; // Convert to lowercase
printf("You entered an uppercase %c.\n", letter);
}
else
printf("You did not enter an uppercase letter.\n");
return 0;
}
上面的代碼生成以下結(jié)果。
下面的代碼使用ctype.h中的函數(shù):
#include <stdio.h>
#include <ctype.h>
int main(void)
{
char letter = 0; // Stores a character
printf("Enter an uppercase letter:"); // Prompt for input
scanf("%c", &letter); // Read a character
if(isalpha(letter) && isupper(letter))
printf("You entered an uppercase %c.\n", tolower(letter));
else
printf("You did not enter an uppercase letter.\n");
return 0;
}
上面的代碼生成以下結(jié)果。
Copyright©2021 w3cschool編程獅|閩ICP備15016281號-3|閩公網(wǎng)安備35020302033924號
違法和不良信息舉報電話:173-0602-2364|舉報郵箱:jubao@eeedong.com
掃描二維碼
下載編程獅App
編程獅公眾號
聯(lián)系方式:
更多建議: