C程序設(shè)計經(jīng)典講座PPT_第1頁
C程序設(shè)計經(jīng)典講座PPT_第2頁
C程序設(shè)計經(jīng)典講座PPT_第3頁
C程序設(shè)計經(jīng)典講座PPT_第4頁
C程序設(shè)計經(jīng)典講座PPT_第5頁
已閱讀5頁,還剩53頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

C程序設(shè)計經(jīng)典講座PPTC程序設(shè)計經(jīng)典講座PPTC程序設(shè)計經(jīng)典講座PPT

第三章數(shù)據(jù)類型、運算符及表達式C的數(shù)據(jù)類型常量及變量整型數(shù)據(jù)實型數(shù)據(jù)字符型數(shù)據(jù)變量賦初值各類數(shù)值型數(shù)據(jù)間的混合運算算術(shù)運算符和算術(shù)表達式賦值運算符和賦值表達式逗號運算符和逗號表達式C程序設(shè)計第三章數(shù)據(jù)類型、運算符及表達式2021/4/1323.1C的數(shù)據(jù)類型變量要先說明,后使用。變量的定義包括數(shù)據(jù)類型存儲類型作用域C程序設(shè)計第三章數(shù)據(jù)類型、運算符及表達式返回主菜單2021/4/133其值不可以再分解為其它類型,利用這些數(shù)據(jù)類型還可以生成更復(fù)雜的數(shù)據(jù)結(jié)構(gòu),如表、棧、隊列等根據(jù)已定義的一個或多個數(shù)據(jù)類型用構(gòu)造的方法來定義其值用來表示某個量在內(nèi)存儲器中的地址其類型說明符為2021/4/1343.2常量及變量常量:其值不能被改變的量稱為常量,常量被分為不同的類型直接常量整型常量實型常量字符常量符號常量,用標(biāo)識符表示

#30C程序設(shè)計第三章數(shù)據(jù)類型、運算符及表達式12、0、-34.6、-1.23‘a(chǎn)’、‘b’例3.1返回主菜單2021/4/135標(biāo)識符:用來表示變量名、符號常量名、函數(shù)名、數(shù)組名、類型名、文件名的有效字符序列。字母、數(shù)字、下劃線。標(biāo)識符的長度有一定的限制。區(qū)分大小寫2021/4/136例3-1符號常量的使用#30#<>(){ ; 10; *; (“\n”);}符號常量名一般情況都用大寫形式表示,而變量名都用小寫形式表示2021/4/137變量:代表內(nèi)存中具有特定屬性的一個存儲單元,用來存放數(shù)據(jù)(不同于符號常量,可以任意賦值)a變量名(標(biāo)識符)3變量值存儲單元返回主菜單區(qū)分變量值及變量名用來存放一些初始值、計算的中間結(jié)果或最終結(jié)果。2021/4/138變量的作用變量的命名規(guī)則:知名見意變量的強制定義規(guī)則可以使程序中的變量使用不發(fā)生錯誤

在編譯時就可對該變量分配內(nèi)存確定了對這個變量所能進行的操作2021/4/1393.3整型數(shù)據(jù)整型常量的表示方法十進制整數(shù)八進制整數(shù)十六進制整數(shù)整型變量內(nèi)存中的存放形式整型變量的分類整型變量的定義整型數(shù)據(jù)的溢出C程序設(shè)計第三章數(shù)據(jù)類型、運算符及表達式例3.3例3.2返回主菜單2021/4/13100000000000001010例i=10例-1011111111111101102021/4/1311類型說明符數(shù)的范圍字節(jié)數(shù)基本型-32768~32767即-215~(215-1)2無符號基本型

0~65535即0~(216-1)2短整量

-32768~32767即-215~(215-1)2無符號短整型

0~65535即0~(216-1)2長整型

-2147483648~2147483647即-231~(231-1)4無符號長整型

0~4294967295即0~(232-1)4整型變量的分類2021/4/1312例3-2整型變量的定義及使用#<>(){ ; u; 122410; ; (“”);}22142021/4/1313例3-3整型數(shù)據(jù)的溢出#<>(){ ; 32767; 1; (“”);}32767327682021/4/13143.4實型數(shù)據(jù)實型常量的表示方法十進制數(shù)形式指數(shù)形式實型變量內(nèi)存中的存放形式實型變量的分類實型數(shù)據(jù)的舍入誤差C程序設(shè)計第三章數(shù)據(jù)類型、運算符及表達式實型常數(shù)不分單、雙精度,都按雙精度型處理0.0、25.0、5.7892.1E5、3.72例3.4返回主菜單2021/4/1315+.3141591數(shù)符小數(shù)部分指數(shù)實數(shù)3.14159在內(nèi)存中的存放形式:2021/4/1316類型說明符比特數(shù)(字節(jié)數(shù))有效數(shù)字數(shù)的范圍單精度32(4)6~710-37~1038雙精度64(8)15~1610-307~10308長雙精度

