《C語言程序設(shè)計(jì)》PPT課件43223學(xué)習(xí)資料.ppt_第1頁
《C語言程序設(shè)計(jì)》PPT課件43223學(xué)習(xí)資料.ppt_第2頁
《C語言程序設(shè)計(jì)》PPT課件43223學(xué)習(xí)資料.ppt_第3頁
《C語言程序設(shè)計(jì)》PPT課件43223學(xué)習(xí)資料.ppt_第4頁
《C語言程序設(shè)計(jì)》PPT課件43223學(xué)習(xí)資料.ppt_第5頁
免費(fèi)預(yù)覽已結(jié)束,剩余69頁可下載查看

下載本文檔

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

文檔簡介

1、語言編程、數(shù)據(jù)類型、運(yùn)算符和表達(dá)式、1、c語言的數(shù)據(jù)類型、2、c語言的變量和常數(shù)、2.1常數(shù)和符號(hào)常數(shù)、1、常數(shù):程序運(yùn)行中不能更改其值的量。 每種數(shù)據(jù)類型都有常數(shù)和變量。 整數(shù)常數(shù)、浮點(diǎn)常數(shù)等。 例如,如從上可以看到的,12、-4、-67或3.14 5.6或a,d是不同類型的. 2,其中常數(shù)可以分為兩種直接常數(shù)和符號(hào)常數(shù)。 如果直接使用數(shù)值的常量(如a=b*10 )用標(biāo)志表示,則直接常量稱為符號(hào)常量.2.1常量和符號(hào)常量,其中1、常量:是程序運(yùn)行中不能改變其值的量。 每種數(shù)據(jù)類型都有常數(shù)和變量。 整數(shù)常數(shù)、浮點(diǎn)常數(shù)等。 例如,如從上可以看到的,12、-4、-67或3.14 5.6或a,d是不

2、同類型的. 2,其中常數(shù)可以分為兩種直接常數(shù)和符號(hào)常數(shù)。 如果直接常數(shù)是直接使用數(shù)字的常數(shù)(例如a=b*10 )用標(biāo)志表示,則直接常數(shù)稱為符號(hào)常數(shù).上例中的PRICE稱為符號(hào)常數(shù)。程序中顯示的PRICE都表示30。 價(jià)格=價(jià)格5; /*是否正確*/符號(hào)常數(shù)名稱為大寫,變量為小寫。 例如:#defineprice30main()intnum、total; 數(shù)字=10; 總價(jià)格=num *價(jià)格; 打印(總數(shù)=% d,總數(shù));3、符號(hào)常數(shù)的宣言和使用一般放在程序的開頭,#include和: #define符號(hào)常數(shù)值: #define Zero 0優(yōu)點(diǎn):含義明確(#define Second 60 )

