A. c語言中的冒號(:)是什麼意思
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)執行。
B. c語言的雙冒號是什麼意思::
雙冒號(::)用法:
1、表示「域操作符」。
2、直接用在全局函數前,表示是全局函數。
3、表示引用成員函數及變數,作用域成員運算符。
4、命名空間作用域符,即2直接用在全局函數前,表示是全局函數,在運算符等級中屬於最高級的。
(2)c語言對是冒號前錯是冒號後擴展閱讀:
1、在類外部聲明成員函數。void Point::Area(){};
2、調用全局函數;
3、表示引用成員函數變數及作用域,作用域成員運算符 例:System::Math::Sqrt() 相當於System.Math.Sqrt()
4、調用類的靜態方法: 如:CDisplay::display(...)
可以非正式地把域看作是一個可視窗口全局域的對象在它被定義的整個文件里,一直到文件末尾都是可見的。
在一個函數內被定義的對象是局域的(local scope), 它只在定義其的函數體內可見。每個類維持一個域,在這個域之外 ,它的成員是不可見的。類域操作符告訴編譯器後面的標識符可在該類的范圍內被找到。
C. 冒號在C語言中起什麼作用
冒號在C語言中有以下幾種作用:
1.語句標識,與goto語句配合使用。如:
c++;
if(c>3)gotonext;
if(c<2){
c--;
}
next:return;
由於goto語句會造成不易閱讀等情況,因此應避免使用
2.條件賦值語句的組成部分
a=(a>3)?1:2;
冒號將前面的條件語句在真和假兩種情況的不同取值進行了分隔。
3.位域
structK{
inta:1;
intb:2;
}
這里用作指示位寬的標識,上例中,a佔一個位寬,b占兩個位寬。
4.switch語句的case分支標識
switch(表達式){
case常量表達式1:語句1;
case常量表達式2:語句2;
…
case常量表達式n:語句n;
default:語句n+1;
}
在case後面跟一個常量表達式,再加上冒號,作為不同分支的入口條件。
D. c語言中":"(冒號)和問號是什麼意思
是問號和冒號一起嗎
bool a = 1>3?false:true;
?: 是三元運算符
由條件運算符組成的條件表達式的一般形式為:
表達式1 ? 表達式 2 : 表達式 3
其中表達式 1、表達式2、表達式3,既可以是一個簡單的表達式,又可以是由各種運算符組成的復合表達式。
計算過程很好理解:
先求表達式1的值, 如果為真, 則求表達式2 的值並把它作為整個表達式的值。 如果表達式1 的值為假, 則求表達式3 的值並把它作為整個表達式的值。
E. c語言中的冒號
是錯誤,應該是=這條語句是對兩個字元串s[i]和s[j]的長度進行判斷,如果s[i]的長度更大,字元串s[i]與s[j]交換這段語句肯定是實現對一組字元串按字元串長度從小到大排序的功能模塊中的一條語句
F. C語言中冒號運算符是怎樣使用的,比如 (a/3>0a/10:a%3))
C語言中沒有單獨的冒號運算符,冒號需要與問號合用,形成條件運算符。
C語言中條件運算符是唯一有3個操作數的運算符,所以有時又稱為三元運算符。
條件運算符的使用形式為:b ? x : y
其運算過程為:先計算條件b,然後進行判斷:如果b的值為true,計算x的值,運算結果為x的值;否則,計算y的值,運算結果為y的值。
如:
inta=5,b;
b=a/3>0?a/10:a%3;//此時,b的結果為a/10=0
運算過程解析:
先計算a/3>0 , 因為a=5,所以,a/3=5/3=1 > 0,條件為true
所以,b=a/10 = 5/10=0
a%3被略過了。
條件表達式,可以用if語句來改寫,如,上面的例子可改為:
inta=5,b;
if(a/3>0)
b=a/10;
else
b=a%3;
G. C語言基礎問題
首先,你要弄清楚是從右往左讀還是從左往右讀這段代碼
我來給你模擬下程序執行吧。
?代表判斷,:代表選著,如果A>B?A:C代表A大於B時候選著冒號前面的,A,否則選擇C
那麼這段代碼呢?
首先這里出現了2個冒號,我們先把第一個冒號的前面和後面分成兩個部分
把冒號後的看成一個整體U,那麼就是
k<a?k:U;
U=(c<b?c:a)
因為=3,b=2,c=1,所以1<2,c<b
選擇C,
那麼U=c;
程序就可以改寫成:
k<a?k:c
又因為k=4,a=3,
所以k>a;
所以選擇冒號後面的;
選c
所以運行結果是1.
H. c裡面冒號的意思,C語言中的冒號(:是什麼意思
有些信息在存儲時,並不需要佔用一個完整的位元組, 而只需占幾個或一個二進制位。例如在存放一個開關量時,只有0和1 兩種狀態, 用一位二進位即可。為了節省存儲空間,並使處理簡便,C語言又提供了一種數據結構,稱為「位域」或「位段」。所謂「位域」是把一個位元組中的二進位劃分為幾個不同的區域,並說明每個區域的位數。每個域有一個域名,允許在程序中按域名進行操作。這樣就可以把幾個不同的對象用一個位元組的二進制位域來表示。一、位域的定義和位域變數的說明位域定義與結構定義相仿,其形式為:
struct 位域結構名
{ 位域列表 };
其中位域列表的形式為: 類型說明符 位域名:位域長度
例如:
struct bs
{
int a:8;
int b:2;
int c:6;
};
位域變數的說明與結構變數說明的方式相同。 可採用先定義後說明,同時定義說明或者直接說明這三種方式。例如:
struct bs
{
int a:8;
int b:2;
int c:6;
}data;
說明data為bs變數,共占兩個位元組。其中位域a佔8位,位域b佔2位,位域c佔6位。對於位域的定義尚有以下幾點說明:
1. 一個位域必須存儲在同一個位元組中,不能跨兩個位元組。如一個位元組所剩空間不夠存放另一位域時,應從下一單元起存放該位域。也可以有意使某位域從下一單元開始。例如:
struct bs
{
unsigned a:4
unsigned :0 /*空域*/
unsigned b:4 /*從下一單元開始存放*/
unsigned c:4
}
在這個位域定義中,a占第一位元組的4位,後4位填0表示不使用,b從第二位元組開始,佔用4位,c佔用4位。
2. 由於位域不允許跨兩個位元組,因此位域的長度不能大於一個位元組的長度,也就是說不能超過8位二進位。
3. 位域可以無位域名,這時它只用來作填充或調整位置。無名的位域是不能使用的。例如:
struct k
{
int a:1
int :2 /*該2位不能使用*/
int b:3
int c:2
};
從以上分析可以看出,位域在本質上就是一種結構類型, 不過其成員是按二進位分配的。
11