128(16)18~1910-4931~104932實型變量的分類2021/4/1317型的數(shù)據(jù)提供7位有效數(shù)字型的數(shù)據(jù)提供15~16位的有效數(shù)字2021/4/1318程序清單()

{

x;

7.1234567890;

("%20.18f");

}7.123456954956054690_2021/4/1319程序清單()

{

y;

7.123456789;

("%20.18f");

}7.123456789012345250_2021/4/1320程序清單()

{

x;

y;

123456.789; 123456.789;

("");

}123456.789062,123456.789000_/*只能將123456.7七位有效數(shù)字賦值給x*/

/*能將全部數(shù)位賦值給y*/2021/4/13213.5字符型數(shù)據(jù)字符常量字符變量字符數(shù)據(jù)在內(nèi)存中的存儲形式及使用方法字符串常量C程序設(shè)計第三章數(shù)據(jù)類型、運算符及表達式‘a(chǎn)’、‘b’轉(zhuǎn)義字符定義c12;返回主菜單2021/4/1322C語言中規(guī)定有另一類字符常量,它們以\開頭,被稱作轉(zhuǎn)義字符。我們前面已多次遇到的‘\n’這個符號,它表示換行符號。這些轉(zhuǎn)義字符只有幾個很常用,如'\n'、'\t'、'\''、'\\'。

2021/4/1323轉(zhuǎn)義字符及其含義轉(zhuǎn)義字符轉(zhuǎn)義字符的意義代碼 \n回車換行10 \t橫向跳到下一制表位置9 \b退格8 \r回車13 \f走紙換頁12 \\反斜線符"\"92 \'單引號符39\”雙引號符34 \a鳴鈴7 \1~3位八進制數(shù)所代表的字符 \1~2位十六進制數(shù)所代表的字符例3.5C語言中還規(guī)定有另一類字符常量,它們以\開頭,被稱作轉(zhuǎn)義字符。2021/4/1324例3.5轉(zhuǎn)義字符的使用#<>{ (“c\t\\\n”); (“h\\b\k\n”);}打印結(jié)果:

ch顯示結(jié)果:fhjk2021/4/1325存放字符的碼,而不是字符本身一個字符數(shù)據(jù)既可以以字符形式輸出,也可以以整數(shù)形式輸出字符數(shù)據(jù)和整型數(shù)據(jù)可以相互賦值例3.6例3.72021/4/1326字符數(shù)據(jù)在內(nèi)存中的存儲形式

碼‘x’120‘y’1210111100001111001‘x’‘y’2021/4/1327例3.6程序清單()

{

x12;

x1=972=98;

(","12);

}

輸出字符的使用格式2021/4/1328例3.7大小寫字母的轉(zhuǎn)換()

{

x12;

x1=‘a(chǎn)'2=‘b';

x11-32;

x22-32;

(""12);

}

允許字符數(shù)據(jù)及整數(shù)直接進行算術(shù)運算2021/4/1329i;c;‘a(chǎn)’;97;如果碼值為128--255,用%d輸出時則顯示負數(shù)2021/4/1330字符常量及字符串常量的比較形式字符數(shù)內(nèi)存空間字符常量‘’單個一個字節(jié)字符串常量“”一個或多個字符串中字節(jié)數(shù)加12021/4/1331"x"在在內(nèi)存中的表示為‘x’在在內(nèi)存中的表示為x\0xC語言中沒有專門的字符串變量\0為系統(tǒng)自動加上2021/4/1332一般形式:C程序設(shè)計第三章數(shù)據(jù)類型、運算符及表達式3.6變量賦初值類型說明符變量1=值1,變量2=值2,……;例如:3;可以定義變量的時候同時賦值

5;可以給一部分變量賦值

3.230.75;1='K'2='P';返回主菜單賦值符號變量賦初值就是在定義變量的同時,給變量賦一個值。2021/4/13333.7各類數(shù)值型數(shù)據(jù)間的混合運算自動轉(zhuǎn)換(由系統(tǒng)自動完成)強制類型轉(zhuǎn)換C程序設(shè)計第三章數(shù)據(jù)類型、運算符及表達式一般形式:(類型說明符)(表達式)

例如:(float)a把a轉(zhuǎn)換為實型

(int)(x+y)把x+y的結(jié)果轉(zhuǎn)換為整型

