❶ 是c語言的什麼運算符
1、意思是:
是條簡轎件運算符,條悉燃件運算符是C語言中唯一的三目運算符,就是說他有三個運算對象。
2、條件運算符的形式是「?睜咐虛:」由他構成的表達式稱為條件表達式。
形式為:表達式1?表達式2:表達式3
(1)條件運算符號c語言擴展閱讀:
一、表達式為:表達式1?表達式2:表達式3
先求解表達式1,若其值為真(非0)則將表達式2的值作為整個表達式的取值,否則(表達式1的值為0)將表達式3的值作為整個表達式的取值。
例如:
1、max=(a>b)?a:b
就是將a和b二者中較大的一個賦給max。
2、min=(a<b)?a:b
就是將a和b二者中較小的一個賦給min。
3、優先順序
條件運算符優先順序高於賦值、逗號運算符,低於其他運算符
例如:
⑴
m<n
?
x
:
a+3
等價於:(m<n)
?(x)
:(a+3)
⑵
a++>=10
&&
b-->20
?
a
:
b
等價於:(a++>=10
&&
b-->20)
?
a
:
b
⑶
x=3+a>5
?
100
:
200
等價於:x=
((
3+a>5
)
?
100
:
200
)
參考資料:網路-條件運算符
❷ 在C語言中,「」。「:」是什麼意思
1、意思:是條件運算符,條件運算符是C語言中唯一的三目運算符,就是說他有三個運算對象。
2、條件運算符的形式是「?:」由他構成的表達式稱為條件表達式。形式為:表達式1?表達式2:表達式3。
運算符
表達式為:表達式1?表達式2:表達式3
先求解表達式1
若其值為真(非0)則將表達式2的值作為整個表達式的取值,
否則(表達式1的值為0)將表達式3的值作為整個表達式的取值。
例如:max=(a>b)?a:b
就是將a和b二者中較大的一個賦給max。
以上內容參考:網路-條件運算符
❸ c語言中,條件運算符是怎樣的法則
c語言中,條件運算符的法則:
由高到低是:!(非),&&(與),||(或)
&&左邊為0則不看右邊運算,||左邊為1不看右邊!
例:
main()
{
int a=1,b=2,c=3,d;
d=!b>a&&c||c>2
printf("a=%d\n b=%d\n c=%d\n d=%d\n",a,b,c,d);
}
運行結果:a=1
b=0
c=3
d=1
程序執行說明:先執行!b>a即0>a,結果為0(b=0)
再執行0&&c結果為0,執行c>2結果為1
0||1結果為1
因為執行順序為右結合,所以將整個表達式的結果給 d為1
}
條件運算符:
(表達式1)?(表達式2):(表達式3)
運算規劃:如果表達式1為真,返回表達式2的結果,否則返回表達式3的結果
例如:
A=1,B=2
(A>B)?A:B
返回值為2
注意表達式是右結合的.
例:
A=1,B=2,C=3
(A>B)?A:B?C:B
相當於(A>B)?A:(B?C:B)
返回值為3
❹ 在C語言中條件運算符有什麼作用
條件運算符(?:)是C語言中唯一的一個三目運算符,它是對第一個表達式作真/猛旁耐假檢測,然後根據結果返回兩外兩個表達式中的一個。
<表達式1>?<表達式2>:<表達式3>
在運算中,首先對第一個表達式進行檢驗,如果為真,則返回表達式2的值;如果為假,則返回表達枝春式3的值。
例如: a=(b>0)?b:-b; 當 b>0 時, a=b;
當b不大於0時,
=—b;這就是啟絕條件表達式。其實上面的意思就是把b的絕對值賦值給a。
❺ 在c語言中,何為條件運算符!具體的條件運算符有哪些
計算機具有邏輯判斷能力,其判斷的依據是計算機內部進行邏輯運算的結果。C語言提供了關系運算和邏輯運算,用來構造C程序控制中的條件,實現程序的選擇結構和循環結構控制。
關系運算和邏輯運算的結果都是邏輯值,即"真"和"假"。由於C語言中沒有邏輯型數據,因此C語言規定用整型數據來表示邏輯值。即:用整數值1表示邏輯"真",用整數值0表示邏輯"假"。在C語言中,將非0就視為"真"。
3.4.1
關系運算符與關系表達式
1.
關系運算符
關系運算實際上是邏輯比較運算,它是邏輯運算中的一種。關系運算符的作用是確定兩個數據之間是否存在某種關系。C語言規定的6種關系運算符及其有關的說明見表3-6。
表3-6
算術運算符
運算符
含義
運算對象個數
結合方向
簡例
>
大於
雙目運算符
自左至右
a>b,3>8
>
=
大於等於
雙目運算符
自左至右
a>=b,3>=2
<
小於
雙目運算符
自左至右
a<b,3<8
<
=
小於等於
雙目運算符
自左至右
a<=b,3<=b
!
=
不等於
雙目運算符
自左至右
a!=b,3!=5%7
=
=
恆等於
雙目運算符
自左至右
a==b,3==5*a
關系運算符都是雙目運算符,其結合性是從左到右結合。優先順序分為兩級:
高級:<、<=、>、>=
低級:==、!=
關系運算符的優先順序低於算術運算符。
2.
關系表達式
用關系運算符將兩個表達式連接起來的式子稱為關系表達式。它的一般形式為:
表達式1
關系運算符
表達式2
其中,關系運算符指明了對表達式所實施的操作。"表達式1"和"表達式2"是關系運算的對象,它們可以是算術表達式、關系表達式、邏輯表達式、賦值表達式和字元表達式。但一般關系運算要求關系運算符連接的兩個運算對象為同類型數據。例如:
a+b>3*c
兩個算術表達式的值作比較
(a=b)<(b=10%c)
兩個賦值表達式的值作比較
(a<=b)==(b>c)
兩個關系表達式的值作比較
'A'!='a'
兩個字元表達式的值作比較
關系式只有兩種可能的結果:或者它所描述的關系成立,或者這個關系不成立,所以說一個關系表達式描述的是一種邏輯判斷。若關系成立,說明關系式表述的關系是"真"的,稱邏輯值為"真",用1表示;若關系不成立,說明關系式表述的關系是"假"的,稱邏輯值為"假",用0表示。所以關系表達式的運算結果一定是邏輯值。
進行關系運算時,先計算表達式的值,然後再進行關系比較運算。例如:
a=2,b=3,c=4,則上述關系表達式的值為:
a+b>3*c
(5>12)關系不成立
表達式結果值為0(假)
(a+=b)<(b*=10%c)
(5<6)
關系成立
表達式結果值為1
(真)
(a<=b)==(b>c)
(1==0)關系不成立
表達式結果值為0(假)
'A'!='a'
(65!=97)關系成立
表達式結果值為1(真)
以關系表達式"a+b>3*c"為例,因為算術運算的優先順序高於關系運算,所以先計算a+b和3*c的值,結果分別為5和12,再將5和12進行關系比較,其運算結果為0。
在表達式中連續使用關系運算符時,要注意正確表達含義,注意運算優先順序和結合性。
例如,變數x的取值范圍為"0≤x≤20"時,不能寫成"0<=x<=20"。因為關系表達式"0<=x<=20"的運算過程是:按照優先順序,先求出"0<=x"的結果,再將結果1或0作"<=9"的判斷,這樣無論x取何值,最後表達式一定成立,結果一定為1。這顯然違背了原來的含義。此時,就要運用下面介紹的邏輯運算符進行連接,即應寫為:"0<=x
&&
x<=9"。
3.4.2
邏輯運算符與邏輯表達式
1.邏輯運算符
C語言規定的3種邏輯運算符及其有關的說明見表3-7。
表3-7
邏輯運算符
運算符
含義
運算對象個數
結合方向
簡例
&&
邏輯與
雙目運算符
自左向右
a&&b,3>8&&a==b
||
邏輯或
雙目運算符
自左向右
a||b,3<=b8||a==b
!
邏輯非
單目運算符
自右向左
!a,!a==b
邏輯運算要求運算對象為"真"(非0)或"假"(0)。這三種邏輯運算符的運算規則可用表3-8的真值表表示:
表3-8
邏輯運算真值表
a
b
a&&b
a||b
!a
!b
0
0
0
0
1
1
0
非0
0
1
1
0
非0
0
0
1
0
1
非0
非0
1
1
0
0
在一個邏輯表達式中,可以含有多個邏輯運算符,其優先順序是:"!"最高,"&&"次之,"||"最低;邏輯運算優先順序低於所有關系運算,而"!"優先順序高於所有算術運算。
例如:某程序中有如下說明:int
a=3,b=1,
x=2,
y=0;則:
①
(a>b)
&&
(x>y)
的值為1。
②
a>b
&&
x>y
的值為1。
注意:①②兩式是等價的,因為"&&"運算優先順序低於關系運算,故括弧可以省略。
③
(y||b)
&&
(y||a)
的值為1。
④
y||b
&&
y||a
的值為1。
注意:③④兩式結果雖然一樣,但兩式的含義不同。③式中由於括弧的優先順序高於"&&",因此,先計算"y||b"和"y||a"後,再將兩個結果進行"&&"運算。而④式由於"&&"的優先順序高於"||",故要先計算"b&&y",其結果為0,再計算"y||0",其值也為0,最後計算"0||a",結果為1。由此可見,運算符的優先順序制約著表達式的計算次序。
⑤
!a
||
a>b
的值為1。
此式中"!"的優先順序高於">",而
">"的優先順序高於"||",故先計算"!a",其值為0,再計算"a>b",其值為1,最後計算"0||1",值為1。
3.4.3
條件運算符與條件表達式
條件運算符是C語言中唯一具的三目運算符,就是說它有三個運算對象。條件運算符的形式是"?
:"由它構成的表達式稱為條件表達式。其形式為:
表達式1
?
表達式2
:
表達式3
條件運算符的"?"個":"總是成對出現的。條件表達式的運算功能是:先計算表達式1的值,若值為非0,則計算表達式2的值,並將表達式2的值作為整個條件表達式的結果;若表達式1的值為0,則計算表達式3的值,並將表達式2的值作為整個條件表達式的結果。例如有以下條件表達式:
(a>b)?a+b:a-b
當a=8,b=4,c=3時,求解條件表達式的過程如下:
先計算關系式a>b,結果為1,因其值為真,則計算a+b的結果為12,這個12就是整個條件表達式的結果。請特別注意,此時不再計算表達式a-b了。如果關系式a>b的結果為0,就不再計算表達式a+b了。這一點在應用中很重要。
條件表達式的優先順序高於賦值運算,但低於所有關系運算、邏輯運算和算術運算。其結合性是自右向左結合,當多個條件表達式嵌套使用時,每個後續的":"總與前面最近的、沒有配對的"?"相聯系。例如在條件表達式"a>0
?
a/b:a<0
?
a+b:a-b"中,出現兩個條件表達式的嵌套,求解這個表達式時先計算後面一個條件表達式"a<0
?
a+b:a-b"的值,然後再與前面的"a>0
?
a/b:"組合。
使用條件表達式可以使程序簡潔明了。例如,賦值語句"z=(a>b)?a:b
"中使用了條件表達式,很簡潔地表示了判斷變數a與b的最大值並賦給變數z的功能。所以,使用條件表達式可以簡化程序
例3-8:定義高等數學中常用的符號函數sign的數學定義如下。
.
對應的C函數定義如下:
/*
L3_8.C
*/
double
sign(double
x)
{
return
x>0
?
1:(x==0
?
0:-1);
}
❻ c語言條件運算符是什麼意思
c語言條件運算符是軟體編程中的一個固定格式,使用這個演算法可以使調用數據時逐級篩選。拿臘
條件運算操作會首先計算條件,然後根據條件的計算結果,再決定拿賣要計算兩個表達式中的哪一個。在計算完條件之後,有一個序列點。如果結果不等於 0(如果條件計算結果為 true),則只有第二個操作數(也就是表達式消敏逗 1)會被計算,並且表達式 1 的值就是整個表達式的結果。
另一方面,如果結果為 0(如果條件計算結果為 false),那麼只有第三個操作數(也就是表達式 2)會被計算,並且表達式 2 的值就是整個表達式的結果。以這種方式,條件運算符代表了在程序流中的條件式跳轉,因此,有時候可以與 if-else 語句相互替代。
c語言的主要特點:
1、廣泛性。C語言的運算范圍的大小直接決定了其優劣性。C語言中包含了34種運算符,因此運算范圍要超出許多其它語言,此外其運算結果的表達形式也十分豐富。此外,C語言包含了字元型、指針型等多種數據結構形式,因此,更為龐大的數據結構運算它也可以應付。
2、簡潔性。9類控制語句和32個關鍵字是C語言所具有的基礎特性,使得其在計算機應用程序編寫中具有廣泛的適用性,不僅可以適用廣大編程人員的操作,提高其工作效率,同時還能夠支持高級編程,避免了語言切換的繁瑣。
2、結構完善。C語言是一種結構化語言,它可以通過組建模塊單位的形式實現模塊化的應用程序,在系統描述方面具有顯著優勢,這一特性也使得它能夠適應多種不同的編程要求,且執行效率高。
以上內容參考 網路-c語言
❼ C語言中條件運算符是什麼意思
條件運算符(? : )是一個三目運算符,即有三個操作數。
使用條件運算符(?:)可以實現 If else 的功能,其一般形式為:
表達式1 ? 表達式2 : 表達式3
例如條件語句:
if(a>b) max=a;
else max=b;
可用條件表達式寫為
max=(a>b) ? a : b;
執行該語句的語義是:如a>b為真,則把a賦予max,否則把b 賦予max。岩型
if條件語句例子如下:
知識擴展:
條件運算符的運算優先順序低於關系運算符和算術運算符,但高孝棗兄於賦值符
條件運算符?和:是巧襲一對運算符,不能分開單獨使用。
條件運算符的結合方向是自右至左。
❽ C語言中條件運算符是什麼意思
條件運算符(?:)是C語言中唯一具的前乎三目運算符,就是說它有三個運算對象。條件運算符的形式是"?
:"由它構成的表達式稱為條件表達式慧鉛悉
條件表達式的形式為:
表達式1
?
表達式2
:
表達式3
例如:(a>b)?a+b:a-b
其中,如果a=2,b=1,那麼a>b成立,執行a+b這個表達式,運算結果為3;但如果a=2,b=3,那麼a>b不成立,那麼執行a-b這個表達式激襲,運算結果為-1.