第二章編程基礎(chǔ)_第1頁
第二章編程基礎(chǔ)_第2頁
第二章編程基礎(chǔ)_第3頁
第二章編程基礎(chǔ)_第4頁
第二章編程基礎(chǔ)_第5頁
已閱讀5頁,還剩94頁未讀 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

1、1第第2 2章章 編程基礎(chǔ)編程基礎(chǔ)教學(xué)目標:教學(xué)目標: 1 1了解了解C+C+程序的基本框架;程序的基本框架; 2 2掌握掌握C+C+的基本數(shù)據(jù)類型;的基本數(shù)據(jù)類型; 3. 3. 掌握常量、變量的定義及使用方法;掌握常量、變量的定義及使用方法; 4. 4. 掌握掌握C+C+提供的基本運算符及表達式;提供的基本運算符及表達式; 5. 5. 掌握數(shù)據(jù)類型的轉(zhuǎn)換;掌握數(shù)據(jù)類型的轉(zhuǎn)換; 6. 6. 掌握標準輸入輸出流;掌握標準輸入輸出流; 7. 7. 能夠使用能夠使用Visual C+ 6.0Visual C+ 6.0集成開發(fā)環(huán)境編集成開發(fā)環(huán)境編輯、編譯、運行程序。輯、編譯、運行程序。2教學(xué)內(nèi)容:教學(xué)

2、內(nèi)容:1 1C+C+程序的基本框架程序的基本框架2 2C+C+程序的開發(fā)過程程序的開發(fā)過程3. 3. 變量與常量變量與常量4 4運算符與表達式運算符與表達式5. 5. 類型轉(zhuǎn)換類型轉(zhuǎn)換3例例2.1 2.1 編寫程序:在計算機屏幕上顯示:編寫程序:在計算機屏幕上顯示: Hello,C+!Hello,C+!算法描述:算法描述: 輸出輸出: Hello,C+!: Hello,C+!源程序清單:源程序清單:/ / 屏幕輸出屏幕輸出Hello,C+! Hello,C+! #include /#include /預(yù)編譯命令預(yù)編譯命令 using namespace std; / usingusing na

3、mespace std; / using命令命令 void main( ) /void main( ) /主函數(shù)名主函數(shù)名 / /表示函數(shù)的開頭表示函數(shù)的開頭coutHello,C+!endl; /coutHello,C+!endl; /函數(shù)體函數(shù)體 / /表示函數(shù)的結(jié)束表示函數(shù)的結(jié)束 41 1C+C+程序中程序中“/”符號表明后續(xù)字符為注釋信息,即給符號表明后續(xù)字符為注釋信息,即給閱讀程序的人提供的簡單解釋。注釋是幫助閱讀程序的閱讀程序的人提供的簡單解釋。注釋是幫助閱讀程序的說明,屬內(nèi)部文檔,可以增強程序的可讀性,使程序更說明,屬內(nèi)部文檔,可以增強程序的可讀性,使程序更易理解,但與該程序的運

4、行無關(guān),在編譯時被忽略。易理解,但與該程序的運行無關(guān),在編譯時被忽略。C+C+提供了兩種注釋方法:提供了兩種注釋方法:/ / 其后至換行的所有字符為注釋信息。其后至換行的所有字符為注釋信息。/ /* * * */ / 夾在夾在“/ /* *”與與“* */ /”之間的所有字符為之間的所有字符為注釋信息。但不能再包括注釋信息。但不能再包括“/ /* *”和和“* */ /”, ,即這種注解方即這種注解方式不能嵌套。式不能嵌套。程序第一行程序第一行/ / 屏幕輸出屏幕輸出Hello,C+! Hello,C+! 用于說明程用于說明程序的功能,稱為序言注釋。第二行起語句后的注釋稱為序的功能,稱為序言注

5、釋。第二行起語句后的注釋稱為解釋性注釋。解釋性注釋。 52. #include 2. #include 是一條預(yù)編譯命令,它告訴編是一條預(yù)編譯命令,它告訴編譯系統(tǒng)在編譯本程序時把系統(tǒng)提供的庫文件譯系統(tǒng)在編譯本程序時把系統(tǒng)提供的庫文件iostreamiostream的的內(nèi)容插入到該行的位置。內(nèi)容插入到該行的位置。 #include#include預(yù)編譯命令后不加分號。預(yù)編譯命令后不加分號。 3. C+3. C+語言程序是由一個或多個函數(shù)組成的文件,在組成語言程序是由一個或多個函數(shù)組成的文件,在組成程序的函數(shù)中,必須有且只有一個主函數(shù)程序的函數(shù)中,必須有且只有一個主函數(shù)mainmain。函數(shù)名。函

6、數(shù)名之后必須有一對小圓括號之后必須有一對小圓括號“( )”,括號中可以有參,括號中可以有參數(shù)。數(shù)。mainmain函數(shù)在程序中位置并無限定,可以是任意的。函數(shù)在程序中位置并無限定,可以是任意的。但主函數(shù)但主函數(shù)mainmain代表了程序執(zhí)行的起始點和終止點,即不代表了程序執(zhí)行的起始點和終止點,即不管程序里有多少個函數(shù),不管管程序里有多少個函數(shù),不管mainmain函數(shù)位置如何,程序函數(shù)位置如何,程序總是從主函數(shù)總是從主函數(shù)mainmain的第一條語句開始執(zhí)行,并結(jié)束于主的第一條語句開始執(zhí)行,并結(jié)束于主函數(shù)的最后一條語句。函數(shù)的最后一條語句。6在基本程序設(shè)計中,源程序只包含一個主函數(shù)(即在基本程

7、序設(shè)計中,源程序只包含一個主函數(shù)(即mainmain函函數(shù)),程序的框架結(jié)構(gòu)均為:數(shù)),程序的框架結(jié)構(gòu)均為:#include #include using namespace std;using namespace std;void main( )void main( ) 函數(shù)體函數(shù)體 7(1 1)“ ”與與“ ”必須配對使用,必須配對使用,“ ”之間的內(nèi)容為函之間的內(nèi)容為函數(shù)體,函數(shù)體內(nèi)可以包含任意多行語句。數(shù)體,函數(shù)體內(nèi)可以包含任意多行語句。(2 2)C+C+規(guī)定每個語句的最后以規(guī)定每個語句的最后以“;”結(jié)束。結(jié)束。(3 3)C+C+程序的書寫很靈活,一行可書寫多個語句,一個程序的書寫很靈

