亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關(guān)于我們
? 蟲蟲下載站

?? 教學(xué)--第十二章 函數(shù)(一).htm

?? 《白話c++網(wǎng)頁版》是一本用淺顯易懂的并具有點(diǎn)幽默的語調(diào)來講述c++的高深的內(nèi)容
?? HTM
?? 第 1 頁 / 共 5 頁
字號(hào):
      <P>char path[50];</P>
      <P>這里涉及到了“數(shù)組”的知識(shí)。針對(duì)本例,你可以這樣理解:</P>
      <P>char ch;&nbsp;</P>
      <P>這一行我們能看懂,定義了一個(gè)字符類型的變量,ch。ch變量的空間是1個(gè)字節(jié),能存儲(chǔ)一個(gè)字符,因此你可以用它存儲(chǔ)諸如:'A','2','H'等,但現(xiàn)在我們要輸入的是:"c:\abcd"這么一句話,所以變量ch無法勝任。C,C++提供了數(shù)組,我們可以通過定義數(shù)組來存儲(chǔ)同一類型的多個(gè)數(shù)據(jù)。如:</P>
      <P>char path[50];</P>
      <P>本行定義了path這個(gè)數(shù)組,它可以存儲(chǔ)50 個(gè) char類型的數(shù)據(jù)。</P>
      <P>注意,path只能存儲(chǔ)最多50個(gè)字符。所以在運(yùn)行本例時(shí),不要輸入太長(zhǎng)的文件夾名稱。</P>
      <P>另外,Windows對(duì)新建文件夾的名稱有一些特殊的要求,所以如果文件夾名稱含了一些非法字符,操作將失敗。</P>
      <P>以下是我運(yùn)行的一個(gè)結(jié)果:<BR></P>
      <P><IMG height=220 src="教學(xué)--第十二章 函數(shù)(一).files/ls12.h8.jpg" width=416 
      border=0></P>
      <P> </P>
      <H3><A name=12.3>12.3</A> 自定義函數(shù)</H3>
      <P>學(xué)會(huì)如何調(diào)用別人的函數(shù),現(xiàn)在我們來學(xué)習(xí)如何自已寫一個(gè)函數(shù)。首先迅速看看函數(shù)的格式:</P>
      <H4><A name=12.3.1>12.3.1</A> 函數(shù)的格式</H4>
      <P>定義一個(gè)函數(shù)的語法是:</P>
      <P> </P>
      <P>返回類型&nbsp; 函數(shù)名(函數(shù)參數(shù)定義)</P>
      <P>{</P>
      <P>&nbsp; 函數(shù)體</P>
      <P> </P>
      <P>&nbsp; return 結(jié)果;</P>
      <P>}</P>
      <P> </P>
      <P>其中:</P>
      <P>1、返回類型: 指數(shù)據(jù)類型,如:int ,float,double, bool char ,void 
      等等。表示所返回結(jié)果的類型。如果是void則表示該函數(shù)沒有結(jié)果返回。</P>
      <P>2、函數(shù)名:命名規(guī)則和變量命名一樣。注意要能夠表達(dá)出正確的意義。如果說一個(gè)變量命名重在說明它“是什么”的話,則一個(gè)函數(shù)重在說明它要“做什么”。比如一個(gè)函數(shù)要實(shí)現(xiàn)兩數(shù)相加,則可以命名為:AddTwoNum,這樣有助于閱讀。</P>
      <P>3、函數(shù)參數(shù)定義:關(guān)于參數(shù)的作用,我們前面已說。現(xiàn)在看它的格式:</P>
      <P>int AddTwoNum(int a,int b);</P>
      <P>函數(shù)參數(shù)的定義有點(diǎn)類似定義變量,先寫參數(shù)的數(shù)據(jù)類型,上例中是int,然后再寫參數(shù)名。下面是不同之處:</P>
      <P style="MARGIN-LEFT: 10px; TEXT-INDENT: 40px">3.1 
      多個(gè)參數(shù)之間用逗號(hào)隔開,而不是分號(hào)。最后一個(gè)變量之后則不需要符號(hào)。 請(qǐng)對(duì)比:</P>
      <P style="MARGIN-LEFT: 10px; TEXT-INDENT: 40px">普通變量定義:</P>
      <P style="MARGIN-LEFT: 10px; TEXT-INDENT: 40px">int a;&nbsp; 
      //&lt;--以分號(hào)結(jié)束</P>
      <P style="MARGIN-LEFT: 10px; TEXT-INDENT: 40px">int b;</P>
      <P style="MARGIN-LEFT: 10px; TEXT-INDENT: 40px">函數(shù)中參數(shù)定義:</P>
      <P style="MARGIN-LEFT: 10px; TEXT-INDENT: 40px">(int a, int b ) 
      //以逗號(hào)分隔,最后不必以分號(hào)結(jié)束</P>
      <P style="MARGIN-LEFT: 10px; TEXT-INDENT: 40px"> </P>
      <P style="MARGIN-LEFT: 10px; TEXT-INDENT: 40px">3.2 
      兩個(gè)或多個(gè)參數(shù)類型相同時(shí),并不能同時(shí)聲明,請(qǐng)對(duì)比:</P>
      <P style="MARGIN-LEFT: 10px; TEXT-INDENT: 40px">普通變量定義:</P>
      <P style="MARGIN-LEFT: 10px; TEXT-INDENT: 40px">int a,b; 
      //多個(gè)類型相同的變量可以一起定義。</P>
      <P style="MARGIN-LEFT: 10px; TEXT-INDENT: 40px">函數(shù)中參數(shù)定義:</P>
      <P style="MARGIN-LEFT: 10px; TEXT-INDENT: 40px">AddTwoNum(int a, b) 
      //這是錯(cuò)誤的。</P>
      <P>4、函數(shù)體:函數(shù)體用一對(duì){}包括。里面就是函數(shù)用以實(shí)現(xiàn)功能的代碼。</P>
      <P>5、return 結(jié)果:return 
      語句其實(shí)屬于函數(shù)體。由于它的重要性,所以單獨(dú)列出來講。“return”即“返回”,用來實(shí)現(xiàn)返回一個(gè)結(jié)果。“結(jié)果”是一個(gè)表達(dá)式。記住:當(dāng)函數(shù)體內(nèi)的代碼執(zhí)行到return語句時(shí),函數(shù)即告結(jié)束,如果后面還有代碼,則后面的代碼不被執(zhí)行。依靠流程控制,函數(shù)體里可以有多個(gè)return語句。當(dāng)然,對(duì)于不需要返回結(jié)果的函數(shù),可以不寫return 
      語句,或者寫不帶結(jié)果的return語句。這些后面我們都將有例了演解。return 返回的結(jié)果,類型必須和前面“返回類型”一致。</P>
      <P>一個(gè)最簡(jiǎn)單的例子,也比一堆說明文字來得直觀,下面我寫一個(gè)函數(shù),用于實(shí)現(xiàn)兩個(gè)整數(shù),返回相加的和。這當(dāng)然是一個(gè)愚不可及的函數(shù),兩數(shù)相加直接用+就得,寫什么函數(shù)啊?</P>
      <P> </P>
      <P>//愚不可及的函數(shù):實(shí)現(xiàn)兩數(shù)相加</P>
      <P>//參數(shù):a:加數(shù)1,b:加數(shù)2;</P>
      <P>//返回:相加的和</P>
      <P>int AddTwoNum(int a, int b)</P>
      <P>{</P>
      <P>&nbsp;&nbsp; return a + b;</P>
      <P>}</P>
      <P> </P>
      <P>例子中,誰是“返回類型”,誰是“函數(shù)名”?誰是“參數(shù)定義”?哪些行是“函數(shù)體”?這些你都得自已看明白。這里只想指出:這是個(gè)極簡(jiǎn)單的函數(shù),它的函數(shù)體內(nèi)只有一行代碼:即return 
      a+b;語句,直接返回了a+b的結(jié)果。</P>
      <P> </P>
      <P>最后說明一點(diǎn):C,C++中,不允許一個(gè)函數(shù)定義在另一個(gè)函數(shù)體內(nèi)。</P>
      <P> </P>
      <P>void A()</P>
      <P>{</P>
      <P>&nbsp;&nbsp; void B()&nbsp; //錯(cuò)誤:函數(shù)B定義在函數(shù)A體內(nèi)。</P>
      <P>&nbsp;&nbsp; {</P>
      <P>&nbsp;&nbsp;&nbsp;&nbsp; ....</P>
      <P>&nbsp;&nbsp; }</P>
      <P> </P>
      <P>&nbsp;&nbsp; ...</P>
      <P>}</P>
      <P> </P>
      <P>如上代碼中,函數(shù)B“長(zhǎng)”在函數(shù)A體內(nèi),這不允許。不過有些語,如Pascal則允許這樣定義函數(shù)。</P>
      <P> </P>
      <H4><A name=12.3.2>12.3.2</A> 自定義函數(shù)實(shí)例</H4>
      <P>下面我們將動(dòng)手寫幾個(gè)函數(shù),并實(shí)現(xiàn)對(duì)這些函數(shù)的調(diào)用。從中我們也將進(jìn)一步理解函數(shù)的作用。</P>
      <H5><A name=12.3.2.1>12.3.2.1</A> 小寫字母轉(zhuǎn)換為大寫字母的函數(shù)</H5>
      <P><B>實(shí)例二:</B>自定義小寫字母到大寫字母的轉(zhuǎn)換函數(shù)。</P>
      <P> </P>
      <P>盡管這個(gè)功能很可能已經(jīng)有某個(gè)庫函數(shù)實(shí)現(xiàn)了,但像這種小事,我們不妨自已動(dòng)手。</P>
      <P>之所以需要這個(gè)函數(shù),緣于最近我們寫程序時(shí),經(jīng)常用到循環(huán),而循環(huán)是否結(jié)束,則有賴我們向用戶提一個(gè)問題,然后判斷用戶的輸入;如果用戶輸入字母Y或y,則表示繼續(xù),否則表示退出。</P>
      <P>每次我們都是這樣判斷的:</P>
      <P> </P>
      <P>if(ch == 'Y' || ch == 'y')</P>
      <P>{</P>
      <P>&nbsp;&nbsp;&nbsp; ...</P>
      <P>}</P>
      <P> </P>
      <P>平常我們的鍵盤一般都是在小寫狀態(tài),因?yàn)橛脩粲锌赡懿恍⌒呐龅芥I盤的“Caps 
      Lock”,造成他所輸入的任何字母都是大寫的--盡管鍵盤上有個(gè)大小寫狀態(tài)指示燈,但有誰會(huì)去那么注意呢?所以如果你的程序僅僅判斷用戶是否輸入‘y'字母,那么這個(gè)用戶敲了一個(gè)‘Y',結(jié)果程序卻“很意外”的結(jié)束了?顯然這會(huì)讓用戶很小瞧你:才三行程序就有BUG。</P>
      <P> </P>
      <P>(一般不傳之秘笈:用戶就像女友一樣,需要“哄”:有時(shí)你發(fā)現(xiàn)軟件中存在一項(xiàng)潛在的,系統(tǒng)級(jí)的嚴(yán)重BUG,你自已驚出一身冷;但在用戶那里,他們卻糾纏你立即改進(jìn)某個(gè)界面上的小小細(xì)節(jié),否則就要拋棄這個(gè)軟件--就像你的女友,天天和你吃蘿卜秧子沒有意見,但情人節(jié)那天忘了送花,她就對(duì)你失望透了。)</P>
      <P> </P>
      <P>言歸正傳!現(xiàn)在問題,我討厭每回寫那行條件都既要判斷大寫又要判斷小寫。解決方法是,在判斷之前,把用戶輸入的字母統(tǒng)統(tǒng)轉(zhuǎn)換為大寫!</P>
      <P> </P>
      <P>下面是將用戶輸入字符轉(zhuǎn)換為大寫的函數(shù)。要點(diǎn)是:</P>
      <P>1、用戶輸入的字符不一定是小寫字母,說不定已經(jīng)是大寫了,甚至可能根本就不是字母。所以在轉(zhuǎn)換之前需要判斷是否為小寫字母。</P>
      <P>2、小寫字母‘a(chǎn)’的ASCII值比大寫字母‘A'大32,這可以從<A 
      href="http://d2school.com/bcyl/bhcpp/newls/ls05.htm#美國信息交換標(biāo)準(zhǔn)碼">第五章的ASCII碼表</A>中查到。不過我不喜歡查表,所以最簡(jiǎn)單的方法就是直接減出二者的差距。所有字母的大小之間的差距都一樣。這是我們得以轉(zhuǎn)換大小寫字母的前提。</P>
      <P> </P>
      <P>//函數(shù):小寫字母轉(zhuǎn)換為大寫字母。</P>
      <P>//參數(shù):待轉(zhuǎn)換的字母,可以不為小寫字母;</P>
      <P>//返回:如果是小寫字母,返回對(duì)應(yīng)的大寫字母,否則原樣不動(dòng)返回。</P>
      <P> </P>
      <P>char LowerToUpper(char ch)</P>
      <P>{</P>
      <P>&nbsp;&nbsp; //判斷是否為小寫字母:</P>
      <P>&nbsp;&nbsp; if(ch &gt;= 'a' &amp;&amp; ch &lt;= 'z')</P>
      <P>&nbsp;&nbsp; {</P>
      <P>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; ch -= ('a' - 'A'); //相當(dāng)于 ch -= 32; 或 ch 
      = ch - 32;</P>
      <P>&nbsp;&nbsp; }</P>
      <P> </P>
      <P>&nbsp;&nbsp; //返回:</P>
      <P>&nbsp;&nbsp; return ch;</P>
      <P>}</P>
      <P> </P>
      <P>這個(gè)函數(shù)也再次提醒我們,在ASCII表里,大寫字母的值其實(shí)比小寫字母小。所以,小寫字母轉(zhuǎn)換為大寫,用的是“減”。小寫字母減去32,就搖身一變成了大寫。</P>
      <P> </P>
      <P>現(xiàn)在,有了這個(gè)函數(shù),假設(shè)我們?cè)儆錾弦袛嘤脩糨斎胧恰痽'或‘n’的情況,我們就方便多了。</P>
      <P>作為一種經(jīng)歷,我們此次采用將函數(shù)放在要調(diào)用的代碼之前。</P>
      <P> </P>
      <P>//------------------------------------------------------------------------</P>
      <P>//函數(shù):小寫字母轉(zhuǎn)換為大寫字母。</P>
      <P>//參數(shù):待轉(zhuǎn)換的字母,可以不為小寫字母;</P>
      <P>//返回:如果是小寫字母,返回對(duì)應(yīng)的大寫字母,否則原樣不動(dòng)返回。</P>
      <P> </P>
      <P>char LowerToUpper(char ch)</P>
      <P>{</P>
      <P>&nbsp;&nbsp; //判斷是否為小寫字母:</P>
      <P>&nbsp;&nbsp; if(ch &gt;= 'a' &amp;&amp; ch &lt;= 'z')</P>
      <P>&nbsp;&nbsp; {</P>
      <P>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; ch -= ('a' - 'A'); //相當(dāng)于 ch -= 32; 或 ch 
      = ch - 32;</P>
      <P>&nbsp;&nbsp; }</P>
      <P> </P>
      <P>&nbsp;&nbsp; //返回:</P>
      <P>&nbsp;&nbsp; return ch;</P>
      <P>}</P>
      <P>//------------------------------------------------------------------------</P>
      <P>int main(int argc, char* argv[])</P>
      <P>{</P>
      <P>&nbsp;&nbsp; char ch;</P>
      <P>&nbsp;&nbsp; do</P>
      <P>&nbsp;&nbsp; {</P>
      <P>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; cout &lt;&lt; "繼續(xù)嗎?(Y/N)";</P>
      <P>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; cin &gt;&gt; ch;</P>
      <P> </P>
      <P>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; //調(diào)用函數(shù),將可能小寫字母轉(zhuǎn)換為大寫:</P>
      <P>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; ch = LowerToUpper(ch);</P>
      <P>&nbsp;&nbsp; }</P>
      <P>&nbsp;&nbsp; while(ch == 'Y');</P>
      <P>&nbsp;&nbsp;&nbsp;</P>
      <P>&nbsp;&nbsp; return 0;<BR>&nbsp;&nbsp;&nbsp; }</P>
      <P>//------------------------------------------------------------------------</P>
      <P> </P>
      <P>完整的代碼見相應(yīng)例子文件。例子只是為了演示如何自已定義函數(shù),并調(diào)用。運(yùn)行時(shí)它問一句“繼續(xù)嗎?”你若輸入大寫或小寫的‘y'字母,就繼續(xù)問,否則結(jié)束循環(huán)。</P>
      <P>函數(shù)的返回值也可以直接拿來使用。上面代碼中的do...while循環(huán)也可以改寫的這樣:</P>
      <P> </P>

