版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡介
1、C 語言程序設(shè)計(jì) 西北大學(xué)西北大學(xué)信息學(xué)院信息學(xué)院 計(jì)算機(jī)文化基礎(chǔ)課教學(xué)課件計(jì)算機(jī)文化基礎(chǔ)課教學(xué)課件 第一章 語言簡介 第二章 數(shù)據(jù)類型、運(yùn)算符和表達(dá)式第三章語句與流程控制第四章數(shù)組第五章函數(shù)與程序結(jié)構(gòu)第六章 指 針第七章結(jié)構(gòu)體與共用體第八章 文件概述 第九章 編譯預(yù)處理C 程序設(shè)計(jì)一、C語言的發(fā)展語言的發(fā)展 與計(jì)算機(jī)對(duì)話是從低級(jí)語言開與計(jì)算機(jī)對(duì)話是從低級(jí)語言開始逐步發(fā)展起來的。始逐步發(fā)展起來的。 第一章第一章 語言簡介語言簡介高級(jí)語言FORTRAN語言ALGOL 60語言COBOL語言 BASIC語言 PASCAL語言 C/C+語言 ADA語言 PROLOGPROLOG語言語言Java語言
2、機(jī)器語言機(jī)器語言低級(jí)語言低級(jí)語言 匯編語言匯編語言它是使用最早的高級(jí)語言它是使用最早的高級(jí)語言, ,廣泛用于科學(xué)計(jì)算。廣泛用于科學(xué)計(jì)算。一種交互式語言,由于它簡單易懂,具有交互功能,成一種交互式語言,由于它簡單易懂,具有交互功能,成為微機(jī)上配置最廣泛的高級(jí)語言。為微機(jī)上配置最廣泛的高級(jí)語言。是面向問題的高級(jí)語言,它離硬件比較遠(yuǎn),不宜用來是面向問題的高級(jí)語言,它離硬件比較遠(yuǎn),不宜用來編寫系統(tǒng)程序。編寫系統(tǒng)程序。 使用了十分接近于自然語言英語的語句,很容易理解,使用了十分接近于自然語言英語的語句,很容易理解,在事務(wù)處理中有著廣泛的應(yīng)用。在事務(wù)處理中有著廣泛的應(yīng)用。第一個(gè)系統(tǒng)地體現(xiàn)了結(jié)構(gòu)化程序設(shè)計(jì)概
3、念的高級(jí)語言。第一個(gè)系統(tǒng)地體現(xiàn)了結(jié)構(gòu)化程序設(shè)計(jì)概念的高級(jí)語言。 移植力強(qiáng),編譯質(zhì)量高,可直接訪問硬件的高級(jí)語言。移植力強(qiáng),編譯質(zhì)量高,可直接訪問硬件的高級(jí)語言。便于實(shí)現(xiàn)嵌入式應(yīng)用的高級(jí)語言。便于實(shí)現(xiàn)嵌入式應(yīng)用的高級(jí)語言。一種邏輯程序設(shè)計(jì)語言,廣泛使用于人工智能領(lǐng)域。一種邏輯程序設(shè)計(jì)語言,廣泛使用于人工智能領(lǐng)域。面向?qū)ο蟪绦蛟O(shè)計(jì)語言。面向?qū)ο蟪绦蛟O(shè)計(jì)語言。 C語言是廣泛流行的計(jì)算機(jī)高級(jí)語言,語言是廣泛流行的計(jì)算機(jī)高級(jí)語言,C語言已不僅用來語言已不僅用來編寫系統(tǒng)軟件,也可用來編寫應(yīng)用軟件。以前操作系統(tǒng)及其編寫系統(tǒng)軟件,也可用來編寫應(yīng)用軟件。以前操作系統(tǒng)及其它系統(tǒng)軟件主要是用匯編語言來編寫,由于匯編
4、語言依賴于它系統(tǒng)軟件主要是用匯編語言來編寫,由于匯編語言依賴于機(jī)器硬件,程序的機(jī)器硬件,程序的可讀性可讀性和可和可移植性移植性都很差。都很差。 ALGOL 60 (1960年年) CPL語言語言 (1963年年)C語言的發(fā)展語言的發(fā)展 BCPL 語言語言(1967年年) B語言語言(1970年年) C語言語言(19721973年年)二、二、 C語言的特點(diǎn)語言的特點(diǎn)編程限制少,程序設(shè)計(jì)自由度大編程限制少,程序設(shè)計(jì)自由度大 。 可直接對(duì)硬件操作,可直接對(duì)硬件操作,C C語言允許直接訪問物理地址,能語言允許直接訪問物理地址,能進(jìn)行位操作進(jìn)行位操作 。數(shù)據(jù)類型豐富,提供了整型、實(shí)型、字符型、數(shù)組類型、
5、數(shù)據(jù)類型豐富,提供了整型、實(shí)型、字符型、數(shù)組類型、指針類型、結(jié)構(gòu)體類型、共用體類型等數(shù)據(jù)類型。指針類型、結(jié)構(gòu)體類型、共用體類型等數(shù)據(jù)類型。具有結(jié)構(gòu)化的控制語句具有結(jié)構(gòu)化的控制語句 。語言簡潔、緊湊,使用方便、靈活。語言簡潔、緊湊,使用方便、靈活。運(yùn)算符豐富,適用的范圍也很廣泛。運(yùn)算符豐富,適用的范圍也很廣泛。生成目標(biāo)程序質(zhì)量高,程序執(zhí)行效率高。生成目標(biāo)程序質(zhì)量高,程序執(zhí)行效率高。具有很好的可移植性。具有很好的可移植性。三、三、C語言的程序結(jié)構(gòu)及特點(diǎn)語言的程序結(jié)構(gòu)及特點(diǎn)main()main() printf(printf(ThisThis is a c program .n is a c pro
6、gram .n) ); 此程序的此程序的結(jié)果結(jié)果是輸出下面的一行信息:是輸出下面的一行信息:例 1This is a c program .This is a c program . mainmain() () / /* *求兩數(shù)之和求兩數(shù)之和* */ / intint a,b,sum a,b,sum; / /* *定義變量定義變量* */ / a=123 a=123;b=456b=456; / /* *給變量賦值給變量賦值* */ / sum=a+b sum=a+b; printfprintf( (sumsum is %dn is %dn,sum),sum); / /* *輸出結(jié)果輸出結(jié)果*
7、 */ / 例例 2 2 程序的功能是求兩個(gè)整數(shù)的和,并將其輸出。程序的功能是求兩個(gè)整數(shù)的和,并將其輸出。 程序的結(jié)果是輸出如下一行信息:程序的結(jié)果是輸出如下一行信息:例例 2sum is 579 例例 3 main() / /* *主函數(shù)主函數(shù)* */ / intint max() max(); / /* *函數(shù)說明函數(shù)說明* */ / intint a,b,c a,b,c; / /* *定義變量定義變量* */ / scanf(%d,%d,&a,&b scanf(%d,%d,&a,&b) ); / /* *輸入變量輸入變量a a和和b b* */ / c=m
8、ax(a,b) c=max(a,b);/ /* *調(diào)用調(diào)用maxmax函數(shù),將返回值賦給函數(shù),將返回值賦給c c* */ / printf( printf(maxmax=%dn=%dn,c),c); / /* *輸出輸出c c的值的值* */ / intint max(x,y) max(x,y) / /* * max max函數(shù)的定義,函數(shù)值為整型,函數(shù)的定義,函數(shù)值為整型,x,yx,y為形式參數(shù)為形式參數(shù)* */ / int int x,y x,y; / /* *對(duì)形參對(duì)形參x,yx,y作類型定義作類型定義* */ / int int z z; / /* *定義定義maxmax中用到的變量中
9、用到的變量z z* */ / if (xy) z=x if (xy) z=x; else z=yelse z=y; return(z) return(z) ;/ /* *將將z z的值作為函數(shù)的值作為函數(shù)maxmax返回值帶回調(diào)用處返回值帶回調(diào)用處* */ / C函數(shù)從函數(shù)從main()開始執(zhí)行。開始執(zhí)行。變量定義和語句之變量定義和語句之后必須有一個(gè)分號(hào)后必須有一個(gè)分號(hào)(;)。(;)。一行內(nèi)可寫幾個(gè)語一行內(nèi)可寫幾個(gè)語句,一個(gè)語句可分寫句,一個(gè)語句可分寫在多行。在多行。可以用可以用/ /* * */ /作作注釋。注釋。語言沒有輸入輸語言沒有輸入輸出語句。出語句。此程序的執(zhí)行結(jié)果如下:此程序的執(zhí)行
10、結(jié)果如下:10,20(輸入(輸入10,20)max=20(輸出(輸出c的值)的值)一個(gè)函數(shù)是由函數(shù)的說明部分和函數(shù)體兩部分組成。一個(gè)函數(shù)是由函數(shù)的說明部分和函數(shù)體兩部分組成。 函數(shù)的說明部分函數(shù)的說明部分 函數(shù)類型函數(shù)類型 函數(shù)名函數(shù)名 函數(shù)參數(shù)函數(shù)參數(shù) 形參類型形參類型 形參形參int max(x,y)int x,y; C 程序是由函數(shù)組成的,每一個(gè)源程序至少包含一程序是由函數(shù)組成的,每一個(gè)源程序至少包含一個(gè)個(gè)main()函數(shù),也可以包含一個(gè)函數(shù),也可以包含一個(gè)main函數(shù)和若干個(gè)其函數(shù)和若干個(gè)其它函數(shù)。它函數(shù)。 因此,函數(shù)是因此,函數(shù)是C程序的基本單位。被調(diào)用的函數(shù)可以是系統(tǒng)程序的基本單位
11、。被調(diào)用的函數(shù)可以是系統(tǒng)提供的庫函數(shù),也可以是用戶自定義的函數(shù)。提供的庫函數(shù),也可以是用戶自定義的函數(shù)。 函數(shù)體函數(shù)體 (括在一對(duì)大括弧括在一對(duì)大括弧-中的部分)中的部分) 變量定義變量定義(int(int a,b,c;) a,b,c;) 函數(shù)體函數(shù)體 執(zhí)行部分執(zhí)行部分( (由若干語句組成)由若干語句組成)特例:特例:空函數(shù)空函數(shù) dump() 四、源程序的執(zhí)行過程四、源程序的執(zhí)行過程 源程序:源程序:用高級(jí)語言所提供的語句和函數(shù)寫出的語用高級(jí)語言所提供的語句和函數(shù)寫出的語 句序列叫源程序。句序列叫源程序。 程序從輸入和運(yùn)行一般需如下幾個(gè)步驟:程序從輸入和運(yùn)行一般需如下幾個(gè)步驟: 編編 輯輯
12、編編 譯譯 連接連接運(yùn)行運(yùn)行輸入輸入程序程序獲得源獲得源程序程序 機(jī)器碼機(jī)器碼 文件文件 可執(zhí)行可執(zhí)行 文件文件f.cf.objf.exe 從編輯到執(zhí)行的過程示意圖從編輯到執(zhí)行的過程示意圖五、五、在在Turbo CTurbo C下運(yùn)行下運(yùn)行C C程序的步驟程序的步驟 1 1、在在Turbo CTurbo C下運(yùn)行下運(yùn)行C C程序的步驟程序的步驟調(diào)用調(diào)用Turbo CTurbo C程序程序(Turbo C (Turbo C 的啟動(dòng)的啟動(dòng)) ): 在在windowswindows下:下:tc 的運(yùn)行和一般文件的運(yùn)行方法相同的運(yùn)行和一般文件的運(yùn)行方法相同 (快捷方式、菜單方式、命令方式均可)(快捷方
13、式、菜單方式、命令方式均可) 在在DOSDOS提示符下:提示符下:鍵入鍵入 tc并按回車,即可運(yùn)行并按回車,即可運(yùn)行Turbo C 編輯源文件:編輯源文件: 在在Turbo CTurbo C窗口中,根據(jù)需要輸入或者修改源文件。窗口中,根據(jù)需要輸入或者修改源文件。 退出退出Turbo CTurbo C: 按下按下“ALT+X”ALT+X”鍵,退出鍵,退出Turbo CTurbo C的集成環(huán)境,的集成環(huán)境, 回到操作系統(tǒng)狀態(tài)?;氐讲僮飨到y(tǒng)狀態(tài)。編譯源程序:編譯源程序: 按按“F9”鍵可對(duì)當(dāng)前打開的源文件進(jìn)行編譯鍵可對(duì)當(dāng)前打開的源文件進(jìn)行編譯 。運(yùn)行:運(yùn)行: 按按 “ F 1 0 ” 鍵 , 啟 動(dòng)
14、 系 統(tǒng) 菜 單 , 將 光 標(biāo) 移 到鍵 , 啟 動(dòng) 系 統(tǒng) 菜 單 , 將 光 標(biāo) 移 到“RUN”, 按回車鍵按回車鍵 。2 2、Turbo CTurbo C集成開發(fā)環(huán)境集成開發(fā)環(huán)境 在在TCTC中程序的執(zhí)行過程如圖中程序的執(zhí)行過程如圖編編 輯輯編編 譯譯連接連接運(yùn)行運(yùn)行輸入輸入程序程序源程序源程序機(jī)器碼機(jī)器碼文件文件可執(zhí)行可執(zhí)行文件文件f.cf.objf.exeALT+F9Ctrl+F9從編輯到執(zhí)行的操作過程示意圖從編輯到執(zhí)行的操作過程示意圖Turbo C 2.0的初啟屏幕如圖的初啟屏幕如圖 File Edit Run Compile Project Options Debug Bre
15、ak/watchLine 1Col 1Insert Indent Tab Fill Unindent C:NONAME.CF1-HelpF5-ZoomF6-Switch F7-Trace F8-Step F9-Make F10-MenuEditMessageTurbo C的主屏幕的主屏幕文件菜單(文件菜單(File)Load F3Pick Alt-F3 NewSave F2Write toDirectoryChange dirOS shellQuit Alt-X文件菜單選擇項(xiàng)文件菜單選擇項(xiàng)編輯命令(編輯命令(EditEdit) 運(yùn)行菜單(運(yùn)行菜單(Run) 編譯菜單(編譯菜單(Compile)
16、 Run Ctrl-F9Program reset Ctrl-F2Go to cursor F4Trace into F7 Step over F8User screen Alt-F5 運(yùn)行菜單選項(xiàng)運(yùn)行菜單選項(xiàng)Compile to OBJMake EXE fileLink EXE fileBuild allPrimary C fileGet Info 編譯菜單選項(xiàng)編譯菜單選項(xiàng)工程菜單(工程菜單(Project) 選擇項(xiàng)菜單(選擇項(xiàng)菜單(Options) CompilerLinkerEnviromentDirectoriesArgumentsSave optionsRetrieve option
17、s選擇項(xiàng)菜單選擇項(xiàng)菜單Include directories: C:TCINCLUDELibrary directories: C:TCLIBOutput directory: Turbo C directory: C:TCPick file name:Current pick file:路徑設(shè)置窗口路徑設(shè)置窗口Project NameBreak make onAuto dependenciesClear ProjectClear Message調(diào)試菜單(調(diào)試菜單(Debug) (8) 斷點(diǎn)斷點(diǎn)/觀測(cè)菜單觀測(cè)菜單(Break/watch) Evaluate Ctrl-F4Call stack
18、Ctrl-F3Find function Refresh displayDisplay swappingSource debugging調(diào)試菜單選擇項(xiàng)調(diào)試菜單選擇項(xiàng)Add watch Ctrl-F7Delete watchEdit watch Remove all watchesToggle breakpoint Ctrl-F8Clear all breakpointsView next breakpoint斷點(diǎn)斷點(diǎn)/監(jiān)測(cè)菜單選擇項(xiàng)監(jiān)測(cè)菜單選擇項(xiàng)參考第參考第8頁頁第二章第二章數(shù)據(jù)類型、運(yùn)算符和表達(dá)式數(shù)據(jù)類型、運(yùn)算符和表達(dá)式一、一、 C語言語言的數(shù)據(jù)類型的數(shù)據(jù)類型整型整型字符型字符型實(shí)型(浮點(diǎn)型
19、)實(shí)型(浮點(diǎn)型)枚舉類型枚舉類型數(shù)組類型數(shù)組類型結(jié)構(gòu)體類型結(jié)構(gòu)體類型共用體類型共用體類型單精度型單精度型雙精度型雙精度型指針類型指針類型空類型空類型構(gòu)造類型構(gòu)造類型基本類型基本類型數(shù)據(jù)類型數(shù)據(jù)類型C C語言中有以下幾個(gè)基本數(shù)據(jù)類型:語言中有以下幾個(gè)基本數(shù)據(jù)類型:charchar( (字符型字符型) ) intint( (整型整型) )floatfloat( (單精度浮點(diǎn)型單精度浮點(diǎn)型) ) doubledouble( (雙精度浮點(diǎn)型雙精度浮點(diǎn)型) )其中:其中:charchar、intint、floatfloat、doubledouble是關(guān)鍵字是關(guān)鍵字。 修飾符修飾符long一般指存儲(chǔ)空間相
20、對(duì)一般指存儲(chǔ)空間相對(duì)int型型擴(kuò)大一倍擴(kuò)大一倍,而,而short一般指存儲(chǔ)空間相對(duì)一般指存儲(chǔ)空間相對(duì)int型型縮小一倍縮小一倍。但不同。但不同C編譯系統(tǒng)具體編譯系統(tǒng)具體規(guī)定是不同的。如:規(guī)定是不同的。如:Turbo C中的中的int與與short int 所占用內(nèi)存所占用內(nèi)存位數(shù)一樣位數(shù)一樣(都為都為16個(gè)二進(jìn)制位個(gè)二進(jìn)制位) 另外,還有另外,還有4 4個(gè)修飾詞可個(gè)修飾詞可以出現(xiàn)在上面幾個(gè)基本類以出現(xiàn)在上面幾個(gè)基本類型之前,從而改變?cè)瓉淼男椭?,從而改變?cè)瓉淼暮x,含義,它們是:它們是:shortshort( (短型短型) )longlong( (長型長型) )signedsigned( (有
21、符號(hào)有符號(hào)) ) unsignedunsigned( (無符號(hào)無符號(hào)) )short intshort int 表示短整型。表示短整型。 unsigned char unsigned char 表示無符號(hào)字符型。表示無符號(hào)字符型。 long intlong int 表示長整型。表示長整型。 unsigned short intunsigned short int 表示無符號(hào)短整型。表示無符號(hào)短整型。 例如:例如:Turbo CTurbo C語言語言基本數(shù)據(jù)類型、字寬和范圍基本數(shù)據(jù)類型、字寬和范圍 表表9.1 9.1 基本數(shù)據(jù)類型、字寬和范圍基本數(shù)據(jù)類型、字寬和范圍類型類型所占位數(shù)所占位數(shù)數(shù)的范
22、圍數(shù)的范圍signed charsigned char8 8-128-128127127unsigned charunsigned char8 80 0255255signed intsigned int1616-32768-327683276732767short intshort int 1616-32768-327683276732767long intlong int 3232-2147483648-214748364821474836472147483647unsigned intunsigned int 16160 06553565535unsigned short intunsi
23、gned short int 16160 06553565535unsigned long intunsigned long int 32320 042949672954294967295floatfloat3232約約6 67位有效數(shù)字位有效數(shù)字doubledouble6464約約15151616位有效數(shù)字位有效數(shù)字在在IBM PC MS-CIBM PC MS-C中,單精度范圍:中,單精度范圍:1010-38-38到到10103838 雙精度范圍:雙精度范圍:10-308到到10308 二、二、 常量常量常量:程序中其值不發(fā)生變化的量。常量:程序中其值不發(fā)生變化的量。語言中有語言中有符號(hào)常量
24、符號(hào)常量整型整型實(shí)型實(shí)型十進(jìn)制十進(jìn)制八進(jìn)制八進(jìn)制(由數(shù)字開頭由數(shù)字開頭)十六進(jìn)制十六進(jìn)制( 由由0 x 或或0X 開頭開頭)常用形式常用形式(3.14159 , -0.555 , .666)指數(shù)形式指數(shù)形式(0.55e5 , 3.33E-3 , 4e+2(用單引號(hào)括起來的一個(gè)字符。如:用單引號(hào)括起來的一個(gè)字符。如: a, D)(用雙引號(hào)括起來的一串字符。如:用雙引號(hào)括起來的一串字符。如:abcd)( (用一個(gè)標(biāo)識(shí)符代表一個(gè)常量用一個(gè)標(biāo)識(shí)符代表一個(gè)常量) )注意:注意: a 和和a的區(qū)別的區(qū)別數(shù)值常量數(shù)值常量字符常量字符常量字符串常量字符串常量1、數(shù)值常量、數(shù)值常量是通常使用的常數(shù),包括整型和實(shí)
25、型常量。是通常使用的常數(shù),包括整型和實(shí)型常量。 C語言程序中可以使用語言程序中可以使用十進(jìn)制十進(jìn)制、八進(jìn)制八進(jìn)制和和十六進(jìn)制十六進(jìn)制來表示來表示整型常量。在使用時(shí)不能有小數(shù)部分。整型常量。在使用時(shí)不能有小數(shù)部分。 十進(jìn)制整型常量十進(jìn)制整型常量,由正、負(fù)號(hào)和由正、負(fù)號(hào)和0至至9十個(gè)數(shù)字組成,沒有十個(gè)數(shù)字組成,沒有小數(shù)部分。小數(shù)部分。(1) 整型常量整型常量int型型 32、345、12 、-65、-32768、32767long int型型 234L、234567453l、32L、32l、 -2147483648L、2147483647lunsigned int型型 345u、238U、6553
26、5uunsigned long int型型 256ul、12345678UL、 4294967295uL如如 :八進(jìn)制整型常量:八進(jìn)制整型常量:037u、0364L、0567453ul十六進(jìn)制整型常量:十六進(jìn)制整型常量: 0 x1f 、0 x1FL 、0 xFul、0 x10L指數(shù)表示法:指數(shù)表示法:方法是在小數(shù)表示法后面加字母方法是在小數(shù)表示法后面加字母E(或或e)表示指數(shù)。表示指數(shù)。 1e-2 0.5E10 35.56E-3 7.e-2 (都是(都是double型常量)型常量)(2)實(shí)型常量)實(shí)型常量 實(shí)型常量就是我們?nèi)粘J褂玫膸?shù)的常數(shù),也叫浮點(diǎn)數(shù)。實(shí)型常量就是我們?nèi)粘J褂玫膸?shù)的常
27、數(shù),也叫浮點(diǎn)數(shù)。在在C語言中,只有十進(jìn)制表示。它有兩種表示形式:小數(shù)表示法語言中,只有十進(jìn)制表示。它有兩種表示形式:小數(shù)表示法和指數(shù)表示法。和指數(shù)表示法。小數(shù)表示法:小數(shù)表示法:它由整數(shù)和小數(shù)兩部分組成,這兩部分可以省略其它由整數(shù)和小數(shù)兩部分組成,這兩部分可以省略其中的一個(gè)部分,但不能同時(shí)都省略(小數(shù)點(diǎn)不能省略)。中的一個(gè)部分,但不能同時(shí)都省略(小數(shù)點(diǎn)不能省略)。 12.35 35. .689 (都是都是double型常量)型常量)整型數(shù):整型數(shù):125 , 0125 , 0 x125 , -35 實(shí)型數(shù):實(shí)型數(shù):3.14159 , -555.6 , 45.8E-4 , 8.88e+18例例1
28、注意:注意:指數(shù)部分可正可負(fù),但必須是整數(shù)。指數(shù)部分可正可負(fù),但必須是整數(shù)。 在浮點(diǎn)數(shù)常量的后面用字母在浮點(diǎn)數(shù)常量的后面用字母F(或或f)表示表示float(單精度浮點(diǎn)單精度浮點(diǎn))類型。類型。 如:如:1e-2f表示表示float型。型。 如果在浮點(diǎn)數(shù)常量的后面不加字母,則表示是一個(gè)如果在浮點(diǎn)數(shù)常量的后面不加字母,則表示是一個(gè)double(雙雙精度浮點(diǎn)精度浮點(diǎn))型常量。型常量。 2.1e-2 0.689 (都是都是double型常量)型常量)而字母而字母L(或或l)表示表示long double(長精度浮點(diǎn)長精度浮點(diǎn))型型 , 如:如:3.2L表示表示long double型。型。如:如:e1
29、2 , .e43 , 0.25e4.5 , e 等是錯(cuò)誤的。等是錯(cuò)誤的。注意:注意:用指數(shù)形式表示的浮點(diǎn)數(shù)必須有尾數(shù),指數(shù)部分必須是整數(shù)用指數(shù)形式表示的浮點(diǎn)數(shù)必須有尾數(shù),指數(shù)部分必須是整數(shù)。 字符常量是由一個(gè)字母或轉(zhuǎn)義字符兩邊用單引號(hào)括起來表示,字符常量是由一個(gè)字母或轉(zhuǎn)義字符兩邊用單引號(hào)括起來表示,例如:例如: a 、DD、 n 等。等。字符常量在計(jì)算機(jī)內(nèi)存放的值,為該字符字符常量在計(jì)算機(jī)內(nèi)存放的值,為該字符ASCII編碼值。編碼值。例如:例如:0其編碼值為其編碼值為48,而不對(duì)應(yīng)數(shù)值,而不對(duì)應(yīng)數(shù)值0。 A的的ASCII碼值為碼值為65。 八進(jìn)制八進(jìn)制用用 dddddd 表示,其中表示,其中d
30、ddddd代表三位八進(jìn)制數(shù)。代表三位八進(jìn)制數(shù)。例如:例如: 101 代表代表字母字母 A ,60 代表代表字符字符 0(零零) )。2、字符常量、字符常量字符常量也可以用它的字符常量也可以用它的ASCII碼值來表示,具體表示方法為:碼值來表示,具體表示方法為:十六十六進(jìn)制用進(jìn)制用 xhh 表示,其中表示,其中hhhh代表兩位十六進(jìn)制數(shù)。代表兩位十六進(jìn)制數(shù)。例如:例如: x41 代表代表字母字母 A ,x30 代表代表字符字符 0(零零) )。字符形式功能字符形式功能n n 回車換行(回車換行(EnterEnter)t t 橫向跳格(即跳到下一個(gè)輸出區(qū))橫向跳格(即跳到下一個(gè)輸出區(qū)) vv 豎向
31、跳格豎向跳格 b b 退格(退格(BackspaceBackspace) rr 回車回車 f f 走紙換頁走紙換頁 反斜杠字符反斜杠字符“” 單引號(hào)字符單引號(hào)字符()() ” ” 雙雙引號(hào)字符引號(hào)字符()() ddd ddd 1 1到到3 3位位8 8進(jìn)制數(shù)所代表的字符進(jìn)制數(shù)所代表的字符 xhhxhh 1 1到到2 2位位1616進(jìn)制數(shù)所代表的字符進(jìn)制數(shù)所代表的字符轉(zhuǎn)義字符:轉(zhuǎn)義字符:常用反斜線常用反斜線 “”開頭后跟一個(gè)字符,但含義改變。開頭后跟一個(gè)字符,但含義改變。見下表:見下表:例如:例如: How are you! 表示字符串表示字符串 How are you! 。 表示空字符串。表示
32、空字符串。 a 表示字符串表示字符串a(chǎn)。字符串中可以包含空字符、空格字符、轉(zhuǎn)義字符和其它字符串中可以包含空字符、空格字符、轉(zhuǎn)義字符和其它字符,也可以包含漢字等文字符號(hào)字符,也可以包含漢字等文字符號(hào)。 3、字符串常量、字符串常量 字符串常量是由一對(duì)雙引號(hào)括起來的零個(gè)或多個(gè)字符序列。字符串常量是由一對(duì)雙引號(hào)括起來的零個(gè)或多個(gè)字符序列。例如:例如:Please enter YorN: 表示字符串:表示字符串:Please enter Y or N:在字符串中也可使用轉(zhuǎn)義字符在字符串中也可使用轉(zhuǎn)義字符例如:例如:請(qǐng)輸入請(qǐng)輸入x和和y兩個(gè)數(shù)據(jù)兩個(gè)數(shù)據(jù)! 表示字符串:請(qǐng)輸入表示字符串:請(qǐng)輸入x和和y兩個(gè)數(shù)
33、據(jù)兩個(gè)數(shù)據(jù)! 一個(gè)字符常量在內(nèi)存中存放,只占一個(gè)字節(jié)。而字符串常一個(gè)字符常量在內(nèi)存中存放,只占一個(gè)字節(jié)。而字符串常量是用一個(gè)一維字符數(shù)組來存放的,即在內(nèi)存中用多個(gè)連續(xù)量是用一個(gè)一維字符數(shù)組來存放的,即在內(nèi)存中用多個(gè)連續(xù)的字節(jié)存放的字節(jié)存放 , 字符串的結(jié)尾加一個(gè)結(jié)束符字符串的結(jié)尾加一個(gè)結(jié)束符(0), 其其 ASCII碼值碼值為為0 。0 1 1 0 0 0 0 1 a a a與與a a的存儲(chǔ)空間示意圖的存儲(chǔ)空間示意圖字符串常量與字符常量的區(qū)別:字符串常量與字符常量的區(qū)別:0 1 1 0 0 0 0 1 a0 0 0 0 0 0 0 0 在在C C語言中我們還可以用一個(gè)與常量語言中我們還可以用一
34、個(gè)與常量相關(guān)的標(biāo)識(shí)符相關(guān)的標(biāo)識(shí)符( (標(biāo)識(shí)標(biāo)識(shí)符的概念在后面介紹符的概念在后面介紹) )來代替來代替常量常量出現(xiàn)在程序中,這種相關(guān)的出現(xiàn)在程序中,這種相關(guān)的標(biāo)識(shí)符稱為符號(hào)常量。標(biāo)識(shí)符稱為符號(hào)常量。定義符號(hào)常量的方法是:定義符號(hào)常量的方法是: #define #define 使用符號(hào)常量對(duì)程序設(shè)計(jì)有許多好處使用符號(hào)常量對(duì)程序設(shè)計(jì)有許多好處: 一是增加程序的可讀性;一是增加程序的可讀性; 二是增強(qiáng)可維護(hù)性。二是增強(qiáng)可維護(hù)性。 4 、符號(hào)常量、符號(hào)常量例如例如:用:用PI代表圓周率代表圓周率,即,即3.1415926。 例如:例如:定義符號(hào)常量定義符號(hào)常量PIPI的命令方法為:的命令方法為: #de
35、fine PI 3.1415926#define PI 3.1415926#define PRICE 30main( ) int num, total; num=10; total=num*PRICE; printf (total=%d,total);符號(hào)常量符號(hào)常量符號(hào)常量應(yīng)用實(shí)例符號(hào)常量應(yīng)用實(shí)例符號(hào)常量符號(hào)常量#define PI 3.1415926main( ) int area, r; printf (Input the radius: ); scanf (%d,&r); area=PI*r*r; printf (“area=is: %d n, area);計(jì)算圓的面積計(jì)算圓的
36、面積變量名:變量名:每一個(gè)變量都應(yīng)有一個(gè)名字。每一個(gè)變量都應(yīng)有一個(gè)名字。變量的數(shù)據(jù)類型:變量的數(shù)據(jù)類型:每一個(gè)變量都應(yīng)具有一種數(shù)據(jù)類型每一個(gè)變量都應(yīng)具有一種數(shù)據(jù)類型 (在定義時(shí)指定)內(nèi)存中占據(jù)一定的存儲(chǔ)空間(在定義時(shí)指定)內(nèi)存中占據(jù)一定的存儲(chǔ)空間 。變量的值:變量的值:變量對(duì)應(yīng)的存貯空間中所存放的數(shù)。變量對(duì)應(yīng)的存貯空間中所存放的數(shù)。 是由程序員定義的單詞,用它來命名程序中的一些實(shí)體對(duì)是由程序員定義的單詞,用它來命名程序中的一些實(shí)體對(duì)象(如符號(hào)常量名、變量名、函數(shù)名、類型名、數(shù)組名等)。象(如符號(hào)常量名、變量名、函數(shù)名、類型名、數(shù)組名等)。三、三、 變量變量變量:程序中其值可發(fā)生變化的量。變量:
37、程序中其值可發(fā)生變化的量。變量的三個(gè)基本要素:變量的三個(gè)基本要素:(即:名字、類型和值即:名字、類型和值)1、標(biāo)識(shí)符、標(biāo)識(shí)符關(guān)鍵字關(guān)鍵字是系統(tǒng)已定義的單詞,它們都是系統(tǒng)已定義的保留是系統(tǒng)已定義的單詞,它們都是系統(tǒng)已定義的保留字,用戶不能再對(duì)它們定義。字,用戶不能再對(duì)它們定義。 注意:注意:這些關(guān)鍵字都用的是小寫字母。這些關(guān)鍵字都用的是小寫字母。大小寫字母不一樣大小寫字母不一樣, 即標(biāo)識(shí)符即標(biāo)識(shí)符a1和和A1是兩個(gè)不同的標(biāo)識(shí)符。是兩個(gè)不同的標(biāo)識(shí)符。長度任意(最少一個(gè)字符)。長度任意(最少一個(gè)字符)。不能采用系統(tǒng)關(guān)鍵字(保留字)。不能采用系統(tǒng)關(guān)鍵字(保留字)。語言規(guī)定標(biāo)識(shí)符的組成規(guī)則:語言規(guī)定標(biāo)識(shí)
38、符的組成規(guī)則: 是由大小寫字母、數(shù)字字符是由大小寫字母、數(shù)字字符(09)和下劃線和下劃線( _ )三種字符組三種字符組成,且第一個(gè)字符必須為字母或下劃線。成,且第一個(gè)字符必須為字母或下劃線。autobreak case charcontinueconst default dodouble elseenumexternfloat forgotoifintlongregisterreturnshortsigned sizeofstaticstructswitch typedef unionunsigned viod volatile while常用的常用的32個(gè)關(guān)鍵字,它們都是系統(tǒng)已定義的保留字個(gè)
39、關(guān)鍵字,它們都是系統(tǒng)已定義的保留字2、變量名及變量定義、變量名及變量定義下劃線下劃線( _ )符號(hào)一般是系統(tǒng)函數(shù)常用的開始符號(hào),故一般符號(hào)一般是系統(tǒng)函數(shù)常用的開始符號(hào),故一般不要用它作為變量名的第一個(gè)字符。不要用它作為變量名的第一個(gè)字符。 C語言變量名命名規(guī)定同標(biāo)識(shí)符。強(qiáng)調(diào)一些有關(guān)命名變量名時(shí)應(yīng)注意語言變量名命名規(guī)定同標(biāo)識(shí)符。強(qiáng)調(diào)一些有關(guān)命名變量名時(shí)應(yīng)注意的幾個(gè)問題。的幾個(gè)問題。大寫字母與小寫字母表示不同的名字。如大寫字母與小寫字母表示不同的名字。如area、Area、aREA、Area、ArEa、areA等等,是不同的變量名。等等,是不同的變量名。(1)變量名)變量名 命名變量名時(shí)應(yīng)盡量做到
40、命名變量名時(shí)應(yīng)盡量做到“見名知意見名知意”,這樣有助于記,這樣有助于記憶,又增加了程序的可讀性。憶,又增加了程序的可讀性。不能用數(shù)字符號(hào)不能用數(shù)字符號(hào)(09)作名字的開始字符。作名字的開始字符。系統(tǒng)規(guī)定的保留字不可再作為變量名。系統(tǒng)規(guī)定的保留字不可再作為變量名。習(xí)慣上一般變量名用小寫字母命名,而符號(hào)常量名用大習(xí)慣上一般變量名用小寫字母命名,而符號(hào)常量名用大寫字母命名。寫字母命名。(2)變量的定義)變量的定義 語言規(guī)定對(duì)使用的變量必須語言規(guī)定對(duì)使用的變量必須先定義先定義,后使用后使用。 目的:目的:保證程序中變量名的正確使用。保證程序中變量名的正確使用。 可分配相應(yīng)的存儲(chǔ)空間??煞峙湎鄳?yīng)的存儲(chǔ)空
41、間。 便于檢查變量所進(jìn)行的運(yùn)算是否合法。便于檢查變量所進(jìn)行的運(yùn)算是否合法。定義一個(gè)或多個(gè)變量可使用一個(gè)說明語句完成,其格式如下:定義一個(gè)或多個(gè)變量可使用一個(gè)說明語句完成,其格式如下: ;例如:例如:int lower,upper,step; (定義三個(gè)整型變量(定義三個(gè)整型變量lower、upper和和step) char c1,c2,c3,c4; (定義四個(gè)字符變量(定義四個(gè)字符變量c1、c2、c3和和c4。)。) float x,y,z; (定義三個(gè)實(shí)型變量(定義三個(gè)實(shí)型變量x、y和和z。)。)其中:其中:類型類型包括基本數(shù)據(jù)類型和構(gòu)造數(shù)據(jù)類型兩類,包括基本數(shù)據(jù)類型和構(gòu)造數(shù)據(jù)類型兩類, 例
42、如:例如:int、char、float等類型等類型。 變量名表變量名表可以是一個(gè)變量名,也可以是多個(gè)變量名??梢允且粋€(gè)變量名,也可以是多個(gè)變量名。 當(dāng)為多個(gè)變量名時(shí),變量名之間用逗號(hào)分割。當(dāng)為多個(gè)變量名時(shí),變量名之間用逗號(hào)分割。 變量存在兩個(gè)有用的值。一個(gè)是變量所表示的數(shù)據(jù)值,另變量存在兩個(gè)有用的值。一個(gè)是變量所表示的數(shù)據(jù)值,另一個(gè)是變量的地址值。一個(gè)是變量的地址值。 char c1; c1=a;變量賦值,方法:變量賦值,方法: = ;變量賦初值:變量賦初值:在定義變量的同時(shí)給變量賦一個(gè)初始值。該在定義變量的同時(shí)給變量賦一個(gè)初始值。該變量被稱為已初始化的變量。變量被稱為已初始化的變量。例如例如
43、:int a=10; char c=a ; 例:例:int x,y; char c1; x=10;y=20; c1=H;3、變量值、變量值 如:如:int a=10; float f=5.55; char c=a; int a=15, b=15, d=15;不能寫成:不能寫成:int a=b=d=15;請(qǐng)分析下面程序:請(qǐng)分析下面程序:相當(dāng)于:相當(dāng)于:int a; a=10;main() int a; printf(n%d,a); 輸出結(jié)果是什么?輸出結(jié)果是什么?沒有賦初值的變量,其值為一個(gè)不定的值。引用該變量,沒有賦初值的變量,其值為一個(gè)不定的值。引用該變量,就會(huì)產(chǎn)生莫名奇妙的結(jié)果。就會(huì)產(chǎn)生莫
44、名奇妙的結(jié)果。 類型類型 所占位數(shù)所占位數(shù) 數(shù)的范圍數(shù)的范圍 基本型基本型(int) 16 -3276832767 短整型短整型(short int) 16 -3276832767 長整型長整型(long int) 32 -21474836482147483647 無符號(hào)整型無符號(hào)整型(unsigned int) 16 065535 無符號(hào)短型無符號(hào)短型(unsigned short) 16 065535 無符號(hào)長整型無符號(hào)長整型(unsigned long) 32 04294967295無符號(hào)型無符號(hào)型例例 main() int a,b,c,d; unsigned u; a=12;b=-24
45、;整型變量:整型變量:(四種類型四種類型)整型變量的定義格式整型變量的定義格式: 類型類型 變量名表列變量名表列;u=10; c=a+u;d=b+u;printf(a+u=%d,b+u=%dn,c,d);單精度實(shí)型提供單精度實(shí)型提供7位有效數(shù)字,位有效數(shù)字,雙精度實(shí)型提供雙精度實(shí)型提供1516位有效數(shù)字。位有效數(shù)字。 如:如:float a; a=111111.111 (最后兩位小數(shù)不起作用)最后兩位小數(shù)不起作用) 而:而:double a; a=111111.111 (全部接收)全部接收)例例 main() float a,b; a=123456.789e5;實(shí)型變量:實(shí)型變量:(兩類)兩類
46、)-3838-308308 類型類型 所占位數(shù)所占位數(shù) 數(shù)的范圍數(shù)的范圍 單精度實(shí)型單精度實(shí)型(float) 32 10 10 雙精度實(shí)型雙精度實(shí)型(double) 64 10 10b=a+20;printf(“%f”, b)輸出結(jié)果是什么?輸出結(jié)果是什么?用來存放一個(gè)字符常量。占一個(gè)字節(jié)用來存放一個(gè)字符常量。占一個(gè)字節(jié)(8位位),存放該字符的,存放該字符的ASCII碼值。碼值。 如:如: char c1,c2; c1=a;c2=b;字符變量:字符變量:char 理論上理論上 a+20的值應(yīng)為的值應(yīng)為12345678920,而實(shí)際輸出:而實(shí)際輸出:b的值與的值與a的值相等,為(的值相等,為(1
47、2345678848.000000)這主要因?yàn)檫@主要因?yàn)閒loat型變量只能保證型變量只能保證7位有效數(shù)字,后面的數(shù)是無位有效數(shù)字,后面的數(shù)是無意義的,并不精確的表示該數(shù)。意義的,并不精確的表示該數(shù)。例例 main() char c1,c2; c1=97;c2=98; printf(%c %c,c1,c2); 9798c1c20110000101100010c1c2c1=a;c2=b;a=A+32ASCII碼表中大小碼表中大小寫字母之間具有:寫字母之間具有:如:如: int i; i=a; char c; c=97;例例 main() char c1,c2; c1=a;c2=b; c1=c1-
48、32;c2=c2-32; printf(%c %c,c1,c2); C語言中允許字符型數(shù)據(jù)與整型數(shù)據(jù)互相賦值。語言中允許字符型數(shù)據(jù)與整型數(shù)據(jù)互相賦值。 main() int i; char c; i=a; c=97; printf(%c,%dn,c,c); printf(%c,%dn,i,i); 輸出結(jié)果:輸出結(jié)果:a, 97 a, 97例例0110000101100001ic 所謂枚舉就是變量在定義時(shí),將它所有可能的取值都一一所謂枚舉就是變量在定義時(shí),將它所有可能的取值都一一列舉出來。這種在定義時(shí)就明確規(guī)定變量只能取哪幾個(gè)值,而列舉出來。這種在定義時(shí)就明確規(guī)定變量只能取哪幾個(gè)值,而不能取其它
49、值的數(shù)據(jù)類型叫枚舉類型。不能取其它值的數(shù)據(jù)類型叫枚舉類型。 例如:例如: enum day Sun,Mon,Tue,Wed,Thu,Fri,Sat ;四、四、 枚舉類型枚舉類型 枚舉枚舉是一種構(gòu)造的數(shù)據(jù)類型。它是若干個(gè)有名字的整型常是一種構(gòu)造的數(shù)據(jù)類型。它是若干個(gè)有名字的整型常量的集合(即枚舉類型是一種特殊的整型類型)。量的集合(即枚舉類型是一種特殊的整型類型)。 1、枚舉類型和枚舉變量、枚舉類型和枚舉變量 枚舉類型的定義格式如下:枚舉類型的定義格式如下: enum ;enum daySun=7,Mon=1,Tue,Wed,Thu,Fri,Sat;2 、枚舉變量的值、枚舉變量的值 枚舉變量的值
50、枚舉變量的值,是該枚舉變量所屬枚舉類型的枚舉表中,是該枚舉變量所屬枚舉類型的枚舉表中某一個(gè)枚舉符。某一個(gè)枚舉符。 枚舉變量的定義和枚舉類型的定義也可放在一個(gè)語句中,枚舉變量的定義和枚舉類型的定義也可放在一個(gè)語句中,如:如: enum day Sun=7,Mon=1,Tue,Wed,Thu,Fri,Sat d1,d2,d3;枚舉變量的定義格式如下:枚舉變量的定義格式如下: enum ; 例如:例如: enum color RED,BLUE,YELLOW,BLACK,WHITE; enum color c1,c2,c3;其中,其中,c1,c2,c3是三個(gè)具有是三個(gè)具有color枚舉名的枚舉變量。枚
51、舉名的枚舉變量。例如:例如: enum day d1,d2,d3;d1=Tue; d2=Sun;c1=RED;c2=YELLOW;可采用強(qiáng)制類型方式進(jìn)行賦值。例如:可采用強(qiáng)制類型方式進(jìn)行賦值。例如:c3=(enum color)(3); 等價(jià)于:等價(jià)于: c3=BLACK;某個(gè)枚舉變量的輸出值總是某個(gè)枚舉變量的輸出值總是整型數(shù)值整型數(shù)值,而不是枚舉符。,而不是枚舉符。 對(duì)于對(duì)于枚舉類型變量枚舉類型變量只能通過賦值的方法為其賦值。只能通過賦值的方法為其賦值。 而下面的賦值是而下面的賦值是錯(cuò)誤的:錯(cuò)誤的: d1=BLACK; /*因?yàn)橐驗(yàn)閐1枚舉變量對(duì)應(yīng)的枚舉符中沒有枚舉變量對(duì)應(yīng)的枚舉符中沒有BL
52、ACK。*/ c1=3; /*因?yàn)橐驗(yàn)閏1枚舉變量對(duì)應(yīng)的枚舉符中沒有枚舉變量對(duì)應(yīng)的枚舉符中沒有3。*/例:例: main( ) enum color RED,BLUE,YELLOW,BLACK,WHITE; enum color x1, x2; x1=YELLOW; x2=RED; printf(x1=%d, x2=%d,x1,x2); 例如:例如: enum Booler L1, L2; L1=FALSE; L2=TRUE;運(yùn)行結(jié)果為:運(yùn)行結(jié)果為: x1=2, x2=0對(duì)邏輯運(yùn)算可以定義如下枚舉類型:對(duì)邏輯運(yùn)算可以定義如下枚舉類型:enum Booler FALSE, TRUE;(1 1)基
53、本算術(shù)運(yùn)算符:)基本算術(shù)運(yùn)算符: + (+ (加加) )、 - (- (減減) ) 、 * * ( (乘乘) ) 、 / (/ (除除) ) 和和 % (% (求余數(shù)求余數(shù)) ) 這五個(gè)運(yùn)算符的優(yōu)先級(jí)為:這五個(gè)運(yùn)算符的優(yōu)先級(jí)為: *、/ 和和%同級(jí),但比同級(jí),但比+和和-高。即先乘除后加減。高。即先乘除后加減。 例如:例如: 5/2 結(jié)果為結(jié)果為 2 2/5 結(jié)果為結(jié)果為 0五、運(yùn)算符和表達(dá)式五、運(yùn)算符和表達(dá)式1、算術(shù)運(yùn)算符和算術(shù)表達(dá)式、算術(shù)運(yùn)算符和算術(shù)表達(dá)式這五個(gè)運(yùn)算符的結(jié)合性為:自左至右。這五個(gè)運(yùn)算符的結(jié)合性為:自左至右。例如:例如:10+6- 4*2第一步先計(jì)算第一步先計(jì)算10+6,得結(jié)
54、果,得結(jié)果16,第二步計(jì)算第二步計(jì)算4*2,得結(jié)果,得結(jié)果8,然后然后用第一步計(jì)算的結(jié)果減第二步計(jì)算的結(jié)果,得結(jié)果用第一步計(jì)算的結(jié)果減第二步計(jì)算的結(jié)果,得結(jié)果8。兩個(gè)兩個(gè)整數(shù)整數(shù)相除,結(jié)果為一整數(shù);相除,結(jié)果為一整數(shù);分子小于分母,結(jié)果為零。分子小于分母,結(jié)果為零。余數(shù)計(jì)算方法:余數(shù)計(jì)算方法:例如:例如: 5%3 余數(shù)是余數(shù)是2 5%8 余數(shù)是余數(shù)是5 -5%3 余數(shù)是余數(shù)是 2 (注意:符號(hào)位取注意:符號(hào)位取的符號(hào)的符號(hào)) 5%-3 余數(shù)是余數(shù)是2 (注意:符號(hào)位取注意:符號(hào)位取的符號(hào)的符號(hào))求兩個(gè)數(shù)求兩個(gè)數(shù)“%”的余數(shù)計(jì)算方法如下:的余數(shù)計(jì)算方法如下:余數(shù)余數(shù)=-*其中,其中,是是除以除以
55、所取的整數(shù)商。所取的整數(shù)商。(2)算術(shù)表達(dá)式)算術(shù)表達(dá)式 C語言允許不同類型的操作數(shù)據(jù)進(jìn)行混合運(yùn)算,但運(yùn)算時(shí)語言允許不同類型的操作數(shù)據(jù)進(jìn)行混合運(yùn)算,但運(yùn)算時(shí)系統(tǒng)先將操作數(shù)轉(zhuǎn)換成同一類型數(shù)據(jù),然后進(jìn)行運(yùn)算。系統(tǒng)先將操作數(shù)轉(zhuǎn)換成同一類型數(shù)據(jù),然后進(jìn)行運(yùn)算。類型轉(zhuǎn)換分為:類型轉(zhuǎn)換分為: 強(qiáng)制轉(zhuǎn)換強(qiáng)制轉(zhuǎn)換 隱含轉(zhuǎn)換隱含轉(zhuǎn)換 算術(shù)表達(dá)式是由算術(shù)表達(dá)式是由算術(shù)運(yùn)算符算術(shù)運(yùn)算符和和操作數(shù)操作數(shù)組成的表達(dá)式。表達(dá)式組成的表達(dá)式。表達(dá)式的值是一個(gè)的值是一個(gè)數(shù)值數(shù)值,表達(dá)式的類型具體由運(yùn)算符和操作數(shù)確定。,表達(dá)式的類型具體由運(yùn)算符和操作數(shù)確定。(3)數(shù)據(jù)類型轉(zhuǎn)換:)數(shù)據(jù)類型轉(zhuǎn)換:例如:例如: 5+3*(6-2)
56、表達(dá)式的類型為表達(dá)式的類型為int 型。型。 3+4.0-3/2.0 表達(dá)式的類型為表達(dá)式的類型為double型。型。 doublelongunsignedintfloatchar,short低級(jí)低級(jí)高級(jí)高級(jí)必定的必定的轉(zhuǎn)換轉(zhuǎn)換必定的必定的轉(zhuǎn)換轉(zhuǎn)換(類型名類型名) (表達(dá)式表達(dá)式)隱含轉(zhuǎn)換隱含轉(zhuǎn)換 例如:例如: int a; float x,y; (double) a、(int)(x+y)、(float)(5%3)、(int)x+y強(qiáng)制類型轉(zhuǎn)換:強(qiáng)制類型轉(zhuǎn)換:格式如下格式如下運(yùn)算對(duì)象:運(yùn)算對(duì)象:常量、變量、函數(shù)等。常量、變量、函數(shù)等。優(yōu)先級(jí):優(yōu)先級(jí):先乘除后加減。先乘除后加減。結(jié)合率:結(jié)合率:
57、自左至右。自左至右。例如例如: 若有若有 int i, float f, double d, long e 則則 10+a+i*f-d/e 表達(dá)式運(yùn)算次序?yàn)楸磉_(dá)式運(yùn)算次序?yàn)?將將a轉(zhuǎn)換成轉(zhuǎn)換成97,然后,然后10+a運(yùn)算。運(yùn)算。 將將i和和f都轉(zhuǎn)換成都轉(zhuǎn)換成double型,型,然后然后i*f運(yùn)算。運(yùn)算。 將將e轉(zhuǎn)換成轉(zhuǎn)換成double型,型,然后然后d/e運(yùn)算。運(yùn)算。 將將 的結(jié)果轉(zhuǎn)換為的結(jié)果轉(zhuǎn)換為double型,然后與型,然后與 的結(jié)果相加。的結(jié)果相加。 用用的結(jié)果減的結(jié)果減 的結(jié)果。的結(jié)果。小結(jié):小結(jié):用算術(shù)運(yùn)算符和括號(hào)用算術(shù)運(yùn)算符和括號(hào)“( )”將運(yùn)算對(duì)象連接起來,符合語將運(yùn)算對(duì)象連接起
58、來,符合語法規(guī)則的式子稱為算術(shù)表達(dá)式。法規(guī)則的式子稱為算術(shù)表達(dá)式。賦值符號(hào)賦值符號(hào): (將賦值符右邊表達(dá)式的值賦給賦值符左邊的一個(gè)變量。將賦值符右邊表達(dá)式的值賦給賦值符左邊的一個(gè)變量。)兩種情況:兩種情況:2、賦值運(yùn)算符和賦值表達(dá)式、賦值運(yùn)算符和賦值表達(dá)式 賦值運(yùn)算符的數(shù)據(jù)類型若不一致,則要進(jìn)行類型轉(zhuǎn)換。轉(zhuǎn)賦值運(yùn)算符的數(shù)據(jù)類型若不一致,則要進(jìn)行類型轉(zhuǎn)換。轉(zhuǎn)換方式為:換方式為:將實(shí)型數(shù)據(jù)賦給整型變量時(shí),舍棄實(shí)數(shù)的小數(shù)部分。將實(shí)型數(shù)據(jù)賦給整型變量時(shí),舍棄實(shí)數(shù)的小數(shù)部分。如:如:int i; i=5.65; i 的值為的值為 5。將字符數(shù)據(jù)賦給整型變量時(shí),將字符數(shù)據(jù)放到整型變量低將字符數(shù)據(jù)賦給整型變
59、量時(shí),將字符數(shù)據(jù)放到整型變量低8位中。位中。若字符最高位為若字符最高位為1,整型變量的高,整型變量的高8位置位置1,否則高,否則高8位置位置0。若把字符處理為無符號(hào)的量,若把字符處理為無符號(hào)的量,整型變量的高整型變量的高8位置位置0。將整型數(shù)據(jù)賦給實(shí)型變量時(shí),數(shù)值不變。將整型數(shù)據(jù)賦給實(shí)型變量時(shí),數(shù)值不變。float f ; f=23; (先先2323.00000 再存儲(chǔ)在再存儲(chǔ)在f 中中)double d; d=23; (先先2323.000000000000000再存儲(chǔ)在再存儲(chǔ)在d中中)1 1 11 11 10c=37611 11 11 101 1 11 11 11i的值為的值為-2i0 0
60、 11 00 00c=000 11 00 000 0 00 00 00i的值為的值為48i設(shè)設(shè)int i;char c; i=c;(1)所用系統(tǒng)將字符處理為帶符號(hào)量或?qū)λ孟到y(tǒng)將字符處理為帶符號(hào)量或?qū)igned char型變量賦型變量賦值,則:值,則:高位為高位為1高位為高位為0(2)所用系統(tǒng)將字符處理為無符號(hào)量或?qū)λ孟到y(tǒng)將字符處理為無符號(hào)量或?qū)nsigned char型變量型變量賦值,則:賦值,則:0 0 11 00 00c= 000 11 00 000 0 00 00 00i的值為的值為48i1 1 11 11 10c=37611 11 11 100 0 00 00 00i的值為的值為254i將整型數(shù)據(jù)賦給長整型變量時(shí),將整型
溫馨提示
- 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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 心律失常的藥物治療希望何在-黃德嘉
- 2024年漯河市骨科醫(yī)院高層次衛(wèi)技人才招聘筆試歷年參考題庫頻考點(diǎn)附帶答案
- 2024年07月湖北漢口銀行總行辦公室社會(huì)招考(714)筆試歷年參考題庫附帶答案詳解
- 2024年07月浙江金華銀行金東支行招考筆試歷年參考題庫附帶答案詳解
- 2024年深圳市第五人民醫(yī)院高層次衛(wèi)技人才招聘筆試歷年參考題庫頻考點(diǎn)附帶答案
- 2024年07月浙江招商銀行杭州分行社會(huì)招考(730)筆試歷年參考題庫附帶答案詳解
- 2024年淮安仁愛醫(yī)院高層次衛(wèi)技人才招聘筆試歷年參考題庫頻考點(diǎn)附帶答案
- 2024年淮南礦業(yè)集團(tuán)四十二處職工醫(yī)院高層次衛(wèi)技人才招聘筆試歷年參考題庫頻考點(diǎn)附帶答案
- 2024年涿鹿縣醫(yī)院高層次衛(wèi)技人才招聘筆試歷年參考題庫頻考點(diǎn)附帶答案
- 第五章 第3節(jié) 凸透鏡成像的規(guī)律2024-2025學(xué)年新教材八年級(jí)上冊(cè)物理新說課稿(人教版2024)
- 數(shù)字油畫課件
- 2023年小學(xué)五年級(jí)數(shù)學(xué)上學(xué)期期末水平測(cè)試試卷(天河區(qū))
- 中考數(shù)學(xué)計(jì)算題100道
- 高壓變頻器整流變壓器
- 集團(tuán)資產(chǎn)重組實(shí)施方案
- 《新唯識(shí)論》儒佛會(huì)通思想研究
- 《減法教育》讀書筆記思維導(dǎo)圖PPT模板下載
- 慢性阻塞性肺疾病全球倡議(GOLD)
- 工程項(xiàng)目管理(第五版)叢培經(jīng) 第七章
- GB/T 33195-2016道路交通事故車輛速度鑒定
- GB/T 15176-1994插入式電子元器件用插座及其附件總規(guī)范
評(píng)論
0/150
提交評(píng)論