返回主菜單字符型數(shù)據(jù)在內(nèi)存中是按數(shù)值方式存放的。而整型數(shù)據(jù)和實型數(shù)據(jù)肯定也是按數(shù)值方式存放的。在這種前提下,這三種類型的數(shù)據(jù)實際上是可以進行混合運算的。2021/4/1334自動轉(zhuǎn)換規(guī)則intchar,shortdoublelongunsigned1)若參及運算量的類型不同,則先轉(zhuǎn)換成同一類型,然后進行運算2)轉(zhuǎn)換按數(shù)據(jù)長度增加的方向進行,以保證精度不降低3)所有的浮點運算都是以雙精度進行的4)型和型參與運算時,必須先轉(zhuǎn)換成型5)在賦值運算中,賦值號兩邊量的數(shù)據(jù)類型不同時,賦值號右邊量的類型將轉(zhuǎn)換為左邊量的類型。低高2021/4/13353.8算術(shù)運算符和算術(shù)表達式C運算符簡介算術(shù)運算符和算術(shù)表達式C程序設(shè)計第三章數(shù)據(jù)類型、運算符及表達式返回主菜單2021/4/1336C運算符的分類算術(shù)運算符+-*/%關(guān)系運算符><>=<=邏輯運算符!位運算符<<>>~|∧&賦值運算符=及其擴展賦值運算符條件運算符?:逗號運算符,指針運算符*&求字節(jié)數(shù)運算符強制類型轉(zhuǎn)換運算符(類型)分量運算符.->下標(biāo)運算符[]其他如函數(shù)調(diào)用運算符()2021/4/1337算術(shù)運算符和算術(shù)表達式C程序設(shè)計第三章數(shù)據(jù)類型、運算符及表達式算術(shù)表達式運算符的優(yōu)先級及結(jié)合性強制類型轉(zhuǎn)換運算符自增、自減運算符例3.82021/4/1338用算術(shù)運算符號和括號將運算對象(也稱操作數(shù))連接起來的、符合C語法規(guī)則的式子,稱為算術(shù)表達式。運算對象包括常量、變量、函數(shù)等。看下面的例子:

3+4.5**4/3

2021/4/1339例3.8強制類型轉(zhuǎn)換()

{

x;

y;

33.3;

()x;

("");

}33.300000,33在進行強制類型轉(zhuǎn)換時,要產(chǎn)生一個臨時數(shù)據(jù),這個臨時數(shù)據(jù)的類型是指定的類型,而原始數(shù)據(jù)的類型不會發(fā)生變化。2021/4/1340是自增運算符是自減運算符的具體含義是:先使k的值加1,然后再使用k的值。

的具體含義是:先使用k的值,然后再使k的值加1。多用于循環(huán)語句中2021/4/1341例子:

1;

; j的值被賦成2 1; ;

j的值被賦成1

2021/4/1342注意:1、自增運算符()和自減運算符()都只能用于變量,而不能用于常量或表達式。因為常量的值是不允許改變的,而表達式的值實際上也是一個常量。

2、、和負號運算符(-)的優(yōu)先級別是一樣的,但比算術(shù)運算符的優(yōu)先級別高。3、、的結(jié)合方向是“自右向左”的。如:2021/4/1343運算符的優(yōu)先級及結(jié)合性優(yōu)先級運算符含義要求運算對象的個數(shù)結(jié)合方向

自增運算符1(單目運算符)自右至左2

--自減運算符

(類型)類型轉(zhuǎn)換運算符3*乘法運算符2(雙目運算符)自左至右/除法運算符%求余運算符4+加法運算符2(雙目運算符)自左至右-減法運算符2021/4/13443.9賦值運算符和賦值表達式賦值運算符類型轉(zhuǎn)換復(fù)合的賦值運算符賦值表達式C程序設(shè)計第三章數(shù)據(jù)類型、運算符及表達式變量=表達式

、a=8返回主菜單例3.92021/4/1345類型轉(zhuǎn)換規(guī)則:1)實型賦予整型,舍去小數(shù)部分。2)整型賦予實型,數(shù)值不變,但將以浮點形式存放,即增加小數(shù)部分(小數(shù)部分的值為0)。3)型及型4)字符型賦予整型,由于字符型為一個字節(jié),而整型為二個字節(jié),故將字符的碼值放到整型量的低八位中。有兩種情況:系統(tǒng)將字符處理為無符號字符類型系統(tǒng)(如)將字符處理為帶符號的2021/4/1346總結(jié):按存儲單元的存儲形式直接傳送。5)將一個,,型數(shù)據(jù)賦給一個型變量時,只將低8位原封不動地送到型變量,即截斷。0010000100000001‘!’001000012892021/4/13471111111000000000‘\376’11111110i:2021/4/13481111111011111111‘\376’11111110i:符號擴展:保持數(shù)值不變2021/4/1349復(fù)合的賦值運算符變量雙目運算符=表達式55x*7*(7)

,*,<<=,>>,∧2021/4/1350賦值表達式<變量><賦值運算符><表達式>“表達式”又可以是一個賦值表達式例如:55和(“”);2021/4/1351

我們再來看幾個例子:5 /*整個表達式的值為5,的值也為5*/

5+(6) /*整個表達式的值為11,a的值為11,c的值為6*/

(4)+(3) /*整個表達式的值為7,x的值為7y的值為4z的值為3*/

(4)/(3) /*整個表達式的值為整數(shù)1(這可是除號的用法),y的值為4z的值為3*/2021/4/13526

*31、3這個式子相當(dāng)于3,最后得到這個式子的值為2,當(dāng)前x的值也為2。

2、x*=2這個式子相當(dāng)于*2,最后得到這個式子的值為4,當(dāng)前x的值也為4。

3、4這個式子相當(dāng)于4,最后得到這個式子的值為8,當(dāng)前x的值也為8

溫馨提示

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

評論

0/150

提交評論