?? 快捷鍵說明

復(fù)制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號(hào) Ctrl + =
減小字號(hào) Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
免费成人av在线| 乱一区二区av| 日韩精品一区二区三区视频在线观看| 成人手机电影网| 日韩av不卡一区二区| 亚洲日穴在线视频| 国产亚洲短视频| 欧美一级高清大全免费观看| 一本一道综合狠狠老| 久久精品72免费观看| 香蕉久久夜色精品国产使用方法 | 国产不卡视频在线播放| 亚洲成人av中文| 亚洲男人天堂av网| 国产精品视频一二三| 欧美一二三四区在线| 欧美少妇xxx| 色先锋资源久久综合| 国产成人自拍网| 极品美女销魂一区二区三区| 午夜精品久久久久久久久| 亚洲另类色综合网站| 国产精品卡一卡二| 中文字幕国产一区| 久久久久久久av麻豆果冻| 欧美一级爆毛片| 日韩欧美亚洲一区二区| 欧美美女喷水视频| 欧美写真视频网站| 欧美日韩在线综合| 欧美特级限制片免费在线观看| 99麻豆久久久国产精品免费| caoporen国产精品视频| 成人免费三级在线| 成人国产精品免费观看视频| 成人av网站在线观看| 成人av午夜影院| 91小视频免费看| 91浏览器在线视频| 日本高清无吗v一区| 在线一区二区观看| 欧美日韩国产美| 在线电影一区二区三区| 欧美日本一区二区在线观看| 欧美精品乱码久久久久久按摩| 欧美日韩在线精品一区二区三区激情 | 五月天精品一区二区三区| 亚洲一区二区三区在线看| 亚洲大片在线观看| 日本在线观看不卡视频| 九九热在线视频观看这里只有精品| 麻豆成人久久精品二区三区小说| 久久国产欧美日韩精品| 国产一区三区三区| 成人免费视频app| 91精彩视频在线| 在线不卡中文字幕| 精品国产区一区| 国产精品精品国产色婷婷| 亚洲啪啪综合av一区二区三区| 亚洲高清免费观看 | 国产拍揄自揄精品视频麻豆| 国产精品电影院| 亚洲一区二区三区四区在线观看| 午夜精品一区二区三区电影天堂| 蜜臀av性久久久久蜜臀aⅴ | 色婷婷久久99综合精品jk白丝 | 欧美国产欧美综合| 中文字幕日本乱码精品影院| 亚洲第一狼人社区| 韩国v欧美v亚洲v日本v| 不卡高清视频专区| 91精品婷婷国产综合久久| 久久精品在这里| 一区二区国产视频| 久久99精品网久久| 色综合天天视频在线观看| 欧美理论片在线| 国产日韩精品一区| 日日骚欧美日韩| 成人污视频在线观看| 欧美日韩在线播放一区| 久久蜜臀精品av| 亚洲bt欧美bt精品| 国产不卡视频在线观看| 欧美日韩高清一区二区不卡| 欧美经典一区二区三区| 日韩国产成人精品| 95精品视频在线| 久久午夜免费电影| 亚洲国产va精品久久久不卡综合| 国产精品一区二区免费不卡| 欧美日韩国产天堂| 国产精品毛片久久久久久久| 香蕉加勒比综合久久| 成人av免费在线| www亚洲一区| 亚洲18女电影在线观看| av色综合久久天堂av综合| 制服丝袜中文字幕一区| 亚洲婷婷综合久久一本伊一区| 激情综合网天天干| 欧美日韩亚洲丝袜制服| 中文字幕在线一区| 国产一区二区三区四区五区美女| 欧美色欧美亚洲另类二区| 中文字幕一区二区三区色视频| 精品一区二区三区在线视频| 欧美亚洲动漫精品| 亚洲免费毛片网站| 成人福利电影精品一区二区在线观看| 日韩午夜精品电影| 婷婷开心激情综合| 日本精品视频一区二区| 国产精品毛片a∨一区二区三区| 精品一二三四区| 91精品国产综合久久小美女| 夜夜爽夜夜爽精品视频| 色域天天综合网| 国产精品久久二区二区| 成人av网址在线| 国产精品青草久久| 成人av在线播放网址| 中日韩av电影| 粉嫩嫩av羞羞动漫久久久| 欧美精品一区二区三区蜜桃视频| 青青草97国产精品免费观看无弹窗版| 在线一区二区三区四区| 一区二区三区在线观看动漫| 91理论电影在线观看| 中文字幕人成不卡一区| 国产成人aaa| 国产精品色一区二区三区| www.亚洲色图| 亚洲少妇中出一区| 色综合久久中文综合久久97| 亚洲视频1区2区| 欧洲精品中文字幕| 亚洲成国产人片在线观看| 51精品秘密在线观看| 日本视频在线一区| 欧美大片顶级少妇| 精品一区二区三区免费| 久久久影视传媒| av高清久久久| 亚洲激情一二三区| 欧美日韩免费观看一区二区三区 | 亚洲欧美日韩国产另类专区| 色www精品视频在线观看| 亚洲精品国产a| 91精品在线观看入口| 久久国产福利国产秒拍| 久久精品视频免费观看| va亚洲va日韩不卡在线观看| 亚洲精品日韩专区silk| 欧美日韩精品一二三区| 久久成人免费电影| 日本一区二区三区四区在线视频| 91在线观看免费视频| 亚洲第一久久影院| 2023国产精品自拍| 99精品国产一区二区三区不卡| 一区二区三区在线视频观看 | 91精品久久久久久蜜臀| 国产福利不卡视频| 亚洲欧美自拍偷拍色图| 欧美日韩日日摸| 国产乱人伦偷精品视频不卡 | 爽好久久久欧美精品| 日韩视频不卡中文| 成人性生交大片免费看在线播放| 亚洲天堂中文字幕| 欧美一级片免费看| 国产91富婆露脸刺激对白| 亚洲另类在线制服丝袜| 日韩免费一区二区三区在线播放| 成人午夜激情在线| 视频一区在线播放| 欧美高清一级片在线观看| 欧美片在线播放| 成人免费毛片aaaaa**| 天天免费综合色| 国产精品免费视频网站| 欧美精品三级日韩久久| 99综合影院在线| 美女高潮久久久| 亚洲精品伦理在线| 26uuu精品一区二区三区四区在线| 91官网在线免费观看| 国产福利精品导航| 蜜臀精品一区二区三区在线观看| 国产精品三级av| 精品免费视频一区二区| 欧美日韩另类一区| 99re在线精品| 国产成人精品免费一区二区| 午夜精品aaa| 亚洲男同1069视频| 国产精品人成在线观看免费 | 亚洲婷婷综合久久一本伊一区|