8、活,一行可書寫多個語句,一個語句可以寫成多行,但書寫時首先應(yīng)該考慮程序的可讀語句可以寫成多行,但書寫時首先應(yīng)該考慮程序的可讀性。性。(4 4)主函數(shù)的書寫也可以是如下形式:)主函數(shù)的書寫也可以是如下形式:int main( )int main( ) 函數(shù)體函數(shù)體return 0;return 0; 84. cout4. cout是一個標準輸出文件名,表示標準輸出設(shè)備計是一個標準輸出文件名,表示標準輸出設(shè)備計算機屏幕。符號算機屏幕。符號“”是插入運算符,它指示計算機把是插入運算符,它指示計算機把其右端用雙引號括起來的字符串輸送到屏幕。如在屏幕其右端用雙引號括起來的字符串輸送到屏幕。如在屏幕上輸出

9、上輸出 Today is SundayToday is Sunday,可使用,可使用coutToday is coutToday is Sundayendl;Sundayendl;其中其中endlendl起換行的作用。關(guān)于起換行的作用。關(guān)于endlendl的作的作用觀察例用觀察例2.12.1程序運行后的輸出窗口:程序運行后的輸出窗口:9輸出輸出Hello,C+!Hello,C+!后遇到后遇到endlendl換行,因此出現(xiàn)在每個換行,因此出現(xiàn)在每個程序運行結(jié)果后的系統(tǒng)提示信息程序運行結(jié)果后的系統(tǒng)提示信息“Press any key to Press any key to continuecont

10、inue”顯示在下一行。若去掉顯示在下一行。若去掉endlendl,改為,改為coutHello,C+!;coutHello,C+!;輸出窗口如下:輸出窗口如下:10由于由于coutcout、endlendl的說明都在系統(tǒng)提供的庫文件的說明都在系統(tǒng)提供的庫文件iostreamiostream中,因此,凡是程序中需要使用這些功能時,中,因此,凡是程序中需要使用這些功能時,必須使用必須使用#include #include 預(yù)編譯命令。預(yù)編譯命令。 5.C+5.C+是區(qū)分大小寫的,因此除是區(qū)分大小寫的,因此除Hello,C+!Hello,C+!雙引號里雙引號里的內(nèi)容你可以隨意改變外,其余如的內(nèi)容你

11、可以隨意改變外,其余如#include#include、coutcout、mainmain等都必須嚴格使用英文小寫,等都必須嚴格使用英文小寫, 因為它們都是系統(tǒng)因為它們都是系統(tǒng)提供的關(guān)鍵字,不能隨意改變。所有標點也必須使用西提供的關(guān)鍵字,不能隨意改變。所有標點也必須使用西文標點,只有雙引號里、注釋語句里可以使用中文。文標點,只有雙引號里、注釋語句里可以使用中文。 112.2 C+程序的開發(fā)過程程序的開發(fā)過程 例例2.22.2 使用使用Visual C+ 6.0Visual C+ 6.0編輯、運行、調(diào)試例編輯、運行、調(diào)試例2.12.1中的中的程序。程序。操作技巧:操作技巧:創(chuàng)建和運行一個創(chuàng)建和運

12、行一個C+C+程序,需要一個文本編輯器和程序,需要一個文本編輯器和一個一個C+C+編譯器,操作步驟如下:編譯器,操作步驟如下:(1 1)編輯:使用編輯器輸入)編輯:使用編輯器輸入C+C+語句,稱為語句,稱為C+C+源程序。源程序。包含源程序的文件稱為源文件,擴展名為包含源程序的文件稱為源文件,擴展名為.cpp.cpp??梢赃x??梢赃x用集成開發(fā)環(huán)境中的編輯器編輯用集成開發(fā)環(huán)境中的編輯器編輯C+C+源程序,也可以利源程序,也可以利用其它編輯工具編輯,但必須是無格式的文本文件(即用其它編輯工具編輯,但必須是無格式的文本文件(即純文本文件)。純文本文件)。12(2 2)編譯:因為計算機只能識別二進制,

13、對于高級語言)編譯:因為計算機只能識別二進制,對于高級語言編寫的源程序無法識別,因此需要使用編譯器將源程序編寫的源程序無法識別,因此需要使用編譯器將源程序轉(zhuǎn)換成計算機能識別的機器代碼(稱為目標代碼,即機轉(zhuǎn)換成計算機能識別的機器代碼(稱為目標代碼,即機器可以直接識別的二進制代碼)。包含目標代碼的文件器可以直接識別的二進制代碼)。包含目標代碼的文件稱為目標文件,擴展名為稱為目標文件,擴展名為.obj.obj。(3 3)連接:高級語言系統(tǒng)為方便用戶使用,將經(jīng)常使用)連接:高級語言系統(tǒng)為方便用戶使用,將經(jīng)常使用的標準程序預(yù)先編輯并編譯成可直接調(diào)用的機器代碼,的標準程序預(yù)先編輯并編譯成可直接調(diào)用的機器代

14、碼,構(gòu)成庫文件,如常用的輸入、輸出、數(shù)學(xué)函數(shù)等。編譯構(gòu)成庫文件,如常用的輸入、輸出、數(shù)學(xué)函數(shù)等。編譯器在創(chuàng)建了目標文件后,要調(diào)用其連接器將程序中所用器在創(chuàng)建了目標文件后,要調(diào)用其連接器將程序中所用到的庫文件與目標文件連接起來,生成可直接運行的可到的庫文件與目標文件連接起來,生成可直接運行的可執(zhí)行文件,擴展名為執(zhí)行文件,擴展名為.exe.exe。(4 4)運行:運行編譯連接好的可執(zhí)行文件,將輸出程序)運行:運行編譯連接好的可執(zhí)行文件,將輸出程序的運行結(jié)果。的運行結(jié)果。 13在在Visual C+Visual C+中可以創(chuàng)建許多不同類型的應(yīng)用程序,中可以創(chuàng)建許多不同類型的應(yīng)用程序,本書重點講解創(chuàng)建

