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

C語言的三個冒號怎麼打

發布時間: 2023-01-16 18:04:48

c語言里兩個冒號是什麼意思

C語言里兩個冒號的意思有三個:(1)表示「域操作符」。比如聲明了一個類A,類A里聲明了一個成員函數void f(),但沒有在類的聲明裡給出f的定義,那麼在類外定義f時,就要寫成void A::f(),表示這個f()函數是類A的成員函數。(2)直接用在全局函數前,表示是全局函數。例:在VC里,你可以在調用API函數里,在API函數名前加::。(3)表示引用成員函數及變數,作用域成員運算符。

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

雙冒號一般還有一種用法,就是直接用在全局函數前,表示是全局函數。當類的成員函數跟類外的一個全局函數同名時,考試,大提示在類內定義的時候,打此函數名默認調用的是本身的成員函數。

C語言是一門面向過程的、抽象化的通用程序設計語言,廣泛應用於底層開發。C語言能以簡易的方式編譯、處理低級存儲器。C語言是僅產生少量的機器語言以及不需要任何運行環境支持便能運行的高效率程序設計語言。

⑵ C語言中的冒號問題

bitfields 位域
把位域和其它類型的結構成員混合使用是合法的
...
float pay;
unsigned lay_off:1;
...
指定佔用的空間(按bit) 自己搜索一下
另外,搜索一下填充(padding)的相關信息.(padding解釋了bitfields,struct在內存中的推薦格式)

一般來說
...
char a:4;
char b:3;
...
那麼a和b總共佔用1個位元組(8bits)
但是如果是
...
char a:4;
char b:5;
...
的話,它們將佔用2個位元組(16bits)

⑶ c語言一些特殊符號怎麼打

C語言用到的所有符號,在鍵盤上都有,可以直接打出來或者shift加某個按鍵打出。
shift加數字鍵,從1到0依次為!@#$%^&*()
左上角,shift加1左邊的鍵,是按位取反運算符~
shift加上回車上面的\, 是按位或運算符|
shift加上逗號和句號,分別是兩個尖括弧<>,其實就是小於和大於。
也就這些了。

⑷ c語言中的冒號

是錯誤,應該是=這條語句是對兩個字元串s[i]和s[j]的長度進行判斷,如果s[i]的長度更大,字元串s[i]與s[j]交換這段語句肯定是實現對一組字元串按字元串長度從小到大排序的功能模塊中的一條語句

⑸ 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;

⑹ C語言中三目運算符後邊冒號(:)左右判斷語句我只想要1個該怎麼寫

不可能什麼都不返回的。表達式必須有確定的類型,如果希望條件表達式的類型是 int ,則冒號(:)兩邊必須都是 int 類型(或起碼能轉換成 int 類型)的表達式

⑺ 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)執行。

⑻ 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
};

從以上分析可以看出,位域在本質上就是一種結構類型, 不過其成員是按二進位分配的。

⑼ C語言怎麼向字元串中添加冒號

在C語言中輸出「」的話,需要用到轉義字元\。以「\」開頭的特殊字元稱為轉義字元。
\n 換行
\t 橫向跳格
\r 回車
\\ 反斜杠 \
\ddd ddd表示1到3位八進制數字
\xhh hh表示1到2位十六進制數字

⑽ c語言中冒號的用法

c語言中冒號的用法:
1.語句標識,與goto語句配合使用;
2.條件賦值語句的組成部分;
3.位域;指示位寬的標識,上例中,a佔一個位寬,b占兩個位寬。
4.switch語句的case分支標識。

(10)C語言的三個冒號怎麼打擴展閱讀

C語言是一門面向過程的、抽象化的通用程序設計語言,廣泛應用於底層開發。C語言能以簡易的方式編譯、處理低級存儲器。C語言是僅產生少量的機器語言以及不需要任何運行環境支持便能運行的高效率程序設計語言。盡管C語言提供了許多低級處理的功能,但仍然保持著跨平台的特性,以一個標准規格寫出的C語言程序可在包括類似嵌入式處理器以及超級計算機等作業平台的`許多計算機平台上進行編譯。

結構體中的冒號表示位域。

位域出現的原因是由於某些信息的存儲表示只需要幾個bit位就可以表示而不需要一個完整的位元組,同時也是為了節省存儲空間和方便處理。

說明:

1、位域必須存儲在同一個類型中,不能跨類型,同時也說明位域的長度不會超過所定義類型的長度。如果一個定義類型單元里所剩空間無法存放下一個域,則下一個域應該從下一單元開始存放。例如:所定義的類型是int類型,一共32為,目前用掉了25位還剩下7位,這時要存儲一個8位的位域元素,那麼這個元素就只能從下一個int類型的單元開始而不會在前面一個int類型中佔7為後面的int類型中佔1位。

2、如果位域的位域長度為0表示是個空域,同時下一個域應當從下一個位元組單元開始存放。

3、使用無名的位域來作為填充和調整位置,切記該位域是不能被使用的。

4、位域的本質上就是一種結構體類型,不同的是其成員是按二進制位來分配的。