c語言運算子中問號是什麼意思C語言運算子中問號是什麼意思

2021-03-05 19:31:38 字數 6119 閱讀 7704

1樓:學雅思

問號是條件運算子的意思,跟冒號組合使用。條件運算子優先順序高於賦值、逗號運算子,低於其他運算子。

表示式為:表示式1?表示式2:

表示式3。先求解表示式1,若其值為真(非0)則將表示式2的值作為整個表示式的取值,否則(表示式1的值為0)將表示式3的值作為整個表示式的取值。

擴充套件資料條件運算子具有右結合性

當乙個表示式中出現多個條件運算子時,應該將位於最右邊的問號與離它最近的冒號配對,並按這一原則正確區分各條件運算子的運算物件。如果在問號和冒號之間還有乙個問號或者冒號,應該滿足就近配對,使結構不發生紊亂。例如:

2樓:天雲一號

c語言運算子中問號是條件運算子(與冒號組合)。該運算子是c語言中唯一乙個三目運算子。

可以通過如下的例項來說明條件運算子的用法:

int a=1, b=3;

int max;

max = a>b ? a : b;   // 如果a>b,則max的值為a,否則max的值為b,也即取a與b中的較大者

3樓:匿名使用者

z=x=y結果z就是y的值

跟下面的if語句等價

if(x>y)z=x;

else z=y;

4樓:匿名使用者

呃,俺學藝不精,不知道你說的是哪個,是不是(?:)呢?

?:是三目運算子

如:a?b:c;

等價於:

if(a) b;

else c;

c語言中,問號表示什麼意思?

5樓:鈔時芳曹汝

c語言運算子中問號是條件運算子(與冒號組合)。該運算子是c語言中唯一乙個三目運算子。

可以通過如下的例項來說明條件運算子的用法:

int a=1, b=3;

int max;

max = a>b ? a : b; // 如果a>b,則max的值為a,否則max的值為b,也即取a與b中的較大者

6樓:沉思的小妖

一般是字元

你這樣問估計是三目運算子 ? :

a?b:c 用法是a為真執行b,否則執行c

7樓:春雨綿綿的老巢

問號不是單獨出現的,而是以這樣的" ? : "組合出現,這叫三目運算,比如max = a>b?a:b的意思是:如果a 大於b,則把a賦給max,否則把b賦給max

8樓:唔現場

例如int a[10]=;

int *p;

p=a;//是把陣列中的第乙個元素的位址賦給指標pp=&a[4];//是把陣列中的第五個元素的位址賦給指標p,運算子的作用是在陣列首位址的基礎之上偏移4個位址長度,得到第五個位址,然後賦給p

9樓:匿名使用者

c 中 ?有兩個用處

1、三目運算子中 (條件表示式)? 表示式 2 :表示式3.

2、在普通字元的使用

10樓:匿名使用者

按我的理解,c語言中單獨的[ ]什麼也不是

。不是中括號,也不是其他的。。。組合使用時可以定義陣列,如int a[10];表示定義乙個10個元素的陣列,a[3]=5;表示第三個陣列元素的值是5,int a[2][2];表示定義乙個二維陣列。

c語言中,無論是小括號、中括號、大括號,都用()的層數來表示。如(((2+3)*2+5)*3),從裡到外依次為小括號到大括號。。。如果還有更多層數,再加括號就行了。

11樓:匿名使用者

乘,指標 表示乙個字串,這個字串有兩個字元,乙個有效字元 '*' "*"在c語言中代表指向的內容,它與所指內容合在一起構成指標

c語言中" : "(冒號)和問號是什麼意思

12樓:雲南新華電腦學校

是問號和冒號一起嗎

bool a = 1>3?false:true;

?: 是三元運算子由條件

運算子組成的條件表示式的一般形式為:

表示式1 ? 表示式 2 : 表示式 3

其中表示式 1、表示式2、表示式3,既可以是乙個簡單的表示式,又可以是由各種運算子組成的復合表示式。

計算過程很好理解:

先求表示式1的值, 如果為真, 則求表示式2 的值並把它作為整個表示式的值。 如果表示式1 的值為假, 則求表示式3 的值並把它作為整個表示式的值。

13樓:科技程式迷