15、控制臺應(yīng)用程序的方法,所謂控制臺本書重點講解創(chuàng)建控制臺應(yīng)用程序的方法,所謂控制臺應(yīng)用程序,是指運行在應(yīng)用程序,是指運行在DOSDOS窗口的程序。窗口的程序。 C+C+中開發(fā)的應(yīng)用程序叫做項目,每個正在開發(fā)的中開發(fā)的應(yīng)用程序叫做項目,每個正在開發(fā)的項目要占用一個工作區(qū)(項目要占用一個工作區(qū)(workspaceworkspace),在建立項目的),在建立項目的同時就為其建立了工作區(qū)。工作區(qū)包含了一個或多個項同時就為其建立了工作區(qū)。工作區(qū)包含了一個或多個項目在開發(fā)過程中所包括的全部內(nèi)容。它保存著關(guān)于一個目在開發(fā)過程中所包括的全部內(nèi)容。它保存著關(guān)于一個或多個應(yīng)用項目文件的編輯、編譯、調(diào)試、版本、系統(tǒng)或

16、多個應(yīng)用項目文件的編輯、編譯、調(diào)試、版本、系統(tǒng)界面設(shè)置等全面信息,構(gòu)成一個概念上十分完整的開發(fā)界面設(shè)置等全面信息,構(gòu)成一個概念上十分完整的開發(fā)空間。用戶打開了一個工作區(qū)也就是打開了一個或多個空間。用戶打開了一個工作區(qū)也就是打開了一個或多個項目文件及其對系統(tǒng)的設(shè)置信息,開發(fā)系統(tǒng)將根據(jù)它設(shè)項目文件及其對系統(tǒng)的設(shè)置信息,開發(fā)系統(tǒng)將根據(jù)它設(shè)置有關(guān)此項目或項目群所要求的開發(fā)環(huán)境。置有關(guān)此項目或項目群所要求的開發(fā)環(huán)境。14使用使用Visual C+ 6.0Visual C+ 6.0創(chuàng)建和運行一個創(chuàng)建和運行一個C+C+程序的步驟:程序的步驟: 選擇選擇FileFile(文件)菜單(文件)菜單/ New/ N

17、ew(新建)選項,彈(新建)選項,彈出出NewNew(新建)對話框,選擇(新建)對話框,選擇ProjectsProjects(工程)選項卡,(工程)選項卡,其他操作見下圖:其他操作見下圖: 圖圖2.1 2.1 “新建(新建(NewNew)”對話框?qū)υ捒?15 在彈出的對話框中進行如圖在彈出的對話框中進行如圖2.22.2所示的操作:所示的操作: 圖圖2.2 2.2 “Win32 Console Application Win32 Console Application - Step 1 of 1- Step 1 of 1”對話框?qū)υ捒?16 在彈出的在彈出的“New Project Inform

18、ationNew Project Information”對話框中,對話框中,單擊單擊“OKOK”按鈕。按鈕。圖圖2.3 2.3 “New Project InformationNew Project Information”對話框?qū)υ捒?17圖圖2.4 2.4 成功創(chuàng)建工作區(qū)成功創(chuàng)建工作區(qū) 這樣就利用這樣就利用Visual C+Visual C+創(chuàng)建了一個工作區(qū)和一個項創(chuàng)建了一個工作區(qū)和一個項目。工作區(qū)包含一個或多個項目,而一個項目包含一個目。工作區(qū)包含一個或多個項目,而一個項目包含一個或多個源代碼文件。本例工作區(qū)為:或多個源代碼文件。本例工作區(qū)為:F:C+11F:C+11。創(chuàng)建了工作區(qū)和項

19、目后,就可以在項目中添加源文創(chuàng)建了工作區(qū)和項目后,就可以在項目中添加源文件,添加的文件可以是新建的源文件,也可以是已有的件,添加的文件可以是新建的源文件,也可以是已有的源文件。源文件。18在項目中添加源文件在項目中添加源文件 在圖在圖2.42.4中選擇中選擇FileFile(文件)菜單中的(文件)菜單中的NewNew(新建)選項,在彈出的(新建)選項,在彈出的NewNew(新建)對話框中點擊(新建)對話框中點擊FileFile(文件)選項卡,進行如圖(文件)選項卡,進行如圖2.52.5所示的操作:所示的操作: 圖圖2.5 2.5 新建(新建(NewNew)對話框)對話框 19 彈出源代碼編輯窗

20、口,即可輸入彈出源代碼編輯窗口,即可輸入C+C+代碼:代碼: 圖圖2.6 2.6 源代碼編輯窗口源代碼編輯窗口 20如果使用的是彩色顯示器,可以看到注釋行的顏色如果使用的是彩色顯示器,可以看到注釋行的顏色為綠色,關(guān)鍵字(如為綠色,關(guān)鍵字(如# #includeinclude、using namespaceusing namespace、voidvoid)的顏色為蘭色,)的顏色為蘭色,Visual C+Visual C+的編輯器采用區(qū)別于的編輯器采用區(qū)別于其他代碼的顏色幫助用戶快速區(qū)分注釋和關(guān)鍵字。其他代碼的顏色幫助用戶快速區(qū)分注釋和關(guān)鍵字。(4 4)保存:輸入程序文件后要及時保存,選擇)保存:

21、輸入程序文件后要及時保存,選擇File(File(文件文件) )菜單中菜單中SaveSave命令或工具按鈕命令或工具按鈕 。本例源程。本例源程序文件為序文件為F:C+1111.cppF:C+1111.cpp。(5 5)編譯)編譯: :選擇選擇Build(Build(組建組建) )菜單中菜單中Compile Compile 11.cpp11.cpp命令或工具按鈕命令或工具按鈕 ,如果編譯成功就生成目標,如果編譯成功就生成目標程序,如圖程序,如圖2.72.7所示:所示: 21圖圖2.7 2.7 生成目標程序生成目標程序編譯的主要過程是對源程序進行語法及語義分析,編譯的主要過程是對源程序進行語法及語

22、義分析,檢查和翻譯。若無錯誤,則系統(tǒng)自動生成檢查和翻譯。若無錯誤,則系統(tǒng)自動生成.obj.obj文件;若文件;若編譯中發(fā)現(xiàn)錯誤,則給出編譯中發(fā)現(xiàn)錯誤,則給出“出錯信息出錯信息”,表明錯誤的類,表明錯誤的類型與位置。這時,應(yīng)返回編輯狀態(tài)對源程序進行修改、型與位置。這時,應(yīng)返回編輯狀態(tài)對源程序進行修改、保存、編譯,反復(fù)修改直至編譯通過生成保存、編譯,反復(fù)修改直至編譯通過生成.obj.obj文件為止。文件為止。 22(6 6)連接)連接: :選擇選擇BuildBuild(組建)菜單中(組建)菜單中Build 11.exeBuild 11.exe命命令或工具按鈕令或工具按鈕 ,生成可執(zhí)行程序。,生成可

