2022年2022年C++語言第一課_第1頁
2022年2022年C++語言第一課_第2頁
2022年2022年C++語言第一課_第3頁
2022年2022年C++語言第一課_第4頁
2022年2022年C++語言第一課_第5頁
已閱讀5頁,還剩17頁未讀 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡介

1、精選學(xué)習(xí)資料 - - - 歡迎下載1 初識(shí)c+ 語言1.1 關(guān)于c+c+ 為一種運(yùn)算機(jī)通用的高級(jí)程序設(shè)計(jì)語言;開頭形成的為c 語言,那些想建立更快更有效的代碼的程序員特別觀賞c 語言;但有一位名叫bjarne stroustrup 的人卻不滿意于僅僅為生產(chǎn)快速代碼,他想創(chuàng)建面對(duì)對(duì)象的c 語言編程;他開頭對(duì)c 語言的內(nèi)核進(jìn)行必要的修改,使其能滿意面對(duì)對(duì)象模型的要求;c+ 從今產(chǎn)生;c+ 自產(chǎn)生以來, 經(jīng)過開發(fā)和擴(kuò)充已成一種完全成熟的編程語言;現(xiàn) 在 c+ 已 由 ansi .bsi .din .其他幾個(gè)國家標(biāo)準(zhǔn)機(jī)構(gòu)和iso 定為標(biāo)準(zhǔn); iso 標(biāo)準(zhǔn)于1997 年 11 月 4 日 經(jīng) 投票正式通

2、過;c+ 標(biāo)準(zhǔn)演化了很多年;c+ 模板為近幾年來對(duì)此語言的一種擴(kuò)展,模板為依據(jù)類型參數(shù)來產(chǎn)生函數(shù)和類的機(jī)制,有時(shí)也稱模板為“參數(shù)化的類型”;使用模板,可以設(shè)計(jì)一個(gè)對(duì)很多類型的數(shù)據(jù)進(jìn)行操作的類,而不需要為每個(gè)類型的數(shù)據(jù)建立一個(gè)單獨(dú)的類;標(biāo)準(zhǔn)模板庫 standard tempalte library ,stl 就為基于這個(gè)c+ 語言擴(kuò)展的;c+ 標(biāo)準(zhǔn)可分為兩部分,c+ 語言本身和c+ 標(biāo)準(zhǔn)庫; c+ 標(biāo)準(zhǔn)庫供應(yīng)了標(biāo)準(zhǔn)的輸入/輸出.字符串.容器如矢量.列表和映射等 .非數(shù)值運(yùn)算如排序.搜尋和合并等和對(duì)數(shù)值運(yùn)算的支持;應(yīng)當(dāng)說,c/c+ 包含了相對(duì)少的關(guān)鍵字,而且很多最有用的函數(shù)都來源于庫;c+ 標(biāo)準(zhǔn)庫

3、實(shí)現(xiàn)容器和算法的部分就為stl ; stl為數(shù)據(jù)結(jié)構(gòu)和算法的一個(gè)框架,數(shù)據(jù)結(jié)構(gòu)包括矢量.列表和映射等,算法包括這些數(shù)據(jù)結(jié)構(gòu)的查找.拷貝和排序等;1994 年 7月, ansi/iso c+ 標(biāo)準(zhǔn)委員會(huì)投票打算接受stl 為 c+ 標(biāo)準(zhǔn)庫的一部分;stl 的產(chǎn)生為為了滿意通用性的設(shè)計(jì)目標(biāo),而不為為了提高性能;1.1.1 c+ 的進(jìn)展:c+ 程序設(shè)計(jì)語言為由來自at&t貝爾實(shí)現(xiàn)室的bjarne stroustrup 設(shè)計(jì)和實(shí)現(xiàn)的, 它兼具 simula 語言在組織與設(shè)計(jì)方面的特性以及適用于系統(tǒng)程序設(shè)計(jì)的c 語言特性;c+ 最初的版本被稱作“帶類的c( c with classes)”,在1