是乙個語句,判斷乙個表示式的真假來執行兩條**比如int a=9,b=8;

a>b?a=8:b=9; //就是這句

相當於if語句吧,問號前面的表示式為真的時候執行a=8,否則b=9;

明白了吧。

14樓:匿名使用者

這是c語言的三目運算子。

對於條件表示式b?x:y,先計算條件b,然後進行判斷。

如果b的值為true,計算x的值,運算結果為x的值;否則,計算y的值,運算結果為y的值。乙個條件表示式從不會既計算x,又計算y。

條件運算子是右結合的,也就是說,從右向左分組計算。例如,a?b:c?d:e將按a?b:(c?d:e)執行。

15樓:匿名使用者

冒號的話一般都是人家說話的時候就是打個冒號,說的是什麼問號的話,一般是乙個語句說完了等人家提的問題就是問好。

c語言中":"(冒號)和問號是什麼意思

16樓:齋思菱劍興

1.這是c語言的三目運算子。

2.對於條件表示式b?x:

y,先計算條件b,然後進行判斷。如果b的值為true,計算x的值,運算結果為x的值;否則,計算y的值,運算結果為y的值。乙個條件表示式從不會既計算x,又計算y。

3.條件運算子是右結合的,也就是說,從右向左分組計算。例如,a?b:c?d:e將按a?b:(c?d:e)執行。

17樓:蹉香卉郜妃

是乙個語句,判斷乙個表示式的真假來執行兩條**比如inta=9,b=8;

a>b?a=8:b=9;//就是這句

相當於if語句吧,問號前面的表示式為真的時候執行a=8,否則b=9;

明白了吧。

18樓:匿名使用者

是問號和冒號一起嗎

bool a = 1>3?false:true;

?: 是三元運算子

由條件運算子組成的條件表示式的一般形式為:

表示式1 ? 表示式 2 : 表示式 3

其中表示式 1、表示式2、表示式3,既可以是乙個簡單的表示式,又可以是由各種運算子組成的復合表示式。

計算過程很好理解:

先求表示式1的值, 如果為真, 則求表示式2 的值並把它作為整個表示式的值。 如果表示式1 的值為假, 則求表示式3 的值並把它作為整個表示式的值。

19樓:六十七年

你是不是說的這種 a?b:c

這是三目運算子

e.g.

d = a?b:c

如果a為ture,則d=b,否則d=c

c語言運算子中的>>是什麼意思?有啥功能?謝謝。

20樓:蘇嘉愛娛樂

>>是右移運算子,移位運算子的一種:程式設計中,位操作運算子的一種。

c語言中位移位運算子是將資料看成二進位制數,對其進行向左或向右移動若干位的運算。位移位運算子分為左移和右移兩種,均為雙目運算子。第一運算物件是移位物件,第二個運算物件是所移的二進位制位數。

位移位運算子的運算物件、運算規則與結果、結合性如表2-16所示。

移位時,移出的位數全部丟棄,移出的空位補入的數與左移還是右移有關。如果是左移,則規定補入的數全部是0;如果是右移,還與被移位的資料是否帶符號有關。若是不帶符號數,則補入的數全部為0;若是帶符號數,則補入的數全部等於原數的最左端位上的原數(即原符號位)。

擴充套件資料

優先順序:

語言中各運算子的結合性分為兩種,即左結合性(自左至右)和右結合性(自右至左)。例如算術運算子的結合性是自左至右,即先左後右。如有表示式x-y+z 則y 應先與「-」號結合,執行x-y 運算,然後再執行+z 的運算。

這種自左至右的結合 方向就稱為「左結合性」。而自右至左的結合方向稱為「右結合性」。最典型的右結合 性運算子是賦值運算子。

如x=y=z,由於「=」的右結合性,應先執行y=z 再執行x=(y=z)運算。c語言運算子中有不少為右結合性,應注意區別,以避免理解錯誤。

優先順序從上到下依次遞減,最上面具有最高的優先順序,逗號操作符具有最低的優先順序。

21樓:佼丹厙琬

c語言運算子中問號是條件運算子(與冒號組合)。該運算子是c語言中唯一乙個三目運算子。

可以通過如下的例項來說明條件運算子的用法:

int a=1, b=3;

int max;

