1. c語言中" : "(冒號)和問號是什麼意思
bool a = 1>3?false:true;
?: 是三元運算符由條件運算符組成的條件表達式的一般形式為:
表達式1 ? 表達式 2 : 表達式3,其中表達式 1、表達式2、表達式3,既可以是一個簡單的表達式,又可以是由各種運算符組成的復合表達式。
計算過程很好理解:先求表達式1的值, 如果為真, 則求表達式2 的值並把它作為整個表達式的值。 如果表達式1 的值為假,則求表達式3 的值並把它作為整個表達式的值。
(1)c語言if賦值時要冒號擴展閱讀:
C語言包含的各種控制語句僅有9種,關鍵字也只有32 個,程序的編寫要求不嚴格且以小寫字母為主,對許多不必要的部分進行了精簡。實際上,語句構成與硬體有關聯的較少,且C語言本身不提供與硬體相關的輸入輸出、文件管理等功能,如需此類功能,需要通過配合編譯系統所支持的各類庫進行編程,故c語言擁有非常簡潔的編譯系統。
2. 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;
3. c語言字母加冒號是什麼意思
一個合法標識符(c里定義了合法標識符是什麼)加個冒號表示個標簽,
利用goto可以跳轉到標簽。
如果你學了匯編就很熟悉這語句。不過一般情況下不提倡使用goto語句。
4. 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
};
從以上分析可以看出,位域在本質上就是一種結構類型, 不過其成員是按二進位分配的。
5. c語言中冒號的用法
c語言中冒號的用法:1.語句標識,與goto語句配合使用;
2.條件賦值語句的組成部分;
3.位域;指示位寬的標識,上例中,a佔一個位寬,b占兩個位寬。
4.switch語句的case分支標識。
(5)c語言if賦值時要冒號擴展閱讀
C語言是一門面向過程的、抽象化的通用程序設計語言,廣泛應用於底層開發。C語言能以簡易的方式編譯、處理低級存儲器。C語言是僅產生少量的機器語言以及不需要任何運行環境支持便能運行的高效率程序設計語言。盡管C語言提供了許多低級處理的功能,但仍然保持著跨平台的特性,以一個標准規格寫出的C語言程序可在包括類似嵌入式處理器以及超級計算機等作業平台的`許多計算機平台上進行編譯。
結構體中的冒號表示位域。
位域出現的原因是由於某些信息的存儲表示只需要幾個bit位就可以表示而不需要一個完整的位元組,同時也是為了節省存儲空間和方便處理。
說明:
1、位域必須存儲在同一個類型中,不能跨類型,同時也說明位域的長度不會超過所定義類型的長度。如果一個定義類型單元里所剩空間無法存放下一個域,則下一個域應該從下一單元開始存放。例如:所定義的類型是int類型,一共32為,目前用掉了25位還剩下7位,這時要存儲一個8位的位域元素,那麼這個元素就只能從下一個int類型的單元開始而不會在前面一個int類型中佔7為後面的int類型中佔1位。
2、如果位域的位域長度為0表示是個空域,同時下一個域應當從下一個位元組單元開始存放。
3、使用無名的位域來作為填充和調整位置,切記該位域是不能被使用的。
4、位域的本質上就是一種結構體類型,不同的是其成員是按二進制位來分配的。
6. c語言if語句的用法
C語言中if語句基本的有三種格式,在此基礎上可以擴展一些其它格式,下面我們來看看c語言if語句的用法。
c語言if語句的用法
1、 if……形式
一般格式:if(表達式) 語句;
語義是:如果表達式的值為真,則執行其後的語句,否則不執行該語句。語句可以是單條語句,也可以是用花括弧{}包括起來的復合語句。示例如下:
#include
int main(){
int a,b,max;
printf(" input two numbers: ");
scanf("%d%d",&a,&b);
max=a;
if (max<b) max=b;
printf("max=%d ",max);
return 0;
}
2、if……else形式
一般格式:
if(表達式)
語句1;
else
語句2;
語義是:如果表達式的值為真,則執行語句1,否則執行語句2 。語句1和語句2可以是復合語句。
示例如下:
#include
int main(){
int a, b;
printf("input two numbers: ");
scanf("%d%d",&a,&b);
if(a>b)
printf("max=%d ",a);
else
printf("max=%d ",b);
return 0;
}
3、if……else……if形式
一般形式為:
if(表達式1)
語句1;
else if(表達式2)
語句2;
else if(表達式3)
語句3;
…
else if(表達式m)
語句m;
else
語句n;
語義是:依次判斷表達式的值,當出現某個值為真時,則執行其對應的語句。然後跳到整個if語句之外繼續執行程序。 如果所有的表達式均為假,則執行語句n。然後繼續執行後續程序。示例如下:
#include
int main(){
char c;
printf("input a character: ");
c=get);
if(c<32)
printf("This is a control character ");
else if(c>=0&&c<=9)
printf("This is a digit ");
else if(c>=A&&c<=Z)
printf("This is a capital letter ");
else if(c>=a&&c<=z)
printf("This is a small letter ");
else
printf("This is an other character ");
return 0;
}
4、擴展形式
if條件控制語句的形式是多種多樣的。比如if嵌套、if……if類似的形式,但是都離不開上面介紹的三種基本形式。注意活學活用。
【拓展】c語言的優缺點
1. 簡潔緊湊、靈活方便
C語言一共只有32個關鍵字,9種控制語句,程序書寫形式自由,主要用小寫字母表示。它把高級語言的基本結構和語句與低級語言的實用性結合起來。 C 語言可以像匯編語言一樣對位、位元組和地址進行操作,而這三者是計算機最基本的工作單元。
2. 運算符豐富
C語言的運算符包含的范圍很廣泛,共有34種運算符。C語言把括弧、賦值、強制類型轉換等都作為運算符處理。從而使C語言的'運算類型極其豐富,表達式類型多樣化。靈活使用各種運算符可以實現在其它高級語言中難以實現的運算。
3. 數據結構豐富
C語言的數據類型有:整型、實型、字元型、數組類型、指針類型、結構體類型、共用體類型等。能用來實現各種復雜的數據結構的運算。並引入了指針概念,使程序效率更高。另外C語言具有強大的圖形功能,支持多種顯示器和驅動器。且計算功能、邏輯判斷功能強大。
4. C是結構式語言
結構式語言的顯著特點是代碼及數據的分隔化,即程序的各個部分除了必要的信息交流外彼此獨立。這種結構化方式可使程序層次清晰,便於使用、維護以及調試。C語言是以函數形式提供給用戶的,這些函數可方便的調用,並具有多種循環、條件語句控製程序流向,從而使程序完全結構化。
5.C語法限制
C語法限制不太嚴格,程序設計自由度大 雖然C語言也是強類型語言,但它的語法比較靈活,允許程序編寫者有較大的自由度
6. C語言允許直接訪問物理地址,可以直接對硬體進行操作
由於C語言允許直接訪問物理地址,可以直接對硬體進行