




版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、高級(jí)語(yǔ)言程序設(shè)計(jì)高級(jí)語(yǔ)言程序設(shè)計(jì)C+http:/第第2 2章章 C+C+語(yǔ)言初步語(yǔ)言初步C+程序的組成程序的組成1C+語(yǔ)言的基本符號(hào)語(yǔ)言的基本符號(hào)2C+語(yǔ)言的詞匯語(yǔ)言的詞匯3C+程序的基本框架程序的基本框架42C+程序的設(shè)計(jì)思路程序的設(shè)計(jì)思路5http:/第第2 2章章 C+C+語(yǔ)言初步語(yǔ)言初步C+程序的組成程序的組成1C+語(yǔ)言的基本符號(hào)語(yǔ)言的基本符號(hào)2C+語(yǔ)言的詞匯語(yǔ)言的詞匯3C+程序的基本框架程序的基本框架43C+程序的設(shè)計(jì)思路程序的設(shè)計(jì)思路5http:/C+C+程序組成程序組成字符序列關(guān)鍵字+標(biāo)識(shí)符+字面常量+運(yùn)算符+分隔符 語(yǔ)句4http:/C+C+程序組成程序組成v字符序列字符序列#
2、includevoid main()int a,b;couta;coutb;int c = a+b;couta+b=cendl;5http:/C+C+程序組成程序組成v關(guān)鍵字關(guān)鍵字+ +標(biāo)識(shí)符標(biāo)識(shí)符+ +字面常量字面常量+ +運(yùn)算符運(yùn)算符+ +分隔符分隔符#includevoid main()int a,b;couta;coutb;int c = a+b;couta+b=cendl;6http:/C+C+程序組成程序組成v語(yǔ)句語(yǔ)句#include/預(yù)處理命令語(yǔ)句預(yù)處理命令語(yǔ)句void main()/函數(shù)定義語(yǔ)句函數(shù)定義語(yǔ)句int a,b;/聲明語(yǔ)句聲明語(yǔ)句couta;/輸入語(yǔ)句輸入語(yǔ)句cout
3、b;/輸入語(yǔ)句輸入語(yǔ)句int c = a+b;/聲明聲明+賦值語(yǔ)句賦值語(yǔ)句couta+b=cendl; /輸出語(yǔ)句輸出語(yǔ)句7http:/初識(shí)初識(shí)C+C+程序程序v最簡(jiǎn)單的最簡(jiǎn)單的C+C+程序程序#includevoid main()coutThis is a C+ Program.endl;8http:/初識(shí)初識(shí)C+C+程序程序v注釋注釋 / / /* *和和* */ /v文件嵌入命令文件嵌入命令 #include#include 將將 內(nèi)指定的文件嵌入到命令所在位置內(nèi)指定的文件嵌入到命令所在位置9http:/初識(shí)初識(shí)C+C+程序程序v主函數(shù)主函數(shù) void main() void main(
4、) int main() int main() v輸出語(yǔ)句輸出語(yǔ)句 coutcout 標(biāo)準(zhǔn)標(biāo)準(zhǔn)輸出流輸出流對(duì)象對(duì)象Database & Information System Lab10http:/輸入輸入/ /輸出語(yǔ)句輸出語(yǔ)句v標(biāo)準(zhǔn)輸出語(yǔ)句標(biāo)準(zhǔn)輸出語(yǔ)句 coutcout v標(biāo)準(zhǔn)流類標(biāo)準(zhǔn)流類 iostream.hiostream.h文件文件 標(biāo)準(zhǔn)流類對(duì)象:標(biāo)準(zhǔn)流類對(duì)象:coutcout、cincin、cerrcerr11http:/輸入輸入/ /輸出語(yǔ)句輸出語(yǔ)句vC C語(yǔ)言的輸入輸出函數(shù)語(yǔ)言的輸入輸出函數(shù) 頭文件頭文件stdio.hstdio.h 標(biāo)準(zhǔn)輸入函數(shù)標(biāo)準(zhǔn)輸入函數(shù)scanfscanf s
5、canf(“%d”,&a);scanf(“%d”,&a); cina;cina; 標(biāo)準(zhǔn)輸出函數(shù)標(biāo)準(zhǔn)輸出函數(shù)printfprintf printf(“Lets learn to write a C+ printf(“Lets learn to write a C+ program.”);program.”); cout “Lets learn to write a C+ cout “Lets learn to write a C+ program.”;program.”;12http:/第第2 2章章 C+C+語(yǔ)言初步語(yǔ)言初步C+程序的組成程序的組成1C+語(yǔ)言的基本符號(hào)語(yǔ)言的基本符號(hào)2C+語(yǔ)言的
6、詞匯語(yǔ)言的詞匯3C+程序的基本框架程序的基本框架413C+程序的設(shè)計(jì)思路程序的設(shè)計(jì)思路5http:/基本符號(hào)分類與基本符號(hào)分類與ASCIIASCII碼碼14ASCII碼碼95個(gè)基本符號(hào)33個(gè)控制符號(hào)P27表2.1擴(kuò)展ASCII碼表分類分類字母(52個(gè))數(shù)字(10個(gè))特殊符號(hào)(33個(gè))基本符號(hào)http:/基本符號(hào)的基本符號(hào)的ASCIIASCII碼表碼表v字符型數(shù)據(jù)的含義字符型數(shù)據(jù)的含義 字符本身字符本身 字符的字符的ASCIIASCII碼碼15#includevoid main()char c1 = a;int i1 = c1;coutc1 i1endl;http:/第第2 2章章 C+C+語(yǔ)言
7、初步語(yǔ)言初步C+程序的組成程序的組成1C+語(yǔ)言的基本符號(hào)語(yǔ)言的基本符號(hào)2C+語(yǔ)言的詞匯語(yǔ)言的詞匯3C+程序的基本框架程序的基本框架416C+程序的設(shè)計(jì)思路程序的設(shè)計(jì)思路5http:/C+C+語(yǔ)言的詞匯語(yǔ)言的詞匯17C+標(biāo)識(shí)符標(biāo)識(shí)符關(guān)鍵字關(guān)鍵字字面常量字面常量運(yùn)算符運(yùn)算符分割符分割符http:/C+C+語(yǔ)言的詞匯語(yǔ)言的詞匯v關(guān)鍵字(關(guān)鍵字(key wordkey word) 一類特定的具有專門(mén)含義的單詞一類特定的具有專門(mén)含義的單詞 又稱為保留字(又稱為保留字(reserved wordreserved word) 例如(見(jiàn)例如(見(jiàn)P29P29表表2.22.2)voidintifelseforwh
8、ile18http:/C+C+語(yǔ)言的詞匯語(yǔ)言的詞匯v標(biāo)識(shí)符(標(biāo)識(shí)符(identifieridentifier) 為程序中使用的數(shù)據(jù)(常量或變量)、函數(shù)、為程序中使用的數(shù)據(jù)(常量或變量)、函數(shù)、類、對(duì)象、文件等起的類、對(duì)象、文件等起的“名字名字” 組成規(guī)則組成規(guī)則 以字母或下劃線以字母或下劃線“_ _”開(kāi)頭,由字母、數(shù)字、下劃開(kāi)頭,由字母、數(shù)字、下劃線組成的字符串線組成的字符串 不能與關(guān)鍵字重名不能與關(guān)鍵字重名 標(biāo)識(shí)符區(qū)分大小寫(xiě)標(biāo)識(shí)符區(qū)分大小寫(xiě) 有效長(zhǎng)度有規(guī)定有效長(zhǎng)度有規(guī)定19http:/C+C+語(yǔ)言的詞匯語(yǔ)言的詞匯v標(biāo)識(shí)符的命名標(biāo)識(shí)符的命名 匈牙利命名法(匈牙利命名法( Hungarian H
9、ungarian ) 變量名應(yīng)盡量表達(dá)變量的含義變量名應(yīng)盡量表達(dá)變量的含義 變量名前加前綴以說(shuō)明變量的類型及性質(zhì)變量名前加前綴以說(shuō)明變量的類型及性質(zhì) 駱駝命名法(駱駝命名法(camelCasecamelCase) 混合使用大小寫(xiě)字母來(lái)構(gòu)成變量和函數(shù)的名字混合使用大小寫(xiě)字母來(lái)構(gòu)成變量和函數(shù)的名字 帕斯卡命名法帕斯卡命名法(PascalCase)(PascalCase) 首字母大寫(xiě)首字母大寫(xiě)20http:/C+C+語(yǔ)言的詞匯語(yǔ)言的詞匯v匈牙利命名法匈牙利命名法 標(biāo)識(shí)符名應(yīng)盡量表達(dá)該標(biāo)識(shí)符的含義標(biāo)識(shí)符名應(yīng)盡量表達(dá)該標(biāo)識(shí)符的含義 常量、變量、函數(shù)、類、對(duì)象等等常量、變量、函數(shù)、類、對(duì)象等等 標(biāo)識(shí)符名前
10、面應(yīng)加前綴表示其數(shù)據(jù)類型或性質(zhì)標(biāo)識(shí)符名前面應(yīng)加前綴表示其數(shù)據(jù)類型或性質(zhì)21前綴前綴含義含義前綴前綴含義含義bBOOL (int)lLongbyUnsigned Char (byte)lpLong pointercCharp PointerdwDWORD (unsigned long)m_Data member of a classfnFunctionstrCString (MFC Class)g_globaluUnsigned intnIntegerw WORD (unsigned short)http:/C+C+語(yǔ)言的詞匯語(yǔ)言的詞匯v匈牙利命名法匈牙利命名法 某些前綴可組合使用某些前綴可組合
11、使用 pszMyString A pointer to a string.pszMyString A pointer to a string. m_pszMyString A pointer to a string that is m_pszMyString A pointer to a string that is a data member of a class.a data member of a class. pfnMyFunction A pointer to a functionpfnMyFunction A pointer to a function 類名以類名以C C為前綴為前
12、綴 CMyClassCMyClass22http:/C+C+語(yǔ)言的詞匯語(yǔ)言的詞匯v常量:固定不變的量常量:固定不變的量 字面常量字面常量(屬于(屬于C+C+語(yǔ)言的詞匯)語(yǔ)言的詞匯) 整型常量(整型常量(intint):整數(shù)):整數(shù)十進(jìn)制、八進(jìn)制(十進(jìn)制、八進(jìn)制(0 0開(kāi)頭)、十六進(jìn)制(開(kāi)頭)、十六進(jìn)制(0 x0 x或或0X0X開(kāi)頭)開(kāi)頭) 浮點(diǎn)型常量(浮點(diǎn)型常量(floatfloat):小數(shù)):小數(shù) 字符常量(字符常量(charchar):一個(gè)字符,由單引號(hào)標(biāo)識(shí)):一個(gè)字符,由單引號(hào)標(biāo)識(shí)aa 字符串常量:多個(gè)字符,以字符字符串常量:多個(gè)字符,以字符00結(jié)尾,由雙結(jié)尾,由雙引號(hào)標(biāo)識(shí)引號(hào)標(biāo)識(shí)“ab
13、cde“abcde00”23http:/C+C+語(yǔ)言的詞匯語(yǔ)言的詞匯v常量常量 有名常量有名常量 為常量設(shè)置一個(gè)為常量設(shè)置一個(gè)“名字名字” 常量名是標(biāo)識(shí)符常量名是標(biāo)識(shí)符24http:/C+C+語(yǔ)言的詞匯語(yǔ)言的詞匯v常量的數(shù)據(jù)類型常量的數(shù)據(jù)類型 整型常量整型常量 int int 型常量即整型常量,實(shí)際上就是整數(shù)。型常量即整型常量,實(shí)際上就是整數(shù)。C+C+程程序中除允許一般的十進(jìn)制整數(shù)之外,還允許八進(jìn)制序中除允許一般的十進(jìn)制整數(shù)之外,還允許八進(jìn)制整數(shù)和十六進(jìn)制整數(shù)出現(xiàn)。整數(shù)和十六進(jìn)制整數(shù)出現(xiàn)。 注意,在注意,在C+C+程序中,各種進(jìn)制的整數(shù)都程序中,各種進(jìn)制的整數(shù)都自動(dòng)轉(zhuǎn)換自動(dòng)轉(zhuǎn)換為十進(jìn)制為十進(jìn)制
14、輸出輸出例如:例如:cout023“ ”23“ ”0 x23;cout023“ ”23“ ”0 x23;將輸將輸出不同的十進(jìn)制整數(shù):出不同的十進(jìn)制整數(shù):191923233535 25http:/C+C+語(yǔ)言的詞匯語(yǔ)言的詞匯v常量的數(shù)據(jù)類型常量的數(shù)據(jù)類型 浮點(diǎn)型常量浮點(diǎn)型常量 小數(shù)點(diǎn)表示法:小數(shù)點(diǎn)表示法:4.754.75,2.0 2.0 科學(xué)表示法:科學(xué)表示法:1.2e4 1.2e4 ,-7.37e-3 -7.37e-3 注意,在注意,在C+C+程序中,浮點(diǎn)數(shù)以十進(jìn)制的形式輸入程序中,浮點(diǎn)數(shù)以十進(jìn)制的形式輸入和輸出,浮點(diǎn)數(shù)的存儲(chǔ)格式與系統(tǒng)要求有關(guān)和輸出,浮點(diǎn)數(shù)的存儲(chǔ)格式與系統(tǒng)要求有關(guān)例如:例如:
15、C+C+中中floatfloat型浮點(diǎn)數(shù)占型浮點(diǎn)數(shù)占4 4個(gè)字節(jié),個(gè)字節(jié),doubledouble型型浮點(diǎn)數(shù)占浮點(diǎn)數(shù)占8 8個(gè)字節(jié),個(gè)字節(jié),long doublelong double型浮點(diǎn)數(shù)占型浮點(diǎn)數(shù)占1010個(gè)字個(gè)字節(jié)。節(jié)。浮點(diǎn)型常量按浮點(diǎn)型常量按doubledouble型處理,占型處理,占8 8個(gè)字節(jié)個(gè)字節(jié) 加后綴加后綴f f或或F F可按可按floatfloat型處理,占型處理,占4 4個(gè)字節(jié)個(gè)字節(jié)浮點(diǎn)型常量有表示范圍,見(jiàn)浮點(diǎn)型常量有表示范圍,見(jiàn)P56P56表表3.23.226http:/C+C+語(yǔ)言的詞匯語(yǔ)言的詞匯v常量的數(shù)據(jù)類型常量的數(shù)據(jù)類型 浮點(diǎn)數(shù)的存儲(chǔ)(以浮點(diǎn)數(shù)的存儲(chǔ)(以dou
16、bledouble型浮點(diǎn)數(shù)為例)型浮點(diǎn)數(shù)為例) 占占8 8個(gè)字節(jié)(個(gè)字節(jié)(6464bitbit)符號(hào)位符號(hào)位 0 0代表正,代表正,1 1代表為負(fù)代表為負(fù)指數(shù)位指數(shù)位 用于存儲(chǔ)科學(xué)計(jì)數(shù)法中的指數(shù)數(shù)據(jù),并且采用移位存用于存儲(chǔ)科學(xué)計(jì)數(shù)法中的指數(shù)數(shù)據(jù),并且采用移位存儲(chǔ)儲(chǔ),即以,即以2 21010-1-1為基準(zhǔn),加減指數(shù)為基準(zhǔn),加減指數(shù)尾數(shù)尾數(shù)27http:/C+C+語(yǔ)言的詞匯語(yǔ)言的詞匯v常量的數(shù)據(jù)類型常量的數(shù)據(jù)類型 浮點(diǎn)數(shù)的存儲(chǔ)(以浮點(diǎn)數(shù)的存儲(chǔ)(以doubledouble型浮點(diǎn)數(shù)為例)型浮點(diǎn)數(shù)為例) 浮點(diǎn)數(shù)存儲(chǔ)之前做如下轉(zhuǎn)換:浮點(diǎn)數(shù)存儲(chǔ)之前做如下轉(zhuǎn)換:如:如:120.5(10) = 1110110.
17、1(2) = 1.1101101120.5(10) = 1110110.1(2) = 1.11011012 26 6 二進(jìn)制科學(xué)計(jì)數(shù)法的整數(shù)部分必為二進(jìn)制科學(xué)計(jì)數(shù)法的整數(shù)部分必為1 1,因此只需存,因此只需存儲(chǔ)小數(shù)部分即可儲(chǔ)小數(shù)部分即可 正數(shù)符號(hào)位為正數(shù)符號(hào)位為0 0 指數(shù)為指數(shù)為6 6,以,以2 21010-1-1為基準(zhǔn)進(jìn)行移位,得到為基準(zhǔn)進(jìn)行移位,得到1000000010110000000101(1111111111+1101111111111+110) 剩余的小數(shù)部分從最高位開(kāi)始填充尾數(shù)部分,填充剩余的小數(shù)部分從最高位開(kāi)始填充尾數(shù)部分,填充完畢尾數(shù)的剩余完畢尾數(shù)的剩余bitbit補(bǔ)補(bǔ)0
18、01101101110110100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000028http:/C+C+語(yǔ)言的詞匯語(yǔ)言的詞匯v常量的數(shù)據(jù)類型常量的數(shù)據(jù)類型 字符型常量字符型常量 用單引號(hào)括起的基本符號(hào)用單引號(hào)括起的基本符號(hào)A,g ,3, 占占1 1個(gè)字節(jié)個(gè)字節(jié)表示范圍:表示范圍:-128127-128127 ASCIIASCII碼將字符型常量與整型常量建立對(duì)應(yīng)關(guān)系碼將字符型常量與整型常量建立對(duì)應(yīng)關(guān)系01270127,P27P27表表2.12.1 字符串常量字符串常量
19、 用雙引號(hào)括起來(lái)的字符序列用雙引號(hào)括起來(lái)的字符序列以字符以字符0結(jié)尾結(jié)尾字符串長(zhǎng)度為字符數(shù)字符串長(zhǎng)度為字符數(shù)+1+1,如如“string constant”長(zhǎng)度為長(zhǎng)度為1629http:/C+C+語(yǔ)言的詞匯語(yǔ)言的詞匯v運(yùn)算符運(yùn)算符 由字母、數(shù)字之外的第三類基本符號(hào)組成由字母、數(shù)字之外的第三類基本符號(hào)組成 個(gè)別關(guān)鍵字如個(gè)別關(guān)鍵字如sizeofsizeof、newnew、deletedelete,也被認(rèn),也被認(rèn)為是運(yùn)算符為是運(yùn)算符 其余運(yùn)算符為:其余運(yùn)算符為:30+ +, ,- -, ,* *, ,/ /, , ,=, ,!=!=, , ,= =, , ,= =, ,! !, ,&, ,|, ,&
20、 &, , , ,| |, , ,+, ,-, ,+ += =, ,- -= =, ,*=*=, ,/=/=, ,= =, ,= =, ,= =, ,& &= =, , = =, ,| |= =, ,? ?: :, ,= =, ,()(), , ,. ., ,- -, , , , , ,: 某些運(yùn)算符還有其它用途,如乘運(yùn)算符*http:/C+C+語(yǔ)言的詞匯語(yǔ)言的詞匯v分割符(分割符(separatorseparator) 沒(méi)有明確的含義,但在程序中必不可少?zèng)]有明確的含義,但在程序中必不可少 用來(lái)界定或分割程序中的語(yǔ)法成分,類似于用來(lái)界定或分割程序中的語(yǔ)法成分,類似于“標(biāo)點(diǎn)符號(hào)標(biāo)點(diǎn)符號(hào)” 常用分
21、割符有:常用分割符有:31, , , ,# #, ,( (, ,) ), ,/*/*, ,*/*/, ,/, , ,; ;, , , , http:/第第2 2章章 C+C+語(yǔ)言初步語(yǔ)言初步C+程序的組成程序的組成1C+語(yǔ)言的基本符號(hào)語(yǔ)言的基本符號(hào)2C+語(yǔ)言的詞匯語(yǔ)言的詞匯3C+程序的基本框架程序的基本框架432C+程序的設(shè)計(jì)思路程序的設(shè)計(jì)思路5http:/C+程序的基本框架程序的基本框架結(jié)構(gòu)程序框架主函數(shù)面向?qū)ο蟪绦蚩蚣茴A(yù)處理命令33C+程序的基本框架程序的基本框架http:/主函數(shù)主函數(shù)v以標(biāo)識(shí)符以標(biāo)識(shí)符mainmain命名的、具有特殊性質(zhì)和功命名的、具有特殊性質(zhì)和功能的函數(shù)能的函數(shù) C+
22、C+程序的主控模塊或入口程序的主控模塊或入口 不能被其它函數(shù)調(diào)用,不能作其它屬性聲明不能被其它函數(shù)調(diào)用,不能作其它屬性聲明 返回值類型返回值類型 voidvoid intint 參數(shù)參數(shù) 不帶參數(shù)不帶參數(shù) 帶參數(shù)帶參數(shù)int argcint argcchar char * * argv argv 34http:/主函數(shù)主函數(shù)v主函數(shù)的寫(xiě)法主函數(shù)的寫(xiě)法35返回值類型返回值類型不帶參數(shù)不帶參數(shù)帶參數(shù)帶參數(shù)voidvoid main()void main(int argc, char* argv)void main(void)intint main()int main(int argc, char*
23、 argv)int main(void)缺?。ǚ祷刂禐閕nt)main()main(int argc, char* argv)main(void)http:/預(yù)處理命令預(yù)處理命令v以符號(hào)以符號(hào)“# #”開(kāi)頭開(kāi)頭v指出編譯程序之前需完成的預(yù)處理工作指出編譯程序之前需完成的預(yù)處理工作v主要預(yù)處理命令包括主要預(yù)處理命令包括 文件嵌入命令文件嵌入命令includeinclude 宏定義命令宏定義命令definedefine和和undefundef 條件編譯命令條件編譯命令 #if#endif#if#endif #ifdef#ifdef和和#endif#endif #ifndef#ifndef和和#en
24、dif#endif #elif#elif和和#else#else、#endif#endif 錯(cuò)誤報(bào)告命令錯(cuò)誤報(bào)告命令#error#error36http:/預(yù)處理命令預(yù)處理命令v文件嵌入命令文件嵌入命令 要求系統(tǒng)在編譯之前把它指明的文件嵌入到該要求系統(tǒng)在編譯之前把它指明的文件嵌入到該命令所在位置命令所在位置 include include 嵌入的是系統(tǒng)提供的頭文嵌入的是系統(tǒng)提供的頭文件件 include “ include “ ” ”嵌入的頭文件是用戶自嵌入的頭文件是用戶自己設(shè)計(jì)的頭文件己設(shè)計(jì)的頭文件 每一每一include include 命令只指定一個(gè)包含文件命令只指定一個(gè)包含文件 文件的
25、包含可以嵌套文件的包含可以嵌套 例如例如 #inlcude#inlcude將文件將文件iostream.hiostream.h包含在包含在C+C+源程序中調(diào)用該命令的位置源程序中調(diào)用該命令的位置37http:/宏定義命令宏定義命令v宏定義(宏定義(definedefine)命令亦稱宏替換命令,)命令亦稱宏替換命令,與其相關(guān)的還有取消宏定義與其相關(guān)的還有取消宏定義(#undef)(#undef)命令命令v宏定義命令格式宏定義命令格式 #define #define #undef #undef v宏定義可以作為常量說(shuō)明宏定義可以作為常量說(shuō)明, ,也可以出現(xiàn)在另也可以出現(xiàn)在另一個(gè)宏定義的宏替換體中一
26、個(gè)宏定義的宏替換體中 v宏替換體也可以是符號(hào)、字符串、可執(zhí)行宏替換體也可以是符號(hào)、字符串、可執(zhí)行的表達(dá)式語(yǔ)句,也可以為空的表達(dá)式語(yǔ)句,也可以為空v一種復(fù)雜的宏替換是帶參數(shù)的宏替換一種復(fù)雜的宏替換是帶參數(shù)的宏替換 #define #define 38http:/結(jié)構(gòu)程序框架結(jié)構(gòu)程序框架v結(jié)構(gòu)程序設(shè)計(jì)(結(jié)構(gòu)程序設(shè)計(jì)(SPSP)的基本思想是自頂向)的基本思想是自頂向下逐步求精,在編程時(shí)總是把一個(gè)大的復(fù)下逐步求精,在編程時(shí)總是把一個(gè)大的復(fù)雜的任務(wù)逐步劃分為若干子任務(wù),形成用雜的任務(wù)逐步劃分為若干子任務(wù),形成用一個(gè)個(gè)相對(duì)簡(jiǎn)單的獨(dú)立的程序功能模塊一個(gè)個(gè)相對(duì)簡(jiǎn)單的獨(dú)立的程序功能模塊39http:/結(jié)構(gòu)程序框
27、架結(jié)構(gòu)程序框架v缺點(diǎn)缺點(diǎn) SPSP方法沒(méi)有充分利用方法沒(méi)有充分利用C+C+語(yǔ)言提供的有力手段。語(yǔ)言提供的有力手段。 以函數(shù)為中心對(duì)程序進(jìn)行模塊劃分,主要是依以函數(shù)為中心對(duì)程序進(jìn)行模塊劃分,主要是依照程序模塊的功能特征,劃分具有相當(dāng)大的隨照程序模塊的功能特征,劃分具有相當(dāng)大的隨意性。意性。 C+C+語(yǔ)言中的函數(shù)沒(méi)有層次關(guān)系,除了主函數(shù)語(yǔ)言中的函數(shù)沒(méi)有層次關(guān)系,除了主函數(shù)之外,所有的函數(shù)都是之外,所有的函數(shù)都是“平等平等”的,可以說(shuō)是的,可以說(shuō)是一個(gè)無(wú)序的集合。函數(shù)間,模塊間的聯(lián)系較多,一個(gè)無(wú)序的集合。函數(shù)間,模塊間的聯(lián)系較多,不利于程序的編制、調(diào)試、修改、擴(kuò)充和重用。不利于程序的編制、調(diào)試、修改
28、、擴(kuò)充和重用。vC+C+語(yǔ)言仍然支持語(yǔ)言仍然支持SPSP框架的程序設(shè)計(jì),當(dāng)開(kāi)框架的程序設(shè)計(jì),當(dāng)開(kāi)發(fā)小規(guī)模程序時(shí),這種方式仍然有用發(fā)小規(guī)模程序時(shí),這種方式仍然有用40http:/面向?qū)ο蟪绦蚩蚣苊嫦驅(qū)ο蟪绦蚩蚣躹按面向?qū)ο蟪绦蛟O(shè)計(jì)思想設(shè)計(jì)的程序,它按面向?qū)ο蟪绦蛟O(shè)計(jì)思想設(shè)計(jì)的程序,它的主體是若干類定義的集合的主體是若干類定義的集合 類聲明類聲明 類成員函數(shù)的定義類成員函數(shù)的定義v主函數(shù)作為程序的入口主函數(shù)作為程序的入口v從程序設(shè)計(jì)方法學(xué)觀點(diǎn)看,從程序設(shè)計(jì)方法學(xué)觀點(diǎn)看,OOP OOP 更科學(xué)更更科學(xué)更嚴(yán)謹(jǐn),是程序設(shè)計(jì)理論經(jīng)過(guò)五十年的發(fā)展嚴(yán)謹(jǐn),是程序設(shè)計(jì)理論經(jīng)過(guò)五十年的發(fā)展歷程,從而達(dá)到了成熟時(shí)期的
29、結(jié)果歷程,從而達(dá)到了成熟時(shí)期的結(jié)果41http:/面向?qū)ο蟪绦蚩蚣苊嫦驅(qū)ο蟪绦蚩蚣躹面向?qū)ο蟪绦蛟O(shè)計(jì)的三個(gè)基本概念面向?qū)ο蟪绦蛟O(shè)計(jì)的三個(gè)基本概念 類類 對(duì)事物的抽象對(duì)事物的抽象 對(duì)象對(duì)象 事物的屬性和對(duì)事物的處理作為一個(gè)對(duì)象事物的屬性和對(duì)事物的處理作為一個(gè)對(duì)象 類的實(shí)例類的實(shí)例 消息消息 對(duì)象之間傳遞的信息對(duì)象之間傳遞的信息42http:/面向?qū)ο蟪绦蚩蚣苊嫦驅(qū)ο蟪绦蚩蚣躹面向?qū)ο蟪绦蛟O(shè)計(jì)的基本特征面向?qū)ο蟪绦蛟O(shè)計(jì)的基本特征 封裝性封裝性 好像系統(tǒng)的一個(gè)部件(例如計(jì)算機(jī)系統(tǒng)中的圖形卡、好像系統(tǒng)的一個(gè)部件(例如計(jì)算機(jī)系統(tǒng)中的圖形卡、聲卡、打印機(jī)),它是作為一個(gè)整體參加系統(tǒng)工作聲卡、打印機(jī)),它是
30、作為一個(gè)整體參加系統(tǒng)工作的,其內(nèi)部工作原理被封裝起來(lái),只把功能和基本的,其內(nèi)部工作原理被封裝起來(lái),只把功能和基本操作對(duì)外公開(kāi),便于系統(tǒng)使用,其數(shù)據(jù)只能通過(guò)規(guī)操作對(duì)外公開(kāi),便于系統(tǒng)使用,其數(shù)據(jù)只能通過(guò)規(guī)定的基本操作進(jìn)行處理,這就是封裝和數(shù)據(jù)隱藏原定的基本操作進(jìn)行處理,這就是封裝和數(shù)據(jù)隱藏原理。理。 繼承性繼承性 在設(shè)計(jì)好的類的基礎(chǔ)上可以生成派生類,派生類在設(shè)計(jì)好的類的基礎(chǔ)上可以生成派生類,派生類繼承原類的設(shè)計(jì),又增加新的功能,于是類之間可繼承原類的設(shè)計(jì),又增加新的功能,于是類之間可以有繼承和派生關(guān)系,有利于簡(jiǎn)化程序設(shè)計(jì)。這與以有繼承和派生關(guān)系,有利于簡(jiǎn)化程序設(shè)計(jì)。這與函數(shù)之間的關(guān)系不同。函數(shù)之間的關(guān)系不同。 多態(tài)性多態(tài)性 一個(gè)類的不同對(duì)象可以對(duì)同一消息產(chǎn)生不同的響應(yīng)一個(gè)類的不同對(duì)象可以對(duì)同一消息產(chǎn)生不同的響應(yīng)Database & Information System Lab43http:/第第2 2章章 C+C+語(yǔ)言初步語(yǔ)言初步C+程序的組成程序的組成1C+語(yǔ)言的基本符號(hào)語(yǔ)言的基本符號(hào)2C+語(yǔ)言的詞匯語(yǔ)言的詞匯3C+程序的基本框架程序的基本框架444C+程序的設(shè)計(jì)思路程序的設(shè)計(jì)思路5http:/自然語(yǔ)言數(shù)學(xué)語(yǔ)言程序語(yǔ)言45C+C+程序的設(shè)計(jì)思路程序的設(shè)計(jì)思路http:/v【例例2.12.1】已知公雞已知公雞5 5元,母雞元,母雞3 3元,小雞元,
溫馨提示
- 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫(kù)網(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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025至2030年中國(guó)書(shū)架子數(shù)據(jù)監(jiān)測(cè)研究報(bào)告
- 創(chuàng)新菜品考試題及答案
- 2019-2025年消防設(shè)施操作員之消防設(shè)備基礎(chǔ)知識(shí)考前沖刺模擬試卷A卷含答案
- 2019-2025年消防設(shè)施操作員之消防設(shè)備基礎(chǔ)知識(shí)考前沖刺模擬試卷A卷含答案
- 2019-2025年軍隊(duì)文職人員招聘之軍隊(duì)文職教育學(xué)通關(guān)題庫(kù)(附答案)
- 2020年遼寧省沈陽(yáng)市中考道德與法治試卷(含答案)
- 采購(gòu)與質(zhì)量分包合同(2篇)
- 高等教育自學(xué)考試《00102世界市場(chǎng)行情》模擬試卷三
- 2025年全國(guó)碩士研究生考試《管理類聯(lián)考綜合能力》模擬試卷一
- 2025年法制宣傳日普法知識(shí)競(jìng)賽題庫(kù)及答案(二)
- 為別人生小孩協(xié)議書(shū)模板
- 2024年青海省中考生物地理合卷試題(含答案解析)
- JGJ 111-2016 建筑與市政工程地下水控制技術(shù)規(guī)范
- NB-T31065-2015風(fēng)力發(fā)電場(chǎng)調(diào)度運(yùn)行規(guī)程
- 幼兒園小班科學(xué)課件:《新年的禮物》
- 四川省綿陽(yáng)市東辰學(xué)校2023-2024學(xué)年七年級(jí)下學(xué)期3月月考語(yǔ)文卷
- DZ/T 0430-2023 固體礦產(chǎn)資源儲(chǔ)量核實(shí)報(bào)告編寫(xiě)規(guī)范(正式版)
- 2024年江西旅游商貿(mào)職業(yè)學(xué)院?jiǎn)握新殬I(yè)適應(yīng)性測(cè)試題庫(kù)及參考答案
- 社會(huì)實(shí)踐報(bào)告表格范本
- 統(tǒng)編版語(yǔ)文五年級(jí)下冊(cè)第一單元習(xí)作:那一刻我長(zhǎng)大了 課件
- 老年人能力評(píng)估服務(wù)投標(biāo)方案(技術(shù)方案)
評(píng)論
0/150
提交評(píng)論