23、執(zhí)行程序。 23(7 7)運行)運行: :選擇選擇BuildBuild(組建)菜單中(組建)菜單中Execute 11.exeExecute 11.exe命命令或工具按鈕令或工具按鈕 ,運行窗口為,運行窗口為DOSDOS窗口如圖窗口如圖2.92.9,可右,可右擊標題欄修改屬性(顏色、文字大小等):擊標題欄修改屬性(顏色、文字大小等):圖圖2.9 2.9 輸出窗口輸出窗口可執(zhí)行文件可以脫離編譯系統(tǒng)獨立存在。在操作系統(tǒng)支持可執(zhí)行文件可以脫離編譯系統(tǒng)獨立存在。在操作系統(tǒng)支持下,鍵入可執(zhí)行文件名,文件便立刻執(zhí)行。下,鍵入可執(zhí)行文件名,文件便立刻執(zhí)行。24(8 8)打印程序)打印程序: :如果計算機安裝

24、了打印機,可選擇如果計算機安裝了打印機,可選擇File(File(文件文件) )菜單中菜單中PrintPrint(打印)命令打印程序。(打印)命令打印程序。(9 9)關(guān)閉工作空間:程序運行完畢后,選擇)關(guān)閉工作空間:程序運行完畢后,選擇File(File(文件文件) )菜單中菜單中Close WorkspaceClose Workspace(關(guān)閉工作空間)命令,在隨(關(guān)閉工作空間)命令,在隨后出現(xiàn)的對話框后出現(xiàn)的對話框 “Do you want to close all Do you want to close all document windows?document windows?”(

25、(你要關(guān)閉所有文檔窗口嗎?你要關(guān)閉所有文檔窗口嗎?) )中選中選擇擇Yes(Yes(是是) )按鈕,即關(guān)閉了當前工作區(qū)?,F(xiàn)在可以打開按鈕,即關(guān)閉了當前工作區(qū)。現(xiàn)在可以打開另一個程序或創(chuàng)建一個新程序了。特別注意,如果只關(guān)另一個程序或創(chuàng)建一個新程序了。特別注意,如果只關(guān)閉閉.cpp.cpp程序窗口標題欄上的關(guān)閉按鈕,僅僅是關(guān)閉程序窗口標題欄上的關(guān)閉按鈕,僅僅是關(guān)閉了了.cpp.cpp程序窗口,未關(guān)閉當前工作區(qū),也就無法進行新程序窗口,未關(guān)閉當前工作區(qū),也就無法進行新程序的創(chuàng)建。程序的創(chuàng)建。25(1010)打開程序:最近使用過的文件可通過)打開程序:最近使用過的文件可通過 File(File(文件文

26、件) )菜單中菜單中“最近文件最近文件”或或“最近工作空間最近工作空間”快速打開,否快速打開,否則通過則通過File(File(文件文件) )菜單中菜單中Open(Open(打開打開) )菜單打開。菜單打開。(1111)退出)退出Visual C+ 6.0Visual C+ 6.0系統(tǒng):選擇系統(tǒng):選擇File(File(文件文件) )菜單菜單中中Exit(Exit(退出退出) )可退出系統(tǒng),或直接關(guān)閉系統(tǒng)窗口的關(guān)閉可退出系統(tǒng),或直接關(guān)閉系統(tǒng)窗口的關(guān)閉按鈕。按鈕。 26C+C+中的一些基本概念中的一些基本概念1 1、C+C+字符集字符集 C+C+程序由下面字符所組成的單詞或標程序由下面字符所組成

27、的單詞或標識符寫成:識符寫成:大小寫英文字母:大小寫英文字母:a az z;A AZ Z數(shù)字字符:數(shù)字字符:0 09 9特殊字符:特殊字符:+ - + - * * / = / = :;?:;? !# % &# % & () _ () _ 空格空格 ,. . 272 2、源程序、源程序 C+C+源程序源程序:由一個或多個源代碼文件及頭文:由一個或多個源代碼文件及頭文件組成。件組成。源代碼文件源代碼文件:放描述算法的源代碼放描述算法的源代碼, ,后綴(擴展名)后綴(擴展名)為為.cpp.cpp如:如:example1.cppexample1.cpp頭文件頭文件:放變量、類型、宏和類

28、等的聲明,:放變量、類型、宏和類等的聲明,后綴(擴展名)為后綴(擴展名)為.hpp.hpp283 3、源代碼文件結(jié)構(gòu)、源代碼文件結(jié)構(gòu) C+C+的源代碼文件是由若干個函數(shù)組成,一個的源代碼文件是由若干個函數(shù)組成,一個程序必須有且只能有一個主函數(shù),程序的執(zhí)行都程序必須有且只能有一個主函數(shù),程序的執(zhí)行都是從主函數(shù)開始是從主函數(shù)開始。例例2.32.3、最簡單的、最簡單的C+C+程序程序void main( )void main( ) main()main()主函數(shù);主函數(shù);voidvoid沒有返回值;沒有返回值;花括號花括號“ ”是主函數(shù)的定界符,花括號括是主函數(shù)的定界符,花括號括起來的部分稱為函數(shù)體