3、的變更(#define Second 60 )變量中含有變量名注:變量名和變量值的差異要求在c語言中強(qiáng)制定義要使用的所有變量。 也就是說,“先定義,后使用”。 1、因?yàn)榫幾g器不能翻譯未定義的變量。 2、編譯器在編譯時(shí)根據(jù)變量類型確定存儲(chǔ)單元的數(shù)量并分配空間3、編譯器在編譯時(shí)根據(jù)變量類型進(jìn)行語法檢查。 舉例來說,整數(shù)變量a和b可執(zhí)行“確定合法預(yù)算”操作a % b。 如果將a、b定義為實(shí)數(shù),則上述運(yùn)算不正確。 main() int i,studentNo; i=5; studentno=5; /*哪里出錯(cuò)了*/j=3; /*錯(cuò)誤在哪里? 一個(gè)變量說明文由數(shù)據(jù)類型和一個(gè)或多個(gè)隨后的變量名組成。 變量

4、說明的形式是:型,其中類型是turbo c2. 0的有效數(shù)據(jù)類型。 變量表是一個(gè)或多個(gè)標(biāo)識(shí)符名稱,每個(gè)標(biāo)識(shí)符由分隔。 例如3360英寸、j、k; 卡爾c、斯特里5、*p; 中的組合圖層性質(zhì)變更選項(xiàng)。 標(biāo)識(shí)符是常量、變量、語句標(biāo)簽和用戶定義函數(shù)的名稱。 turbo c2. 0標(biāo)識(shí)符的定義非常靈活。 作為標(biāo)識(shí)符,必須滿足以下規(guī)則: 1 : 所有標(biāo)識(shí)符必須以一個(gè)字符(az,az )或下劃線(_ )開頭2 .標(biāo)識(shí)符的其他部分可以由字符、下劃線或數(shù)字(09 )組成3 .大小寫表示不同的意思,即表示不同的標(biāo)識(shí)符4 .標(biāo)識(shí)符只有前32個(gè)字符有效(turbo c ) 5 2.3標(biāo)識(shí)符,在下面: 正確的標(biāo)識(shí)符和

5、錯(cuò)誤的標(biāo)識(shí)符列舉出一些正確的事情- - 以十六進(jìn)制數(shù):0X或0x開頭的數(shù),例如,0X0D,0XFF,0 x4e,3.1 .整數(shù)常數(shù)i=11; 打印機(jī)(I=% dn,I ); i=011; 打印機(jī)(I=% dn,I ); i=0 x11; 打印機(jī)(I=% dn,I ); i=0X11; 打印機(jī)(I=% dn,I ); 程序的輸出結(jié)果是多少? 注:如果在整數(shù)常量后面添加l或l字符,則可以指示該數(shù)量為長整數(shù)(例如22L,0773L,0Xae4l )。此外,所有整數(shù)的默認(rèn)類型都是int,如果在整數(shù)常數(shù)后面添加l或l字符,則表示該數(shù)量是長整數(shù)(例如,22L,0773L,0Xae4l )。 如果加上u或u

6、字符,則數(shù)字為無符號(hào)整數(shù)(例如27u,0400u,0 xb8000000u )。 如果添加ul或ul字符,則表示該數(shù)字是無符號(hào)的長整數(shù)(例如27ul,0400UL,0 xb8000000UL )。 整數(shù)值超出int類型可以表示的范圍時(shí)稱為整數(shù)溢出。1整數(shù)變量分類:加上不同的修飾符后,整數(shù)變量有以下類型: c語言標(biāo)準(zhǔn)沒有規(guī)定計(jì)算機(jī)內(nèi)存中整數(shù)變量的字節(jié)數(shù),與特定的機(jī)器和操作系統(tǒng)相關(guān):3.2、整數(shù)變量、2 .整數(shù)變量的/*a,b被定義為有符號(hào)的短變量* /無符號(hào)長整型c。 /*c是無符號(hào)長整數(shù)變量* /無符號(hào)短短c,d; /*指定變量c、d為無符號(hào)short*/longe,f; /*指定變量e、f在

7、long*/程序中在函數(shù)的開頭部分定義變量。 主()、主a、b、c、d; /*指定變量a、b、c、d為整數(shù)型*/unsigned u; /*指定變量u為無符號(hào)整數(shù)型*/a=12; b=-24; u=10; c=a u; d=b u; 打印機(jī)(b u=%dn、b u=%dn、c、d ); 程序運(yùn)行顯示: a u=22,bu=-14,3 .整數(shù)變量的溢出,main() int i,j; 無符號(hào)k、l、m; i=32767; j=i 1; l=65535u; m=l 2; 打印機(jī)(j=% dn,j ); 打印(l=% un,l ); 打印機(jī)(m=% un,m ); 這樣的問題體現(xiàn)了c語言的靈活性帶來

8、的副作用。 這樣的錯(cuò)誤系統(tǒng)不提示,由程序員自己進(jìn)行控制。四、實(shí)數(shù)據(jù)、實(shí)數(shù)(real )也稱為浮點(diǎn)數(shù)(float ),普通(十進(jìn)制)方式:0.123、 123、123.0、123 .這兩種表現(xiàn)方式如下面例子所示,1.23e5錯(cuò)誤:0.123e6、4.1實(shí)型常數(shù)、4.2實(shí)型將/*x、y指定為單精度實(shí)型變量*/double z。 /*倍精度實(shí)數(shù)變量*/如果指定z作為實(shí)數(shù)常數(shù),則float和double不區(qū)分。 問題:如何用圖標(biāo)表示這些變量的內(nèi)存區(qū)域,4.3實(shí)變量的誤差和精度,main() float a,b; a=123456.789e5; b=a 20; 打印機(jī)(“% fn”,a ); 打印機(jī)(“

9、% fn”、b ); 注意輸出結(jié)果,main() float a; 雙精靈b; a=111111.111; b=111111.111; 打印機(jī)(“% fn”,a ); 打印機(jī)(“% fn”、b ); 注意輸出結(jié)果、五、字符類型數(shù)據(jù)和單引號(hào)括起來的單個(gè)字符。 例如: a、x、d、$。 請(qǐng)注意,a和a是不同的字符常量。 因?yàn)閏語言區(qū)分大小寫。以“”開頭的字符序列。 叫做轉(zhuǎn)義序列。 “”將其后的文字換成其他意思。 請(qǐng)看下表。5.1字符常數(shù)、轉(zhuǎn)義序列主要用于控制打印機(jī)和屏幕輸出。 示例:打印機(jī)(正在打印% dnn,正在打印); 打印機(jī)(測試); 錯(cuò)誤* /打印機(jī)(測試); 輸出: this is a“

