




版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領
文檔簡介
1、l標識符:標識符:w標識符是用戶自己命名的、符合語法規范的對象名稱。變量名、自定義函數名等等。w語法規范:標識符可由字母、數字和下劃線三種字符組成,且第一個字符必須為字母或下劃線。 合法的標識符:sum,x1,f_name,_time等。 不合法的標識符:2a,x/y,ab等。第二章 C語言的基本數據類型及運算w使用標識符應注意:使用標識符應注意:C語言中區分大小寫字母,所以Sum、SUM、sum是不同的標識符。標識符的長度通常默認前面8個字符。例如:student_db與student_data為相同標識符。標識符不能和C語言中的關鍵字相同,也不能和已定義的函數名或庫函數名相同。1)C語言中
2、所有的關鍵字(p220附錄2)標準庫函數(P222附錄4)不是標識符,且必須使用小寫字母。l為了實現程序的功能,通常要對各種數據進行處理,以獲得結果。程序處理的數據從使用的角度分為: 常量 變量l常量:在程序運行過程中,其值保持不變的量。整型常量:C語言中有三種常用整型常量。w十進制整數:156,0,-123等。w八進制整數:以0開頭,如 011,023等。w十六進制整數:以0 x開頭,如0 x11,0 x23等。實型常量(浮點數):有兩種表示方法w小數形式:0.123 12.3 .123 123.等。w指數形式:men(mEn) (m為非0實數,n為整數):表示 m*10n 。 如:123e
3、+2表示123*102 123E-2表示123*10-2注意:(1)e前后必須有數字:e4,2e(錯誤)(2)e后面必須是整數:2e3.5 (錯誤)字符常量w用單引號括起來的單個字符,如a,b等。注意:單引號是字符常量的標志,而不屬于字符常量本身。例如:a與a ,1與1w轉義字符(P17):以開頭的,使后面的字符失去了原來的意義。例如n注意: 與后面的字母或數字構成的是一個一個具有特殊意義的字符。例如b例2.1 轉義字符的功能。 main() printf(abE_tbcdn); printf(efg_); 顯示屏: 80列*40行TAB區1:8列TAB區2:8列abEc defg字符串常量用
4、雙引號括起來的一個或多個字符序列稱為字符串常量。例如: a,CHINA,$123.45,How are you?n可以輸出一個字符串,例如: printf(How do you do.n.n););字符常量與字符串常量的區別:C語言在內存中存儲字符常量時,只存儲字符本身,因此存儲長度為1。存儲字符串時,除了存儲字符本身,還要存儲一個C語言中規定的字符串結束標志0,因此字符串的儲存長度為(字符個數1 )。例如:a的存儲長度為2, how are you.n的存儲長度為14符號常量w符號常量是用符號表示的一個常量。通常用大寫字母表示,必須先用#define加以定義。w作為常量的符號必須符合C語言的
5、標識符規范。w舉例符號常量的使用:#define PRICE 15 /*定義符號PRICE,代表整常量15*/main() int number=10,count; count=number*PRICE; printf(count=%d,count);使用符號常量的好處:main()float area,circle,vol,r; r=1.0; area=3.14 *r*r; circle=2* 3.14 *r; vol= 3.14 *; 若要將3.14改為3.1415926,則該程序需要處處修改。define PI 3.14main()float area,circle,vol,r; r=1
6、.0; area=PI *r*r; circle=2* PI *r; vol= PI *; 好處:1、含義清楚,增加了程序的可讀性。2、方便程序的修改。3.1415926l在C語言程序中用到最多的是:變量。變量:在程序運行過程中,其值可以改變的量。使用變量的原則:先定義:說明變量的類型。再使用:使用該變量進行各種運算。所有數據在內存中以二進制形式存儲變量的類型:整型變量:(1)有符號:二進制的最高位為符號位。(2)無符號:二進制的最高位為數值位。要求掌握:(1)不同整型類型名稱對應的關鍵字(2)系統為該類型分配的字節數(3)該類型數據的取值范圍(int、unsigned)整型常量類型的確定根據
7、常量的范圍:15 32769在常量后面加上字母u(U)或l(L)15L:long型常量32769U:無符號整型常量實型:(1)單精度:float(2)雙精度:double要求掌握:(1)每種類型的類型名稱關鍵字(2)系統為該類型分配的字節數(3)該類型數據的取值范圍(4)有效位:能夠準確表達的數字的位數。有效位舉例:(double有效位16位,float有效位7位) double a; float b; a=123456789.1234; b=123456789.1234; printf(a=%f b=%f,a,b);運行結果:a=123456789.123400 b=123456792.00
8、0000字符型:在內存中只需要一個字節:(1)有符號:char(2)無符號:unsigned char注意:字符在內存中存放的是該字符對應的ASCII碼。因此,字符和整型間可以相互賦值。例如: char c; c=65; printf(%d %c,c,c); 輸出: 65 A字符串常量不能賦值給字符變量:例如: char ch; ch=a; ch=a; 因為字符變量只分配一個字節,而一個非空字符串至少需要兩個字節的空間。例2.3 整型數據與字符型互換輸出。 main() char c1,c2; c1=98; c2=99; printf(%c,%cn,c1,c2); printf(%d,%dn,
9、c1,c2); 運行結果如下運行結果如下:b,c98,99例2.4 將大寫字母轉換成小寫字母。 main() char c1,c2; c1=A; c2=B ; c1=c1+32; c2=c2+32; printf(%c %cn,c1,c2); printf(%d %d,c1,c2);字符變量可以進行算術運算。運行結果如下:運行結果如下:a b97 98l變量的定義及賦值C規定,所有的變量必須先定義,后使用。定義方式: 類型名稱 變量1,變量2,;用戶自定義變量的名稱,必須符合C標識符的規定C語言規定的關鍵字:int、char、float為什么變量必須先定義后使用?定義變量:(1)聲明該變量的類
10、型(2)C系統根據其類型在內存某起始位置開始申請連續sizeof(類型名)個字節分配給該變量。(3)在系統中建立變量名與分配空間起始地址之間的映射關系。使用變量:(1)根據變量名與起始地址之間的映射關系找到該變量在內存中的起始地址。(2)根據該變量的類型,從起始地址開始連續sizeof(類型名)個字節均屬于該變量,可以向該段內存單元寫或讀數據。小結:內存構成:內存由若干存儲單元構成,32位機的一個存儲單元為32字節,每個字節相當于一個小房間,大小為一個字節,每個房間都有一個編號(內存地址)。變量定義:是系統根據程序中聲明變量的類型,在內存中從某起始地址開始分配n個連續的字節,并記錄下變量名、類
11、型及其在內存的起始地址。使用變量:根據變量名找到該變量在內存占用的空間,對該變量的訪問(讀數、存數)就是對這段連續內存空間的訪問。使用沒有定義變量:例如:main() int A;a=3;printf(“%d”,a);則編譯時會出現下面的錯誤提示: Errors:Undefined symbol a in function main.變量的賦值(變量的使用):將數據送到變量對應的內存單元中。(1)賦值的方式:A、定義變量同時給變量賦值:例如:int a=3,b=4,c;給所有變量賦相同的值:正確方式: int a=3,b=3,c=3;錯誤方式: int a=b=c=3;B、通過賦值語句實現:例
12、如: int a; a=3;/*賦值語句*/C、通過C語言提供的輸入函數:例如: int a; scanf(“%d”,&a);給變量賦值時需要注意的問題(1)注意被賦值變量的取值范圍:例如:short a,b; long c; a=32768; b=32767; c=b+1; printf(“%d,%ld”,a,c);輸出結果: 32768,32768原因:32768超過了int型的范圍,因而沒有出現預期的結果。但C對此類錯誤不做檢測,因而要求編程者細心。(2)任何變量必須先賦值,然后才能進行運算。例如:main() int a,b; b=a+1;printf(“%d”,b);編譯時會出現下面的警告錯誤:Warning: Possible use of a before definition in function main.若忽略,程序能夠執行,但會得到
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經權益所有人同意不得將文件中的內容挪作商業或盈利用途。
- 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
- 6. 下載文件中如有侵權或不適當內容,請與我們聯系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 南昌航空大學《旋律寫作基礎(1)》2023-2024學年第二學期期末試卷
- 上海市華二附中2025年高三年級下學期十月份月考英語試題含解析
- 上海海洋大學《普通動物學》2023-2024學年第二學期期末試卷
- 江蘇省南通如皋市2025屆高三二模(4月)英語試題含解析
- 濮陽石油化工職業技術學院《生物醫用材料概論》2023-2024學年第二學期期末試卷
- 麗水學院《ACCASBR戰略商務報告》2023-2024學年第二學期期末試卷
- 共享員工協議書合同書協議書
- 二零二五集體林地承包租賃合同
- 抵押借款合同范例范例
- 二零二五版餐飲出租簡單合同范例
- 配網線路倒閘操作培訓
- 2024年全國數控車工高級技師技能考試題庫(含答案)
- 女性學:女性精神在現代社會中的挑戰學習通超星期末考試答案章節答案2024年
- 《PBR次世代游戲建模技術》(微課版)課件 邱雅慧 3 高模制作、4 UV展開
- 中醫經絡完整課件
- 基本養老金核定表(樣式)
- 2024工業機器人考試題庫(含答案)
- 2024年第九屆全國大學生人力資源管理綜合能力競賽選拔賽考試題庫(含答案)
- 小學奧數等差數列經典練習題
- 2024年江蘇省常州市中考一模英語試卷(含答案解析)
- 智能輸液架的設計與實現
評論
0/150
提交評論