4、980 年被第一次投入使用;當(dāng)時(shí)它只支持系統(tǒng)程序設(shè)計(jì)和數(shù)據(jù)抽象技術(shù);支持面對(duì)對(duì)象程序設(shè)計(jì)的語言特性在1983 年被加入c+ ;之后,面對(duì)對(duì)象設(shè)計(jì)方法和面對(duì)對(duì)象程序設(shè)計(jì)技術(shù)就逐步進(jìn)入了c+ 領(lǐng)域;在 1985 年 , c+第一次投入商業(yè)市場;在 1987 至 1989 年間,支持范型程序設(shè)計(jì)的語言特性也被加進(jìn)了c+隨著如干獨(dú)立開發(fā)的c+ 實(shí)現(xiàn)產(chǎn)品的顯現(xiàn)和廣泛應(yīng)用,正式的c+ 標(biāo)準(zhǔn)化工作在1990年啟動(dòng);標(biāo)準(zhǔn)化工作由ansi (american national standard institute )以及后來加入的iso(international standards organization

5、)負(fù)責(zé); 1998 年正式發(fā)布了c+ 語言的國際標(biāo)準(zhǔn);精品學(xué)習(xí)資料精選學(xué)習(xí)資料 - - - 歡迎下載1.1.2 c+ 的開發(fā)環(huán)境:visual studio 6.0這個(gè)雖然為microsoft 公司的老版本的開發(fā)環(huán)境,但為鑒于其后繼版本visual studio.net的巨大身軀,以及初學(xué)者并不那么高的功能要求,所以舉薦這個(gè)開發(fā)環(huán)境給c+ 的初學(xué)者,供其學(xué)習(xí)c+ 的最基本的部分, 比如 c 的那部分子集, 當(dāng)然你別盼望他能夠支持最新的c99 標(biāo)準(zhǔn); 在日常的開發(fā)中,仍舊有很多公司使用這個(gè)經(jīng)典穩(wěn)固的環(huán)境,比如筆者就看曾親見有 些公司將其編譯器替換為gcc 做手機(jī)開發(fā)之用;visual studi

6、o.net作為 microsoft公司官方正式發(fā)布的最新版本開發(fā)環(huán)境,其中有太多興奮人心的功能;結(jié)合其最新的c+ 編譯器; 對(duì)于機(jī)器配置比較好的開發(fā)人員來說,使用這個(gè)開發(fā)環(huán)境將能滿意其大部分的要求;borland c+ builder x c+builderx就為完全從c+ 的角度摸索得出的一個(gè)功能豐富的ide ;其最大的特點(diǎn)為跨平臺(tái),跨編譯器,多種framework 的集成,并且有一個(gè)wxwindows為基礎(chǔ)的gui 設(shè) 計(jì)器;特殊為采納了純 c+ 來重寫了整個(gè) framework、 摒棄了以前令人無奈的版本;對(duì)于 c+ 的開發(fā)來說, 從編譯器, 到庫, 到功能集成都為特別抱負(fù)的; 可以預(yù)見

7、, borland c+ builder x 2.0 很值得 c+ 愛好者期望;唯獨(dú)令人難堪之處為作為一個(gè) c+ 的開發(fā)工具,其 ide 為用java 寫的,在配置不夠抱負(fù)的機(jī)器上請(qǐng)謹(jǐn)慎考慮再安裝;dev c+gcc 為一個(gè)很好的編譯器;在windows 上的 c+ 編譯器始終和標(biāo)準(zhǔn)有著一段距離的時(shí) 候, gcc 就為一個(gè)讓windows 下開發(fā)者流口水的編譯器;dev-c+ 就為能夠讓gcc 跑 在windows 下的工具,作為集成開發(fā)環(huán)境,仍供應(yīng)了同專業(yè)ide 相媲美的語法高亮,代碼提示,調(diào)試等功能;由于使用delphi 開發(fā),占用內(nèi)存少,速度很快,比較適合輕量級(jí)的學(xué)習(xí)和使用;1.2 de

8、v-cpp 的環(huán)境啟動(dòng) dev-c+ 后的環(huán)境如下:精品學(xué)習(xí)資料精選學(xué)習(xí)資料 - - - 歡迎下載在這個(gè)環(huán)境中,編輯好源代碼后,單擊可以編譯源代碼,假如編譯有錯(cuò)誤,就列出錯(cuò)誤,并停止編譯,這個(gè)操作的快捷鍵為ctrl+f9 ;假如編譯勝利,就可以單擊,運(yùn)行編譯好的程序;當(dāng)然,也可以單擊,編譯當(dāng)前的程序并運(yùn)行;這個(gè)操作的快捷鍵為f9.一些有用的快捷鍵:ctrl+y :刪除當(dāng)前行ctrl+n :新建源文件窗口insert:插入與改寫狀態(tài)切換1.3 c+ 程序結(jié)構(gòu)1.3.1 hello word !輸入以下程序并編譯.運(yùn)行;#include <iostream> using namespa