max = a>b ? a : b; // 如果a>b,則max的值為a,否則max的值為b,也即取a與b中的較大者

22樓:

右移運算子「>>」是雙目運算子。其功能是把「>> 」左邊的運算數的各二進位全部右移若干位,「>>」右邊的數指定移動的位數。

例如:設 a=15,

a>>2

表示把000001111右移為00000011(十進位制3)。

應該說明的是,對於有符號數,在右移時,符號位將隨同移動。當為正數時,最高位補0,而為負數時,符號位為1,最高位是補0或是補1 取決於編譯系統的規定。turbo c和很多系統規定為補1。

23樓:匿名使用者

就是移位指令》明顯向右移

據個例子:

15>>4就是0000 1111向右移動四位前邊補零為0000 0000

如果是有符號數即最高位是1前補1例如8f>>4即為1000 1111右移4位是1111 1000

24樓:匿名使用者

>>是右移位運算

比如 a=0x10>>1就是把0x10的2進製編碼向右移動1位.

1000 0000 移動後變為0100 0000

c語言中,問號表示什麼意思

25樓:匿名使用者

條件運算子(?:)是c 語言中唯一的乙個三目運算子。

由條件運算子組成的條件表示式的一般形式為:

表示式1 ? 表示式 2 : 表示式 3

其中表示式 1、表示式2、表示式3,既可以是乙個簡單的表示式,又可以是由各種運算子組成的復合表示式。

計算過程很好理解:

先求表示式1的值, 如果為真, 則求表示式2 的值並把它作為整個表示式的值。 如果表示式1 的值為假, 則求表示式3 的值並把它作為整個表示式的值。

c語言中?是什麼意思

26樓:匿名使用者

?在語言

中表示疑問,那麼疑問來自於判斷。

:在語言中表示判斷的結果選擇。

所以程式設計邏輯就是先進行判斷,然後再進行選擇。

例如,當a>b時,x=1否則x=0,可以寫成x=a>b?1:0。

27樓:匿名使用者

那是問號表示式,簡單地舉個例子

int c = (a > b ? 1 : 0);

意思就是說,如果a大於b,那麼c就為1,否則就為0就你提出的問題而言,意思就是

如果w小於x,返回w的值,否則(如果z小於y,返回z,否則返回x)

28樓:匿名使用者

這個是c語言的乙個三目運算子 ?:

意思是先判斷?前面的表示式的邏輯值是否為真,如果為真,則取冒號前面的表示式的值為整個表示式的值,如果為假,則取冒號後面的表示式的值為整個表示式的值。

這裡是少乙個括號,具體應該這樣:

(w

29樓:以馨香空懋

你寫的那段**是交換了b和d.

如果交換a和b的話:

c=a;//a的值臨時放入c

a=b;//把b的值賦給a

b=c;//把c(也就是原來a的值)賦給b

c語言運算子中箭頭是什麼意思啊C語言運算子中箭頭是什麼意思啊

在c語言中,叫做指向結構體成員運算子,用處是使用乙個指向結構體或物件的指標訪問其內成員。乙個指標當用來指向乙個結構體 物件時,稱之為結構體指標或物件指標。結構體指標或物件指標中的值是所指向的結構體或物件的首位址。通過結構體指標或物件指標即可訪問該結構體或物件。指向結構體成員運算子需要用到結構體關鍵字...

c中是什麼運算子,C中是什麼運算子

按位取反,用於2進製運算。析構函式前也有這個符號,但沒有特殊意義。按位取反,類析構函式名前使用 是按位bai取反,或者析構du函式前 至於相反數,怎麼說zhi呢.他是針對於二進dao制而言的內求反,也就是說你不容能用十進位制去理解 比如二進位制1000求反是0111 但轉化為十進位制就行不通,呵呵,...

c語言(冪)運算子,C語言 (冪)運算子

運算子是 按位異或 1 異或是乙個數 算符。他應用於邏輯運算。2 例如 真異或假的結果是真,假異或真的結果也是真,真異或真的結果是假,假異或假的結果是假。就是說兩個值不相同,則異或結果為真。反之,為假。3 在計算機應用中,普遍運用,異或的邏輯符號 shift 6 形象表示為 真 假 真 假 真 真 ...