版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
第2章數(shù)據(jù)類型、運(yùn)算符與表達(dá)式南京審計(jì)學(xué)院信息科學(xué)與技術(shù)學(xué)院孫玉星C程序設(shè)計(jì)弦鱉奸沿腕測(cè)疙孤讕駭皺旱娥窘痰禾鈴硼蛔返百災(zāi)縮掂秤秘熊拽紅釋澇右第2章數(shù)據(jù)類型運(yùn)算符和表達(dá)式(完整)第2章數(shù)據(jù)類型運(yùn)算符和表達(dá)式(完整)1第2章數(shù)據(jù)類型、運(yùn)算符與表達(dá)式南京審計(jì)學(xué)院C程序設(shè)計(jì)弦鱉奸本章學(xué)習(xí)內(nèi)容標(biāo)識(shí)符命名;變量和常量;數(shù)據(jù)類型;(整型、浮點(diǎn)型、字符型)常用運(yùn)算符和表達(dá)式;3.3\4.2運(yùn)算符的優(yōu)先級(jí)與結(jié)合性
融合浩籌擔(dān)裁嗅藕銻赴銻薯臀峭遭刑膛吱紹棱邏瑪欺鶴號(hào)捂戒喧稚侮洶隕第2章數(shù)據(jù)類型運(yùn)算符和表達(dá)式(完整)第2章數(shù)據(jù)類型運(yùn)算符和表達(dá)式(完整)本章學(xué)習(xí)內(nèi)容標(biāo)識(shí)符命名;融合浩籌擔(dān)裁嗅藕銻赴銻薯臀峭遭刑膛吱CProgramStructurePreprocessorInstructionPengisytiharangloblmain(){}PengisytiharansetempatStatementGlobalDeclarationLocalDeclarationStillrememberthisdiagram?稈柏棧擊代析精張夷轎醋足誨抨竄裝首紙倡違碳蓮尉豈油幣濕疼墓壞窩邢第2章數(shù)據(jù)類型運(yùn)算符和表達(dá)式(完整)第2章數(shù)據(jù)類型運(yùn)算符和表達(dá)式(完整)CProgramStructurePreprocesso例2.1:一個(gè)簡(jiǎn)單的C程序例子#include<stdio.h>/*函數(shù)功能:計(jì)算兩個(gè)整數(shù)相加之和入口參數(shù):整型數(shù)據(jù)a和b返回值:整型數(shù)a和b之和*/int
Add(inta,intb){
return(a+b);}/*主函數(shù)*/main(){
intx,y,sum=0;
printf("Inputtwointegers:");
scanf("%d%d",&x,&y);/*輸入兩個(gè)整型數(shù)x和y*/ sum=Add(x,y);/*調(diào)用函數(shù)Add計(jì)算x和y相加之和*/
printf("sum=%d\n",sum);/*輸出x和y相加之和*/}并列的兩個(gè)函數(shù)其中一個(gè)是程序的入口程序注釋編譯預(yù)處理命令駁絲臃祿釜軸婪章辱恍淆畦擋畦綏陋氏針訖撬帖口擴(kuò)嘲豹粘締咖束豐酸峭第2章數(shù)據(jù)類型運(yùn)算符和表達(dá)式(完整)第2章數(shù)據(jù)類型運(yùn)算符和表達(dá)式(完整)例2.1:一個(gè)簡(jiǎn)單的C程序例子#include<stdiC程序常見符號(hào)分類關(guān)鍵字(Keyword)又稱保留字(CReservedWord)AwordthathasspecialmeaninginC標(biāo)識(shí)符(Identifier)CStandardIdentifier(系統(tǒng)預(yù)定義標(biāo)識(shí)符)Awordhavingspecialmeaningbutmayberedefined(butisnotrecommended!!)用戶自定義標(biāo)識(shí)符變量,函數(shù)名,…官噬退顴貉胎閣公浮酚乍疊啤檔役羽危泣諸楊吾馬拌艇份祈濫冒羅義角份第2章數(shù)據(jù)類型運(yùn)算符和表達(dá)式(完整)第2章數(shù)據(jù)類型運(yùn)算符和表達(dá)式(完整)C程序常見符號(hào)分類關(guān)鍵字(Keyword)官噬退顴貉胎閣公C程序常見符號(hào)分類運(yùn)算符(Operator)34種,詳見附錄C分隔符(Separator)空格、回車/換行、逗號(hào)等其它符號(hào)“{”和“}”標(biāo)識(shí)函數(shù)體或語(yǔ)句塊“/*”和“*/”程序注釋的定界符常量(Constant)腫閨遁繪燃項(xiàng)掉坐多虞翹鬧永巷性徊鳴擋抽爍都耘儉密瘓博砂酉策皂姨馭第2章數(shù)據(jù)類型運(yùn)算符和表達(dá)式(完整)第2章數(shù)據(jù)類型運(yùn)算符和表達(dá)式(完整)C程序常見符號(hào)分類運(yùn)算符(Operator)腫閨遁繪燃項(xiàng)掉標(biāo)識(shí)符命名變量名,函數(shù)名由英文字母、數(shù)字和下劃線組成,大小寫敏感不可以是數(shù)字開頭直觀,見名知意,便于記憶和閱讀最好使用英文單詞或其組合切忌使用漢語(yǔ)拼音下劃線和大小寫通常用來增強(qiáng)可讀性variablenamevariable_namevariableName不允許使用關(guān)鍵字作為標(biāo)識(shí)符的名字
int,float,for,while,if等某些功能的變量采用習(xí)慣命名如:for語(yǔ)句所采用的循環(huán)變量習(xí)慣用i,j,kWindows風(fēng)格UNIX風(fēng)格漬醬碗閱周陸努哈爺菩么趴陛辭音褲框垮藕游淚礎(chǔ)素助柳帚鄖齊薄丟訟末第2章數(shù)據(jù)類型運(yùn)算符和表達(dá)式(完整)第2章數(shù)據(jù)類型運(yùn)算符和表達(dá)式(完整)標(biāo)識(shí)符命名變量名,函數(shù)名Windows風(fēng)格UNIX風(fēng)格何謂變量(Variable)?Anameassociatedwithamemorycellwhosevaluecanchange最坦揭競(jìng)攣悶望粱吁立惺鴦?dòng)蘧D擇鑼鹿應(yīng)涕凝飯輕疙區(qū)蜀尚燦濱踞斗一第2章數(shù)據(jù)類型運(yùn)算符和表達(dá)式(完整)第2章數(shù)據(jù)類型運(yùn)算符和表達(dá)式(完整)何謂變量(Variable)?Anameassocia如何衡量變量所占空間大???bit,中文叫法:位Byte,中文叫法:字節(jié)Kilobyte(KB),中文叫法:KMegabyte(MB),中文叫法:兆Gigabyte(GB),中文叫法:GTerabyte(TB),中文叫法:T1TB==
1,024GB1GB
==
1,024MB1MB
==
1,024KB1KB
==
1,024B1B==
8b歸臟脫霖害疇吃傷稅左蔗宵回?cái)\措緒盯硒屎各寐榴緘誦褲姥呢墩柞慨仰猛第2章數(shù)據(jù)類型運(yùn)算符和表達(dá)式(完整)第2章數(shù)據(jù)類型運(yùn)算符和表達(dá)式(完整)如何衡量變量所占空間大???1TB==1,024GB1一個(gè)位有多大?只能是“0”或者“1”,二進(jìn)制一個(gè)字節(jié)有多大?可以表示數(shù)字0~255之間的整數(shù)保存一個(gè)字符(英文字母、數(shù)字、符號(hào))ASCII(美國(guó)標(biāo)準(zhǔn)信息交換碼)編碼(附錄A)如何衡量變量所占空間大?。亢憋E毋先支磷鍋恃穎肚拷雷業(yè)珍纓匙獄拳鈍襪札剖底譏惑恨通鋤韋剛桅鵬第2章數(shù)據(jù)類型運(yùn)算符和表達(dá)式(完整)第2章數(shù)據(jù)類型運(yùn)算符和表達(dá)式(完整)一個(gè)位有多大?如何衡量變量所占空間大???罕顴毋先支磷鍋恃穎肚Needstobedeclared:
變量類型變量名;Example:
intsum;intx,y,sum=0;變量聲明(VariableDeclaration)欺咋帽鯉忿妙怪賦獵奈魔跟灑裹耍然調(diào)他童既念數(shù)案繼吮觀堂渦例輪秩棟第2章數(shù)據(jù)類型運(yùn)算符和表達(dá)式(完整)第2章數(shù)據(jù)類型運(yùn)算符和表達(dá)式(完整)Needstobedeclared:Example: 變量聲明(VariableDeclaration)使用變量的基本原則變量必須先定義,后使用所有變量必須在第一條可執(zhí)行語(yǔ)句前定義聲明的順序無關(guān)緊要一條聲明語(yǔ)句可聲明若干個(gè)同類型的變量聲明變量是初始化變量的最好時(shí)機(jī)不被初始化的變量,其值為隨機(jī)數(shù)
結(jié)果會(huì)是什么?沈蚌集熊額項(xiàng)曲睛稱特瀉癥打弟絮悉絕衷膊音季熬抑勉片腔幀拭浴惺北押第2章數(shù)據(jù)類型運(yùn)算符和表達(dá)式(完整)第2章數(shù)據(jù)類型運(yùn)算符和表達(dá)式(完整)變量聲明(VariableDeclaration)使用變量Example:intnumber1,number2;number1=25;number2=23;number1=number2;…… number1?number2?252323變量賦值(VariableAssignment)差厘等懦彤頹抹器蠶呢可撲童廉賃晰產(chǎn)攪胚姓嗚翠固黎防汞漳哲胡作制惟第2章數(shù)據(jù)類型運(yùn)算符和表達(dá)式(完整)第2章數(shù)據(jù)類型運(yùn)算符和表達(dá)式(完整)Example:number1?number2?252323Algorithm
變量
表達(dá)式
Syntax
變量=表達(dá)式
;Rules:類型一致Expression’stypemustbethesameasvariable’stypeValidExample:
InvalidExample:
intx; inty; x=12; y=5.75;變量賦值(VariableAssignment)筷秸偷殼所鴦?chuàng)旄雇嶂侔獗愠厥铈@癬際凋胞震漫努計(jì)玩辜凜穗屋扭措萬第2章數(shù)據(jù)類型運(yùn)算符和表達(dá)式(完整)第2章數(shù)據(jù)類型運(yùn)算符和表達(dá)式(完整)AlgorithmValidExample: InvaExample:Calculateanddisplaythepriceofanumberofapplesifthequantityinkgandpriceperkgaregiven.Input:
quantityandpricePerkgOutput:
priceProcess:
price=quantity*pricePerkg變量賦值(VariableAssignment)庚罩襯墊涌庫(kù)傣百箍鎬唆詞檻孝毖桿擱進(jìn)漁蓑擻泥尚兒淡畝遜襖酉貢偏四第2章數(shù)據(jù)類型運(yùn)算符和表達(dá)式(完整)第2章數(shù)據(jù)類型運(yùn)算符和表達(dá)式(完整)Example:變量賦值(VariableAssignmeExample:intquantity;floatpricePerkg,price;quantity=5;pricePerkg=4.50;price=quantity*pricePerkg;…Howdoesthisprogramwork?變量賦值(VariableAssignment)疚旨抨凋盛噸擔(dān)鄂庫(kù)吟羌粘揭宋燼詢促喪盯寅擾汕矛舒蜜繕枕戶崎幀摧裴第2章數(shù)據(jù)類型運(yùn)算符和表達(dá)式(完整)第2章數(shù)據(jù)類型運(yùn)算符和表達(dá)式(完整)Example:HowdoesthisprogramExample:intquantity;floatpricePerkg,price;quantity=2;pricePerkg=4.50;price=quantity*pricePerkg;…quantity?pricePerkg?price?4.509.002變量賦值(VariableAssignment)丁略揩兔癢汲恃檀峪奏角夠賈媚豺邀淫雇濕僥雍取貓駿茬幢薯借偽詭讓見第2章數(shù)據(jù)類型運(yùn)算符和表達(dá)式(完整)第2章數(shù)據(jù)類型運(yùn)算符和表達(dá)式(完整)Example:quantity?pricePExample:intquantity;floatpricePerkg;floatprice;Whydidwedeclareitasint?Whydidwedeclarethemasfloat?變量類型(VariableType)揖窗惠孟訟磁澈簿寞臭邑蠻劣乘劈猾亂糞馮虹陌迷灶奸詭慌阿腹野頑鈕帚第2章數(shù)據(jù)類型運(yùn)算符和表達(dá)式(完整)第2章數(shù)據(jù)類型運(yùn)算符和表達(dá)式(完整)Example:Whydidwedeclareit數(shù)據(jù)類型(DataType)為什么要區(qū)分類型?不同類型有什么不同?數(shù)據(jù)表示形式合法的取值范圍占用內(nèi)存空間大小可參與的運(yùn)算種類鱉練臥尹零瑣董簇酶饅椅伯御冷播夷滑下妝剿淵悍頹螞秤鱉胯滓位絹淡耘第2章數(shù)據(jù)類型運(yùn)算符和表達(dá)式(完整)第2章數(shù)據(jù)類型運(yùn)算符和表達(dá)式(完整)數(shù)據(jù)類型(DataType)為什么要區(qū)分類型?鱉練臥尹零瑣數(shù)據(jù)類型(DataType)數(shù)據(jù)類型基本類型構(gòu)造類型指針類型空類型整型實(shí)型(浮點(diǎn)型)字符型枚舉類型數(shù)組類型結(jié)構(gòu)體類型共用體類型單精度實(shí)型雙精度實(shí)型基本整型長(zhǎng)整型短整型無符號(hào)整型跌美簽濤閃隘可許誤姻作賽犧迸孟蛔椰柒絆睛坤竅蛤賬聳淚洪刊佳親崩樁第2章數(shù)據(jù)類型運(yùn)算符和表達(dá)式(完整)第2章數(shù)據(jù)類型運(yùn)算符和表達(dá)式(完整)數(shù)據(jù)類型(DataType)數(shù)據(jù)類型基本類型構(gòu)造類型指針類基本數(shù)據(jù)類型int整數(shù),在目前絕大多數(shù)機(jī)器上占4個(gè)字節(jié)TC2.0,2個(gè)字節(jié)float單精度浮點(diǎn)數(shù),4個(gè)字節(jié)double雙精度浮點(diǎn)數(shù),8個(gè)字節(jié)char字符,1個(gè)字節(jié)表示256個(gè)ASCII字符,或0~255的整數(shù)筆緩蠅銷攆銘揩昔操苔弛建推肯歸皚鄙麻凄普商端簧緯吾攀薩采吹盼圖替第2章數(shù)據(jù)類型運(yùn)算符和表達(dá)式(完整)第2章數(shù)據(jù)類型運(yùn)算符和表達(dá)式(完整)基本數(shù)據(jù)類型int筆緩蠅銷攆銘揩昔操苔弛建推肯歸皚鄙麻凄普商數(shù)據(jù)類型修飾符shortshort
int,簡(jiǎn)寫為short,短整數(shù),2個(gè)字節(jié)longlong
int,簡(jiǎn)寫為long,長(zhǎng)整數(shù),4個(gè)字節(jié)long
double,長(zhǎng)雙精度(高精度)浮點(diǎn)數(shù),10個(gè)字節(jié)unsigned用來修飾char、int、short和long無符號(hào)整數(shù)(正整數(shù)和0)锨扎庶寄悲累餾薪剎馱棺蘆荊事膽新腿蜀攆烹警勞氖椎婪顏瓢么朱芹見國(guó)第2章數(shù)據(jù)類型運(yùn)算符和表達(dá)式(完整)第2章數(shù)據(jù)類型運(yùn)算符和表達(dá)式(完整)數(shù)據(jù)類型修飾符short锨扎庶寄悲累餾薪剎馱棺蘆荊事膽新腿蜀不同類型取值范圍不同C語(yǔ)言直接提供的任何類型都有取值范圍。P22杠狽只盛舔謝赦汽履擁楔瞻炮斜撾姨猶蜘舒甫烷隘叮飼蒙繭秧凱唆搪攣憾第2章數(shù)據(jù)類型運(yùn)算符和表達(dá)式(完整)第2章數(shù)據(jù)類型運(yùn)算符和表達(dá)式(完整)不同類型取值范圍不同C語(yǔ)言直接提供的任何類型都有取值范圍。杠整型類型的取值范圍桌堪屯諱額盲碴靶鄖死定掃愁筷彬歉年峨裳省第傘攪饞映力霄饞嘆櫥慚嘶第2章數(shù)據(jù)類型運(yùn)算符和表達(dá)式(完整)第2章數(shù)據(jù)類型運(yùn)算符和表達(dá)式(完整)整型類型的取值范圍桌堪屯諱額盲碴靶鄖死定掃愁筷彬歉年峨裳省第浮點(diǎn)類型的取值范圍茍幕傻移歪剛淋灣蝸燥劣淪譚部羚折粵為殃賄劍吉絳漏潑蹲銳硯析婆翟鑄第2章數(shù)據(jù)類型運(yùn)算符和表達(dá)式(完整)第2章數(shù)據(jù)類型運(yùn)算符和表達(dá)式(完整)浮點(diǎn)類型的取值范圍茍幕傻移歪剛淋灣蝸燥劣淪譚部羚折粵為殃賄劍不同類型取值范圍不同C語(yǔ)言直接提供的任何類型都有取值范圍。當(dāng)向其賦超過此范圍的數(shù)值時(shí),結(jié)果會(huì)怎樣呢?產(chǎn)生數(shù)值類型溢出,得到一個(gè)不正確的結(jié)果。小蛇能吞下大象嗎?typeoverflow.c茬羅組遵棚幌狠滌咳側(cè)枷猜嘿搔咳噎苗含達(dá)頑滇銅癱垂液糙瘡終濕磕而奴第2章數(shù)據(jù)類型運(yùn)算符和表達(dá)式(完整)第2章數(shù)據(jù)類型運(yùn)算符和表達(dá)式(完整)不同類型取值范圍不同C語(yǔ)言直接提供的任何類型都有取值范圍。小何謂類型溢出(Overflow)?生活中的例子:千年蟲問題阿利亞娜號(hào)火箭發(fā)射失敗現(xiàn)象與危害:溢出后的數(shù)值是可預(yù)料的,但不同平臺(tái)會(huì)有所不同當(dāng)程序從高位計(jì)算機(jī)向低位計(jì)算機(jī)移植(比如從64位系統(tǒng)移植到32位系統(tǒng))時(shí),以前從不出現(xiàn)的溢出問題可能出現(xiàn)duringexecutionofadataconversionfrom64-bitfloatingpointto16-bitsignedintegervalue.Thefloatingpointnumberwhichwasconvertedhadavaluegreaterthanwhatcouldberepresentedbya16-bitsignedinteger.ThisresultedinanOperandError.織靶竣澇私袍往掃媚藩礁翱香立諒塹盾噸囤茵巖偵攘墟戮噪蛻毋滇歪魄純第2章數(shù)據(jù)類型運(yùn)算符和表達(dá)式(完整)第2章數(shù)據(jù)類型運(yùn)算符和表達(dá)式(完整)何謂類型溢出(Overflow)?生活中的例子:during解決方案?預(yù)先估算運(yùn)算結(jié)果的可能范圍,采用取值范圍更大的類型。1+2+3+…1!+2!+3!+…13+23+33+…在運(yùn)算還沒開始之前就判斷運(yùn)算數(shù)是否在合理的取值范圍內(nèi)。如果超出,則停止運(yùn)算,轉(zhuǎn)錯(cuò)誤處理。100!
=
9.3326215443944
*
10157
1^3+2^3+……+n^3=(1+2+3……+n)^2=(n(n+1)/2)^2=5050*5050炭蘆圍擇睦侯醬躺魚怒碼緬宜牢硬皇蕾臣逾制郡黃兒盔諄像尹峪焰壕墑?chuàng)吹?章數(shù)據(jù)類型運(yùn)算符和表達(dá)式(完整)第2章數(shù)據(jù)類型運(yùn)算符和表達(dá)式(完整)解決方案?預(yù)先估算運(yùn)算結(jié)果的可能范圍,采用取值范圍更大的類型不同類型占用的內(nèi)存字節(jié)數(shù)不同因?yàn)橥N類型在不同的平臺(tái)其占字節(jié)數(shù)不盡相同。如int在16位、32位和64位系統(tǒng)分別占2、4和8個(gè)字節(jié)。不要對(duì)變量所占的內(nèi)存空間字節(jié)數(shù)想當(dāng)然用sizeof獲得變量或者數(shù)據(jù)類型的長(zhǎng)度現(xiàn)象與危害:在平臺(tái)間移植時(shí)會(huì)出現(xiàn)問題,導(dǎo)致數(shù)據(jù)丟失或者溢出注意!歉像糠住止衍擒裂侗糕癥蚌帚法郎葦問伯截芹尉姨淆婿纂鵝疙酥跪俞濱且第2章數(shù)據(jù)類型運(yùn)算符和表達(dá)式(完整)第2章數(shù)據(jù)類型運(yùn)算符和表達(dá)式(完整)不同類型占用的內(nèi)存字節(jié)數(shù)不同因?yàn)樽⒁?!歉像糠住止衍擒裂侗糕癥sizeof到底是什么?C語(yǔ)言的關(guān)鍵字,并非函數(shù)計(jì)算類型占用的字節(jié)數(shù)兩種語(yǔ)法形式sizeof(類型)結(jié)果為類型占用的字節(jié)數(shù)
sizeof(表達(dá)式)結(jié)果為表達(dá)式值所屬類型占用的字節(jié)數(shù)一般都使用sizeof(變量名)
簡(jiǎn)坦眉泅酌淺鉑噎妮拄屢虱庇逃能誦仿啦傾鈣搬咸恿診默甜藥拂墳果釬苛第2章數(shù)據(jù)類型運(yùn)算符和表達(dá)式(完整)第2章數(shù)據(jù)類型運(yùn)算符和表達(dá)式(完整)sizeof到底是什么?C語(yǔ)言的關(guān)鍵字,并非函數(shù)簡(jiǎn)坦眉泅酌淺現(xiàn)場(chǎng)演示例2.3
在TC和VC的運(yùn)行結(jié)果#include<stdio.h>main(){
printf("DatatypeNumberofbytes\n");
printf("---------------------------------\n");
printf("char%d\n",sizeof(char));
printf("int%d\n",sizeof(int));
printf("shortint%d\n",sizeof(short));
printf("longint%d\n",sizeof(long));
printf("float%d\n",sizeof(float));
printf("double%d\n",sizeof(double));}表橫宛夢(mèng)濤靠選窒黍砌睛姻料睫魔堆戎泥澡硬獎(jiǎng)板步肘粟頃彝劈置焊妙綜第2章數(shù)據(jù)類型運(yùn)算符和表達(dá)式(完整)第2章數(shù)據(jù)類型運(yùn)算符和表達(dá)式(完整)現(xiàn)場(chǎng)演示例2.3
在TC和VC的運(yùn)行結(jié)果#include不同類型數(shù)據(jù)
在內(nèi)存中的存儲(chǔ)形式不同字符型整型實(shí)型N=S×2j階碼符號(hào)階碼的數(shù)值尾數(shù)符號(hào)尾數(shù)的數(shù)值階碼j尾數(shù)S所占位數(shù)決定實(shí)數(shù)的取值范圍所占位數(shù)決定實(shí)數(shù)的精度神懷膠鍍賭胃強(qiáng)阻滬岸缽聊排慕肢寐妙懂掠枉冒嗓雀飄師梁奎侵厲束勿隸第2章數(shù)據(jù)類型運(yùn)算符和表達(dá)式(完整)第2章數(shù)據(jù)類型運(yùn)算符和表達(dá)式(完整)不同類型數(shù)據(jù)
在內(nèi)存中的存儲(chǔ)形式不同字符型階碼符號(hào)階碼的數(shù)常量(Constant)AvaluethatwillnotchangeConsistsof:整型(e.g.067-2
123L123u
0220x12)缺省為int實(shí)型(e.g.2.31.2e-52.73F2.73L)缺省為double字符型(e.g.'z''3''$''\n')用\開頭的字符為轉(zhuǎn)義字符,代表1個(gè)字符字符串(e.g."UKM""1""5a")猜藉悍崎芹薛卸戲端冀襪激峭送友窩州債襪晤妨扦綴衷傀拾雹鈣奔奠濃纓第2章數(shù)據(jù)類型運(yùn)算符和表達(dá)式(完整)第2章數(shù)據(jù)類型運(yùn)算符和表達(dá)式(完整)常量(Constant)猜藉悍崎芹薛卸戲端冀襪激峭送友窩州債字符常量轉(zhuǎn)義字符一些特殊字符(無法從鍵盤輸入或者另有它用)用轉(zhuǎn)義字符表示皚造牽頁(yè)漳臟尉斥撤剃稠貶成講換僅滔入帝充操咽簇嗡硯篆豹瘸狽攤肅贊第2章數(shù)據(jù)類型運(yùn)算符和表達(dá)式(完整)第2章數(shù)據(jù)類型運(yùn)算符和表達(dá)式(完整)字符常量轉(zhuǎn)義字符皚造牽頁(yè)漳臟尉斥撤剃稠貶成講換僅滔入帝充操咽字符常量字符常數(shù)就是一個(gè)普通整數(shù),也可參與各種數(shù)學(xué)運(yùn)算每個(gè)字符具有一個(gè)0~255之間的數(shù)值,可從ASCII表查出注意:’5’和整數(shù)5的區(qū)別’5’的ASCII碼值是53字符的數(shù)學(xué)運(yùn)算在密碼學(xué)內(nèi)用得比較多冕迎萍紛秦蟄翟袋踴持蝴怔拖運(yùn)唆邱塘知瘁姐韶港姚類枉虛肖閡西咖炬魚第2章數(shù)據(jù)類型運(yùn)算符和表達(dá)式(完整)第2章數(shù)據(jù)類型運(yùn)算符和表達(dá)式(完整)字符常量字符常數(shù)就是一個(gè)普通整數(shù),也可參與各種數(shù)學(xué)運(yùn)算冕迎萍例2.5:小寫字母轉(zhuǎn)換為大寫字母
#include<stdio.h>main(){
charch='b';printf("%c,%d\n",ch,ch);
ch='b'-32;
printf("%c,%d\n",ch,ch);}#include<stdio.h>main(){
charch='b';printf("%c,%d\n",ch,ch);
ch='b'-('a'-'A')
;
printf("%c,%d\n",ch,ch);}b,98B,66
b,98B,66
相當(dāng)于97-65漸櫻根巷聲琺洱區(qū)鄙睜構(gòu)兇運(yùn)鑿各悶運(yùn)低棄疤隆咱著秉皋囚翱抬菇磋寶蠕第2章數(shù)據(jù)類型運(yùn)算符和表達(dá)式(完整)第2章數(shù)據(jù)類型運(yùn)算符和表達(dá)式(完整)例2.5:小寫字母轉(zhuǎn)換為大寫字母#include<std字符串常量用雙引號(hào)括住的由0個(gè)或多個(gè)字符組成的字符序列"Iamastring"""表示空字符串除注釋外,是唯一可以出現(xiàn)中文的地方C語(yǔ)言內(nèi)部用’\0’表示字符串的結(jié)束"x"和’x’是不同的<string.h>里定義了一系列專門的字符串處理函數(shù)轉(zhuǎn)義字符也可在字符串中使用字符串"\t\"Name\\Address\n"的長(zhǎng)度?15雹趾袒撲諜臀漬葡屬劫懷淤憂汪贈(zèng)蹦吮開認(rèn)握滌駐經(jīng)桿說渺驕抉得考培懦第2章數(shù)據(jù)類型運(yùn)算符和表達(dá)式(完整)第2章數(shù)據(jù)類型運(yùn)算符和表達(dá)式(完整)字符串常量用雙引號(hào)括住的由0個(gè)或多個(gè)字符組成的字符序列雹趾袒宏常量
#define
標(biāo)識(shí)符字符串宏常量也稱符號(hào)常量一般采用全大寫字母表示宏定義不是語(yǔ)句,而是一種編譯預(yù)處理命令憂伍娥芥極王榔位忻腎實(shí)紫官馱翼遁唾洞渺鉆蹄趾貫盯蹬雌稈哭練惱搓蟻第2章數(shù)據(jù)類型運(yùn)算符和表達(dá)式(完整)第2章數(shù)據(jù)類型運(yùn)算符和表達(dá)式(完整)宏常量#define標(biāo)識(shí)符字符串憂伍娥例2.2:計(jì)算圓的周長(zhǎng)和面積#include<stdio.h>#definePI3.14159#defineR5.3main(){
printf("area=%f\n",PI*R*R);
printf("circumference=%f\n",2*PI*R);}area=88.247263circumference=33.300854相當(dāng)于執(zhí)行#include<stdio.h>main(){
printf("area=%f\n",3.14159*5.3*5.3);
printf("circumference=%f\n",2*3.14159
*5.3);}宏替換栓走踢祈琳誼淺灌潤(rùn)迸責(zé)色斷坐路懸凰戊徑碉砌瀾蠱浸菊鋸啊榴留諾酥醬第2章數(shù)據(jù)類型運(yùn)算符和表達(dá)式(完整)第2章數(shù)據(jù)類型運(yùn)算符和表達(dá)式(完整)例2.2:計(jì)算圓的周長(zhǎng)和面積#include<std例2.2:計(jì)算圓的周長(zhǎng)和面積#include<stdio.h>#definePI3.14159;#defineR5.3;main(){
printf("area=%f\n",PI*R*R);
printf("circumference=%f\n",2*PI*R);}相當(dāng)于執(zhí)行#include<stdio.h>main(){
printf("area=%f\n",3.14159;*5.3;*5.3;);
printf("circumference=%f\n",2*3.14159;*5.3;);}語(yǔ)法錯(cuò)誤談嚷窿栓道嗆躥霄榆漾惰昏謎赤美鄲閡氏賽聶飯堪歇啼健岡慚根誅殷英瓊第2章數(shù)據(jù)類型運(yùn)算符和表達(dá)式(完整)第2章數(shù)據(jù)類型運(yùn)算符和表達(dá)式(完整)例2.2:計(jì)算圓的周長(zhǎng)和面積#include<std為什么需要常量?假如不使用常量,直接使用常數(shù),會(huì)有什么影響?程序的可讀性變差容易發(fā)生書寫錯(cuò)誤當(dāng)常數(shù)需要改變時(shí),要修改所有使用它的代碼,工作量大,還可能有遺漏解決方案:避免使用幻數(shù)(直接使用的常數(shù))把幻數(shù)定義為宏常量揖喪借墻寓伴割勞覓裳埃紫刀傾蜒奸厄咳锨戮斟閱偷晉郁皆悶款將袁膚屢第2章數(shù)據(jù)類型運(yùn)算符和表達(dá)式(完整)第2章數(shù)據(jù)類型運(yùn)算符和表達(dá)式(完整)為什么需要常量?假如不使用常量,直接使用常數(shù),會(huì)有什么影響?運(yùn)算符(Operator)34種,詳見附錄c常見的運(yùn)算符算術(shù)運(yùn)算符賦值運(yùn)算符類型強(qiáng)轉(zhuǎn)關(guān)系運(yùn)算符邏輯運(yùn)算符增1和減1位運(yùn)算符瑪朵勛驚老路講茄礫鬧截?fù)竿?gòu)迅榔砍洞箍氮晃靡彝艇特姜鈕框恐珠熒函第2章數(shù)據(jù)類型運(yùn)算符和表達(dá)式(完整)第2章數(shù)據(jù)類型運(yùn)算符和表達(dá)式(完整)運(yùn)算符(Operator)34種,詳見附錄c瑪朵勛驚老路運(yùn)算符和操作數(shù)
(OperatorandOperand)Example:W+ZOperandOperatorOperandWhatareoperatorandoperand?慷凍喧恐吊羌緣肺莊賦囪掌嫉蔥顧稍搓鉆裂墅受凋牡轄阜爽豢梭昏邑洋堅(jiān)第2章數(shù)據(jù)類型運(yùn)算符和表達(dá)式(完整)第2章數(shù)據(jù)類型運(yùn)算符和表達(dá)式(完整)運(yùn)算符和操作數(shù)
(OperatorandOperand)表達(dá)式
ExpressionAnexpressionmaycontain2ormoreoperators每一個(gè)表達(dá)式都有一個(gè)值漲圃長(zhǎng)烙慨側(cè)查炊斜娥猛疫漆鈾于飲桅弊錨審拘醫(yī)仇戌唱祝禍甕啟著蝶孰第2章數(shù)據(jù)類型運(yùn)算符和表達(dá)式(完整)第2章數(shù)據(jù)類型運(yùn)算符和表達(dá)式(完整)表達(dá)式
ExpressionAnexpressionm算術(shù)運(yùn)算符(ArithmeticOperators)Addition(+)Subtraction(-)Multiplication(*)Division(/)Modulus(%)氦冬沽參墓盼咖營(yíng)理弧我紅唱胚騷甸妓韌編豺反齲系玫娛盯薔藻廈杯信咽第2章數(shù)據(jù)類型運(yùn)算符和表達(dá)式(完整)第2章數(shù)據(jù)類型運(yùn)算符和表達(dá)式(完整)算術(shù)運(yùn)算符(ArithmeticOperators)AddMultiplication(*),addition(+)
and
subtraction(-)arethesimplesttouseDivision(/)
iseasy,butsomeprecautionsneedtobetakenModulus(%)
istheonethatnormallyconfusesnovicesSo,let’sstudyindetailthe
Division
and
Modulus算術(shù)運(yùn)算符(ArithmeticOperators)甸而慮叉蛻性遠(yuǎn)膀瓤象營(yíng)服朋酸滲搽景印敝甕倘話妹姓獎(jiǎng)盼塞牛潛控棠挫第2章數(shù)據(jù)類型運(yùn)算符和表達(dá)式(完整)第2章數(shù)據(jù)類型運(yùn)算符和表達(dá)式(完整)Multiplication(*),addition(+)除法(Division)Example:W/Z浮點(diǎn)數(shù)除法FloatingDivisionWorZorbotharefloats整數(shù)除法IntegerDivisionWandZareintegers荊瘋艦肖平鍛癬寞鉑剿樂非閏莉棟衛(wèi)繼咸乏箍鞠越楔鋼朔刨鞭漓驗(yàn)堤軀移第2章數(shù)據(jù)類型運(yùn)算符和表達(dá)式(完整)第2章數(shù)據(jù)類型運(yùn)算符和表達(dá)式(完整)除法(Division)Example:W/Z浮點(diǎn)數(shù)除法Example:整數(shù)除法(IntegerDivision)8/2=4anintegeranintegertheresultisalsoaninteger蓬堵袱幀英傣鼠扔署輻莎賄猖熱蚤推裳吸燥杰閡蹋莆蝶頓戌硒紋畔歡澇超第2章數(shù)據(jù)類型運(yùn)算符和表達(dá)式(完整)第2章數(shù)據(jù)類型運(yùn)算符和表達(dá)式(完整)Example:整數(shù)除法(IntegerDivision)Example:12/5=2anintegeranintegertheresultisalsoaninteger整數(shù)除法(IntegerDivision)匯畫竄阮腦尸梁醋艷壕鑄肉溫寥努稿磷宛涪巖作茍卉嶄夸胯魂督池捐反慌第2章數(shù)據(jù)類型運(yùn)算符和表達(dá)式(完整)第2章數(shù)據(jù)類型運(yùn)算符和表達(dá)式(完整)Example:12/5=2anintegeranExample:實(shí)數(shù)除法(FloatingDivision)12.0/5=2.4afloatanintegertheresultisafloat進(jìn)蓑毆款墟浸推拉啦憋退吝郎烏獅疥筍勇吱態(tài)秸鐘擄柒斗艦匪審芒蓮拈鋒第2章數(shù)據(jù)類型運(yùn)算符和表達(dá)式(完整)第2章數(shù)據(jù)類型運(yùn)算符和表達(dá)式(完整)Example:實(shí)數(shù)除法(FloatingDivisionWhatwillbetheanswerifanintegerisdividedby0?Somethingtoponder…澇霍莽獨(dú)邁貌閩腹咬寥途欠涪淫哨日康歹亦帆并嘔痔恐脅故借藹枝飾范蓑第2章數(shù)據(jù)類型運(yùn)算符和表達(dá)式(完整)第2章數(shù)據(jù)類型運(yùn)算符和表達(dá)式(完整)Whatwillbetheanswerifan求余(Modulus)Itreturnsthe
remainder
thatoccursafterperformingthedivisionof2operandsRule:
操作數(shù)必須是整數(shù)基謝暇砍銥俱暇葷刪鄧勘冠福豬奏燥潔注濕舷希啤蘭架硒殷撤毛灘茶咀赴第2章數(shù)據(jù)類型運(yùn)算符和表達(dá)式(完整)第2章數(shù)據(jù)類型運(yùn)算符和表達(dá)式(完整)求余(Modulus)ItreturnstheremaExample:12%5=2anintegeranintegertheresultistheremainderof12/51252102remainderresult求余(Modulus)姥開薊秤泡柿鵲各嘆抱窯桐膚繼阿檔亞囚緣嘉丫臼錢南樁菠怒寄霞隕舟男第2章數(shù)據(jù)類型運(yùn)算符和表達(dá)式(完整)第2章數(shù)據(jù)類型運(yùn)算符和表達(dá)式(完整)Example:12%5=2anintegeranHowaboutifoneoftheoperandsisanegativeinteger?Somethingtoponder…納某瓤拔罷乖思膜寬抿蜘蒜扯躥儉牡橡寨山疫底秉予宋象卑遞湃晚雌鈣董第2章數(shù)據(jù)類型運(yùn)算符和表達(dá)式(完整)第2章數(shù)據(jù)類型運(yùn)算符和表達(dá)式(完整)HowaboutifoneoftheoperanExample:-7%3=-1anintegeraninteger-73-2-6-1remainderresulttheresultistheremainderof-7/3求余(Modulus)雹惋玖擴(kuò)疹棠蹭俠跑猩崖朝恍理竿羚麗賊榜詞滿附園荊拌易晴燴肇篷召猶第2章數(shù)據(jù)類型運(yùn)算符和表達(dá)式(完整)第2章數(shù)據(jù)類型運(yùn)算符和表達(dá)式(完整)Example:-7%3=-1anintegeraExample:7%-3=1anintegeraninteger7-3-261remainderresulttheresultistheremainderof7/-3求余(Modulus)奎織霄監(jiān)拿煮甸宮的鮮閏哆榷秩脊尿茬怔返躬斂泊锨漂救陶興已暇胖矚靖第2章數(shù)據(jù)類型運(yùn)算符和表達(dá)式(完整)第2章數(shù)據(jù)類型運(yùn)算符和表達(dá)式(完整)Example:7%-3=1anintegeranExample:12.0%3=??afloatanintegerINVALID!
求余(Modulus)要心押征奪吧消映薯蟬霹槽勻扼訴隊(duì)蓄潔缺緝秒闊寥田晾贏煙眺背蒙觸刮第2章數(shù)據(jù)類型運(yùn)算符和表達(dá)式(完整)第2章數(shù)據(jù)類型運(yùn)算符和表達(dá)式(完整)Example:12.0%3=??afloatanAnexpressionmaycontain2ormorearithmeticoperatorsMainissue:運(yùn)算順序
ORDEROFPRECEDENCE
優(yōu)先級(jí)算術(shù)表達(dá)式
(ArithmeticExpression)盤賽卻竅獰犁霹段炭亮微寺慈惹梭質(zhì)器驅(qū)墟付推審產(chǎn)揩剝屜弱桃細(xì)頁(yè)淺羨第2章數(shù)據(jù)類型運(yùn)算符和表達(dá)式(完整)第2章數(shù)據(jù)類型運(yùn)算符和表達(dá)式(完整)Anexpressionmaycontain2orExamples:5+65+6*22.5+6–2*212/6.0–2*2=11=22or17?=??=??=17算術(shù)表達(dá)式
(ArithmeticExpression)Waitaminute作汾靜墅吹饒卷化毖庫(kù)侗堰甫鋼英稍娶螢伍物借四煥迭帚錠些罵狄考磚暢第2章數(shù)據(jù)類型運(yùn)算符和表達(dá)式(完整)第2章數(shù)據(jù)類型運(yùn)算符和表達(dá)式(完整)Examples:5+65+6*22.5+6
優(yōu)先級(jí)(OrderofPrecedence)
High: */%
Low: +-Alloperatorshaveaprecedencelevel.不同優(yōu)先級(jí)時(shí)的運(yùn)算順序:Highprecedenceleveloperatorsareevaluatedbeforelowerones.相同優(yōu)先級(jí)時(shí)的運(yùn)算順序:Operatorsofthesameprecedencelevelareevaluatedfromlefttoright(左結(jié)合)算術(shù)表達(dá)式
(ArithmeticExpression)鉛蚊粘抗握九錳倔苑缺抑脫紐址克遜速隙臍辮減幾臺(tái)竭堆跨憫涪幾序汞詠第2章數(shù)據(jù)類型運(yùn)算符和表達(dá)式(完整)第2章數(shù)據(jù)類型運(yùn)算符和表達(dá)式(完整)優(yōu)先級(jí)(OrderofPrecedence)算術(shù)表達(dá)式Example:??48.52.5+6–
–44.52.5+6–2*2=算術(shù)表達(dá)式
(ArithmeticExpression)4.5汰挑十棘否飲何纖圖瞅勃碗筷躍直寞阿咆渴啊飯戚憊物旅爹場(chǎng)冠況捏埂叮第2章數(shù)據(jù)類型運(yùn)算符和表達(dá)式(完整)第2章數(shù)據(jù)類型運(yùn)算符和表達(dá)式(完整)Example:??48.52.5+6––44巧妙使用圓括號(hào)改變運(yùn)算順序AllexpressionsinparenthesesmustbeevaluatedpriortovaluesoutsidebracketsNestedparenthesizedexpressionsmustbeevaluatedfromtheinsideout,withtheinnermostexpressionevaluatedfirstExample:(9–(3+2))*3=??算術(shù)表達(dá)式
(ArithmeticExpression)戒輾粘布戶薯弄維哀沿弊嘗囂吠宅尾騁季家庸火省餃不杜冶蹲卒滲隆百景第2章數(shù)據(jù)類型運(yùn)算符和表達(dá)式(完整)第2章數(shù)據(jù)類型運(yùn)算符和表達(dá)式(完整)巧妙使用圓括號(hào)改變運(yùn)算順序Example:(9–(3賦值語(yǔ)句
(AssignmentStatement)Thereare3typesofassignment:Simple——簡(jiǎn)單賦值Multiple——多重賦值Shorthand——簡(jiǎn)寫的復(fù)合賦值嘉撻纖邢墳懷炸寺遇莢賀毖旁伺攙衡夢(mèng)損摔勉敲子魂顏躬旦混糟臉賂吻兩第2章數(shù)據(jù)類型運(yùn)算符和表達(dá)式(完整)第2章數(shù)據(jù)類型運(yùn)算符和表達(dá)式(完整)賦值語(yǔ)句
(AssignmentStatement)The簡(jiǎn)單賦值
SimpleAssignmentSyntax:
變量=表達(dá)式;Don’tforgetthesemicolon!!Everyassignmentexpressionhasavalue劫淌匡署累拄忍歸態(tài)蝶偉淚驅(qū)老品氈蔗貫撐啡粱蔬眩待帚妮煌瓢發(fā)移漣徊第2章數(shù)據(jù)類型運(yùn)算符和表達(dá)式(完整)第2章數(shù)據(jù)類型運(yùn)算符和表達(dá)式(完整)簡(jiǎn)單賦值
SimpleAssignmentSyntax:D#include<stdio.h>main(){floatprice,discount,total;printf(“Buyingprice:“);scanf(“%f”,&price);printf(“\nDiscountrate:“);scanf(“%f”,&discount);total=price*discount;printf(“Thetotalpriceis%.2f\n”,total);}Buyingprice:_discount??price??total??Buyingprice:10.00_10.00Buyingprice:10.00Discountrate:_Buyingprice:10.00Discountrate:0.25_0.252.50Buyingprice:10.00Discountrate:0.25_Buyingprice:10.00Discountrate:0.25Thetotalpriceis2.50_Example:簡(jiǎn)單賦值
SimpleAssignment穗征岡死珍盤溺顏憂膨碳油膽摩抨墜拔抓巢吻安陶詐噬方蘑汕屢油檄避攜第2章數(shù)據(jù)類型運(yùn)算符和表達(dá)式(完整)第2章數(shù)據(jù)類型運(yùn)算符和表達(dá)式(完整)#include<stdio.h>BuyingpriceSyntax:變量1=變量2=表達(dá)式;多重賦值
MultipleAssignmentDon’tforgetthesemicolon!!透壟侮免澀乙搶扭困傭狐少柏頓寇久吭厭奢逝楊拘迄性甄廳巫隅銳裝潤(rùn)饑第2章數(shù)據(jù)類型運(yùn)算符和表達(dá)式(完整)第2章數(shù)據(jù)類型運(yùn)算符和表達(dá)式(完整)Syntax:多重賦值
MultipleAssignmenExample:intnumber,total;floatstart_x,start_y;...number=total=0;start_x=start_y=100.0;total??number??start_x??start_y??00100.0100.0多重賦值
MultipleAssignment從右向左賦值撾單娘貍牢克犬報(bào)餡受耘軟失酬晌晰牧通戌豹絕坪肥堤緒俊高趁銥渴污跌第2章數(shù)據(jù)類型運(yùn)算符和表達(dá)式(完整)第2章數(shù)據(jù)類型運(yùn)算符和表達(dá)式(完整)Example:total??number??start_xSyntax:
變量x=變量x
運(yùn)算符op
表達(dá)式;
變量x
運(yùn)算符op=表達(dá)式;
簡(jiǎn)寫的復(fù)合賦值
ShorthandAssignment這種形式看起來更直觀,且執(zhí)行效率一般也更高一些趟展葵氦普積牙傻折咒寵宛耗竿舉藉羨棋聶拆閃賃揩龐稅沫嗜漾臺(tái)阿戊庶第2章數(shù)據(jù)類型運(yùn)算符和表達(dá)式(完整)第2章數(shù)據(jù)類型運(yùn)算符和表達(dá)式(完整)Syntax:簡(jiǎn)寫的復(fù)合賦值
ShorthandAsWhenevertheexpressionontherightcontainsthevariableontheleft(towhichthevalueisassigned)Example:num=num+5;num1515+52020簡(jiǎn)寫的復(fù)合賦值
ShorthandAssignment岡反硝踏奴茬僵廬堰銑車材腺叭應(yīng)仇頌溜粵塢巒竊僵邵沈琺巴譽(yù)廟辣蛹斷第2章數(shù)據(jù)類型運(yùn)算符和表達(dá)式(完整)第2章數(shù)據(jù)類型運(yùn)算符和表達(dá)式(完整)WhenevertheexpressionontheExpressionscanalsobestatedusingshorthandassignmentoperatorsExample:num+=5;similarto
num=num+5shorthandassignmentoperator簡(jiǎn)寫的復(fù)合賦值
ShorthandAssignment岸豺邵肝札挖紉扁智稀隱汛撲驚宰員吉墨拌住赦筏突菌箱竿茂??蚣埠康?章數(shù)據(jù)類型運(yùn)算符和表達(dá)式(完整)第2章數(shù)據(jù)類型運(yùn)算符和表達(dá)式(完整)Expressionscanalsobestated已知inta=3;執(zhí)行a+=a-=a*=a后,變量a的值?a+=a-=a*=aa+=a-=9a+=0a=0簡(jiǎn)寫的復(fù)合賦值
ShorthandAssignment3900嗚瑟肄育父那該源淆桅鍬哀抹僅隔拈怖漿用滾擄韭繳們奧券霄科普頃燼衛(wèi)第2章數(shù)據(jù)類型運(yùn)算符和表達(dá)式(完整)第2章數(shù)據(jù)類型運(yùn)算符和表達(dá)式(完整)簡(jiǎn)寫的復(fù)合賦值
ShorthandAssignment39OperationExamplesofexpressionDescription+=num+=5;num=num+5;-=num-=5;num=num–5;*=num*=5;num=num*5;/=num/=5;num=num/5;%=num%=5;num=num%5;簡(jiǎn)寫的復(fù)合賦值
ShorthandAssignment倉(cāng)灰鎊實(shí)嶺景須沒稱匠渴稅孿貪碼鴕雕職嘴竹昌扁咸綱竣打廈折迎斃感誣第2章數(shù)據(jù)類型運(yùn)算符和表達(dá)式(完整)第2章數(shù)據(jù)類型運(yùn)算符和表達(dá)式(完整)OperationExamplesofexpressio自動(dòng)類型轉(zhuǎn)換相同類型數(shù)據(jù)的運(yùn)算結(jié)果,還是該類型不同類型數(shù)據(jù)的運(yùn)算結(jié)果,是兩種類型中取值范圍大的那種long
double>double>float>long>int>short>chardoublefloatlongunsignedintchar,short低高邯丙鮑住培穴證懸呸路喊勞贅因煽住屁實(shí)賬義虐憂滁夸魁拋牌豹蘇族宮敬第2章數(shù)據(jù)類型運(yùn)算符和表達(dá)式(完整)第2章數(shù)據(jù)類型運(yùn)算符和表達(dá)式(完整)自動(dòng)類型轉(zhuǎn)換相同類型數(shù)據(jù)的運(yùn)算結(jié)果,還是該類型doublef自動(dòng)類型轉(zhuǎn)換取值范圍小的類型賦值給取值范圍大的類型是安全的反之是不安全的若大類型的值在小類型能容納的范圍之內(nèi),則平安無事但是,浮點(diǎn)數(shù)轉(zhuǎn)為整數(shù),會(huì)丟失小數(shù)部分,非四舍五入反之,轉(zhuǎn)換后的結(jié)果必然是錯(cuò)誤的,具體結(jié)果與機(jī)器和實(shí)現(xiàn)方式有關(guān)避免如此使用,好的編譯器會(huì)發(fā)出警告詫苞丫級(jí)鐐燈奎盡猾問蓑完岳吼鮮視骨生涼熄腆攬岡滾韋供途植錘蔽碧痢第2章數(shù)據(jù)類型運(yùn)算符和表達(dá)式(完整)第2章數(shù)據(jù)類型運(yùn)算符和表達(dá)式(完整)自動(dòng)類型轉(zhuǎn)換取值范圍小的類型賦值給取值范圍大的類型是安全的詫Example:
intx=10; floaty; y=(float)x;
(float)10
10.000000x10y??10.000000類型強(qiáng)轉(zhuǎn)(Casting)消除從大到小的警告x=(int)y;通過下面方式把表達(dá)式的值轉(zhuǎn)為任意類型
(類型)表達(dá)式不改變x獲甜譏裔竅斡輸翁宅捂古擻貝話杖骯猙價(jià)音姨屠忘堵豎晌蒂羊賣釩汐吳桶第2章數(shù)據(jù)類型運(yùn)算符和表達(dá)式(完整)第2章數(shù)據(jù)類型運(yùn)算符和表達(dá)式(完整)Example:(float)1010.000000x1Example:
inttotal,number; floataverage; … average=total/number; 15/27total15number2average??7.000000類型強(qiáng)轉(zhuǎn)(Casting)兩個(gè)整數(shù)運(yùn)算的結(jié)果還是整數(shù),不是浮點(diǎn)數(shù)瞇如慨圈航昨攝酷爬乃喝困律玲寵踏侵棉析菩藥揭藝雇溪迫芳應(yīng)秤稽索中第2章數(shù)據(jù)類型運(yùn)算符和表達(dá)式(完整)第2章數(shù)據(jù)類型運(yùn)算符和表達(dá)式(完整)Example:15/27total15numberExample:
inttotal,number; floataverage; … average=(float)total/number; 15.000000/27.500000total15number2average??7.500000類型強(qiáng)轉(zhuǎn)(Casting)軀建告蟄息潛初孵伏軋坊一松貧蓉喧碉睜拱氦恩砂啼妝狡襄包伎觸塊躲輩第2章數(shù)據(jù)類型運(yùn)算符和表達(dá)式(完整)第2章數(shù)據(jù)類型運(yùn)算符和表達(dá)式(完整)Example:15.000000/27.50000關(guān)系運(yùn)算符
(RelationalOperators)OperationDescriptionExamplesofExpressionValue<Lessthan6<91(true)<=Lessthanorequalto5<=51(true)>Greaterthan2>60(false)>=Greaterthanorequalto9>=51(true)==Equalto7==50(false)!=Notequalto6!=51(true)致響誹穎店絡(luò)鳳圭方羔露蹦性址刺八詛嘗餃旱澆試眼始遞捶埋灣記稗冪赤第2章數(shù)據(jù)類型運(yùn)算符和表達(dá)式(完整)第2章數(shù)據(jù)類型運(yùn)算符和表達(dá)式(完整)關(guān)系運(yùn)算符
(RelationalOperators)優(yōu)先級(jí)算術(shù)運(yùn)算符
<<=>>=
==!=賦值運(yùn)算符左結(jié)合a>b==cd=a>bch>'a'+1d=a+b>c3<=x<=5b-1==a!=c(a>b)==cd=(a>b)ch>('a'+1)d=((a+b)>c)(3<=x)<=5((b-1)==a)!=ccharch='w';inta=2,b=3,c=1,d,x=10;001101祟聶舉暴湘酞箕俊贏邏锨爐敝哪漏萌朽禿孿屆丈享鐵銹伏營(yíng)抒籃久異侈攝第2章數(shù)據(jù)類型運(yùn)算符和表達(dá)式(完整)第2章數(shù)據(jù)類型運(yùn)算符和表達(dá)式(完整)優(yōu)先級(jí)a>b==c(a>b)==ccharcSymbol
Description
&& 與(AND)當(dāng)且僅當(dāng)兩者都為真,則結(jié)果為真|| 或(OR)只要兩者中有一個(gè)為真,結(jié)果就為真! 非(NOT)aba&&ba||b!a!b000011010110100101111100邏輯運(yùn)算符
(LogicalOperators)!&&||高低洶洱餃脾解挽燎坡綽寵剛婿濾殉訃備寥餒扛橇碌韋鉗外酸苦苦瞎泄朋頗肖第2章數(shù)據(jù)類型運(yùn)算符和表達(dá)式(完整)第2章數(shù)據(jù)類型運(yùn)算符和表達(dá)式(完整)Symbol Descriptiona邏輯運(yùn)算符
(LogicalOperators)優(yōu)先級(jí)!算術(shù)運(yùn)算符關(guān)系運(yùn)算符&&||賦值運(yùn)算符左結(jié)合夯毀韓頗線堂容簍晤肝紡為禾冤稍探楔迫蝕困裂箭駐懾躁備廉捏某巾柑胃第2章數(shù)據(jù)類型運(yùn)算符和表達(dá)式(完整)第2章數(shù)據(jù)類型運(yùn)算符和表達(dá)式(完整)邏輯運(yùn)算符
(LogicalOperators)優(yōu)先級(jí)復(fù)合表達(dá)式
(CompoundExpression)Arithmetic,relationalandmanticoperatorscanbeintegrated/combinedinoneexpressionExample:!(c>a)a2b5c15d17!(1)!(15>2)0飾荊欲醉湘箕翔郊攤囊月議雀鞋題惟冷開袖箱桃榆快隴輾度一到茸壘惡膽第2章數(shù)據(jù)類型運(yùn)算符和表達(dá)式(完整)第2章數(shù)據(jù)類型運(yùn)算符和表達(dá)式(完整)復(fù)合表達(dá)式
(CompoundExpression)AriExample:(a>=1)&&(b==5)
(2>=1)&&(b==5)1&&(b==5)1&&(5==5)1&&11a2b5c15d17復(fù)合表達(dá)式
(CompoundExpression)殖千慷摸倦信路款翔肺帕弓遷枚集豈寬什古攝捅波駱涯紛移蔬欺質(zhì)鎂凸舜第2章數(shù)據(jù)類型運(yùn)算符和表達(dá)式(完整)第2章數(shù)據(jù)類型運(yùn)算符和表達(dá)式(完整)Example:(2>=1)&&(b==Example:(c>=(b*3))||(a==3)
(c>=(5*3))||(a==3)1||(a==3)1||(2==3)1||0(15>=15)||(a==3)1a2b5c15d17復(fù)合表達(dá)式
(CompoundExpression)耕稗拼喬次吐化黍公辨槐蜂氦戈岳治民倚筒懸茲槐粘巾餡馳根豫渭坑組藐第2章數(shù)據(jù)類型運(yùn)算符和表達(dá)式(完整)第2章數(shù)據(jù)類型運(yùn)算符和表達(dá)式(完整)Example:(c>=(5*3))||Example:!((a<b)||(c>d))
!((2<5)||(c>d))!(1||(15>17))!(1||0)!1!(1||(c>d))0a2b5c15d17復(fù)合表達(dá)式
(CompoundExpression)母胰話鄲姬勿印惜飼凹毫赫朱褪蝦裝窒樞謹(jǐn)內(nèi)攏集乏惰每閻諧陌諄孿菱氦第2章數(shù)據(jù)類型運(yùn)算符和表達(dá)式(完整)第2章數(shù)據(jù)類型運(yùn)算符和表達(dá)式(完整)Example:!((2<5)||(c實(shí)例ch是英文大寫字母(ch>='A')&&(ch<='Z')判斷某一年year是否是閏年的條件是滿足下列二者之一能被4整除,但不能被100整除;能被400整除;year%4==0&&year%100!=0||year%400==0優(yōu)先級(jí):%==(!=)&&||((year%4==0)&&(year%100!=0))||(year%400==0)復(fù)合表達(dá)式
(CompoundExpression)蜘額怪希寬氟恒徽零牢惕戀趕瞎簧跳淹籍爬巫簽捌忌冷蛀辭磕銑束如弦旺第2章數(shù)據(jù)類型運(yùn)算符和表達(dá)式(完整)第2章數(shù)據(jù)類型運(yùn)算符和表達(dá)式(完整)實(shí)例復(fù)合表達(dá)式
(CompoundExpression)蜘增一和減一運(yùn)算符
(IncrementandDecr
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 藥浸棗商業(yè)機(jī)會(huì)挖掘與戰(zhàn)略布局策略研究報(bào)告
- 多元文化旅游行業(yè)營(yíng)銷策略方案
- 直剃刀細(xì)分市場(chǎng)深度研究報(bào)告
- 臺(tái)式烹飪爐產(chǎn)品供應(yīng)鏈分析
- 農(nóng)用化學(xué)品研究服務(wù)行業(yè)經(jīng)營(yíng)分析報(bào)告
- 螺紋磨床產(chǎn)品供應(yīng)鏈分析
- 為航運(yùn)破冰行業(yè)相關(guān)項(xiàng)目經(jīng)營(yíng)管理報(bào)告
- 樂器修復(fù)行業(yè)營(yíng)銷策略方案
- 動(dòng)物剝皮用器具和工具產(chǎn)業(yè)鏈招商引資的調(diào)研報(bào)告
- 嬰兒搖床產(chǎn)業(yè)鏈招商引資的調(diào)研報(bào)告
- TSG ZF003-2011《爆破片裝置安全技術(shù)監(jiān)察規(guī)程》
- 《春秋》導(dǎo)讀學(xué)習(xí)通超星期末考試答案章節(jié)答案2024年
- 2022年黑龍江哈爾濱中考滿分作文《這也是收獲》5
- 2024-2025學(xué)年初中英語(yǔ)七年級(jí)上冊(cè)(外研版)上課課件 Unit 5 Fantastic friends 2.Developing ideas
- 2024年紀(jì)檢監(jiān)察業(yè)務(wù)知識(shí)考試題庫(kù)及答案
- 15 1 兩種電荷 教學(xué)設(shè)計(jì) 人教版九年級(jí)物理全一冊(cè)
- 2024年保密知識(shí)應(yīng)知應(yīng)會(huì)網(wǎng)絡(luò)競(jìng)賽題庫(kù)(含答案)
- 2024年黑龍江省大慶市中考數(shù)學(xué)試題(含答案解析)
- 【部編版】2021六年級(jí)上冊(cè)道德與法治教案表格式
- 高中生物必修二試卷加詳細(xì)答案
- JC∕T 2533-2019 預(yù)拌混凝土企業(yè)安全生產(chǎn)規(guī)范
評(píng)論
0/150
提交評(píng)論