9、ce std; int maincout<<"hello word."<<endl;從這個(gè) mini 程序可以看到c+程序的一般格式;注釋如下:#include <iostream>/包含要使用的庫函數(shù);這里為輸入輸出功能;由于一個(gè)/信息系統(tǒng)總要輸入輸出信息,所以基本上每個(gè)程序都會(huì)精品學(xué)習(xí)資料精選學(xué)習(xí)資料 - - - 歡迎下載/包含它;using namespace std;/把 std 名字空間打開, 程序可以正確識(shí)別std 中的名字了, /如 cout,endl 等開蓋子語句 ;int main/主函數(shù),執(zhí)行入口,在最新標(biāo)準(zhǔn)中,它必需

10、返回int/類型數(shù)據(jù)/函數(shù)的內(nèi)容必需放在括號(hào)中 cout<<"hello word."<<endl;/ 輸出信息/函數(shù)終止仍可以看到,程序的語句必需用分號(hào)終止在 dev-cpp 中,執(zhí)行后屏幕一閃,就回到編輯界面,怎樣讓程序等一會(huì),讓我們能看清執(zhí)行結(jié)果;有兩種方法:int maincout<<"hello word."<<endl; getchar;這種方法調(diào)用函數(shù)getchar,它等待從命令行得到一個(gè)字符,回車終止;所以回車后回到編輯界面;或:int maincout<<"hello

11、 word."<<endl; system “pause”;這種方法調(diào)用windows 中的 cmd 命令“ pause”,按任意鍵回到編輯界面;練 習(xí) : 1在 dev-cpp 中編寫代碼,讓它說一些你想說的話;留意,在它可以說中國話 ,只要把它放到英文的引號(hào)中就行;2編程序顯示一首唐詩3編程,用字符 * 組成一個(gè)3 列 5 行的平行四邊形1.3.2 能說會(huì)算放在引號(hào)中的內(nèi)容會(huì)原樣輸出;假如不放在引號(hào)中呢?比如編程運(yùn)算123× 321.#include <iostream> using namespace std; int maincout<

12、<321*123<<endl; getchar;可以看到,對(duì)于沒有放到引號(hào)中的類型,c+ 會(huì)把這些內(nèi)容作為表達(dá)式,運(yùn)算并輸出這個(gè)表達(dá)式的值;精品學(xué)習(xí)資料精選學(xué)習(xí)資料 - - - 歡迎下載練習(xí):1運(yùn)算半徑為12 的球的體積 2一元二次方程的系數(shù)分別為1 , 5, 3、求這個(gè)方程的根; c+ 中的常用算術(shù)運(yùn)算符:運(yùn)算c+ 中的運(yùn)算符+-×*÷/求余數(shù)1.3.3 變量假如在 hello word 程序中,去掉引號(hào),會(huì)發(fā)生什么;試一試;對(duì)了,它把hello 看成了一個(gè)變量,并報(bào)告說hello 這個(gè) 變量 沒有定義; c+ 為一種強(qiáng)類型語言,要求全部的變量都要先定義

13、后使用;定義變量的方法為:類型名變量名如:int a;/ 定義一個(gè)變量,變量名為a,它的類型為整型double c、d; / 定義兩個(gè)變量,變量名為c 和 d,它們的類型都為doubleint b=12;/定義一個(gè)變量,變量名為b,類型為整型,同時(shí)給變量b 賦值,讓變量b 的值為/12.要轉(zhuǎn)變一個(gè)變量的值,可以使用賦值 號(hào)“ =”,它的作用為:運(yùn)算出等號(hào)右邊的表達(dá)式的值,然后把這個(gè)結(jié)果賦值給等號(hào)右邊的變量;如執(zhí)行以下語句:b=-1;可以讓變量b 的值為 -1c+ 常用基本數(shù)據(jù)類型類型說明長度 字節(jié) 表示范疇備注char字符型1-128 127unsigned char無符號(hào)字符10 255in

14、t整型4約± 21 億unsigned int無符號(hào)整型40 到 約 42 億double雙精度型8約± 1030815 位有效位bool布爾型1true 和 false練習(xí):1運(yùn)算半徑為12 的球的體積, 把球的半徑儲(chǔ)存在變量r 中,把球的體積放到變量v 中 ;2一元二次方程的系數(shù)分別為1 ,5,3、求這個(gè)方程的根;把系數(shù)分別儲(chǔ)存在變量a、b、c中;判別式結(jié)果儲(chǔ)存在d 中,根分別儲(chǔ)存在x1 和 x2 中 ;3在第一題中,假如遺忘給變量r 賦值,會(huì)得到什么結(jié)果;為什么?4在第一題中,假如把變量v 的類型設(shè)置成了int,會(huì)得到什么結(jié)果,為什么?精品學(xué)習(xí)資料精選學(xué)習(xí)資料 - -

