3.1.8條件運算符
條件運算符是C++中的三目運算符,也稱為三元運算符,它有三個操作數(shù):
操作數(shù)1 ? 操作數(shù)2 : 操作數(shù)3
條件運算符又可以稱為'?'號運算符。操作數(shù)1一般是條件表達式,若表達式成立,即為真,則整個表達式的值為操作數(shù)2,否則為操作數(shù)3。表中的例子:若a>=b, 則例子的結(jié)果為a ,否則就為b。
例如、cout <<('A'<=ch && ch<='Z')? ('a'+ch-'A'):ch
結(jié)果是輸出一個小寫字母。
如果第一個操作數(shù)非零,表達式的值是操作數(shù)2,否則表達式的值取操作數(shù)3。例如:
int m = 1, n = 2;
int min = (m < n ? m : n); // min 取 1
由于條件運算本身是一個表達式,即條件表達式,它可以作為另一個條件表達式的操作數(shù)。也就是說,條件表達式是可以嵌套的。例如:
int m = 1, n = 2, p =3;
int min = (m < n ? (m < p ? m : p)
: (n < p ? n : p));
再看看其它的例子:
int a=10,b=20;
int min = (a>=b? a: b);
則min取值為20。
由條件運算符組成的條件表達式,可以作為另一個條件表達式的操作數(shù),即條件表達式是可以嵌套的,如:
int a=10,b=20,c=30;
int min=(a>=b ?) (b<=c ? b: c): (a<=c ? a : c) // 結(jié)果為10。
條件運算符是C++中的三目運算符,也稱為三元運算符,它有三個操作數(shù):
操作數(shù)1 ? 操作數(shù)2 : 操作數(shù)3
條件運算符又可以稱為'?'號運算符。操作數(shù)1一般是條件表達式,若表達式成立,即為真,則整個表達式的值為操作數(shù)2,否則為操作數(shù)3。表中的例子:若a>=b, 則例子的結(jié)果為a ,否則就為b。
例如、cout <<('A'<=ch && ch<='Z')? ('a'+ch-'A'):ch
結(jié)果是輸出一個小寫字母。
如果第一個操作數(shù)非零,表達式的值是操作數(shù)2,否則表達式的值取操作數(shù)3。例如:
int m = 1, n = 2;
int min = (m < n ? m : n); // min 取 1
由于條件運算本身是一個表達式,即條件表達式,它可以作為另一個條件表達式的操作數(shù)。也就是說,條件表達式是可以嵌套的。例如:
int m = 1, n = 2, p =3;
int min = (m < n ? (m < p ? m : p)
: (n < p ? n : p));
再看看其它的例子:
int a=10,b=20;
int min = (a>=b? a: b);
則min取值為20。
由條件運算符組成的條件表達式,可以作為另一個條件表達式的操作數(shù),即條件表達式是可以嵌套的,如:
int a=10,b=20,c=30;
int min=(a>=b ?) (b<=c ? b: c): (a<=c ? a : c) // 結(jié)果為10。

