版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領
文檔簡介
第二章§2.2常量、變量和標識符一、標識符
和其他高級語言一樣,用來標識常量名、變量名、函數(shù)名、數(shù)組名、類型名、文件名等對象的有效字符序列稱為標識符。簡單的說,標識符就是一個名字。1.標識符的命名規(guī)則(1)C語言規(guī)定標識符只能由字母(大小寫均可)、數(shù)字和下劃線3種字符組成。(2)第1個字符必須為字母或下劃線。2、組成:(1)只能由字母、數(shù)字、下劃線組成,且第一個字母必須是字母或下劃線。(2)大小寫敏感(3)不能使用關(guān)鍵字(4)長度:最長32個字符(5)命名原則:見名知意(name、time)不宜混淆如l與I,o與0標識符有什么組成?3.注意事項(1)標識符的命名是區(qū)分大小寫的,例如NAME、name及Name為3個不同的標識符。習慣上變量名用小寫字母表示,符號常量一般使用大寫英文字母。(2)C語言中的關(guān)鍵字是一類特殊的標識符,它們具有特定的含義,已被C語言本身使用,不能用作變量名、常量名、函數(shù)名等。(3)C語言中提供了大量的庫函數(shù)與頭文件,這些庫函數(shù)名和頭文件中定義的一些標識符都統(tǒng)稱為預定義標識符。用戶定義標識符時應注意避免和預定義標識符重名。(1)關(guān)鍵字
關(guān)鍵字在程序中代表著固定的含義,不能另作他用。如用來說明變量類型的標識符char、float以及for、if等都已有專門的用途,它們不能用作變量名或函數(shù)名。autobreakcasecharconstcontinuedefaultdodoubleelseenumexternfloatforgotoifintlongregisterreturnshortsignedsizeofstaticstructswitchtypedefunionunsignedvoidvolatilewhile注:C語言的關(guān)鍵字都是小寫的。4.標識符的分類(2)預定義標識符
預定義標識符在C語言中也有特定的含義,如庫函數(shù)的名字和預編譯處理命令等。C語言語法允許用戶把這類標識符另作他用,但是失去了在系統(tǒng)中規(guī)定的原意。為了避免誤解,建議用戶不要把這些預定義標識符另作它用。(3)用戶標識符
由用戶根據(jù)需要定義的標識符稱為用戶標識符。一般用來給變量、函數(shù)、數(shù)組或文件等命名。如果用戶標識符與關(guān)鍵字相同,程序會給出出錯信息;若與預定義標識符相同,則預定義標識符將失去原來的含義。
※重點提示:
標識符的命名規(guī)則:(1)C語言規(guī)定標識符只能由字母(大小寫均可,但區(qū)分大小寫)、數(shù)字和下劃線3種字符組成(2)第1個字符必須為字母或下劃線(3)已被C語言本身使用,不能用作變量名、常量名、函數(shù)名等。二、基本數(shù)據(jù)類型數(shù)據(jù)為什么有類型之分?
在程序中要處理大量的數(shù)據(jù),對于數(shù)據(jù)來說,它們有著某些相同的屬性,處理規(guī)律相同,存儲格式、取值范圍也相同。我們將具有相同屬性的數(shù)據(jù)稱為一類,即數(shù)據(jù)類型,符合計算機中數(shù)據(jù)的存儲方式。學習任何語言,首先要學習其數(shù)據(jù)類型.C語言有豐富的數(shù)據(jù)類型,可以表達復雜的數(shù)據(jù)結(jié)構(gòu)C語言的數(shù)據(jù)類型整型字符型浮點型(實型)單精度型雙精度型數(shù)組類型結(jié)構(gòu)類型共用體類型基本類型構(gòu)造類型空類型指針類型數(shù)據(jù)類型基本數(shù)據(jù)類型常量變量在計算機中存儲的數(shù)據(jù),按存儲的性質(zhì)分,可分為:1、常量類型十進制:以非0開始八進制:以”0“開始十六進制:以”0x“開始小數(shù)形式表示指數(shù)形式表示整型常量實型常量字符型常量常量類型1、常量定義在程序執(zhí)行過程中,其值始終不變的量,常量不占用存儲空間。分類整型常數(shù)、實型常數(shù)、字符常數(shù)。特殊常量符號常量用一個符號名來表示一個常量。符合標示符的命名規(guī)則。十進制數(shù):非0開頭。例如:12340-1234八進制數(shù):以0開頭。例如:0123401000-01234十六進制數(shù):以0x開頭。例如:0x120x0-0xc41-1整型常量定義是由數(shù)字串組成的數(shù)據(jù)。分類十進制常數(shù)、八進制常數(shù)和十六進制常數(shù)。
規(guī)定:實型常量只能用十進制形式表示,不能用八進制或十六進制表示。實數(shù)在C語言中又稱浮點數(shù),它有兩種表示形式:
1.十進制小數(shù)形式:由0~9數(shù)字和小數(shù)點組成(注意必須有小數(shù)點)如:.123,0.123,123.0,123.,0.02.指數(shù)形式:就是用dEn的形式表示自然表示法的實型常數(shù),其中:d為數(shù)值部分;n為指數(shù)部分,必須為整數(shù)。注意:1、e或E之前必須有數(shù)字,e后面必須有數(shù)字且指數(shù)必須為整數(shù)。e3,2.1e3.5,e
2、實數(shù)在用指數(shù)形式輸出時是按規(guī)范化的指數(shù)形式輸出。1-2實型常量字符常量是由一對引號括起的一個或多個字符。當一個字符時,使用單引號;當是字符串(一個或者為多個字符)時,采用雙引號。舉例:'a'"a""abc"'8'"123"1-3字符常量定義注明1.單引號和雙引號定義的字符常量的意義不同。2.單雙引號是英文的單雙引號,而不是中文意義下的單雙引號。3.單字符可看成整形數(shù)和字符型數(shù)輸出,也可對單字符數(shù)據(jù)進行算術(shù)運算。轉(zhuǎn)義字符定義:C語言中一些以\開頭的字符串具有特殊意義,具有控制功能,這些字符串稱為轉(zhuǎn)義字符,用單引號括起。常用的以′\′開頭的特殊字符如表2.3所示。字符形式功能\n換行\(zhòng)t橫向跳格(跳到下一個輸出區(qū))\v豎向跳格\b退格\r回車\f走紙換頁\\反斜杠字符\′單引號字符\″雙引號字符\a報警\0空值\ddd1到3位8進制數(shù)所代表的字符\xhh1到2位16進制數(shù)所代表的字符字符常量與字符串常量不同hello\0字符串“hello”在內(nèi)存中:aa\0‘a(chǎn)’“a”例空串“”:\0沒有字符串變量,用字符串用數(shù)組存放存儲:每個字符串尾自動加一個‘\0’作為字符串結(jié)束標志.例1:例2:例3:1-4字符串常量2、變量定義變量就是在程序執(zhí)行過程中,其值可以改變的量。變量用來臨時保存程序運行過程中的中間結(jié)果。
在程序中對變量的訪問(存入,讀取)都是通過變量名進行的。變量在內(nèi)存占據(jù)存儲空間,變量實質(zhì)上是代表內(nèi)存中的某個存儲單元。
abcde7c=7實質(zhì):把數(shù)據(jù)7存入c所代表的存儲單元中。2、變量注意:在C語言程序中,所有的變量必須加以說明,沒有任何隱含的變量。變量說明主要是指出變量的名稱,確定變量的數(shù)據(jù)類型。在C語言程序中,變量必須“先定義、后使用”。數(shù)據(jù)類型
變量1[,變量2,…,變量n];格式:例:inta,b,c;變量類型基本型:用“int”表示短整型:用“short”表示長整形:用“l(fā)ong”表示無符號型:用“unsigned”表示單精度型:用“float”表示雙精度型:用“double”表示整型變量實型變量字符型變量:用“char”表示變量類型基本數(shù)據(jù)類型的修飾符
修飾符含義signed帶符號修飾符unsigned無符號修飾符long長型修飾符short短型修飾符表12-1短整型定義格式定義舉例取值范圍shortint變量名表;shortinti,j,k;shortn;當n=5時:0000000000000101當n=-5時:11111111111110112字節(jié)(16位):-32768~32767shortinta=123; 補充2-2基本整型定義格式定義舉例取值范圍int變量名表;inti,j,k;
intn=5;//定義變量同時進行初始化當n=5時:當n=-5時:4字節(jié)(32位):-231~23110100000000000000000000000000000110111111111111111111111111111112-3長整型定義格式定義舉例取值范圍longint變量名表;longinti,j,k;longn;當n=5時:當n=-5時:-231~2311010000000000000000000000000000011011111111111111111111111111111longinti=1234567;
4字節(jié)(32位):2-4無符號整數(shù)定義格式定義舉例取值范圍unsignedint變量名表;unsignedinti,j,k;unsignedn;當n=5時:00000000000001012字節(jié)(16位):0~65535
大于等于零unsignedintn=-29;unsignedintn=1234;2-5實型數(shù)據(jù)實型數(shù)據(jù)(又稱:浮點型)實型數(shù)分類單精度:雙精度float:占4字節(jié),提供7位有效數(shù)字double:占8字節(jié),提供15~16位有效數(shù)字floata,b,c;doublex,y;
例floata;a=111111.111;/*a=111111.1*/doubleb;b=111111.111;/*b=111111.111*/2-6字符變量
定義格式定義舉例變量性質(zhì)char變量名;charc1,c2,c3;charc4;一個字符變量在內(nèi)存中占一個字節(jié)。字符變量只能存放一個字符。字符在內(nèi)存中以ASCII碼值的形式存儲,因此可以像整數(shù)一樣運算。注明不能把字符串常量賦給字符變量。
沒有字符串變量,用字符串用數(shù)組存放按作用域的不同,變量分為局部變量和全局變量。在函數(shù)內(nèi)部說明的變量稱為局部變量。局部變量僅由其被定義的模塊內(nèi)部的語句所訪問。全局變量又稱全程變量或外部變量。全局變量貫穿整個程序,并且可被任何一個模塊使用。變量的作用域§2.5算術(shù)表達式算術(shù)運算符關(guān)系運算符邏輯運算符單目運算符:一個運算對象雙目運算符:兩個運算對象按性質(zhì)分類按操作個數(shù)分運算符§2.5.1
算術(shù)運算符+加法運算符或正值運算符。-減法運算符或負值運算符。*乘法運算符。/除法運算符。%模除運算符,或稱為求余運算符。運算規(guī)則1.運算的優(yōu)先順序為先*、/、%,后+、-同等優(yōu)先級從左到右運算。優(yōu)先級別相同時,則按規(guī)定“自左至右”,即先左后右。舉例:1/21.0/2.02.5*8.02.兩個類型相同的操作數(shù),運算結(jié)果類型也相同?!愋推ヅ涞脑瓌t?。。】键c1運算規(guī)則3.兩個類型不同的操作數(shù),運算結(jié)果類型與其中類型較高的類型相同。舉例:1.0/21/2.02.5*84.求余運算(%)的運算結(jié)果其值為相除所得余數(shù),而符號與被除數(shù)的符號相同。注:運算對象都是整型。舉例:-13%5=-313%(-5)=3考點2算術(shù)表達式
定義用算術(shù)運算符將運算對象連接起來的式子。
其中:運算對象包括常量、變量、函數(shù)等。舉例a+bc+da+b/c+d(a+b)/(c+d)a+b2c(a+b)/2c(a+b)/2*c(a+b)/(2*c)1、C語言允許雙精度、單精度、整型及字符數(shù)據(jù)之間混合運算10+'a'+1.5–8765.1234'b'是允許的。但有一個規(guī)則:先轉(zhuǎn)換成同一類型,再計算。2、強制類型轉(zhuǎn)換表達式:
(類型名)(表達式)例:(double)(10%3)=1.0(int)(3.14)=3§2.5.3強制類型轉(zhuǎn)換doublefloat高低圖中“”表示必定轉(zhuǎn)換。如'a'+'b',先轉(zhuǎn)換為int。結(jié)果為int。轉(zhuǎn)換方法:longunsignedintchar,short§2.6賦值運算符其他語言的賦值語句≈C語言的賦值表達式算式格式變量名=表達式運算過程1.賦值。2.求表達式值。舉例a=10Y=1+3*sin(x)*cos(x)賦值運算符的優(yōu)先級別只高于逗號運算符比其他的運算符都低。賦值運算的說明1.“=”不是等于號,而是賦值運算符。2.賦值運算符左邊必須是變量,不能是表達式,并且賦值運算要由右向左進行。A+B=3;A=2+C=3;3.賦值運算符的右邊還可是一賦值表達式,稱為多重賦值表達式。4.賦值運算符右側(cè)表達式的值即為賦值表達式的值。5.
“=”是賦值運算符,不能寫成“==”??键c3賦值表達式語句表示在賦值表達式后,加分號;,稱為賦值語句。A=5我只是個表達式呀?。粒剑担晃乙呀?jīng)成為表達式語句了!定義:在賦值符“=”之前加上其他運算符,可以構(gòu)成復合的運算符。例如:x+=5 等價于x=x+5x*=y+8 等價于x=x*(y+8)x%=3 等價于x=x%3a*=b 等價于a=a*b§2.6.2復合賦值運算符復合賦值運算符C語言可使用的復合賦值運算符有10種。1、與算術(shù)運算符組合:+=-=、*=、/=、%=2、與移運算符組合:<<=、>>= 3、位邏輯運算符組合:&=、∧=、|=
復合賦值表達式格式:<變量名><復合賦值運算符><表達式>復合的賦值表達式復合賦值運算符表達式等價語句+=a+=3a=a+3;*=x*=y+8x=x*(y+8)%=x%=3x=x%3;復合賦值表達式例如:x+=a+y*3等價于x=x+(a+y*3)若a的初值為12,則a+=a-=a*a的求解過程為:(1)先進行a-=a*a的運算,它相當于a=a-a*a=12-144=-132(2)再進行a+=-132的運算,它相當于a=a+(-132)=-132-132=-264§2.7增1和減1運算符自增:使變量的值加1;
自減:使變量的值減1。
增1和減1運算符是單目運算符,且操作對象只能是變量,不能是常量或表達式。++i;/*在使用i之前使i加1*/--i;/*在使用i之前使i減1*/i++;/*在使用i之后使i加1*/i--;/*在使用i之后使i減1*/例:i=3;j=++i;/*先使i加1,再賦給j。執(zhí)行后j=4,i=4*/i=3;j=i++;/*先把i賦給j,再使i加1。執(zhí)行后:j=3,i=4*/注意:(1)++和--只能用于變量,不能用于常量和表達式。例:5++;(a+b)++;#defineONE1;ONE++;結(jié)合方向為“自右至左”
-i++負值運算符-和自增運算符優(yōu)先級相同(-i)++-(i++)例:一般形式:
表達式1,表達式2其計算規(guī)則:先計算表達式1,再計算表達式2,最后值為表達式
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
- 6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 暗盒生產(chǎn)工常識競賽考核試卷含答案
- 軋花工崗前崗位知識考核試卷含答案
- 地質(zhì)實驗員安全生產(chǎn)知識測試考核試卷含答案
- 桑樹栽培工安全操作水平考核試卷含答案
- 銀幕制造工創(chuàng)新意識考核試卷含答案
- 礦熱電爐熔煉工創(chuàng)新實踐評優(yōu)考核試卷含答案
- 客車給水員操作評估模擬考核試卷含答案
- 異丁烯裝置操作工操作規(guī)程知識考核試卷含答案
- 2026年人力資源管理師考試高頻考點速記手冊含答案
- 豆制品制作工班組協(xié)作水平考核試卷含答案
- 2025年山西大地環(huán)境投資控股有限公司社會招聘116人備考題庫及完整答案詳解一套
- 2025年植物標本采集合同協(xié)議
- 2025湖北武漢市蔡甸區(qū)總工會招聘工會協(xié)理員4人筆試試題附答案解析
- 2026年企業(yè)出口管制合規(guī)審查培訓課件與物項識別指南
- 膽管重復畸形健康宣教
- 2025秋人教精通版英語小學五年級上冊知識點及期末測試卷及答案
- 校園反恐防暴2025年培訓課件
- 2026年安徽城市管理職業(yè)學院單招職業(yè)技能測試模擬測試卷附答案
- 2025年秋季學期國家開放大學《人文英語4》期末機考精準復習題庫
- 高血壓的常用降壓藥及其分類
- 2025年低空經(jīng)濟產(chǎn)業(yè)安全管理人員技能要求報告
評論
0/150
提交評論