15、 - 歡迎下載5編寫程序,輸入三角形的三邊,求三角形的面積;公式為:area=sqrtss-as-bs-c其中 s 為半周長s=a+b+c/26運(yùn)行如下的程序,會(huì)得到什么結(jié)果,想一想,為什么? int mainint a=10000; int b=a*a*a;cout<<b<<endl;1.3.4 賦值語句賦值,顧名思義,就為把一個(gè)值給予某個(gè)量;可以這懂得:變量相當(dāng)于裝東西的容器,賦值的過程就為把東西放進(jìn)容器的過程;賦值語句格式如下:變量 =表達(dá)式;寫賦值語句有以下幾點(diǎn)要留意:1.賦值號(hào) “ =”賦值號(hào)為一個(gè)運(yùn)算符;表示“把等號(hào)右邊的表達(dá)式的值賦值給等號(hào)右邊的變量”;它

16、和數(shù)學(xué)中的符號(hào)一樣,但含義卻完全不一樣;比如,它明顯沒有交換律:a=b不能寫成b=aa=b+c假如寫成b+c=a 仍為一個(gè)語法錯(cuò)誤;2.賦值號(hào)兩邊的數(shù)據(jù)類型必需相同或相容c+ 中的量不管為變量仍為常量都有一個(gè)屬性稱為“數(shù)據(jù)類型”;數(shù)據(jù)類型相同的或相容的才可以相互賦值;怎么來懂得這句話呢?我們學(xué)問變量就為內(nèi)存中指定的一些儲(chǔ)備單元,可以把它想象成具有肯定大小的盒子,它們能儲(chǔ)備某些類型的數(shù)據(jù);假如給的數(shù)據(jù)剛好能放到盒子里,當(dāng)然沒有問題;但假如你給的數(shù)據(jù)占用的空間超過了盒子的大小,就會(huì)出問題了;對(duì)于數(shù)據(jù)類型相容的,可以這樣懂得;假如我們給的數(shù)據(jù)占用的空間小于盒子的空間,一般也可以將就用,這就屬于“相容

17、”的情形,一般不會(huì)出錯(cuò);但假如反過來,就盒子會(huì)裝不下,會(huì)發(fā)生“溢出”,這就不行了,會(huì)出錯(cuò);因些,我們在寫賦值語句時(shí),要留意兩邊的類型為否匹配;賦值語句的一般寫法為:a=3 x=x+2 x=y/z當(dāng)一個(gè)變量既顯現(xiàn)在表達(dá)式的左邊又顯現(xiàn)在右邊時(shí),可以縮寫; 如上面的表達(dá)式可寫為:x+=2x/=z對(duì)于 x=x+1 或 x=x-1 的表達(dá)式來說,c/c+ 供應(yīng)了更加簡潔的寫法, x+精品學(xué)習(xí)資料精選學(xué)習(xí)資料 - - - 歡迎下載x-練習(xí):1.把一個(gè)整數(shù)的各位數(shù)字倒序輸出;1.3.5 做“通用”程序在前面的學(xué)習(xí)中,我們只能算程序時(shí)就確定的數(shù)據(jù);但經(jīng)常有些數(shù)據(jù)在編程時(shí)為不知道詳細(xì)值的;比如收銀臺(tái)程序就不能假

18、定用戶只能買1 件 201 元的衣服;在程序運(yùn)行時(shí),暫時(shí)輸入數(shù)據(jù),可以用cin ;比如運(yùn)算球的體積的程序:int mainint r、v; cin>>r;v=3.14*4/3*r*r*r;cout<< v<<endl; system"pause"練習(xí):1.輸入兩個(gè)數(shù),放到變量a、b 中,然后交換變量a、b 的值,并輸出2.做一個(gè)自己的程序,當(dāng)程序運(yùn)行時(shí)輸入數(shù)據(jù),完成某個(gè)運(yùn)算任務(wù);1.4 文件操作1.4.1 建立文件流舉例:編程運(yùn)算兩個(gè)數(shù)的和.差.積.商;輸入:從文本文件jisuan.in 讀入數(shù)據(jù);文件格式為:只有兩個(gè)數(shù),中間用空格分隔如