29、。一個函數(shù)中至少要有一起來的部分稱為函數(shù)體。一個函數(shù)中至少要有一對花括號,而不管函數(shù)體是否為空對花括號,而不管函數(shù)體是否為空。29源代碼文件常見結(jié)構(gòu):源代碼文件常見結(jié)構(gòu):#include #include using namespace std; using namespace std; void main( )void main( ) . . . 語句部分語句部分. . . . . 其它函數(shù)其它函數(shù). .30例例2.42.4、從鍵盤輸入三個實數(shù),在屏幕上將其顯、從鍵盤輸入三個實數(shù),在屏幕上將其顯示出來,每行顯示一個數(shù)。示出來,每行顯示一個數(shù)。S1S1:定義三個變量:定義三個變量S2S2:輸入

30、三個變量的值:輸入三個變量的值S3S3:輸出三個變量的值:輸出三個變量的值31程序:程序:#include #include using namespace std;using namespace std;void main( )void main( ) float a;float a;float b;float b;float c;float c;cinabc;cinabc;couta=aendlb=couta=aendlb=bendl c=cendl;bendl c=cendl; 語句較長時可用續(xù)行符語句較長時可用續(xù)行符“ ”寫在不同行上寫在不同行上。32#include #include

31、 是一條稱為是一條稱為“文件包含文件包含”的的預(yù)編譯命令(預(yù)編譯命令(編譯預(yù)處理命令)。編譯預(yù)處理命令)。 #include #include 是是文件包含命令的關(guān)鍵字。文件包含命令的關(guān)鍵字。文件包含文件包含:格式:格式: #include #include 或或#include #include 文件名文件名 其中其中: : 文件名文件名 是被嵌入的是被嵌入的C+C+源程序文件的源程序文件的文件名,必須用文件名,必須用或或 括起來。括起來。功能:將一段功能:將一段C+C+源程序文件嵌入到正在進行源程序文件嵌入到正在進行預(yù)處理的源程序中的相應(yīng)位置上。預(yù)處理的源程序中的相應(yīng)位置上。原源程序文件和

32、被嵌入的源程序文件在邏輯原源程序文件和被嵌入的源程序文件在邏輯上被看成是同一個文件,編譯后生成一個目標文上被看成是同一個文件,編譯后生成一個目標文件。件。33兩種格式的差別在于查找路經(jīng)上:兩種格式的差別在于查找路經(jīng)上: : :規(guī)定目錄中查找,通常是系統(tǒng)的規(guī)定目錄中查找,通常是系統(tǒng)的includeinclude子目錄。子目錄。 : :當前被編譯的文件所在目錄當前被編譯的文件所在目錄規(guī)定目錄規(guī)定目錄C+C+中,庫文件中,庫文件iostreamiostream包含處理標準輸入輸包含處理標準輸入輸出操作所需的指令集(源代碼)出操作所需的指令集(源代碼)。在程序中只要用到在程序中只要用到cincin或或

33、coutcout,都需要在程序,都需要在程序中使用中使用 #include #include 命令將命令將iostreamiostream文件包含進去文件包含進去。34using namespace std; using namespace std; usingusing命令命令:告訴:告訴C+C+編譯器編譯器cin,cout,endlcin,cout,endl位位于名為于名為stdstd的命名空間內(nèi)或者說將的命名空間內(nèi)或者說將C+C+的庫文件加的庫文件加入到當前命名空間入到當前命名空間stdstd中。中。在源代碼文件中使用標準在源代碼文件中使用標準C+C+庫文件庫文件iostreamiost

34、ream應(yīng)在程序開頭加上以下兩條命令:應(yīng)在程序開頭加上以下兩條命令: #include #include using namespace std; using namespace std; 傳統(tǒng)的輸入輸出使用傳統(tǒng)的輸入輸出使用C C的頭文件的頭文件iostream.hiostream.h #include #include 35取名字是否有規(guī)則?取名字是否有規(guī)則?標識符標識符是程序中變量、類型、函數(shù)和標號是程序中變量、類型、函數(shù)和標號的名稱。標識符由字母、數(shù)字和下劃線的名稱。標識符由字母、數(shù)字和下劃線_混合混合組成,第一個字符不能是數(shù)字組成,第一個字符不能是數(shù)字。如:如: firstTimef

35、irstTime first_time first_time大小寫敏感:大小寫敏感:C+C+中大小寫字母要區(qū)分中大小寫字母要區(qū)分。firstTimefirstTime、firstimefirstime是不同的標識符。是不同的標識符。標識符的長度:標識符的長度:Visual C+Visual C+編譯器中可到編譯器中可到247247個字符。個字符。36關(guān)鍵字關(guān)鍵字是本身設(shè)定或預(yù)留的具有特是本身設(shè)定或預(yù)留的具有特定含義的某些標識符,在命名變量、數(shù)組、函數(shù)定含義的某些標識符,在命名變量、數(shù)組、函數(shù)名稱時,不能使用這些標識符名稱時,不能使用這些標識符。float b;float b;該語句定義了一個浮