10、測試”* /,char c1,c2; /*定義c1、c2是字符變量*/c1=a; c2=b; 字符變量在內(nèi)存中占用一個(gè)字節(jié)。 問題:如何用圖標(biāo)表示這些變量的內(nèi)存區(qū)域?5.2字符變量,字符以ASCII代碼存儲(chǔ)在內(nèi)存中。 5.3字符數(shù)據(jù)在存儲(chǔ)器中的存儲(chǔ)格式及其使用方法,main() char c1,c2; c1=A; c2=B; 打印機(jī)(% c % c、c1 32、c2 32 ); 在此示例中的輸出包括: c1=a; c2=b; c1=c1 - 32; c2=c2 - 32; 打印機(jī)(% c % c、c1、c2); c語言允許字符和整數(shù)之間的運(yùn)算。 字符常數(shù):用單引號(hào)括起來的字符。 字符串常量:用

11、雙引號(hào)括起來的字符串(0N個(gè)字符)。 例如,How do you do .CHINA,a,$123.45字符串常量存儲(chǔ)在內(nèi)存中。 每個(gè)字符都以ASCII代碼存儲(chǔ),最后添加“空字符”(NULL或0 )。字符0在內(nèi)存中有0 x30或00100000 )。、5.4字符串常數(shù),例如在存儲(chǔ)器中存儲(chǔ)有字符串常數(shù)“CHINA”的情況下: (6字節(jié)存儲(chǔ)空間,不是5字節(jié)),因此字符a和字符串a(chǎn)的不同在于,字符a :1字節(jié)(值97 )、字符串a(chǎn):2字節(jié)(值97 )即c1=a; c2=b; 打印機(jī)(c2=%c n、c2=%c n、c1、c2); 打印機(jī)(c2=%d n,c2=%d n,c1,c2); /*問題:結(jié)果

12、如何*/,6,為變量分配初始值嗎? 為什么給變量分配初始值(教室不打掃)因?yàn)榉峙涞膬?nèi)存區(qū)域可能有臟數(shù)據(jù)。 如果不指定初始值,則缺省初始值為此臟數(shù)據(jù)。 (舉例說明)1.一邊定義一邊給變量賦予初始值: int a=3 float b=3.1415; 卡爾c=x; 2 .定義變量時(shí),可以對(duì)其中的一些變量分配初始值。 例如: int a=3、b、c、d=8; 3 .在將一個(gè)值分配給不同的變量的情況下,分別進(jìn)行。 不應(yīng)該寫的話: int a=b=c=3; 應(yīng)該寫成int a=3、b=3、c=3。 4 .初始化在程序執(zhí)行時(shí)執(zhí)行本函數(shù)時(shí)給出初始值。 也就是說,編譯時(shí)不會(huì)分配初始值。 例如: int a=3;