19、:5 2輸出:輸出到文件jisuan.out 中,格式為:每行一個(gè)數(shù),分別為和.差.積.商的結(jié)果;如:7310精品學(xué)習(xí)資料精選學(xué)習(xí)資料 - - - 歡迎下載2.5參考代碼:#include <iostream>#include <fstream> using namespace std; int mainint a、b;ifstream inf"jisuan.in"/設(shè)置輸入文件流inf 并初始化 ofstream outf"jisuan.out"/ 設(shè)置輸出文件流outf 并初始化 inf>>a>>b;o

20、utf<<a+b<<endl; outf<<a-b<<endl; outf<<a*b<<endl; outf<<a*1.0/b<<endl;1.4.2 用文件流替換標(biāo)準(zhǔn)輸入輸出流同上面的問題,參考代碼:#include <iostream>#include <fstream> using namespace std; int mainint a、b;freopen"jisuan.in"、"rt"、stdin;/ 把文件流重定向到標(biāo)準(zhǔn)輸入

21、流cinfreopen"jisuan.out"、"wt"、stdout; /把文件流重定向到標(biāo)準(zhǔn)輸出流cout cin>>a>>b;cout<<a+b<<endl; cout<<a-b<<endl; cout<<a*b<<endl; cout<<a*1.0/b<<endl;練習(xí):已知物體的運(yùn)動(dòng)的初速度和加速度,可以求出物體經(jīng)過肯定時(shí)間運(yùn)行的距離,其公式為:s=v0t*1/2*vt 2編程求物體的運(yùn)行距離;輸入文件: juli.in格式為

22、:共有三行數(shù)據(jù),每一行由空格分隔的三個(gè)數(shù)字組成,分別表示初速度,加速度和時(shí)間;輸出文件: juli.out共三行,每行一個(gè)數(shù),表示物體運(yùn)行的距離;精品學(xué)習(xí)資料精選學(xué)習(xí)資料 - - - 歡迎下載1.5 流程掌握1.5.1 if語句條件語句用于響應(yīng)一個(gè)條件的兩個(gè)方面;例如:今日假如下雨,我們就在家;否就(不下雨)我們就出去玩;用 c+ 的 if 語句可寫成:if 天下雨 在家 ;else出去玩 ;if 語句的一般格式為:if 條件 分支一 ;else分支二 ;“分支一”和“分支二”表示當(dāng)條件成立時(shí)和不成立分別要執(zhí)行語句;執(zhí)行過程為:如果條件成立(也稱條件為真),那么程序執(zhí)行分支一中的語句,否就(條

23、件為假)程序執(zhí)行分支二的語句;圖示:留意:精品學(xué)習(xí)資料精選學(xué)習(xí)資料 - - - 歡迎下載1.條件語句的分支假如不只一個(gè)語句,需要用花括號(hào)括起來,組成一個(gè)復(fù)合語句;2.在 if 語句中, else 部分可以省略;此時(shí)的執(zhí)行規(guī)律如下:3.在 if 語句中仍可以嵌套if 語句,一般來說,把if 語句嵌套在else 分支中;此時(shí)的寫法形如:if 條 件 1分支一else if 條件 2分支二else if 條 件 3分支三else分支四例 1.輸入兩個(gè)數(shù)a, b,輸出較大的數(shù);int void mainint a、b; cin>>a>>b; if a>bcout<&

24、lt;a;精品學(xué)習(xí)資料精選學(xué)習(xí)資料 - - - 歡迎下載elsecout<<b;精品學(xué)習(xí)資料精選學(xué)習(xí)資料 - - - 歡迎下載條件由關(guān)系表達(dá)式組成,c+的關(guān)系運(yùn)算符有:= 比較左右值為否相等> 比較左值為否大于右值>= 比較左值為否大于或等于右值,也稱為不小于)< 比較左值為否小于右值)<=(比較左值為否小于或等于右值,也稱為不大于).= 比較左右值為否不相等特殊要留意,關(guān)系運(yùn)算符的“等于”,為由兩個(gè)=組成;假如寫成了一個(gè),就成了賦值語句;要命的為,很多編譯器并不報(bào)錯(cuò),所以肯定要當(dāng)心;關(guān)系運(yùn)算的結(jié)果為規(guī)律值;對(duì)于復(fù)雜的條件,需要用到規(guī)律運(yùn)算符;規(guī)律運(yùn)算的結(jié)果