36、點型的變量該語句定義了一個浮點型的變量b bfloatfloat是一個關(guān)鍵字,表示的是數(shù)據(jù)類型。是一個關(guān)鍵字,表示的是數(shù)據(jù)類型。37輸入操作輸入操作格式為:格式為:cin V1V2cin V1V2Vn;Vn;其中:其中: V1,V2, V1,V2, Vn Vn為變量名為變量名稱為析出(提?。┎僮鞣Q為析出(提?。┎僮鞣饔茫旱却龔逆I盤輸入數(shù)據(jù),接收后依次存入各作用:等待從鍵盤輸入數(shù)據(jù),接收后依次存入各變量變量V1,V2, V1,V2, Vn Vn。假設(shè)變量假設(shè)變量my_namemy_name、myAgemyAge、birthdaybirthday均已定義:均已定義:從鍵盤輸入從鍵盤輸入my_n

37、amemy_name的的C+C+語句:語句: cinmy_name;cinmy_name;輸入輸入my_namemy_name、myAgemyAge、birthdaybirthday的的C+C+語句語句: : cinmy_namemyAgebirthday;cinmy_namemyAgebirthday;38輸入輸入操作的幾點說明:操作的幾點說明:輸入幾個數(shù)據(jù)時,要用空格或輸入幾個數(shù)據(jù)時,要用空格或TabTab鍵分隔開鍵分隔開。cinabccinabc;運行時從鍵盤輸入:運行時從鍵盤輸入:3.5 2.1 -4.33.5 2.1 -4.3 3.5 , 2.1 , -4.3 3.5 , 2.1 ,

38、 -4.3 錯誤錯誤輸入的數(shù)據(jù)個數(shù)、類型要與接收變量匹配輸入的數(shù)據(jù)個數(shù)、類型要與接收變量匹配。 int i,j; /int i,j; /定義為整型變量定義為整型變量 cinij;cinij;運行時從鍵盤輸入:運行時從鍵盤輸入:2 2 -8 -8 2.5 2.5 -8 -8 錯誤錯誤輸入完所有數(shù)據(jù)后,要用回車鍵表示輸入結(jié)束輸入完所有數(shù)據(jù)后,要用回車鍵表示輸入結(jié)束。39輸出操作輸出操作格式為:格式為:cout E1E2cout E1E2Em;Em;其中:其中:E1,E2, E1,E2, ,Em ,Em 為表達式為表達式稱為插入操作符稱為插入操作符作用:將各表達式的值輸出(顯示)到屏幕上當作用:將各

39、表達式的值輸出(顯示)到屏幕上當前光標位置處。前光標位置處。在屏幕上輸出在屏幕上輸出 Today is SundayToday is SundaycoutToday is Sunday;coutToday is Sunday;屏幕上輸出已計算好的變量屏幕上輸出已計算好的變量gradegrade的值:的值:coutgrade;coutgrade;或:或: coutgrade=grade;coutgrade=grade;40屏幕上輸出變量屏幕上輸出變量a a、b b、c c的值:的值:coutabc;coutabc;/輸出結(jié)果不好看輸出結(jié)果不好看或:或: couta=a,b=b,c=c;couta

40、=a,b=b,c=c;屏幕上輸出屏幕上輸出 2092+378 2092+378 的值:的值:cout2092+378; cout2092+378; 屏幕上輸出屏幕上輸出 1024X256+458X850 1024X256+458X850 的值:的值:cout1024X256+458X850; cout1024X256+458X850; /錯錯cout1024cout1024* *256+458256+458* *850;850;/OK/OKC+C+中:中:乘號用乘號用* *表示;除號用表示;除號用/ /表示表示。如:如: 3 3* *4;4; 1.91.9* *2.4;2.4; 6/3;6/3

41、; 20/520/541coutabc;coutabc;和下面幾條輸出語句等價嗎?和下面幾條輸出語句等價嗎?couta;couta;coutb;coutb;coutc;coutc;如何將如何將a a、b b、c c的值輸出在不同行上?的值輸出在不同行上?新行符新行符endlendl:起換行輸出的作用:起換行輸出的作用。coutaendl;coutaendl;coutbendl;coutbendl;coutc;coutc;或:或:coutaendlbendlc;coutaendlbendlc;42若想使輸出更明確,可按下面編寫:若想使輸出更明確,可按下面編寫:couta=aendl;couta=

42、aendl;coutb=bendl;coutb=bendl;coutc=c;coutc=c;或:或:couta=aendlb=bendl couta=aendlb=bendl c=c;c=c;數(shù)據(jù)流數(shù)據(jù)流:C+C+中的標準輸入輸出(中的標準輸入輸出(I/OI/O)操作,都使用)操作,都使用數(shù)據(jù)流,即字符序列。數(shù)據(jù)流,即字符序列。43例例2.52.5、寫出計算圓面積的程序、寫出計算圓面積的程序#include #include void main( )void main( ) float r;float r;double area;double area;cinr;cinr;/輸入圓的半徑輸入圓

43、的半徑area=3.14159area=3.14159* *r r* *r;r;/計算圓面積計算圓面積coutarea=areaendl;coutarea=areaendl; 44例例2.62.6、編寫一個實現(xiàn)兩個整數(shù)相加的程序、編寫一個實現(xiàn)兩個整數(shù)相加的程序#include #include using namespace std;using namespace std;void main( )void main( ) /int main( ) /int main( ) int a;int b;int c;int a;int b;int c; / /一行可寫多個語句一行可寫多個語句coutc

44、outa;cina;coutcoutb;cinb;c=a+b;c=a+b;couta+b=cendl;couta+b=cendl; /C+C+中語句采用自由格式書寫中語句采用自由格式書寫。45例例2.72.7、編程輸出下面圖形、編程輸出下面圖形 * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * 46程序:程序:#include#includeusing namespace std;using namespace std;void main( )void main( ) cout cout * * * * * * * *

45、* *endl;endl;cout cout * * * *endl;endl;cout cout * * * *endl;endl;cout cout * * * *endl;endl;cout cout * * * * * * * * * *endl;endl; 472.3變量與常量變量與常量 一、一、數(shù)據(jù)類型數(shù)據(jù)類型數(shù)據(jù)數(shù)據(jù)(DataData): :指能夠由計算機處理的數(shù)字、指能夠由計算機處理的數(shù)字、字母、符號、聲音、圖象、影視信息等。是程序字母、符號、聲音、圖象、影視信息等。是程序的必要組成部分和程序處理的對象。的必要組成部分和程序處理的對象。按數(shù)據(jù)描述的對象不同,數(shù)據(jù)的形式有多種按數(shù)

46、據(jù)描述的對象不同,數(shù)據(jù)的形式有多種, , 如數(shù)值數(shù)據(jù)、文字數(shù)據(jù)、圖象數(shù)據(jù)以及聲音數(shù)據(jù)如數(shù)值數(shù)據(jù)、文字數(shù)據(jù)、圖象數(shù)據(jù)以及聲音數(shù)據(jù)等等, , 但其中最基本的但其中最基本的, ,也是最常用的是數(shù)值數(shù)據(jù)也是最常用的是數(shù)值數(shù)據(jù)和文字數(shù)據(jù)。和文字數(shù)據(jù)。48數(shù)據(jù)按本身的變化規(guī)律又可分為變量和常量數(shù)據(jù)按本身的變化規(guī)律又可分為變量和常量兩種基本形式:兩種基本形式:變量變量:在實際數(shù)據(jù)處理過程中,變化的量稱:在實際數(shù)據(jù)處理過程中,變化的量稱變量。變量。常量常量:在實際數(shù)據(jù)處理過程中,不變化的量:在實際數(shù)據(jù)處理過程中,不變化的量稱為常量。稱為常量。多數(shù)數(shù)據(jù)經(jīng)常變化,而少數(shù)數(shù)據(jù)不變化。多數(shù)數(shù)據(jù)經(jīng)常變化,而少數(shù)數(shù)據(jù)不變

47、化。常量和變量是計算機語言中數(shù)據(jù)的兩種基本常量和變量是計算機語言中數(shù)據(jù)的兩種基本形式,常量和變量的運算規(guī)則有區(qū)別。形式,常量和變量的運算規(guī)則有區(qū)別。49為表現(xiàn)不同性質(zhì)的事物,要用不同的數(shù)據(jù)類為表現(xiàn)不同性質(zhì)的事物,要用不同的數(shù)據(jù)類型。型。數(shù)據(jù)類型數(shù)據(jù)類型(Data TypeData Type): :區(qū)分和描述不同類區(qū)分和描述不同類型事物的各類數(shù)據(jù)。型事物的各類數(shù)據(jù)。計算機中數(shù)據(jù)的一些特點:計算機中數(shù)據(jù)的一些特點:計算機只能存放二進制數(shù)據(jù)。計算機只能存放二進制數(shù)據(jù)。不同類型的數(shù)據(jù)占據(jù)不同長度的存儲單元。不同類型的數(shù)據(jù)占據(jù)不同長度的存儲單元。不同類型的數(shù)據(jù)對應(yīng)不同的值域范圍。不同類型的數(shù)據(jù)對應(yīng)不同的

48、值域范圍。不同類型的數(shù)據(jù)對應(yīng)不同的操作(運算)及不同類型的數(shù)據(jù)對應(yīng)不同的操作(運算)及規(guī)則。規(guī)則。數(shù)據(jù)類型越豐富,求解能力越強大。數(shù)據(jù)類型越豐富,求解能力越強大。50 二、二、數(shù)據(jù)在計算機中的存放數(shù)據(jù)在計算機中的存放數(shù)據(jù)在計算機中采用二進制存放;數(shù)據(jù)在計算機中采用二進制存放;一個字節(jié)一個字節(jié)8 8個二進制位,示意圖如下:個二進制位,示意圖如下:數(shù)的表示范圍:數(shù)的表示范圍:-2-27 7 _ _ 2 27 7-1(-128 -1(-128 _ 127) 127)要表示更大范圍內(nèi)的數(shù),要使用多個字節(jié)。要表示更大范圍內(nèi)的數(shù),要使用多個字節(jié)。51+中的數(shù)據(jù)類型中的數(shù)據(jù)類型: :C+C+的數(shù)據(jù)類型分為兩

49、大類:基本數(shù)據(jù)類型的數(shù)據(jù)類型分為兩大類:基本數(shù)據(jù)類型和非基本數(shù)據(jù)類型。和非基本數(shù)據(jù)類型?;緮?shù)據(jù)類型:基本數(shù)據(jù)類型:C+C+內(nèi)部預(yù)定義的類型,包內(nèi)部預(yù)定義的類型,包括整型、實型、雙精度型、字符型、布爾型括整型、實型、雙精度型、字符型、布爾型(邏輯型)。(邏輯型)。非基本數(shù)據(jù)類型是指根據(jù)非基本數(shù)據(jù)類型是指根據(jù)C+C+語法規(guī)則由基語法規(guī)則由基本數(shù)據(jù)類型構(gòu)造出來的類型,如數(shù)組、指針、本數(shù)據(jù)類型構(gòu)造出來的類型,如數(shù)組、指針、引用、類、結(jié)構(gòu)、聯(lián)合、枚舉等。引用、類、結(jié)構(gòu)、聯(lián)合、枚舉等。 52短整型短整型shortshort整型整型intint長整型長整型 longlong浮點型浮點型floatfloat

50、雙精度型雙精度型 doubledouble長雙精度型長雙精度型 long doublelong double字符型字符型charchar字符串型字符串型stringstring數(shù)組、類、指針數(shù)組、類、指針53整數(shù)數(shù)據(jù)存儲格式:整數(shù)數(shù)據(jù)存儲格式:54浮點數(shù)數(shù)據(jù)存儲格式:浮點數(shù)數(shù)據(jù)存儲格式:雙精度型雙精度型(double)(double)及長雙精度型及長雙精度型(long double)(long double)在在MicrosoftMicrosoft VC6.0VC6.0編譯器中都占編譯器中都占8 8字節(jié)。字節(jié)。字符串型字符串型(string):(string):每個字符占一個字節(jié)。每個字符占一

51、個字節(jié)。布爾型:占一個字節(jié)。布爾型:占一個字節(jié)。55C+C+中數(shù)據(jù)類型的取值范圍及占用內(nèi)存情況表:中數(shù)據(jù)類型的取值范圍及占用內(nèi)存情況表:8 8161632323232323264646464每字符一個字節(jié)每字符一個字節(jié)0 0或多個字符或多個字符1 1字節(jié)字節(jié)truetrue或或falsefalse56三、常量三、常量整型、實型、字符型、布爾型、字符串型五類整型、實型、字符型、布爾型、字符串型五類 1.1.整型常量整型常量十進制整數(shù)十進制整數(shù):非:非0 0開頭(除開頭(除0 0外)外)如:如:0, 1, -2, 637, 32767, -32768, .0, 1, -2, 637, 32767,

52、 -32768, .八進制整數(shù)八進制整數(shù):八進制整數(shù)以:八進制整數(shù)以0 0開頭,開頭,如:如:064,-056,023, 064,-056,023, 十六進制整數(shù)十六進制整數(shù):以:以0 x0 x或或0X0X開頭,開頭,如:如:0 x8b,0XaBb, 0 x8b,0XaBb, 長整型常量的表示方法是加后綴字母長整型常量的表示方法是加后綴字母l l或或L , L , 如如 712l,0 x5fL712l,0 x5fL。無符號型整型常量的表示方。無符號型整型常量的表示方法是加后綴字母法是加后綴字母u u或或U, U, 如如 712u,0 x5fU712u,0 x5fU。 5715+30=4515+

53、030=3915+0 x30=63015+30=43015+030=37015+0 x30=610 x15+30=510 x15+030=450 x15+0 x15=42582.2.實型常量實型常量小數(shù)形式小數(shù)形式,例如:,例如:0.0, 1.0, -2.68, 3.141593, 0.0, 1.0, -2.68, 3.141593, 637.312, -32768.0, .637.312, -32768.0, .指數(shù)形式指數(shù)形式, , 其中用字母其中用字母e e或者或者E E表示表示1010的冪次。例如的冪次。例如: :0.0E0, -6.226e-4, 1.267E20, .0.0E0,

54、-6.226e-4, 1.267E20, .實型(浮點型)常量只有十進制。實型(浮點型)常量只有十進制。尾數(shù)尾數(shù)e e或或E E指數(shù)指數(shù)59實型常量分單精度實型常量分單精度(float)(float)、雙精度、雙精度(double)(double)和長雙精度(和長雙精度(long double)long double)三種:三種:不加說明(隱含)的實型常量是不加說明(隱含)的實型常量是doubledouble型型;floatfloat型常量必須在實數(shù)后加型常量必須在實數(shù)后加F F(或(或f f);long doublelong double型常量須在實數(shù)后加型常量須在實數(shù)后加L L(或(或l

55、l)。如:如:-1.5 -1.5 是雙精度常量是雙精度常量0.4E3f 0.4E3f 是單精度常量是單精度常量 4.5e2L 4.5e2L 是長雙精度常量是長雙精度常量603.3.字符型常量字符型常量單個字符的單個字符的ASCIIASCII碼,是一個整型數(shù)值。碼,是一個整型數(shù)值。程序中直接使用程序中直接使用ASCIIASCII碼值很不直觀,如:碼值很不直觀,如:ASCIIASCII碼為碼為4848和和9797分別代表字符分別代表字符0 0和和a a。C+C+引入了一套助記符號來表示引入了一套助記符號來表示ASCIIASCII碼:碼:字母、數(shù)字和標點符號等可見字符,其字母、數(shù)字和標點符號等可見字

56、符,其助記碼就是在該符號兩邊加上單引號助記碼就是在該符號兩邊加上單引號。例如例如: a, A, 1, +, .: a, A, 1, +, .61控制字符和單、雙引號、反斜杠符等可控制字符和單、雙引號、反斜杠符等可以使用由一個反斜杠符和一個符號組成的轉(zhuǎn)義字以使用由一個反斜杠符和一個符號組成的轉(zhuǎn)義字符表示符表示: :nn( (換行換行), ), rr( (回車回車), ), tt( (橫向跳格橫向跳格) ) ( (單引號單引號), ), aa( (響鈴響鈴), ), “( (雙引號雙引號) )bb( (退格退格), ), ( (反斜杠反斜杠), ), 00( (空字符空字符) )dddddd(8

57、(8 進制數(shù)表示的進制數(shù)表示的ASCIIASCII字符字符) )xhhxhh(16(16進制數(shù)表示的進制數(shù)表示的ASCIIASCII字符字符),),62例例2.82.8、輸出兩個浮點數(shù)的值、輸出兩個浮點數(shù)的值#include #include using namespace std;using namespace std;void main( )void main( ) float a=2.7f;float a=2.7f;float b=-3.2e24f;float b=-3.2e24f;couta0bn;couta0bn;coutatbn;coutatbn;couta=anb=bn;cout

58、a=anb=bn; 63例例2.92.9、輸出單個字符的方法、輸出單個字符的方法#include #include using namespace std;using namespace std;void main( )void main( ) coutaendl;coutaendl;/輸出字符輸出字符a acout141endl; cout141endl; /輸出字符輸出字符a acoutx61endl; coutx61endl; /輸出字符輸出字符a a 64例例2.102.10、單引號、雙引號等的輸出單引號、雙引號等的輸出#include #include using namespace

59、 std;using namespace std;void main( )void main( ) coutendl;coutendl;/輸出單引號輸出單引號coutendl;coutendl;/輸出雙引號輸出雙引號coutbaendl;/coutbaendl;/退格退格coutendl;coutendl;/反斜杠反斜杠coutaendl;coutaendl;/響鈴響鈴 654.4.字符串常量字符串常量即用雙引號括起來的一串字符。如:即用雙引號括起來的一串字符。如:“Visual C+Visual C+”, , “12.3412.34”, , “This is a string.nThis i

60、s a string.n”, ., . 字符串常量在內(nèi)存占用的實際存儲字節(jié)數(shù)要字符串常量在內(nèi)存占用的實際存儲字節(jié)數(shù)要比字符串中的字符個數(shù)多比字符串中的字符個數(shù)多1 1個個, , 即在字符串的尾即在字符串的尾部還要添加一個數(shù)值為部還要添加一個數(shù)值為0 0的字符的字符, , 用以表示字符用以表示字符串的結(jié)束串的結(jié)束。 “CHINACHINA”“a a”a a C H I N A 0a 0a66例例2.112.11、字符串輸出、字符串輸出#include #include using namespace std;using namespace std;void main( )void main( ) cout123

溫馨提示

  • 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)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

最新文檔

評論

0/150

提交評論