13、 相當(dāng)于: int a; a=3; 英寸、英寸、c=5; 相當(dāng)于: int a、b、c; c=5; 七、各種數(shù)值型數(shù)據(jù)間的混合運(yùn)算,在c語言中,可進(jìn)行整數(shù)、實(shí)、字符型數(shù)據(jù)間的混合運(yùn)算,例如10 a 1.5 - 8765.1234 * b 1,在不同種類的數(shù)據(jù)間進(jìn)行運(yùn)算的情況下,在變換為同一種類的過程中,低的種類接近高的種類, 例如: char數(shù)據(jù)在運(yùn)算前必須轉(zhuǎn)換為int數(shù)據(jù)int數(shù)據(jù)可以轉(zhuǎn)換為unsigned數(shù)據(jù)浮點(diǎn)數(shù)據(jù)在運(yùn)算前必須轉(zhuǎn)換為double數(shù)據(jù)(即使兩個(gè)浮點(diǎn)相加)。 int數(shù)據(jù)可以轉(zhuǎn)換為雙精度數(shù)據(jù)(如果另一運(yùn)算數(shù)據(jù)為雙精度數(shù)據(jù))(無需直接轉(zhuǎn)換、unsigned、long,然后轉(zhuǎn)換為雙

14、精度數(shù)據(jù))。 上式的運(yùn)算步驟是進(jìn)行10 a運(yùn)算。 首先將a轉(zhuǎn)換為整數(shù)97,運(yùn)算結(jié)果為整數(shù)107。 進(jìn)行i*f運(yùn)算。 首先,將I和f都轉(zhuǎn)換為雙精度類型(實(shí)際運(yùn)算過程始終使用雙精度類型,只有在內(nèi)存中存儲(chǔ)結(jié)果時(shí)才能使用浮點(diǎn)類型)。 運(yùn)算結(jié)果為雙精度型。 把整數(shù)107和i*f的乘積相加。 首先,將整數(shù)107變換為double型(107.0 ),運(yùn)算結(jié)果為double型。 進(jìn)行d/e運(yùn)算。 首先將長e變換為雙精度型。 運(yùn)算結(jié)果為雙精度型。 執(zhí)行運(yùn)算后,結(jié)果為雙精度型。8、算術(shù)運(yùn)算符和算術(shù)表達(dá)式、8.1 C運(yùn)算符概述、8.2算術(shù)運(yùn)算符和算術(shù)表達(dá)式、1、基本算術(shù)運(yùn)算符:加法或正值運(yùn)算符,例如2 3、5 -:

15、減法或負(fù)值運(yùn)算符,例如8-3、-6 * : 例如5/3 % :求侑運(yùn)算符時(shí),兩側(cè)為整數(shù)數(shù)據(jù)。 7%4注:-5/3=-1 (侑-2)或-2(侑-1),渦輪c取-1的結(jié)果(“去零取”)。2、算術(shù)運(yùn)算式和運(yùn)算子的優(yōu)先順序和結(jié)合算術(shù)運(yùn)算式:例如在a*b/c-1.5 a語言中,運(yùn)算子共有15個(gè)優(yōu)先順序,其中算術(shù)運(yùn)算子的優(yōu)先順序請(qǐng)參照* /、%(3級(jí))、- 4級(jí)) p這3個(gè)運(yùn)算子分別是單目標(biāo)運(yùn)算子、三目標(biāo)運(yùn)算子(only one )、代入運(yùn)算子(修訂) 例如:因?yàn)閍=b c代入運(yùn)算符=為右結(jié)合,所以先執(zhí)行右邊的b c,代入a。 8.3、強(qiáng)制類型轉(zhuǎn)換運(yùn)算符、一般類型: (類型名) (表達(dá)式)例如(雙) a將a轉(zhuǎn)換為雙

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(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ì)自己和他人造成任何形式的傷害或損失。

最新文檔

評(píng)論

0/150

提交評(píng)論