




版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領
文檔簡介
1、第1章 C+概述第1章 C+概述1.1 為什么學C+?1.2 安裝VC+6.0開發(fā)軟件1.3 體驗C+1.3.1 體驗C+程序1.3.2 Jitor校驗器的使用(單獨PPT講解)1.3.3 C+的輸入和輸出1.3.4 C+程序的結構1.3.5 C+程序的開發(fā)過程1.3.6 C+工作空間和項目1.4 常見問題1.1 為什么學C+?為什么這么流行?C+是一種使用最廣泛的計算機編程語言日常用的計算機軟件和電子設備幾乎都是用C和C+開發(fā)的比較下述幾種平臺蘋果手機Objective-C/Swift語言排名第10安卓手機Java語言排名第1Windows和Linux系統(tǒng)C+語言和C語言排名第3和第2電子設
2、備C語言和C+語言排名第2和第3第1章 C+概述1.1 為什么學C+?1.2 安裝VC+6.0開發(fā)軟件1.3 體驗C+1.3.1 體驗C+程序1.3.2 Jitor校驗器的使用(單獨PPT講解)1.3.3 C+的輸入和輸出1.3.4 C+程序的結構1.3.5 C+程序的開發(fā)過程1.3.6 C+工作空間和項目1.4 常見問題1.2 安裝VC+6.0開發(fā)軟件Visual C+ 6.0經(jīng)典版本小巧、方便英文版:穩(wěn)定可靠1.2 安裝VC+6.0開發(fā)軟件從 / 得到百度網(wǎng)盤入口下載后按常規(guī)方法安裝有條件時,演示一遍安裝過程1、如果計算機已有VC6.0,則需先卸載2、從下載軟件下始(從本書百度網(wǎng)盤下載)3
3、、按常規(guī)方式安裝4、安裝后的啟動辦法1.2 安裝VC+6.0開發(fā)軟件第1章 C+概述1.1 為什么學C+?1.2 安裝VC+6.0開發(fā)軟件1.3 體驗C+1.3.1 體驗C+程序1.3.2 Jitor校驗器的使用(單獨PPT講解)1.3.3 C+的輸入和輸出1.3.4 C+程序的結構1.3.5 C+程序的開發(fā)過程1.3.6 C+工作空間和項目1.4 常見問題1.3.1 體驗C+程序編寫并運行一個C+程序,就是開發(fā)一個最小的C+項目創(chuàng)建C+項目:生成一個文件夾創(chuàng)建C+源代碼文件:保存在上述文件夾中編寫代碼(程序):根據(jù)程序的功能編寫代碼運行程序(代碼):讓計算機運行你的代碼啟動VC+6.0開始菜
4、單桌面圖標主界面創(chuàng)建C+項目從菜單 File 中選擇 New.(1) 選擇Projects(2) 選擇Win32 Console Applicaion(3) 輸入項目名稱:cpp1(4) 輸入Location:D:VC60cpp1其中的D:VC60稱為工作空間(保存項目的文件夾)創(chuàng)建C+源代碼文件再次從菜單 File 中選擇 New.(1) 選擇 Files(2) 選擇 C+ Source File(3) 選擇項目:cpp1(4) 輸入源代碼文件名:example1源代碼后綴cpp會自動添加,因此文件名是example1.cpp編寫代碼(程序)在代碼編輯區(qū)中輸入代碼第1個程序不要出現(xiàn)拼寫錯誤!
5、#include void main(void) cout Welcome to C+!n;運行程序(代碼)按Ctrl + F5快捷鍵,在彈出的對話框中回答“是”黑色的窗口是運行結果下方的信息表示沒有錯誤完整演示第一個C+程序重點如下1、操作的每一步過程2、操作過程的可能的錯誤項目類型源代碼文件類型代碼的結構代碼拼寫錯誤時的出錯信息可以作為作業(yè),要求學生練習1.3.1 體驗C+程序第1章 C+概述1.1 為什么學C+?1.2 安裝VC+6.0開發(fā)軟件1.3 體驗C+1.3.1 體驗C+程序1.3.2 Jitor校驗器的使用(單獨PPT講解)1.3.3 C+的輸入和輸出1.3.4 C+程序的結構
6、1.3.5 C+程序的開發(fā)過程1.3.6 C+工作空間和項目1.4 常見問題1.3.3 C+的輸入和輸出修改代碼為如下代碼運行結果在右側:輸入兩個整數(shù)50和100,輸出和150#include /* 求兩個整數(shù)的和程序 */void main(void)int a, b, sum;cout a b;sum = a + b;cout sum = sum endl;1.3.3 C+的輸入和輸出修改代碼為如下代碼#include /* 求兩個整數(shù)的和程序 */void main(void)int a, b, sum;cout a b;sum = a + b;cout sum = sum endl;演
7、示這個程序重點如下輸出cout輸入cin變量的概念用一個變量名表示存放數(shù)據(jù)的內存空間賦值:sum = a + b1.3.3 C+的輸入和輸出第1章 C+概述1.1 為什么學C+?1.2 安裝VC+6.0開發(fā)軟件1.3 體驗C+1.3.1 體驗C+程序1.3.2 Jitor校驗器的使用(單獨PPT講解)1.3.3 C+的輸入和輸出1.3.4 C+程序的結構1.3.5 C+程序的開發(fā)過程1.3.6 C+工作空間和項目1.4 常見問題1.3.4 C+程序的結構修改代碼為如下代碼#include int add(int x, int y) int z;z = x + y;return z; / 返回相
8、加的結果void main(void) int a, b, sum;cout a b;sum = add(a, b); / 調用函數(shù) add,這樣可以把復雜的代碼放到函數(shù)里cout sum = sum endl;1.3.4 C+程序的結構修改代碼為如下代碼#include int add(int x, int y) int z;z = x + y;return z; / 返回相加的結果void main(void) int a, b, sum;cout a b;sum = add(a, b); / 調用函數(shù) add,這樣可以把復雜的代碼放到函數(shù)里cout sum = sum endl;注釋:給
9、程序員看的語句:計算機執(zhí)行的,以分號結束指令:一些預處理,不能用分號結束1.3.4 C+程序的結構修改代碼為如下代碼#include int add(int x, int y) int z;z = x + y;return z;void main(void) int a, b, sum;cout a b;sum = add(a, b); / 調用函數(shù) add,這樣可以把復雜的代碼放到函數(shù)里cout sum = sum endl;函數(shù):用一個函數(shù)名來代表若干行代碼。函數(shù)頭:函數(shù)名、參數(shù)、返回類型函數(shù)體:若干行代碼,通常要返回一個值.1.3.4 C+程序的結構代碼執(zhí)行過程#include int
10、add(int x, int y) int z;z = x + y;return z;void main(void) int a, b, sum;cout a b;sum = add(a, b); / 調用函數(shù) addcout sum = sum endl;main()函數(shù)是程序運行的起點main()函數(shù)的結束處是程序運行的終點演示這個程序運行的結果與前一例子是相同的同一種功能可以有不同的寫法重點如下C+程序的結構(見后面的PPT)然后引入程序結構的總結1.3.4 C+程序的結構1.3.4 C+程序的結構一個項目有多個源文件一個源文件有多個函數(shù)最重要的是主函數(shù)main一個項目只能有一個主函數(shù)項
11、目中不能有同名函數(shù)代碼書寫格式C+區(qū)分大小寫,即cin和Cin是不同含義的兩個名字。每條語句以分號結束。一行可以有多條語句(不提倡這樣寫)。一條語句可以跨越多行(只有一行太長時才這樣寫)。括號嚴格匹配(圓括號、方括號、花括號)。其中花括號有特別的作用,用于將一條或多條語句組合在一起。開始花括號和結束花括號都各占一行(或者開始花括號在前一行的末尾)花括號與代碼縮進相關聯(lián),內層花括號中的代碼要比外層的代碼多一個TAB鍵(或用4個空格代表一個TAB)。第1章 C+概述1.1 為什么學C+?1.2 安裝VC+6.0開發(fā)軟件1.3 體驗C+1.3.1 體驗C+程序1.3.2 Jitor校驗器的使用(單獨
12、PPT講解)1.3.3 C+的輸入和輸出1.3.4 C+程序的結構1.3.5 C+程序的開發(fā)過程1.3.6 C+工作空間和項目1.4 常見問題1.3.5 C+程序的開發(fā)過程第1章 C+概述1.1 為什么學C+?1.2 安裝VC+6.0開發(fā)軟件1.3 體驗C+1.3.1 體驗C+程序1.3.2 Jitor校驗器的使用(單獨PPT講解)1.3.3 C+的輸入和輸出1.3.4 C+程序的結構1.3.5 C+程序的開發(fā)過程1.3.6 C+工作空間和項目1.4 常見問題1.3.6 C+工作空間和項目創(chuàng)建項目在工作空間中為項目創(chuàng)建文件夾1.3.6 C+工作空間和項目創(chuàng)建源文件在項目中創(chuàng)建源代碼文件1.3.
13、6 C+工作空間和項目運行程序編譯源代碼文件,保存在debug目錄中連接生成可執(zhí)行文件執(zhí)行這個文件,得到結果源代碼編譯成目標文件(.ojb)對照項目和資源管理器工作空間的概念項目的在工作空間中的一個目錄源代碼在項目中源代碼編譯為obj文件(Debug目錄)可執(zhí)行文件為項目名命名的exe文件(Debug目錄)1.3.6 C+工作空間和項目第1章 C+概述1.1 為什么學C+?1.2 安裝VC+6.0開發(fā)軟件1.3 體驗C+1.3.1 體驗C+程序1.3.2 Jitor校驗器的使用(單獨PPT講解)1.3.3 C+的輸入和輸出1.3.4 C+程序的結構1.3.5 C+程序的開發(fā)過程1.3.6 C+
14、工作空間和項目1.4 常見問題1.4 常見問題1、遇到問題時,從教材中查找解決辦法2、上網(wǎng)查找解決辦法第1章 C+概述重點使用VC+6.0開發(fā)項目的過程編寫程序輸入和輸出C+程序的結構C+項目開發(fā)的過程難點使用VC+6.0開發(fā)項目的過程工作空間的概念使用VC+6.0開發(fā)項目的過程使用VC+6.0開發(fā)項目的過程啟動VC+6.0創(chuàng)建C+項目Win32 Console Applicaion創(chuàng)建C+源代碼文件C+ Source File運行程序編譯、連接、執(zhí)行編寫程序這是最簡單的歡迎程序#include void main(void) cout Welcome to C+!n;輸入和輸出這個程序復雜一
15、點,有輸入和輸出#include /* 求兩個整數(shù)的和程序 */void main(void)int a, b, sum;cout a b;sum = a + b;cout sum = sum endl;C+程序的結構這個程序更復雜一些,有函數(shù)(第5章才講解)#include /*這個程序展現(xiàn)了C+代碼的基本結構程序由一個或多個函數(shù)組成*/int add(int x, int y) / 實現(xiàn)兩數(shù)相加的函數(shù),名為 addint z;z = x + y;return z; / 返回相加的結果/ 加上空行可以提高可讀性void main(void) / 主函數(shù),名稱必須是 mainint a, b,
16、 sum;cout a b;sum = add(a, b); / 調用函數(shù) add,這樣可以把復雜的代碼放到函數(shù)里cout sum = sum endl;C+項目開發(fā)的過程工作空間的概念工作空間是保存項目的文件夾項目本身也是文件夾項目文件夾內有源代碼文件第2章 C+語言基礎目錄2.1 C+的基本要素2.2 數(shù)據(jù)類型2.3 變量和常量2.4 運算符和表達式2.5 簡單的輸入輸出2.6 綜合實訓2.1 C+的基本要素C+的基本要素:關鍵字、標識符、分隔符和代碼注釋2.1.1 關鍵字關鍵字是具有特殊含義的標識符,不能作其他用途。例如:void, int, return一共只有63個(1998年版)2
17、.1.2 標識符標識符就是名字變量名、符號常量名、數(shù)組名(第4章)、函數(shù)名(第5章)、宏名(第6章)、導出類型(也稱為自定義類型,第8、9章)等如何命名?命名規(guī)則(強制要求的)命名規(guī)范(大家遵守的)1 命名規(guī)則(強制要求)由大寫字母、小寫字母、數(shù)字、下劃線組成,共有63個字符(AZ、az、09、_),例如avg、example1是正確的,而example1-1、example1 1是錯誤的,前者含有非法的減號,后者含有非法的空格。第一個字符不能是數(shù)字,例如1_example是錯誤的,因為第一個字符是數(shù)字。嚴格區(qū)分大小寫,例如avg和Avg是兩個不同的標識符不能與關鍵字相同,例如int不能作為標
18、識符,但 int1 或 Int 可以作為標識符。2 命名規(guī)范(大家遵守)要用有含義的英文單詞或縮寫,例如可以用average或avg。不要用漢語拼音或無意義的字符組合,例如不要用abc,原因是難以理解。目的:可讀性別人能看懂,或者你以后能看懂2.1.3 分隔符分隔符用于分隔標識符和關鍵字,它們是空格、分號、逗號、圓括號、方括號和花括號等。分隔符是半角的符號,使用了中文(全角)的空格、分號、逗號等就會出錯。其中與空格具有相同作用的還有制表符(TAB),換行符(Enter),連續(xù)的多個空格與一個空格的作用是相同的。2.1.4 代碼注釋注釋有兩種:單行注釋和多行注釋。1 單行注釋以下是單行注釋,單行
19、注釋從雙斜線“/”開始,直到本行的結束。/ 單行注釋,以換行符為結束。2 多行注釋以下是多行注釋,多行注釋是從“/*”開始,直到“*/”結束。/*多行注釋,注釋內容跨越數(shù)行。*/目錄2.1 C+的基本要素2.2 數(shù)據(jù)類型2.3 變量和常量2.4 運算符和表達式2.5 簡單的輸入輸出2.6 綜合實訓2.2 數(shù)據(jù)類型C+中的數(shù)據(jù)保存在內存空間中C+需要不同大小和格式的空間來保存不同的數(shù)據(jù)C+的數(shù)據(jù)類型用于指定存放數(shù)據(jù)的內存空間的大小和格式,并限制其運算的種類。不同大小不同形狀不同用途基本數(shù)據(jù)類型選擇數(shù)據(jù)類型時,需要考慮取值范圍、精度以及用途等因素,一般來說,數(shù)據(jù)類型占用的字節(jié)數(shù)越大,它所能表示的范
20、圍也就越大,或者是精度越高數(shù)據(jù)類型的取值范圍例如一個整數(shù)值60,它可以用int、short或char類型的變量來保存,而300則不能用char類型的變量來保存,因為超出了可表示的范圍。同理,100000也不能用short類型的變量來保存實數(shù)在C+里又稱為浮點數(shù),例如1.23,如果用單精度來表示,最多具有67位有效數(shù)字,而用雙精度來表示,則可以有1516位有效數(shù)字目錄2.1 C+的基本要素2.2 數(shù)據(jù)類型2.3 變量和常量2.4 運算符和表達式2.5 簡單的輸入輸出2.6 綜合實訓2.3 變量和常量2.3.1 變量1 變量的定義變量用于保存一個具體的值。首先變量要有一個名字,變量還需要關聯(lián)一個數(shù)
21、據(jù)類型int score;/ 定義一個保存成績的整型變量float temperature; / 定義一個保存氣溫的單精度變量在同一行語句可以定義多個同類型的變量int a, b, c; / 定義三個整型變量需要注意以下幾點。所有變量都具有數(shù)據(jù)類型,如整型、雙精度型、字符型等。數(shù)據(jù)類型的作用就是確定變量內存空間的大小和格式。變量具有名字,通過名字來訪問對應的內存空間,將值保存到內存中或從內存中讀取變量的值。不可重復定義同名變量。2.3 變量和常量(續(xù))2 變量的賦值(1) 先定義后賦值int score; / 定義整型變量scorescore = 76; / 賦值為86(2) 定義和賦值同時進
22、行(初始化賦值)int score = 86;/ 定義整型變量score,并初始化為86(3) 直接賦值score = 96;/ 再次對變量直接賦值,改變原有值需要注意以下幾點。必須先定義后使用,不能在定義變量之前,直接對其賦值,或讀取它的值。變量必須賦值后才能使用,不賦值直接使用會造成不可預料的結果。2.3.2 字面常量字面常量是直接用文字表示的固定不變的值,例如12、3.14159和“Hello!”。1 整型常量和實型常量整型常量有十進制、八進制和十六進制三種表示法,實型常量有小數(shù)表示法和科學表示法2 字符常量和字符串常量(1) 字符一個字符用8位二進制位來表示,取值范圍是0 x00 xF
23、F,共計256個。每個字符對應一個具體的數(shù)字,稱為ASCII碼表,見附錄A。ASCII碼表中的字符可以分為三個部分。0 x000 x1F(031):控制字符,附錄A表中的第1列,如水平制表符(HT),共32個。0 x200 x7F(32127):可見字符(可打印字符),附錄A表中的第2、3、4列,包括大小寫字母、數(shù)字、符號以及空格,共96個。0 x800 xFF:擴展字符,共128個,沒有列在附錄A的表中。用于表示特殊的字符,如歐洲一些語言的字母。普通的中文編碼就是用兩個擴展字符表示一個中文漢字。轉義字符字符常量可以用普通字符、轉義字符來表示應該記住下述 5 個常用的轉義字符制表符t、換行符n
24、、單引號、雙引號、反斜線(2) 字符串字符串常量是多個字符連在一起,表示一個單詞或一句話等。在需要時,字符串內部也應該使用轉義字符。 字符串中轉義字符的使用:雙引號 、水平制表符 t 和換行符 n 經(jīng)常用于字符串中?;剀嚪?r 通常不使用。字符串和數(shù)字的區(qū)別例如12表示數(shù)字12,它的二進制是0001100,而字符串12則是兩個字符連續(xù)存放,這兩個字符對應的ASCII碼是0 x31和0 x32(從附錄A查找),對應的二進制是兩個字節(jié):00110001和00110010。2.3.3 const常量關鍵字const是英文constant單詞的前5個字母,含義是常量用它修飾的變量就成為常量,定義一個變
25、量為常量的目的是避免不小心修改了變量的值double const PI = 3.14159; / 關鍵字 const 表示不變的按照命名規(guī)范,常量名應該用大寫字母,如果含有兩個單詞,則用下劃線分隔,如int const MAX_SCORE = 100 / 最高成績100分2.3.4 中文字符常用的中文字符(漢字)有6千多個,在計算機里,一般是用兩個字節(jié)表示一個漢字,這樣理論上最多可以表示256256=65536個字符。Windows采用的GBK編碼方案共收錄21003個漢字和883個符號。一個漢字至少占用兩個字節(jié),所以漢字一定是字符串在代碼中,漢字只能作為字符串出現(xiàn),除此之外,不能出現(xiàn)在代碼的
26、任何地方在代碼中,全角的字母、數(shù)學和符號會引起出錯例如下述是全角和半角的不同“:”和“:”、 “;”和“;”、 “,”和“,”是不同的又如下述是字母和數(shù)字的不同“l(fā)”和“1”、 “o”和“0”也是不同的目錄2.1 C+的基本要素2.2 數(shù)據(jù)類型2.3 變量和常量2.4 運算符和表達式2.5 簡單的輸入輸出2.6 綜合實訓2.4 運算符和表達式C+中的運算符有兩大類,見表2-6。一元運算符二元運算符2.4.1 算術運算符、賦值運算符2.4.2 自增、自減運算符(1) 后置自增運行結果如下。a = 4b = 3(2) 前置自增運行結果如下。a = 4b = 4#include void main(
27、void) int a = 3, b;b = a+; / 后置自增cout a = a n;cout b = b n;#include void main(void) int a = 3, b;b = +a; / 前置自增cout a = a n;cout b = b n;2.4.3 關系運算符和關系表達式2.4.4 邏輯運算符和邏輯表達式(1) 判斷一個整數(shù)是否在 5-100 的閉區(qū)間內(2) 判斷一個整數(shù)是否是 5-100 開區(qū)間內的奇數(shù)2.4.5 邏輯運算和關系運算的應用#include void main(void) int a; cout a;cout 這個整數(shù)在 5-100 的閉區(qū)
28、間內: =5 & a=100) n;#include void main(void) int a; cout a;cout 這個整數(shù)是 5-100 的開區(qū)間內的奇數(shù): 5 & a100) & a%2!=0) n;(3) 判斷一個字符是否是小寫字母(4) 判斷一個字符是否是標識符中可用的字符2.4.5 邏輯運算和關系運算的應用#include void main(void) char a; cout a;cout 這個字符是小寫字母: =a & a=z) n;#include void main(void) char a; cout a;cout 這個字符是標識符中可用的字符: =a & a=A
29、 & a=0 & a=9) / 數(shù)字| (a=_) n; / 下劃線2.4.7 復合賦值運算符2.4.8 數(shù)據(jù)類型轉換在二元運算符的運算過程中,兩個操作數(shù)必須是相同類型,否則就不能進行運算當兩個操作數(shù)的類型不同時,需要將它們轉換為相同的類型,轉換的辦法有兩種1 自動類型轉換由編譯器自動進行轉換,轉換的原則是:(1)將占用空間小的轉換為占用空間大的,避免數(shù)據(jù)的溢出;(2)將精度低的轉換為精度高的,避免精度損失。 圖中橫向向右的箭頭表示運算時必定的轉換(例如char和char相加,這兩個char也會轉換為int,然后再相加);縱向向上的箭頭表示當運算對象為不同類型時轉換的方向(例如char遇到fl
30、oat時轉換為float,char遇到double時則轉換為double)。2 強制類型轉換如果要實現(xiàn)自動類型轉換無法實現(xiàn)的轉換時,可以使用強制類型轉換。通常是在代碼中指定向精度低或占用空間小的類型轉換,因此程序員應該自行承擔數(shù)據(jù)溢出和精度損失的風險。強制類型轉換的語法格式如下。int a = (int)2.34;強制類型轉換的后果精度損失:例如 2.34 中的小數(shù)部分丟失數(shù)據(jù)溢出:數(shù)據(jù)放不下了,導致完全失真(后果很嚴重)2.4.9 運算符的優(yōu)先級劃重點:先乘除后加減,一元運算符優(yōu)先級最高,用括號可以調整優(yōu)先級目錄2.1 C+的基本要素2.2 數(shù)據(jù)類型2.3 變量和常量2.4 運算符和表達式2
31、.5 簡單的輸入輸出2.6 綜合實訓2.5 簡單的輸入輸出2.5.1 數(shù)據(jù)輸出使用cout實現(xiàn)數(shù)據(jù)的輸出,要用到插入運算符()插入運算符()的優(yōu)先級比關系運算符、邏輯與更高endl是換行符,與n完全等價。要靈活運用n和t,對輸出進行控制,達到美觀易讀的目的#include void main(void)int a=2, b=3;/ Hello, world! 的三種寫法cout Hello, world! endl;cout Hello, world!n;cout Hello, world! n;/ 輸出兩個值時中間應該有分隔cout a、b的值分別是: a b endl;cout a、b的值
32、分別是: a= a , b= b endl;/ 關系運算符的優(yōu)先級小于 運算符,所以要加上括號cout a是否小于b: (a b) )。本章已經(jīng)使用過輸入語句,但要注意以下幾點。從鍵盤上輸入數(shù)據(jù)的個數(shù)、類型、順序必須與 cin 列舉的變量一一對應。輸入的數(shù)據(jù)之間用空格、Tab或回車鍵分隔。多個連續(xù)的分隔符與一個空格效果相同。#include void main(void)int a, b;double x, y;char c;cout a b x y c;cout 你的輸入分別是:n;cout a= a , b= b , x= x , y= y , c= c;cout endl;2.5.3 數(shù)
33、據(jù)格式控制數(shù)制之間的轉換(1) 數(shù)制#include void main(void)int a;cout hex a;cout 轉換為十進制是 dec a n;cout 轉換為八進制是 oct a nn;cout dec a;cout 轉換為十六進制是 hex a n;cout 轉換為八進制是 oct a nn;cout oct a;cout 轉換為十六進制是 hex a n;cout 轉換為十進制是 dec a nn;(3) 精度和小數(shù)位數(shù)#include #include / 設置精度需要這一行void main(void)double pi=3.141592653589793238462
34、64338;double area = 100*100*pi; / 半徑為 100 的圓的面積cout.unsetf(ios:fixed); / 以下設置的是精度cout.precision(8);cout 半徑為 100 的圓的面積: 8 位精度 area n;cout setprecision(20);cout 半徑為 100 的圓的面積:20 位精度 area n;cout.setf(ios:fixed); / 以下設置的是小數(shù)位數(shù)cout setprecision(8);cout 半徑為 100 的圓的面積: 8 位小數(shù) area n;cout setprecision(12);cou
35、t 半徑為 100 的圓的面積:12 位小數(shù) area n;cout setprecision(20);cout 半徑為 100 的圓的面積:20 位小數(shù) area n;第2章 C+語言基礎重點標識符的命名數(shù)據(jù)類型變量和常量運算符輸入和輸出難點數(shù)據(jù)類型的大小和精度變量的概念轉義字符關系和邏輯運算符標識符的命名命名規(guī)則必須遵守的,所有C+程序要求是相同的目的是寫出合格的代碼要求由63個英文字符組成(字母52個,數(shù)字10個,下劃線1個)不能以數(shù)字起頭命名規(guī)范應該遵守的,不同公司有不同要求目的是提高代碼的可讀性要求用英文單詞要有確切的含義數(shù)據(jù)類型變量和常量變量變量是儲存數(shù)據(jù)的內存空間int scor
36、e;變量有一個唯一的名字必須指定變量的數(shù)據(jù)類型,它只能保存這種類型的數(shù)據(jù)常量常量是一種不允許重新賦值的變量const int MAX_SCORE = 100;避免意外修改了它的值常量名通常用大寫字母不同大小不同形狀不同用途轉義字符字符常量可以用普通字符、轉義字符來表示應該記住下述 5 個常用的轉義字符制表符t、換行符n、單引號、雙引號、反斜線關系運算符和邏輯運算符輸入和輸出數(shù)據(jù)輸出使用cout實現(xiàn)數(shù)據(jù)的輸出,要用到插入運算符()插入運算符()從鍵盤上輸入數(shù)據(jù)的個數(shù)、類型、順序必須與 cin 列舉的變量一一對應。輸入的數(shù)據(jù)之間用空格、Tab或回車鍵分隔。多個連續(xù)的分隔符與一個空格效果相同常見問題
37、賦值不是方程等式例如 a = a + 3 它表示將 a 的值加上 3 以后,再賦給變量 a而不是方程式,如果理解成方程式,那么無解運算符的優(yōu)先級很復雜,如何記住它只要記?。合瘸顺蠹訙p,一元運算符優(yōu)先級最高,用括號可以調整優(yōu)先級以后慢慢熟悉就好了輸入時鍵盤輸入的數(shù)據(jù)與變量的對應從鍵盤輸入輸入數(shù)據(jù)時,一定要了解數(shù)據(jù)對應哪個變量一旦錯位了,將導致程序崩潰或錯誤第3章 程序結構和流程控制目錄3.1 基本結構和語句3.2 分支語句3.3 循環(huán)語句3.4 控制語句3.5 綜合實訓3.1 基本結構和語句3.1.1 程序的三種基本結構1 順序結構嚴格按語句的先后次序,從上往下順序執(zhí)行每一條語句。2 分支結構
38、滿足條件(為真,即非0)時執(zhí)行一段語句,不滿足條件(為假,即0)時不執(zhí)行任何語句,或執(zhí)行另一段語句。3 循環(huán)結構滿足條件(為真,即非0)時,循環(huán)執(zhí)行一段代碼(稱為循環(huán)體),不滿足條件(為假,即0)時結束循環(huán)。3.1.2 C+程序的指令和語句C+程序的代碼由指令和語句組成,這些指令和語句可以分為幾類,見表3-1。目錄3.1 基本結構和語句3.2 分支語句3.3 循環(huán)語句3.4 控制語句3.5 綜合實訓3.2 分支語句3.2.1 If語句1 If語句的三種基本形式If語句是最基本的分支語句,可以構成多種形式,見表3-2(1) 單選if語句(1) 單選if語句#include void main(v
39、oid) float temperature;cout temperature;if (temperature 30) cout 打開空調n;cout 程序結束n;(2) 雙選if語句(2) 雙選if語句#include void main(void) float temperature;cout temperature;if (temperature 30) cout 打開空調n;elsecout 關閉空調n;cout 程序結束n;(3) 多選if語句(3) 多選if語句#include void main(void) float temperature;cout temperature;i
40、f (temperature 30) cout 打開空調(制冷)n;else if(temperature 10)cout 打開空調(制熱)n;elsecout 關閉空調n;cout 程序結束n;2 理解條件表達式條件表達式是一個關系表達式或邏輯表達式,結果是真(非0)或假(0)也可以是一個整數(shù)或字符,原則永遠是非0為真,0為假這個例子是將一個整數(shù)變量作為條件表達式,當變量為真時(非0時)輸出“條件表達式為真”,否則輸出“條件表達式為假”。#include void main(void) int a;cout a;if(a)cout 條件表達式為真n;elsecout 條件表達式為假n;cou
41、t 程序結束n;3 巧用if語句對同一個問題,可以用不同的if語句來實現(xiàn)。例如從兩個數(shù)中求較大值,可以用雙選if語句,也可以用單選if語句來實現(xiàn)#include void main(void) int a, b, max;cout a b;if (a b)max = a;elsemax = b;cout max= max n;#include void main(void) int a, b, max;cout a b;max = a;if (b max)max = b;cout max= max n;求較大值(雙選if語句)求較大值(單選if語句)哪一種寫法好?容易理解的最好(1) 求點(x
42、, y) 的象限4 If語句的應用#include void main(void) float x, y;cout x y;if (x 0 & y 0) cout 第象限n;else if (x 0) cout 第象限n;else if (x 0 & y 0) cout 0 & y 0) cout 第象限n;else cout 不屬任何象限n;(2) 百分制成績轉等級制成績4 If語句的應用#include void main(void) float score;cout score;if (score 100) cout = 90)cout = 80)cout = 70)cout = 60)
43、cout = 0)cout 不及格n;elsecout 成績不能是負值n;(3) 計算下述分段函數(shù)的值4 If語句的應用#include void main(void)float x,y;coutx;if (x0)y = x + 1;else if (x10)y = x*x - 5;elsey = x*x*x;cout y = y n;3.2.2 If語句的嵌套If語句可以嵌套,就是說,當條件為真或假時的語句塊中,還存在獨立的條件語句。使用嵌套 if 語句時要特別注意代碼的縮進,使代碼在任何時候都是清晰可讀的。if(條件表達式1) / 外層if語句if(條件表達式) / 內層if語句(單選、雙
44、選、或多選)語句1else語句2 / 內層if語句結束else / 外層if語句的elseif(條件表達式) / 內層if語句(單選、雙選、或多選)語句1else語句2 / 內層if語句結束 / 外層if語句結束可讀性最重要!比較單選if語句嵌套 if 語句void main(void) int score1, score2;cout score1 score2;if(score1=60 & score2=60)cout 兩門課程都及格n;void main(void) int score1, score2;cout score1 score2;if(score1=60)if(score2=6
45、0)cout 兩門課程都及格n;哪一種可讀性好?比較多選if語句嵌套 if 語句void main(void) int score;cout score;if(score=80)cout =60)cout 成績及格n;elsecout 不及格n;void main(void) int score;cout score;if(score=80)cout =60)cout 成績及格n;elsecout 不及格n;哪一種可讀性好?if語句的嵌套#include void main(void)float temperature;cout temperature;char hasAC;cout hasA
46、C;if (hasAC = y | hasAC = Y) cout 有空調n; else if (hasAC = n | hasAC = N) cout 沒有空調呀n; else cout 30) cout 打開空調(制冷)n; else if (temperature 10) cout 打開空調(制熱)n; else cout 30) cout 拿起扇子n; else if (temperature 10) cout 多穿衣服n; else cout 什么也不要做n;3.2.3 條件運算符和條件表達式(1) 計算兩個數(shù)中的較大者(2) 計算兩個數(shù)中的較小者#include void main
47、(void) int a, b, max;cout a b;max = ab ? a : b; cout max= max n;#include void main(void) int a, b, min;cout a b; min = ab ? a : b;cout min = min b ? a : b; / 先求兩個數(shù)的較大者max = maxc ? max : c; / 再與第三個數(shù)比較變量 = 條件為真 ? 表達式1 : 表達式2;3.2.4 Switch語句另一種分支語句是switch語句,是一種多選的分支語句。switch中的變量只能是字符、短整型和整型等類型的變量。每個case
48、中的代碼可以由多行代碼組成,而不需要加上花括號。通常情況下,每個case都應該用break中斷,以防止繼續(xù)執(zhí)行下一個case,除非需要繼續(xù)執(zhí)行下一個case。switch (變量)case 值1:代碼1;break;case 值2:代碼2;break;case值n:代碼n;break;default:代碼n+1;1 Switch語句的基本形式一個簡單例子將數(shù)字轉換為星期輸入數(shù)字輸出星期#include void main(void) int a;cout a;switch (a)case 0:cout Sundayn;break;case 1:cout Mondayn;break;case 2
49、:cout Tuesdayn;break;case 3:cout Wednesdayn;break;case 4:cout Thursdayn;break;case 5:cout Fridayn;break;case 6:cout Saturdayn;break;default:cout Input data error.n;(1) 將百分制成績轉換為中文的等級制成績(暫不考慮100分)2 Switch語句的應用#include void main(void) int score;cout score;switch(score/10)case 9:cout 優(yōu)秀n;break;case 8:c
50、out 良好n;break;case 7:cout 中等n;break;case 6:cout 及格n;break;case 5:case 4:case 3:case 2:case 1:case 0:cout 不及格n;break;default:cout 輸入錯誤n;(2) 將ABCDF表示的等級制成績轉換為中文表示的等級制成績2 Switch語句的應用#include void main(void) char grade;cout grade;switch(grade)case A:case a:cout 優(yōu)秀n;break;case B:case b:cout 良好n;break;cas
51、e C:case c:cout 中等n;break;case D:case d:cout 及格n;break;case F:case f:cout 不及格n;break;default:cout 輸入錯誤n;(3) 用switch語句編寫菜單2 Switch語句的應用#include void main(void) cout I. 輸入數(shù)據(jù)n;cout C. 進行計算n;cout O. 輸出數(shù)據(jù)n;char choice;cout choice;switch(choice)case I:case i:cout 你選擇了I. 輸入數(shù)據(jù)n;break;case C:case c:cout 你選擇了
52、C. 進行計算n;break;case O:case o:cout 你選擇了O. 輸出數(shù)據(jù)n;break;default:cout 選擇錯誤,只能選擇字母i, c, on;cout 程序結束n;3 Switch語句與if語句比較Switch語句的優(yōu)勢是使程序簡潔清晰,可讀性好只要能夠用switch語句實現(xiàn)的,就應該用switch語句來編寫。目錄3.1 基本結構和語句3.2 分支語句3.3 循環(huán)語句3.4 控制語句3.5 綜合實訓3.3 循環(huán)語句3.3.1 While循環(huán)語句While循環(huán)語句的語法結構如下。它的執(zhí)行流程是,首先計算結束條件表達式的值,若表達式的值為真(或非0),則執(zhí)行循環(huán)體語句
53、為假(或0),則結束循環(huán)while(結束條件表達式)循環(huán)體;While循環(huán)計算1到n的整數(shù)和While循環(huán)是一種當型循環(huán),滿足條件(為真)時執(zhí)行循環(huán)體,直到條件為假,可能執(zhí)行0到多次循環(huán)體當型循環(huán)是先判斷后執(zhí)行,所以可能一次循環(huán)都不執(zhí)行。#include void main(void) int i, n, sum;cout n;sum = 0;i = 1;while (i = n) sum += i;cout i= i , sum= sum n;i+;cout sum = sum n;3.3.2 Dowhile循環(huán)語句Dowhile循環(huán)語句的語法結構如下。它的執(zhí)行流程是,首先執(zhí)行一次循環(huán)體語句
54、,然后再計算結束條件表達式的值,若表達式的值為真(或非0),則執(zhí)行循環(huán)體語句為假(或0),則結束循環(huán)do循環(huán)體; while(結束條件表達式);Dowhile循環(huán)計算1到n的整數(shù)和Dowhile循環(huán)是一種直到型循環(huán),先執(zhí)行一次循環(huán)體,直到不滿足條件(為假)時結束循環(huán),可能執(zhí)行1到多次循環(huán)體。直到型循環(huán)是先執(zhí)行后判斷,所以至少執(zhí)行一次循環(huán)體。#include void main(void) int i, n, sum;cout n;sum = 0;i = 1;do sum += i;cout i= i , sum= sum n;i+; while (i = n);cout sum = sum n
55、;While循環(huán)和Dowhile循環(huán)的區(qū)別While循環(huán)和Dowhile循環(huán)在語法上有少許的差別,同樣在實現(xiàn)功能上也有少許差別。運行前面兩個程序如果輸入的n值是正數(shù),這時輸出的結果是相同的如果輸入的n值是負數(shù),則結果就不同While循環(huán)的結果是0而Dowhile循環(huán)的結果是1。就是說,Dowhile循環(huán)的循環(huán)體至少會執(zhí)行一次3.3.4 For循環(huán)語句另一種常見的循環(huán)語句是for循環(huán)For循環(huán)的執(zhí)行流程如下。1、執(zhí)行起始表達式。2、計算結束條件表達式的值,若表達式的值為真(或非0),則執(zhí)行循環(huán)體語句為假(或0),則結束循環(huán)。3、執(zhí)行循環(huán)體。4、執(zhí)行循環(huán)增量表達式。for (起始表達式; 結束條件
56、表達式; 循環(huán)增量表達式)循環(huán)體;For循環(huán)計算1到n的整數(shù)和C+ 一共有三種循環(huán)語句,它們之間的區(qū)別和相同之處如下。for 循環(huán)與 while 循環(huán)可以相互替代,但在不同情況下,可讀性不同,應該根據(jù)具體的情況選擇使用。dowhile 循環(huán)至少執(zhí)行一次循環(huán)體,通常在特殊情況下使用。#include void main(void) int i, n, sum;cout n;sum = 0;for (i = 1; i = n; i+) sum += i;cout i= i , sum= sum n;cout sum = sum n;3.3.5 循環(huán)語句的幾種變化(1) 省略起始表達式:將其寫在fo
57、r語句之前。(2) 省略 for 的三個部分:將這三個部分分別寫在for語句之前或循環(huán)體中。For循環(huán)的變化#include void main(void) int i, n, sum;cout n;sum = 0;i = 1; / 原來的起始表達式for (; i = n; i+) sum += i;cout sum = sum n;#include void main(void) int i, n, sum;cout n;sum = 0;i=1;/ 起始條件for(;)/ 無限循環(huán)if(in)break; / 退出循環(huán)sum += i;/ 循環(huán)體i+;/ 循環(huán)增量表達式cout sum =
58、 sum n;注意:分號不能省略2 While語句的變化for循環(huán)(與前相同)while循環(huán)For循環(huán)與while循環(huán)的比較#include void main(void) int i, n, sum;cout n;sum = 0;i=1; / 起始條件while(1) / 無限循環(huán)if(in) break;/ 退出循環(huán)sum += i; / 循環(huán)體i+; / 循環(huán)增量表達式cout sum = sum n;#include void main(void) int i, n, sum;cout n;sum = 0;i=1;/ 起始條件for(;)/ 無限循環(huán)if(in)break; / 退出循
59、環(huán)sum += i;/ 循環(huán)體i+;/ 循環(huán)增量表達式cout sum = sum n;3.3.6 循環(huán)語句的嵌套輸出乘法表外層循環(huán)是行內層循環(huán)是列使用嵌套循環(huán)時要注意以下幾點。1、不同層的循環(huán)要用不同的循環(huán)變量,通常順序使用i, j, k。2、不同層的循環(huán)變量要保持獨立,例如不能在內層循環(huán)修改外層循環(huán)變量的值3、可以有多層嵌套循環(huán),三層或更多層,但不宜超過4層。4、重要:每增加一層循環(huán),要增加一層代碼縮進#include void main(void) for(int i=1; i10; i+) / 外層循環(huán)for(int j=1; j10; j+)cout i x j = i * j t;
60、 cout endl; / 外層循環(huán)結束cout endl;3.3.7 實例詳解(二)求的近似值void main(void) int count;cout count;double pi = 0;double item;int flag = 1;int i=1;while(icount)item = flag * 4.0 / i;pi += item;i += 2;flag *= -1; / 負負得正cout pi = pi n;cout 程序結束n;void main(void) int count;cout count;double pi = 0;double item;int flag
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經(jīng)權益所有人同意不得將文件中的內容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
- 6. 下載文件中如有侵權或不適當內容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 皮革加工機械設計與研發(fā)考核試卷
- 柑橘種植園農業(yè)生態(tài)環(huán)境保護宣傳教育考核試卷
- 紙制品行業(yè)生產(chǎn)成本降低與效益提升考核試卷
- 煤化工氣體凈化與分離技術考核試卷
- 電子商務初步認識
- 液壓系統(tǒng)在熱能發(fā)電中的應用考核試卷
- 篷布制造企業(yè)面臨的環(huán)保挑戰(zhàn)與對策考核試卷
- 電子出版物廣告與推廣考核試卷
- 湘教版二下美術課件
- 幼兒舞蹈教育的基本原則
- (二模)2025年深圳市高三年級第二次調研考試歷史試卷(含標準答案)
- 廣西《疼痛綜合評估規(guī)范》(材料)
- 陜西省2024年高中學業(yè)水平合格考化學試卷試題(含答案解析)
- 畢業(yè)設計(論文)-霧炮除塵系統(tǒng)的設計
- 運動處方的制定課件
- 腫瘤學概論規(guī)培教學課件
- 輸液泵/微量注射泵使用技術操作考核評分標準
- 施工安全責任承諾書doc
- 八十天環(huán)游地球-完整版PPT
- DB32-T 1072-2018 太湖地區(qū)城鎮(zhèn)污水處理廠及重點工業(yè)行業(yè)主要水污染物排放限值-(高清現(xiàn)行)
- 江西省鄱陽湖康山蓄滯洪區(qū)安全建設工程項目環(huán)境影響報告書
評論
0/150
提交評論