當前位置:首頁 » 編程語言 » c語言兩個問號兩個冒號
擴展閱讀
webinf下怎麼引入js 2023-08-31 21:54:13
堡壘機怎麼打開web 2023-08-31 21:54:11

c語言兩個問號兩個冒號

發布時間: 2022-06-03 19:18:03

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

bool a = 1>3?false:true;

?: 是三元運算符由條件運算符組成的條件表達式的一般形式為:

表達式1 ? 表達式 2 : 表達式3,其中表達式 1、表達式2、表達式3,既可以是一個簡單的表達式,又可以是由各種運算符組成的復合表達式。

計算過程很好理解:先求表達式1的值, 如果為真, 則求表達式2 的值並把它作為整個表達式的值。 如果表達式1 的值為假,則求表達式3 的值並把它作為整個表達式的值。

(1)c語言兩個問號兩個冒號擴展閱讀:

C語言包含的各種控制語句僅有9種,關鍵字也只有32 個,程序的編寫要求不嚴格且以小寫字母為主,對許多不必要的部分進行了精簡。實際上,語句構成與硬體有關聯的較少,且C語言本身不提供與硬體相關的輸入輸出、文件管理等功能,如需此類功能,需要通過配合編譯系統所支持的各類庫進行編程,故c語言擁有非常簡潔的編譯系統。

㈡ C語言中有兩個冒號是什麼意思見圖片!

兩個冒號表示作用域操作符。::操作符在其左操作數的作用域內找到其右操作數的名字。用於訪問某個命名空間中的名字,如std::cout,表明名字cout來自命名空間std。同樣的可以用來從某個類取名字,如string::size_type,表明size_type是string類定義的

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

是問號和冒號一起嗎
bool a = 1>3?false:true;
?: 是三元運算符
由條件運算符組成的條件表達式的一般形式為:
表達式1 ? 表達式 2 : 表達式 3

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

計算過程很好理解:
先求表達式1的值, 如果為真, 則求表達式2 的值並把它作為整個表達式的值。 如果表達式1 的值為假, 則求表達式3 的值並把它作為整個表達式的值。

㈣ C語言運算符中問號是什麼意思

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

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


(4)c語言兩個問號兩個冒號擴展閱讀

條件運算符具有右結合性

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

例如:

w<x ? x+w : x<y ? x : y與 w<x ? x+w : ( x<y ? x : y) 等價。

w<x ? x+w : x<y ? x : y與 (w<x ? x+w : x<y) ? x : y 不等價。

㈤ c語言的雙冒號是什麼意思::

雙冒號(::)用法:

1、表示「域操作符」。

2、直接用在全局函數前,表示是全局函數。

3、表示引用成員函數及變數,作用域成員運算符。

4、命名空間作用域符,即2直接用在全局函數前,表示是全局函數,在運算符等級中屬於最高級的。

(5)c語言兩個問號兩個冒號擴展閱讀:

1、在類外部聲明成員函數。void Point::Area(){};

2、調用全局函數;

3、表示引用成員函數變數及作用域,作用域成員運算符 例:System::Math::Sqrt() 相當於System.Math.Sqrt()

4、調用類的靜態方法: 如:CDisplay::display(...)

可以非正式地把域看作是一個可視窗口全局域的對象在它被定義的整個文件里,一直到文件末尾都是可見的。

在一個函數內被定義的對象是局域的(local scope), 它只在定義其的函數體內可見。每個類維持一個域,在這個域之外 ,它的成員是不可見的。類域操作符告訴編譯器後面的標識符可在該類的范圍內被找到。

㈥ C語言編譯出錯不知道為什麼

問號運算符是三目運算符,表達式1?表達式2:表達式3;
可以連續用,但是只能分兩種情況,不能分三種以上的情況。
你連用了兩個冒號,而且三種情況是並列的,所以不符合問號運算符的用法。

另外,printf拼寫錯誤,寫成prinf了。
改為:
a>b?printf("%d 大於 %d.\n",a,b):((a==b?printf("兩個數相等,均為 %d.\n",a):printf("%d 小於 %d.\n",a,b)));

㈦ 上課走神了。。。那個問好和冒號代表什麼意思 c語言

第一個式子:如果3>4為真,則x=4,否則x=5/2
相當於
if(3>4) x=4;
else x=5/2;

㈧ C語言中:x>yx:y; 是什麼意思問號和冒號的作用是什麼

如果x>y,就把x的值賦給z,否則把y的值付給z。

可以把z=x>y? x : y理解為

if(x>y){

z=x;

}else{

z=y;

}

(8)c語言兩個問號兩個冒號擴展閱讀:

三目運算符,又稱條件運算符,是計算機語言(c,c++,java等)的重要組成部分。它是唯一有3個操作數的運算符,所以有時又稱為三元運算符。一般來說,三目運算符的結合性是右結合的。

對於條件表達式b ? x : y,先計算條件b,然後進行判斷。如果b的值為true,計算x的值,運算結果為x的值;否則,計算y的值,運算結果為y的值。一個條件表達式絕不會既計算x,又計算y。條件運算符是右結合的,也就是說,從右向左分組計算。例如,a ? b : c ? d : e將按a ? b : (c ? d : e)執行。

可以理解為條件 ? 結果1 : 結果2 裡面的?號是格式要求。也可以理解為條件是否成立,條件成立為結果1,否則為結果2。

㈨ C語言裡面問號和冒號表達式的問題請教 (0x30& 0x20) 0x00 : 0x28 這樣的表達式是什麼意思啊

這是一個條件表達式,格式為 表達式1?表達式2:表達式3
可以替代某些if-then-else 語句;作用是,
在執行了表達式1後,如果數值為true(真),則計算表達式2,並將結果作為整個表達式的數值;
如果表達式的值為false(假),則計算表達式3的值,並將結果作為整個表達式的數值;
0x作為數字開頭,表示該數為十六進制,(0x30& 0x20)的值為真,即1,因此執行0x00,他的值為假,即0,故整個表達式值為假,也就是0.

㈩ C語言里兩個冒號是甚麼意思

雙冒號(::)用法
(1)表示「域操作符」
例:聲明了一個類A,類A里聲明了一個成員函數void f(),但沒有在類的聲明裡給出f的定義,那麼在類外定義f時,
就要寫成void A::f(),表示這個f()函數是類A的成員函數。

(2)直接用在全局函數前,表示是全局函數
例:在VC里,你可以在調用API 函數里,在API函數名前加::

(3)表示引用成員函數及變數,作用域成員運算符
例:System::Math::Sqrt() 相當於System.Math.Sqrt()

VC中如下
::是C++里的「作用域分解運算符」。比如聲明了一個類A,類A里聲明了一個成員函數voidf(),但沒有在類的聲明裡給出f的定義,那麼在類外定義f時,就要寫成voidA::f(),表示這個f()函數是類A的成員函數。

:: 一般還有一種用法,就是直接用在全局函數前,表示是全局函數。當類的成員函數跟類外的一個全局函數同名時,考試,大提示在類內定義的時候,打此函數名默認 調用的是本身的成員函數;如果要調用同名的全局函數時,就必須打上::以示區別。比如在VC里,你可以在調用API函數時,在API函數名前加::。