25、為規(guī)律值;符號(hào)意思例子&&并且and條 件 1 && 條 件 2|或者or條件 1|條件 2c+ 的規(guī)律運(yùn)算符有三個(gè):!非(not ).條件下面列出了&&(與)操作的全部可能條件及結(jié)果:真 &&真=真真 &&假=假假 &&假=假下面列出了|(或)操作的全部可能條件及結(jié)果真 | 真 = 真真 | 假 = 真假 | 假 = 假以下就為 .操作:精品學(xué)習(xí)資料精選學(xué)習(xí)資料 - - - 歡迎下載.真= 假.假= 真練習(xí):1.判定一個(gè)數(shù)為偶數(shù)或奇數(shù);2.判定一個(gè)字母為大寫字母,小寫字母,仍為數(shù)字3.程序運(yùn)行時(shí),

26、輸入三個(gè)數(shù),把它們按從小到大的次序輸出;輸入文件threenum.in :三個(gè)數(shù),由空格分隔輸出文件threenum.out:三個(gè)由空格分隔的從小到大的數(shù)1.5.2 switch 語句:多級(jí) if.else.明顯為為了那些可能需要進(jìn)行多級(jí)判定才能做出挑選的情形;c+ 為了簡化多級(jí)判定,供應(yīng)了switch 語句;switch語句的格式:switch 整型或字符型變量case 變量可能值1 :分支一 ;break;case 變量可能值2 :分支二 ;break;case 變量可能值3 :分支三 ;break;.default :最終分支 ;在 switch的語法里,我們要學(xué)到4 個(gè)關(guān)鍵字: swi

27、tch .case .break.default ;在 switch 變量 這一行里,變量只能為整型或字符型;程序先讀出這個(gè)變量的值,然后在各個(gè) "case"里查找哪個(gè)值和這個(gè)變量相等,假如相等,就算條件成立,程序執(zhí)行相應(yīng)的分支,直到碰上break 或者 switch 語句終止;實(shí)例:模擬網(wǎng)絡(luò)調(diào)查,要求輸出不同的選項(xiàng),供網(wǎng)友挑選(通過簡潔地輸入數(shù)字),程序依據(jù)網(wǎng)友的挑選,輸出相應(yīng)不同的結(jié)果;#include <iostream>int mainint argc、 char* argvint fromway;精品學(xué)習(xí)資料精選學(xué)習(xí)資料 - - - 歡迎下載cout

28、<< " 請(qǐng)通過輸入序號(hào),挑選您如何來到本網(wǎng)站;" << endl;cout << "1 - 通過搜尋引擎 " << endl; cout << "2 - 通過伴侶介紹 " << endl; cout << "3 - 通過報(bào)刊雜志 " << endl; cout << "4 - 通過其它方法 " << endl;cin >> fromway; switch from

29、waycase 1 :cout << " 您為通過搜尋引擎來到本網(wǎng)站的;" << endl; break;case 2 :cout << " 您為通過伴侶介紹來到本網(wǎng)站的;" << endl; break;case 3 :cout << " 您為通過報(bào)刊雜志來到本網(wǎng)站的;" << endl; break;case 4 :cout << " 您為通過其它方法來到本網(wǎng)站的;" << endl; break;default :

30、cout << " 錯(cuò)誤的挑選!請(qǐng)輸入1 4 的數(shù)字做出挑選;" << endl;getchar; return 0;第一, int fromway 定義了一個(gè)整型變量,預(yù)備用來儲(chǔ)備用戶輸入的挑選;程序?qū)⒁罁?jù)fromway 值,在下面的各個(gè)case中找到匹配的值;本例中switch 帶有四個(gè)case,值分別為;假如輸入的為2,所以程序進(jìn)入下面這個(gè)case: case 2 :cout << " 您為通過伴侶介紹來到本網(wǎng)站的;" << endl;break;程序打出 " 您為通過伴侶介紹

31、來到本網(wǎng)站的;" 這行內(nèi)容;最終遇上break;于為跳出整個(gè) switch 語句;同樣的道理,假如用戶輸入的為其它的數(shù),如1 或 3,就會(huì)進(jìn)入相應(yīng)的case 1 或case3 分支;但假如用戶輸入的數(shù)在全部的 case 里都找不到時(shí),會(huì)怎么樣?比如,用戶輸入5;這種情形下, default 分支將起作用,全部 case里的值都不匹配時(shí), switch 進(jìn)入 default 分支;假如連 default 也沒有,那么程序在 switch 語句里什么也不做,直接完成 switch 語句;看一看 switch、case、break, default 的中文意思,對(duì)懂得前面的一切也會(huì)有幫忙,

