C語(yǔ)言運(yùn)算符與表達(dá)式
表達(dá)式
函 數(shù) 概 述
表達(dá)式是C語(yǔ)言的主體。在C語(yǔ)言中,表達(dá)式由操作符和操作數(shù)組成。最簡(jiǎn)單的表達(dá)式可以只含有一個(gè)操作數(shù)。根據(jù)表達(dá)式含有的操作符的個(gè)數(shù),可以把表達(dá)式分為簡(jiǎn)單表達(dá)式和復(fù)雜表達(dá)式兩種:簡(jiǎn)單表達(dá)式是只含有一個(gè)操作符的表達(dá)式,而復(fù)雜表達(dá)式是包含兩個(gè)或兩個(gè)以上操作符的表達(dá)式。
5+5 iNumber+9 iBase+(iPay*iDay)
表達(dá)式本身什么事情也不做,只是返回結(jié)果值。在程序不對(duì)返回的結(jié)果值進(jìn)行任何操作的情況下,返回的結(jié)果值不起任何作用,也就是忽略返回的值。
表達(dá)式返回的結(jié)果值是有類型的。表達(dá)式隱含的數(shù)據(jù)類型取決于組成表達(dá)式的變量和常量的類型。
賦值運(yùn)算符與賦值表達(dá)式
變量賦初值
在聲明變量時(shí),可以為其賦一個(gè)初值,就是將一個(gè)常數(shù)或者一個(gè)表達(dá)式的結(jié)果賦值給一個(gè)變量,變量中保存的內(nèi)容就是這個(gè)常量或者賦值語(yǔ)句中表達(dá)式的值。這就是為變量賦初值。
先來(lái)看一下為變量賦值為常數(shù)的情況。一般的形式是:
類型 變量名 = 常數(shù);
其中的變量名也稱為變量的標(biāo)識(shí)符。
通過(guò)變量賦初值的一般形式,以下是相關(guān)的代碼實(shí)例:
char cChar ='A'; int iFirst=100; float fPlace=1450.78f;
賦值表達(dá)式為變量賦初值。
賦值語(yǔ)句把一個(gè)表達(dá)式的結(jié)果值賦給一個(gè)變量。一般的形式是:
類型 變量名 = 表達(dá)式;
可以看到,其一般形式與常數(shù)賦值的一般形式是相似的,例如:
int iAmount= 1+2; float fPrice= fBase+Day*3;
在上面的舉例中,得到賦值的變量iAmount和fPrice稱為左值,因?yàn)樗霈F(xiàn)的位置在賦值語(yǔ)句的左側(cè)。產(chǎn)生值的表達(dá)式稱為右值,因?yàn)樗霈F(xiàn)的位置在表達(dá)式的右側(cè)。
【實(shí)例】 為變量賦初值。為變量賦初值的操作是編程時(shí)常見(jiàn)的操作。在本實(shí)例中,模擬鐘點(diǎn)工的計(jì)費(fèi)情況,使用賦值語(yǔ)句和表達(dá)式得出鐘點(diǎn)工工作8個(gè)小時(shí)后所得的薪水。
#include<stdio.h> int main() { int iHoursWorded=8;/*定義變量,為變量賦初值。表示工作時(shí)間*/ int iHourlyRate; /*聲明變量,表示一個(gè)小時(shí)的薪水*/ int iGrossPay; /*聲明變量,表示得到的工資*/ iHourlyRate=13; /*為變量賦值*/ iGrossPay=iHoursWorded*iHourlyRate; /*將表達(dá)式的結(jié)果賦值給變量*/ printf("The HoursWorded is: %d\n",iHoursWorded); /*顯示工作時(shí)間變量*/ printf("The HourlyRate is: %d\n",iHourlyRate);/*顯示一個(gè)小時(shí)的薪水*/ printf("The GrossPay is: %d\n",iGrossPay);/*顯示工作所得的工資*/ return 0; /*程序結(jié)束*/ }
自動(dòng)類型轉(zhuǎn)換
數(shù)值類型有很多種,如字符型、整型、長(zhǎng)整型和實(shí)型等,因?yàn)檫@些類型的變量、長(zhǎng)度和符號(hào)特性都不同,所以取值范圍也不同?;旌鲜褂眠@些類型時(shí)會(huì)出現(xiàn)什么情況呢?第3章已經(jīng)對(duì)此有所介紹。
C語(yǔ)言中使用一些特定的轉(zhuǎn)化規(guī)則。根據(jù)這些轉(zhuǎn)化規(guī)則,數(shù)值類型變量可以混合使用。如果把比較短的數(shù)值類型變量的值賦給比較長(zhǎng)的數(shù)值類型變量,那么比較短的數(shù)值類型變量中的值會(huì)升級(jí)表示為比較長(zhǎng)的數(shù)值類型,數(shù)據(jù)信息不會(huì)丟失。但是,如果把較長(zhǎng)的數(shù)值類型變量的值賦給比較短的數(shù)值類型變量,那么數(shù)據(jù)就會(huì)降低級(jí)別表示,并且當(dāng)數(shù)據(jù)大小超過(guò)比較短的數(shù)值類型的可表示范圍時(shí),就會(huì)發(fā)生數(shù)據(jù)截?cái)唷?/p>
有些編譯器遇到這種情況時(shí)就會(huì)發(fā)出警告信息,例如:
float i=10.1f; int j=i;
此時(shí)編譯器會(huì)發(fā)出警告,如圖所示:
強(qiáng)制類型轉(zhuǎn)換
通過(guò)自動(dòng)類型轉(zhuǎn)化的介紹得知,如果數(shù)據(jù)類型不同,就可以根據(jù)不同情況自動(dòng)進(jìn)行類型轉(zhuǎn)化,但此時(shí)編譯器會(huì)提示警告信息。這個(gè)時(shí)候如果使用強(qiáng)制類型轉(zhuǎn)化告知編譯器,就不會(huì)出現(xiàn)警告。
強(qiáng)制類型轉(zhuǎn)化的一般形式為:
(類型名) (表達(dá)式)
例如在上述不同變量類型轉(zhuǎn)化時(shí)使用強(qiáng)制類型轉(zhuǎn)化的方法:
float i=10.1f; int j= (int)i; /*進(jìn)行強(qiáng)制類型轉(zhuǎn)化*/
在代碼中可以看到在變量前使用包含要轉(zhuǎn)化類型的括號(hào),這樣就對(duì)變量進(jìn)行了強(qiáng)制類型轉(zhuǎn)化。
【實(shí)例】 顯示類型轉(zhuǎn)化的結(jié)果。在本實(shí)例中,通過(guò)不同類型變量之間的賦值,將賦值操作后的結(jié)果進(jìn)行輸出,觀察類型轉(zhuǎn)化后的結(jié)果。
#include<stdio.h> int main() { char cChar; /*字符型變量*/ short int iShort; /*短整型變量*/ int iInt; /*整型變量*/ float fFloat=70000; /*單精度浮點(diǎn)型*/ cChar=(char)fFloat; /*強(qiáng)制轉(zhuǎn)化賦值*/ iShort=(short)fFloat; iInt=(int)fFloat; printf("the char is: %c\n",cChar);/*輸出字符變量值*/ printf("the long is: %ld\n",iShort);/*輸出短整型變量值*/ printf("the int is: %d\n",iInt); /*輸出整型變量值*/ printf("the float is: %f\n",fFloat);/*輸出單精度浮點(diǎn)型變量值*/ return 0; /*程序結(jié)束*/ }
算數(shù)運(yùn)算符與表達(dá)式
算術(shù)運(yùn)算符
算術(shù)運(yùn)算符包括:兩個(gè)單目運(yùn)算符(正和負(fù)),5個(gè)雙目運(yùn)算符乘法、除法、取模、加法和減法。具體符號(hào)和對(duì)應(yīng)的功能如表所示。
在上述的算術(shù)運(yùn)算符中,取模運(yùn)算符(%)用于計(jì)算兩個(gè)整數(shù)相除得到的余數(shù),并且取模運(yùn)算符的兩側(cè)均為整數(shù),例如7%4的結(jié)果是3。
算術(shù)表達(dá)式
在表達(dá)式中使用算術(shù)運(yùn)算符,則將表達(dá)式稱為算術(shù)表達(dá)式。下面是一些算術(shù)表達(dá)式的例子,其中使用的運(yùn)算符就是表4.1中所列出的算術(shù)運(yùn)算符:
Number=(3+5)/Rate; Height= Top-Bottom+1; Area=Height * Width;
需要說(shuō)明的是,兩個(gè)整數(shù)相除的結(jié)果為整數(shù),例如7/4的結(jié)果為1,舍去的是小數(shù)部分。但是,如果其中的一個(gè)數(shù)是負(fù)數(shù)時(shí)會(huì)出現(xiàn)什么情況呢?此時(shí)機(jī)器會(huì)采取“向零取整”的方法,即為-1,取整后向0靠攏。
優(yōu)先級(jí)與結(jié)合性
C語(yǔ)言中規(guī)定了各種運(yùn)算符的優(yōu)先級(jí)和結(jié)合性,首先來(lái)看一下有關(guān)算術(shù)運(yùn)算的優(yōu)先級(jí):
算術(shù)運(yùn)算符的優(yōu)先級(jí)
在表達(dá)式求值時(shí),先按照運(yùn)算符的優(yōu)先級(jí)別高低次序執(zhí)行,算術(shù)運(yùn)算符中*、/、%的優(yōu)先級(jí)別高于+、-的級(jí)別。例如,如果在表達(dá)式中同時(shí)出現(xiàn)*和+,那么先運(yùn)算乘法:
R=x+y*z;
在表達(dá)式中,因?yàn)?比+的優(yōu)先級(jí)高,所以會(huì)先進(jìn)行y*z的運(yùn)算,最后加上x(chóng)。
算術(shù)運(yùn)算符的結(jié)合性
當(dāng)算術(shù)運(yùn)算符的優(yōu)先級(jí)相同時(shí),結(jié)合方向?yàn)?ldquo;自左向右”。
例如:
a-b+c
因?yàn)闇p法和加法的優(yōu)先級(jí)是相同的,所以b先與減號(hào)相結(jié)合,執(zhí)行a-b的操作,然后執(zhí)行加c的操作。這樣的操作過(guò)程就稱為“自左向右的結(jié)合性”,在后面的介紹中還可以看到“自右向左的結(jié)合性”。
自增自減運(yùn)算符
在C語(yǔ)言中還有兩個(gè)特殊的運(yùn)算符:自增運(yùn)算符“++”和自減運(yùn)算符“--”。自增運(yùn)算符和自減運(yùn)算符對(duì)變量的操作分別是增加1和減少1,
如表所示:
自增運(yùn)算符和自減運(yùn)算符可以放在變量的前面或者后面,放在變量前面稱為前綴,放在后面稱為后綴,使用的一般方法如下所示。
--Counter; /*自減前綴符號(hào)*/
Grade--; /*自減后綴符號(hào)*/
++Age; /*自增前綴符號(hào)*/
Height++; /*自增后綴符號(hào)*/
在上面這些例子中,運(yùn)算符的前后位置不重要,因?yàn)樗玫降慕Y(jié)果是一樣的,自減就是減1,自增就是加1。
關(guān)系運(yùn)算符與表達(dá)式
關(guān)系運(yùn)算符包括大于運(yùn)算符、大于等于運(yùn)算符、小于運(yùn)算符、小于等于運(yùn)算符、等于運(yùn)算符、不等于運(yùn)算符。表中列出了這6種關(guān)系運(yùn)算符所對(duì)應(yīng)的符號(hào)。
關(guān)系運(yùn)算符用于對(duì)兩個(gè)表達(dá)式的值進(jìn)行比較,返回一個(gè)真值或者假值。返回真值還是假值取決于表達(dá)式中的值和所用的運(yùn)算符。其中真值為1,假值為0,真值表示指定的關(guān)系成立,假值則表示指定的關(guān)系不正確。
例如:
7>5 /*因?yàn)?大于5,所以該關(guān)系成立,表達(dá)式的結(jié)果為真值*/
7>=5 /*因?yàn)?大于5,所以該關(guān)系成立,表達(dá)式的結(jié)果為真值*/
7<5 /*因?yàn)?大于5,所以該關(guān)系不成立,表達(dá)式的結(jié)果為假值*/
7<=5 /*因?yàn)?大于5,所以該關(guān)系不成立,表達(dá)式的結(jié)果為假值*/
7==5 /*因?yàn)?不等于5,所以該關(guān)系不成立,表達(dá)式的結(jié)果為假值*/
7!=5 /*因?yàn)?不等于5,所以該關(guān)系成立,表達(dá)式的結(jié)果為真值*/
關(guān)系運(yùn)算符通常用來(lái)構(gòu)造條件表達(dá)式,用在程序流程控制語(yǔ)句中,例如if語(yǔ)句是用于判斷條件而執(zhí)行語(yǔ)句塊,在其中使用關(guān)系表達(dá)式作為判斷條件,如果關(guān)系表達(dá)式返回的是真值則執(zhí)行下面的語(yǔ)句塊,如果為假值就不去執(zhí)行。
代碼如下:
if(Count<10) { … /*判斷條件為真值,執(zhí)行代碼*/ }
其中,if(iCount<10)就是判斷iCount小于10這個(gè)關(guān)系是否成立,如果成立則為真,如果不成立則為假。
優(yōu)先級(jí)與結(jié)合性
關(guān)系運(yùn)算符的結(jié)合性都是自左向右的。使用關(guān)系運(yùn)算符的時(shí)候常常會(huì)判斷兩個(gè)表達(dá)式的關(guān)系,但是由于運(yùn)算符存在著優(yōu)先級(jí)的問(wèn)題,因此如果不小心處理則會(huì)出現(xiàn)錯(cuò)誤。例如要進(jìn)行這樣的判斷操作:先對(duì)一個(gè)變量進(jìn)行賦值,然后判斷這個(gè)賦值的變量是否不等于一個(gè)常數(shù),
代碼如下:
if(Number=NewNum!=10) { … }
因?yàn)?ldquo;!=”運(yùn)算符比“=”的優(yōu)先級(jí)要高,所以NewNum!=0的判斷操作會(huì)在賦值之前實(shí)現(xiàn),變量Number得到的就是關(guān)系表達(dá)式的真值或者假值,這樣并不會(huì)按照之前的意愿執(zhí)行。
前文曾經(jīng)介紹過(guò)括號(hào)運(yùn)算符,括號(hào)運(yùn)算符的優(yōu)先級(jí)具有最高性,因此使用括號(hào)來(lái)表示要優(yōu)先計(jì)算的表達(dá)式,例如:
if((Number=NewNum)!=10) { … }
這種寫(xiě)法比較清楚,不會(huì)產(chǎn)生混淆,沒(méi)有人會(huì)對(duì)代碼的含義產(chǎn)生誤解。由于這種寫(xiě)法格式比較精確簡(jiǎn)潔,因此被多數(shù)的程序員所接受。
邏輯運(yùn)算符與表達(dá)式
使用邏輯運(yùn)算符可以將多個(gè)關(guān)系表達(dá)式的結(jié)果合并在一起進(jìn)行判斷。
其一般形式為:
表達(dá)式 邏輯運(yùn)算符 表達(dá)式
例如使用邏輯運(yùn)算符:
Result= Func1&&Func2; /*Func1和Func2都為真時(shí),結(jié)果為真*/ Result= Func1||Func2; /*Func1、Func2其中一個(gè)為真時(shí),結(jié)果為真*/ Result= !Func2; /*如果Func2為真,則Result為假*/
前面已經(jīng)介紹過(guò),但這里還要做重點(diǎn)強(qiáng)調(diào),不要把邏輯與運(yùn)算符“&&”和邏輯或運(yùn)算符“||”與下面要講的位與運(yùn)算符“&”和位或運(yùn)算符“|”混淆。
邏輯與運(yùn)算符和邏輯或運(yùn)算符可以用于相當(dāng)復(fù)雜的表達(dá)式中。一般來(lái)說(shuō),這些運(yùn)算符用來(lái)構(gòu)造條件表達(dá)式,用在控制程序的流程語(yǔ)句中,例如在后面章節(jié)中要介紹的if、for、while語(yǔ)句等。
在程序中,通常使用單目邏輯非運(yùn)算符“!”把一個(gè)變量的數(shù)值轉(zhuǎn)化為相應(yīng)的邏輯真值或者假值,也就是1或0。
例如:
Result= !!Value; /*轉(zhuǎn)化成邏輯值*/
“&&”和“||”是雙目運(yùn)算符,它們要求有兩個(gè)操作數(shù),結(jié)合方向自左至右;“!”是單目運(yùn)算符,要求有一個(gè)操作數(shù),結(jié)合方向自左向右。
邏輯運(yùn)算符的優(yōu)先級(jí)從高到低依次為:?jiǎn)文窟壿嫹沁\(yùn)算符“!”,邏輯與運(yùn)算符“&&”,邏輯或運(yùn)算符“||”。
【實(shí)例4.8】 邏輯運(yùn)算符的應(yīng)用。在本實(shí)例中,使用邏輯運(yùn)算符構(gòu)造表達(dá)式,通過(guò)輸出顯示表達(dá)式的結(jié)果,根據(jù)結(jié)果分析表達(dá)式中邏輯運(yùn)算符的計(jì)算過(guò)程。
#include<stdio.h> int main() { int iNumber1,iNumber2; /*聲明變量*/ iNumber1=10; /*為變量賦值*/ iNumber2=0; printf("the 1 is Ture , 0 is False\n"); /*顯示提示信息*/ printf("5< iNumber1&&iNumber2 is %d\n",5<iNumber1&&iNumber2); /*顯示邏輯與表達(dá)式的結(jié)果*/ printf("5< iNumber1||iNumber2 is %d\n",5<iNumber1||iNumber2); /*顯示邏輯或表達(dá)式的結(jié)果*/ iNumber2=!!iNumber1;/*得到iNumber1的邏輯值*/ printf("iNumber2 is %d\n",iNumber2);/*輸出邏輯值*/ return 0; }
位邏輯運(yùn)算符與表達(dá)式
位邏輯運(yùn)算符
位邏輯運(yùn)算符包括:位邏輯與、位邏輯或、位邏輯非、取補(bǔ)。表列出了所有位邏輯運(yùn)算符。
位邏輯表達(dá)式
在程序中,位邏輯運(yùn)算符一般被程序員用作開(kāi)關(guān)標(biāo)志。較低層次的硬件設(shè)備驅(qū)動(dòng)程序,經(jīng)常需要對(duì)輸入輸出設(shè)備進(jìn)行位操作。
如下位邏輯與運(yùn)算符的典型應(yīng)用,對(duì)某個(gè)語(yǔ)句的位設(shè)置進(jìn)行檢查:
if(Field & BITMASK)
語(yǔ)句的含義是if語(yǔ)句對(duì)后面括號(hào)中的表達(dá)式進(jìn)行檢測(cè)。如果表達(dá)式返回的是真值,則執(zhí)行下面的語(yǔ)句塊,否則跳過(guò)該語(yǔ)句塊不執(zhí)行。其中運(yùn)算符用來(lái)對(duì)BITMASK變量的位進(jìn)行檢測(cè),判斷其是否與Field變量的位有相吻合之處。
逗號(hào)運(yùn)算符與表達(dá)式
在C語(yǔ)言中,可以用逗號(hào)將多個(gè)表達(dá)式分隔開(kāi)來(lái)。其中,用逗號(hào)分隔的表達(dá)式被分別計(jì)算,并且整個(gè)表達(dá)式的值是最后一個(gè)表達(dá)式的值。
逗號(hào)表達(dá)式稱為順序求值運(yùn)算符。逗號(hào)表達(dá)式的一般形式為:
表達(dá)式1,表達(dá)式2 ,…,表達(dá)式n
逗號(hào)表達(dá)式的求解過(guò)程是:先求解表達(dá)式1,再求解表達(dá)式2,一直求解到表達(dá)式n。整個(gè)逗號(hào)表達(dá)式的值是表達(dá)式n的值。
觀察下面使用逗號(hào)運(yùn)算符的代碼:
Value=2+5,1+2,5+7;
上面語(yǔ)句中Value所得到的值為7,而非12。整個(gè)逗號(hào)表達(dá)式的值不應(yīng)該是最后一個(gè)表達(dá)式的值嗎?為什么不等于12呢?答案在于優(yōu)先級(jí)的問(wèn)題,由于賦值運(yùn)算符的優(yōu)先級(jí)比逗號(hào)運(yùn)算符的優(yōu)先級(jí)高,因此先執(zhí)行的賦值運(yùn)算。如果要先執(zhí)行逗號(hào)運(yùn)算,則可以使用括號(hào)運(yùn)算符,代碼如下所示:
Value=(2+5,1+2,5+7);
使用括號(hào)之后,Value的值為12。
【實(shí)例4】 用逗號(hào)分隔的表達(dá)式。本實(shí)例中,通過(guò)逗號(hào)運(yùn)算符將其他的運(yùn)算符結(jié)合在一起形成表達(dá)式,再將表達(dá)式的最終結(jié)果賦值給變量。由顯示變量的值,分析逗號(hào)運(yùn)算符的計(jì)算過(guò)程。
#include<stdio.h> int main() { int iValue1,iValue2,iValue3,iResult; /*聲明變量,使用逗號(hào)運(yùn)算符*/ /*為變量賦值*/ iValue1=10; iValue2=43; iValue3=26; iResult=0; iResult=iValue1++,--iValue2,iValue3+4;/*計(jì)算逗號(hào)表達(dá)式*/ printf("the result is :%d\n",iResult); /*將結(jié)果輸出顯示*/ iResult=(iValue1++,--iValue2,iValue3+4);/*計(jì)算逗號(hào)表達(dá)式*/ printf("the result is :%d\n",iResult); /*將結(jié)果輸出顯示*/ return 0; /*程序結(jié)束*/ }
復(fù)合賦值運(yùn)算符
復(fù)合賦值運(yùn)算符是C語(yǔ)言中獨(dú)有的,實(shí)際這種操作是一種縮寫(xiě)形式,可使得變量操作的描述方式更為簡(jiǎn)潔。例如在程序中為一個(gè)變量賦值:
Value=Value+3;
這個(gè)語(yǔ)句是對(duì)一個(gè)變量進(jìn)行賦值操作,值為這個(gè)變量本身與一個(gè)整數(shù)常量3相加的結(jié)果值。使用復(fù)合賦值運(yùn)算符可以實(shí)現(xiàn)同樣的操作。例如上面的語(yǔ)句可以改寫(xiě)成:
Value+=3;
這種描述更為簡(jiǎn)潔。關(guān)于上面兩種實(shí)現(xiàn)相同操作的語(yǔ)句,賦值運(yùn)算符和復(fù)合賦值運(yùn)算符的區(qū)別在于:
為了簡(jiǎn)化程序,使程序精煉。 為了提高編譯效率。
對(duì)于簡(jiǎn)單賦值運(yùn)算符,如Func=Func+1中,表達(dá)式Func計(jì)算兩次;對(duì)于復(fù)合賦值運(yùn)算符,如Func+=1中,表達(dá)式Func僅計(jì)算一次。一般來(lái)說(shuō),這種區(qū)別對(duì)于程序的運(yùn)行沒(méi)有太大的影響。但是,如果表達(dá)式中存在某個(gè)函數(shù)的返回值,那么函數(shù)被調(diào)用兩次。
【實(shí)例】 使用復(fù)合賦值運(yùn)算符簡(jiǎn)化賦值運(yùn)算。
#include<stdio.h> int main() { int iTotal,iValue,iDetail; /*聲明變量*/ iTotal=100; /*為變量賦值*/ iValue=50; iDetail=5; iValue*=iDetail; /*計(jì)算得到iValue變量值*/ iTotal+=iValue; /*計(jì)算得到iTotal變量值*/ printf("Value is: %d\n",iValue); /*顯示計(jì)算結(jié)果*/ printf("Total is: %d\n",iTotal); return 0; }
到此這篇關(guān)于C語(yǔ)言運(yùn)算符與表達(dá)式的文章就介紹到這了,更多相關(guān)C運(yùn)算符與表達(dá)式內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
- 關(guān)于c語(yǔ)言逗號(hào)表達(dá)式的運(yùn)算規(guī)則知識(shí)點(diǎn)
- C語(yǔ)言實(shí)現(xiàn)中綴表達(dá)式轉(zhuǎn)換為后綴表達(dá)式
- C語(yǔ)言利用棧實(shí)現(xiàn)對(duì)后綴表達(dá)式的求解
- C語(yǔ)言位運(yùn)算符的具體使用
- C語(yǔ)言實(shí)現(xiàn)數(shù)學(xué)表達(dá)式運(yùn)算
- C語(yǔ)言運(yùn)算符的重載詳解
- C語(yǔ)言運(yùn)算符的重載詳解
- C語(yǔ)言簡(jiǎn)明講解三目運(yùn)算符和逗號(hào)表達(dá)式的使用
- C語(yǔ)言 詳細(xì)講解邏輯運(yùn)算符的使用
相關(guān)文章
淺談C/C++中的static與extern關(guān)鍵字的使用詳解
本篇文章是對(duì)C/C++中的static與extern關(guān)鍵字的使用進(jìn)行了詳細(xì)的分析介紹,需要的朋友參考下2013-05-05QT實(shí)現(xiàn)簡(jiǎn)單計(jì)算器功能
這篇文章主要為大家詳細(xì)介紹了QT實(shí)現(xiàn)簡(jiǎn)單計(jì)算器功能,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2022-04-04C語(yǔ)言 結(jié)構(gòu)體數(shù)組詳解及示例代碼
本文主要介紹C語(yǔ)言 結(jié)構(gòu)體數(shù)組,這里整理了相關(guān)資料及簡(jiǎn)單示例代碼,以便大家學(xué)習(xí)參考,有興趣的小伙伴可以看下2016-08-08Visual Studio Code (VSCode) 配置搭建 C/C++ 開(kāi)發(fā)編譯環(huán)境的流程
記得N年前剛開(kāi)始接觸編程時(shí),使用的是Visual C++6.0,下面這個(gè)可愛(ài)的圖標(biāo)很多人一定很熟悉。不過(guò)今天想嘗鮮新的工具 Visual Studio Code 來(lái)搭建C/C++開(kāi)發(fā)環(huán)境,感興趣的朋友一起看看吧2021-09-09C/C++中的?Qt?StandardItemModel?數(shù)據(jù)模型應(yīng)用解析
QStandardItemModel?是標(biāo)準(zhǔn)的以項(xiàng)數(shù)據(jù)為單位的基于M/V模型的一種標(biāo)準(zhǔn)數(shù)據(jù)管理方式,本文給大家介紹C/C++中的?Qt?StandardItemModel?數(shù)據(jù)模型應(yīng)用解析,感興趣的朋友跟隨小編一起看看吧2021-12-12使用Qt的QChartView實(shí)現(xiàn)縮放和放大功能
QCustomPlot是一個(gè)小型的Qt畫(huà)圖標(biāo)類,支持繪制靜態(tài)曲線、動(dòng)態(tài)曲線、多重坐標(biāo)曲線,柱狀圖,蠟燭圖,這篇文章主要介紹了Qt的QChartView實(shí)現(xiàn)縮放和放大功能,需要的朋友可以參考下2022-09-09