C語言課件(第3章數(shù)據(jù)類型).ppt_第1頁
C語言課件(第3章數(shù)據(jù)類型).ppt_第2頁
C語言課件(第3章數(shù)據(jù)類型).ppt_第3頁
C語言課件(第3章數(shù)據(jù)類型).ppt_第4頁
C語言課件(第3章數(shù)據(jù)類型).ppt_第5頁
已閱讀5頁,還剩29頁未讀 繼續(xù)免費閱讀

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權,請進行舉報或認領

文檔簡介

1、第三章 數(shù)據(jù)類型,C程序設計,一個簡單的C程序例子, include main() int a,b,sum; a=123;b=456; sum=a+b; printf(“sum is %dn”,sum);,C程序常見符號分類,關鍵字(Keyword)P365 又稱為保留字,C語言中預先規(guī)定的具有固定含義的一些單詞,如整型int等 標識符(Identifier) 系統(tǒng)預定義標識符,main,printf 等 用戶自定義標識符,Add, x, y 等 運算符(Operator) 34種,詳見附錄C (P365,分隔符(Separator) 空格、回車/換行、逗號、#號等 其它符號 大花括號“”和“

2、”通常用于標識函數(shù)體或者一個語句塊 “/*”和“*/”是程序注釋所需的定界符 數(shù)據(jù)(Data) 變量(Variable):值可以改變的數(shù)據(jù) 常量(Constant):值一直保持不變的數(shù)據(jù),數(shù)據(jù)類型(Data Type,數(shù)據(jù)為什么要區(qū)分類型? 便于對它們按不同的方式和要求進行處理 不同類型的數(shù)據(jù)代表不同的 數(shù)據(jù)表示形式 合法的取值范圍 占用內(nèi)存空間大小 可參與的運算種類,C的數(shù)據(jù)類型,類型,構(gòu)造類型,指針類型,空類型(無值類型) void,基本數(shù)據(jù)類型,類型,符號,關鍵字,數(shù)的表示范圍,所占位數(shù),整型,字符型,實型,有,無,16,unsigned,065535,說明:數(shù)據(jù)類型所占字節(jié)數(shù)隨機器硬件

3、不同而不同,上表以IBM PC機為例,TC中int的范圍是-3276832767 如果我們給它一個小于-32768或者大于32767的數(shù)會如何呢? 結(jié)果:系統(tǒng)提示overflow(溢出,小蛇能吞下大象嗎,超出取值范圍會怎樣,一臺安裝了Windows 95/98的機器,如果連續(xù)運行49.7天沒有重新啟動,可能死機 原因: Windows啟動時,有一個計數(shù)器,記錄系統(tǒng)已經(jīng)運行了多少毫秒。這個計數(shù)器是個unsigned long 類型的變量 unsigned long 的最大值是:4294967295 一天有 24*60*60*1000 = 86400000毫秒 4294967295 / 86400

4、000 = 49.71026961805 當49.7天的時候,此計數(shù)器會溢出,引起死機,溢出(Overflow)造成的危害,如何選擇恰當?shù)臄?shù)據(jù)類型,預先估算運算結(jié)果的可能范圍,采用取值范圍更大的類型。 1+2+3+ 1!+2!+3!+ 13+23+33+ 如果不需要處理負數(shù),則采用無符號類型。 在運算還沒開始之前就判斷運算數(shù)是否在合理的取值范圍內(nèi)。如果超出,則停止運算,轉(zhuǎn)錯誤處理,定義:用來標識變量、常量等的字符序列 命名規(guī)則: (1) 只能由字母、數(shù)字、下劃線組成,且 第一個字符必須是字母或下劃線 (2) 不能使用關鍵字 (3) 長度最長32個字符 (4) 區(qū)分大小寫,例:判斷下列不合法標識

5、符號 sum Sum M.D.John day Date 3days student_name #33 lotus_1_2_3 char ab _above $123,標識符,M.D.John,3days,33,char,ab,123,常量(constant,定義:在程序運行過程中,其值不能被改變 的量稱為常量 分類:可分為數(shù)值常量和符號常量 類型:可為整型、實型、字符型等 命名:符合標識符命名規(guī)則,數(shù)值常量(常數(shù),整型 100,125,-100,0 實型 3.14 , 0.125,-3.789 字符型 a, b,2 轉(zhuǎn)義字符: 特殊字符如n (P48) 例 printf(“How are y

6、ou?); printf(“How are you?); 字符串 “a”, “ab”,”1232,符號常量(宏常量,一般采用全大寫字母表示 語法:#define 標識符 數(shù)值常量 不能在程序中再次賦值 是一種編譯預處理命令稱之為宏替換 優(yōu)點:比數(shù)值常量可讀性好、修改容易 例: 計算圓的周長,變量,定義:在程序運行中,其值可以改變的量 類型:可為整型、實型、字符型(見表) 命名:符合標識符命名規(guī)則 語法:數(shù)據(jù)類型 變量1,變量2,變量n; 例:int a; float a,b,c; 變量初始化:定義時賦初值 例:int a=2,b,c=4; float data=3.67; char ch=A;

7、 int x=1,y=1,z=1;int x=y=z=1; X,變量(續(xù),變量的存儲,int a=1, b=-3,c,變量(續(xù),變量的使用:先定義,后使用 例:int student; stadent=19; /為變量賦值 /Undefined symbol statent in function main 變量定義的位置:一般放在函數(shù)開頭 main() int a,b=2; a=1; float data=3; printf(“data=%fn”,data);,C運算符,的運算符有以下幾類: (1)算術運算符 (+ - * / %) (2)關系運算符 (?。?(3)邏輯運算符 (!|) (4

8、)位運算符 ( |) (5)賦值運算符 (及其擴展賦值運算符) (6)條件運算符 (?:) (7)逗號運算符 (,,算術運算符,(加法運算符,如:、) (減法運算符,如:、) * (乘法運算符。如:*) (除法運算符。如:) (模運算符,或稱求余運算符,兩 側(cè)均為整型數(shù)據(jù),如:值為,算術表達式,定義:用算術運算符和括號將操作數(shù)連接起來的、符合語法規(guī)則的式子,稱為算術表達式。操作數(shù)包括常量、變量、函數(shù)等。 例:*(.5)a 優(yōu)先級別:P365 附錄C 同一級別結(jié)合方向為“自左至右” 。 例:5+8%3*2,關系運算符,,=,=,!= 大于,大于等于,小于,小于等于,等于,不等于 關系運算符運算出

9、的結(jié)果為0和非0 0,表示假,即該關系不成立 非0,表示真,即該關系成立 絕大多數(shù)編譯器,關系運算得到的非0結(jié)果為1,邏輯運算符,邏輯運算也被稱為布爾(Boolean)運算 與運算 printf(m / 2=%dn, m/2); printf(float)(m/2) = %fn, (float)(m/2); printf(float)m/2 = %fn, (float)m/2);,m/2 = 2 (float)(m/2) = 2.000000 (float)m/2 = 2.50000,兩個整數(shù)運算的結(jié)果還 是整數(shù),不是浮點數(shù),賦值運算符號:“” 其作用是將一數(shù)據(jù)賦給一個變量。 例“” 可以將一個表達式的值賦給一個變量. a=a*2+3 可與+、-、*、/、%、 printf(“%d,%d,%d”,(a,b,c),b,c,”不是逗號表達式,是printf的3個參數(shù),)”是逗號表達式,它的值等于的值,優(yōu)先級,) - . ! + - + - * & * /

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
  • 4. 未經(jīng)權益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
  • 6. 下載文件中如有侵權或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論