32、它們分別為:開關(guān),情形,中斷,默認(rèn)(值);那么用一句話套起來的說法就為:依據(jù)開關(guān)值的不同,執(zhí)行不同的情形,直到遇上中斷;假如全部的情形都不符合開關(guān)值,那么就執(zhí)行默認(rèn)的 分支;關(guān)于 switch 中特別重要的幾個(gè)留意點(diǎn)如下:精品學(xué)習(xí)資料精選學(xué)習(xí)資料 - - - 歡迎下載第一. switch整型或字符型變量中,變量的類型只能為整型和字符類型;它們包含int、char ;實(shí)型(浮點(diǎn)型)數(shù)就不行,例如: float a = 0.123;switcha / 錯(cuò)誤! a 不為整型或字符類型變量;.其次. case 之后可以為直接的常量數(shù)值,如例中的,也可以為一個(gè)使用常量運(yùn)算式,如2+2 等,

33、但不能為變量或帶有變量的表達(dá)式,如a * 2 等;當(dāng)然也不能為實(shí)型數(shù),如 4.1,或 2.0 / 2等;switchformwaycase 2-1 :/ 正確.case a-2 :/ 錯(cuò)誤.case 2.0 :/錯(cuò)誤.另外,在case 與常量值之后,需要一個(gè)冒號(hào),留意不要疏忽;實(shí)例:從鍵盤上讀入年和月,輸出該月有多少天;精品學(xué)習(xí)資料精選學(xué)習(xí)資料 - - - 歡迎下載練習(xí):1.鐵路托運(yùn)行李規(guī)定:行李重不超過50 公斤的,托運(yùn)費(fèi)按每公斤0.15 元計(jì)費(fèi);如超50公斤,超過部分每公斤加收0.10 元;編一程序完成自動(dòng)計(jì)費(fèi)工作;2.輸入 a、b、c三個(gè)不同的數(shù),將它們按由小到大的次序輸出;3. 當(dāng)前學(xué)

34、校生的成果單由以前的百分制改為優(yōu)秀.良好. 合格.不合格四個(gè)等級(jí)的等級(jí)制; 編一程序完成分?jǐn)?shù)的自動(dòng)轉(zhuǎn)換工作;轉(zhuǎn)換規(guī)章如下:60 分以下的為不合格;60 到 69 分為合格;70 到 89 分為良好;90 分以上的為優(yōu)秀;(提示:可以利用div 運(yùn)算來使程序更簡明)1.5.3 while 循環(huán)語句while 循環(huán)語句的語法為:while 條件 需要循環(huán)執(zhí)行的語句;即:假如條件成立,就始終執(zhí)行;圖示:精品學(xué)習(xí)資料精選學(xué)習(xí)資料 - - - 歡迎下載留意:假如開頭就不成立,就循環(huán)中的語句一次也不會(huì)被執(zhí)行由于條件成立,就始終執(zhí)行循環(huán)中的語句;所以在循環(huán)中肯定要有語句能轉(zhuǎn)變相關(guān)環(huán)境,讓條件逐步不成立,以退

35、出循環(huán);1.5.4 for 循環(huán)語句for 循環(huán)在 c/c+ 程序中用得最多,由于它的功能最強(qiáng),使用最敏捷;for循環(huán)的語法:for 初始化 ;循環(huán)條件 ;轉(zhuǎn)變條件 循環(huán)體語句 ;for 的結(jié)構(gòu)中,不僅供應(yīng)了的“循環(huán)條件”的位置,同時(shí)也供應(yīng)了初始化,和轉(zhuǎn)變條件的位置;這三者雖然在同一行上,但并不為依次連接地執(zhí)行;for 循環(huán)的執(zhí)行過程為:1初始化語句第一被執(zhí)行(并且只被執(zhí)行一次);2然后程序檢查條件為否成立,假如成立就執(zhí)行循環(huán)體中的語句,否就直接終止循環(huán);3執(zhí)行完一遍循環(huán)以后,程序執(zhí)行“轉(zhuǎn)變條件”語句;for 循環(huán)也為可以嵌套的;精品學(xué)習(xí)資料精選學(xué)習(xí)資料 - - - 歡迎下載for 循環(huán)執(zhí)行過

36、程示意:初始化語句no循 環(huán) 條yes循環(huán)體語句精品學(xué)習(xí)資料精選學(xué)習(xí)資料 - - - 歡迎下載轉(zhuǎn)變條件退出循環(huán)精品學(xué)習(xí)資料精選學(xué)習(xí)資料 - - - 歡迎下載1.5.5 do . while循環(huán)語句:do需要循環(huán)執(zhí)行的語句;while 條件 ;和 while 循環(huán)最明顯的區(qū)分在于do.while 循環(huán)中,判定為否連續(xù)循環(huán)的條件,放在最終;也就為說,就算為條件一開頭就不成立,循環(huán)也要被執(zhí)行一次;do.while 中的條件和while 循環(huán)中的條件一樣為: “答應(yīng)連續(xù)循環(huán)的條件”,而不為 “終止循環(huán)的條件” ;do.while 循環(huán)的流程圖:前面的語句真每次循環(huán)執(zhí)條行的語句件成立條件假條件不成立連續(xù)

37、后面的語句實(shí)例:編程實(shí)現(xiàn)求從1 到 100 的累加和:精品學(xué)習(xí)資料精選學(xué)習(xí)資料 - - - 歡迎下載用 while 實(shí)現(xiàn):用 do 實(shí)現(xiàn):用 for 實(shí)現(xiàn):練習(xí):1.求 n 個(gè)數(shù)的和;輸入文件: qiuhe.in格式為:第一行為一個(gè)整數(shù),表示要求n 個(gè)整數(shù)的和;其次行為n 個(gè)由空格分開的整數(shù);輸出文件: qiuhe.in格式為:一個(gè)數(shù),表示n 個(gè)數(shù)的和;2.從鍵盤輸入一系列正整數(shù),當(dāng)輸入0 時(shí),表示輸入終止,輸出這些數(shù)的和;3.輸出九九乘法口訣表精品學(xué)習(xí)資料精選學(xué)習(xí)資料 - - - 歡迎下載4.從鍵盤輸入一個(gè)數(shù),判定這個(gè)數(shù)為否為素?cái)?shù);5.百錢百雞問題:公雞每只5 元,母雞每只3 元,小雞三只1

38、 元,用 100 元錢買 100 只雞,求公雞,母雞,小雞的只數(shù) 6.編程輸出以下等腰三角形:* 7.nocomachns 定理:任何一個(gè)n 3、肯定可以表示成n 個(gè)連續(xù)的奇數(shù)和;輸入nn<=100 ,輸出 n3 對(duì)應(yīng)的表達(dá)式;8.驗(yàn)證哥德巴赫猜想:任何充分大的偶數(shù)都可由兩個(gè)素?cái)?shù)之和表示;將 4 到 2000 中 的 全部公偶數(shù)分別用兩個(gè)素?cái)?shù)之和表示出來;例如,s=8、就輸出:4=2 26=3 38=3 59.填寫數(shù)字 設(shè)有以下算式:8 0 9口口口口口口口口口口口口口口1求出口中的數(shù)字,假設(shè)被除數(shù)為y,除數(shù)為x ,求出 x、y 的值;精品學(xué)習(xí)資料精選學(xué)習(xí)資料 - - - 歡迎下載1.5

39、.6 break 和 continue 語 句1.break的作用與用法:循環(huán)就象繞圈子,比如,體育課,跑1200 米,跑道一圈400 米,所以我們要做的事就 為一邊跑一邊在心里計(jì)數(shù)(當(dāng)然要記數(shù),否就老師萬一少計(jì)一圈,我們可就玩完了),當(dāng)計(jì)數(shù)到 3 圈時(shí),“循環(huán)”終止;假如,我在跑步時(shí)不幸由于體力不支而暈倒怎么辦?有兩種方法:一種為在判定為否連續(xù)循環(huán)的條件中加入新增條件的判定:假設(shè)原先的循環(huán)表達(dá)為:while 已跑完的圈數(shù)< 3跑一圈;那么,加上附加條件后,循環(huán)表達(dá)為:while 已跑完的圈數(shù)<3 &&我仍跑得好好的)跑一圈其次種方法為在循環(huán)中使用條件分支,在指定的條件成立時(shí),中途跳出循環(huán),用于實(shí)現(xiàn)跳出的關(guān)鍵字為:break;while 已跑的圈數(shù)< 3 跑一圈;if 我身體感覺不妙)break;在循環(huán)中,每跑完一圈,都檢查一下自已為否感覺不妙,假如為就程序執(zhí)行break、直接跳出 while ,而不管此時(shí)圈數(shù)為否到達(dá)3 圈;可能你會(huì)問: 為什么要break 呢?直接用原先的方法,在 while 處判定條件不為很好嗎?break 的特長在于,它可以在循環(huán)體內(nèi)的任意位置進(jìn)行判定;2.多層循環(huán)中的break :break 只能跳出當(dāng)前層的循環(huán),所以,假如有多層循環(huán),就在內(nèi)層的break 跳出循環(huán)后,外層的循環(huán)仍將連續(xù);前面說跑步

溫馨提示

  • 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)論