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

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

?? c++5.dat

?? C++指令字典 一個方便的軟件 用于C++指令的查詢
?? DAT
?? 第 1 頁 / 共 2 頁
字號:
第五章 函數(shù)

第一節(jié) 函數(shù)的定義

  語句是構(gòu)造程序的最基本單位.當(dāng)我們用程序語句編寫的程序越來越大,越來越復(fù)雜的時候,為了使程序更簡潔、可讀性更好、更便于復(fù)用,以及更便于維護(hù),就有必要將把它分成若干個模塊,每個模塊完成一項任務(wù).在C++中,這些模塊就是一個個的函數(shù).函數(shù)也是C++語言構(gòu)造程序的重要的基本單位.
函數(shù)定義的一般形式如下: 
  返回類型 函數(shù)名(參數(shù)表列)
  {
   語句系列
   return 合適類型數(shù)值
  } 
  函數(shù)的定義包括以下幾個部分:
  1. 函數(shù)名
  2. 參數(shù)表列
  3. 返回類型
  4. 函數(shù)體 

    1. 函數(shù)名: 一個符合C++語法要求的標(biāo)識符,定義函數(shù)名與定義變量名的規(guī)則是一樣的,但應(yīng)盡量避免用下劃線開頭,因為編譯器常常定義一些下劃線開頭的變量或函數(shù).函數(shù)名應(yīng)盡可能反映函數(shù)的功能,它常常由幾個單詞組成.
  如VC中的按下鼠標(biāo)左鍵的響應(yīng)函數(shù)為:OnLButtonDown,這樣就較好的反映了函數(shù)的功能.在上例中,我們可以將"買票"和"訂旅館"作為函數(shù)名. 
  2. 參數(shù)表列:0個或多個變量,用于向函數(shù)傳送數(shù)值或從函數(shù)帶回數(shù)值,每一個參數(shù)都有自己的類型,它不同于變量定義,因為幾個變量可以定義在一起,例如?quot;int i,j,k;".如果參數(shù)表列中參數(shù)個數(shù)為0,我們稱之為無參函數(shù),無參函數(shù)可以定義為:
    "返回類型 函數(shù)名( ){…}"或"返回類型 函數(shù)名(void){…}" 
  旅行日程和目的地就是我們傳送給上例中的函數(shù)的數(shù)值,當(dāng)然如果你對日程和目的地都沒有什么特殊的要求,那也可以完全交給旅行社一手包辦,這樣便相當(dāng)于一個無參函數(shù)了. 
  3. 返回類型:指定函數(shù)用return返回的函數(shù)值的類型,如果函數(shù)沒有返回值,返回類型應(yīng)為void.
  上例中返回值就是旅行社將要交給你的票和單據(jù),而返回值的類型則可以看成是票和單據(jù)的類別. 
  4. 函數(shù)體:花括號中的語句稱為函數(shù)體,一個函數(shù)的功能,通過函數(shù)體中的語句來完成.
  上例中的函數(shù)體即為旅行社為買票和訂旅館進(jìn)行的具體操作. 
  下面我們看一個具體的函數(shù)定義的例子:  
  int GetIntegerInRange(int low, int high)
{
 int res;
 do {
  cout << "Enter an integer in the range " << low
  << " ... " << high << " :";
  cin >> res;
  } while (! ((res >= low) && (res <= high)));
return res;
}  
 
  int GetIntegerInRange(int low, int high)行定義函數(shù)名為GetIntegerInRange,返回類型為int,且指定函數(shù)需要兩個整型值,并通過low和high引用.在函數(shù)體內(nèi)定義了整型變量res,并通過return語句返回該變康鬧怠?注意)變量res的類型必須與函數(shù)的返回類型一致,否則,系統(tǒng)以函數(shù)返回類型為準(zhǔn),而對res的數(shù)值進(jìn)行強(qiáng)制類型轉(zhuǎn)換,使其與函數(shù)的返回類型保持一致. 

 return語句的返回值通常是一個表達(dá)式,例如5-2: 
  一個函數(shù)也可以有多個return語句,在函數(shù)的執(zhí)行過程中,遇到任一個return語句,將立即停止執(zhí)行,并返回到調(diào)用函數(shù).
例:
  return res;
  return n % MAXSIZE;
  return 3.5 + x*(6.1 + x*(9.7 + 19.2*x)); 
  上面的return語句也可以寫成下面的形式:
  return (res);
  return (n % MAXSIZE);
  return (3.5 + x*(6.1 + x*(9.7 + 19.2*x))); 
 
  即對返回值的表達(dá)式加一對圓括號.不過,這圓括號是多余的,可以省略掉.

這里我們用一個很簡單的函數(shù)定義的例子5-4來進(jìn)一步加以說明:
 int Inc(int a)
{
 a++;
 return a;
} 
 
  這個函數(shù)的功能為增1,其中,int Inc(int a)行定義了:函數(shù)名-Inc,參數(shù)-整型數(shù)a,返回類型-整型,這說明該函數(shù)中用return語句返回的值應(yīng)該是整型值.在花括號中的即為函數(shù)體,這個函數(shù)比較短,其函數(shù)體只有兩行語句:
    a++;
    return a;
  這兩行語句完成a自增1的功能,返回的是a增1后的值,返回值與返回類型是匹配的.下面是一個不帶有參數(shù)和返回值的函數(shù). 


第二節(jié) 函數(shù)的說明

如果一個函數(shù)調(diào)用另一個函數(shù),在調(diào)用函數(shù)中必須對被調(diào)用函數(shù)進(jìn)行說明,函數(shù)說明類似于函數(shù)定義,不過沒有實現(xiàn)代碼,函數(shù)說明的一般形式如下:
  返回類型 函數(shù)名(參數(shù)表列);
  函數(shù)說明是一個語句,所以要以分號結(jié)束.C++中,函數(shù)說明也稱為函數(shù)原型,下面是函數(shù)說明的例子: 
  void PrintStats(int num, double ave, double std_dev);
  int GetIntegerInRange(int low, int high); 
  一些函數(shù)的說明,我們放在頭文件中,也有一些函數(shù)的說明放在文件的頭部,而函數(shù)的定義放在該文件后面.我們知道,C++應(yīng)用程序是從main函數(shù)開始執(zhí)行,main函數(shù)在文件中的位置并沒有特別的要求,它可以在文件的頭部、中部或尾部.


第三節(jié) 函數(shù)的定義

我們定義了一個函數(shù),完成某種功能,就要涉及到調(diào)用這個函數(shù),調(diào)用一個函數(shù)之前必須對該函數(shù)進(jìn)行說明.函數(shù)調(diào)用由函數(shù)名和函數(shù)調(diào)用運算符()組成,()內(nèi)有0個或多個逗號分隔的參數(shù)(稱為實參).每一個參數(shù)是一個表達(dá)式,且參數(shù)的個數(shù)與參數(shù)的類型要與被調(diào)函數(shù)定義的參數(shù)(稱為形參)個數(shù)和類型匹配.
  當(dāng)被調(diào)函數(shù)執(zhí)行時,首先計算實參表達(dá)式,并將結(jié)果值傳送給形參,然后執(zhí)行函數(shù)體,返回的返回值被傳送到調(diào)用函數(shù).
  如果函數(shù)調(diào)用后有返回值,調(diào)用表達(dá)式可以用在表達(dá)式中,而無參函數(shù)的調(diào)用是一個單獨的語句.

我們定義了一個函數(shù),完成某種功能,就要涉及到調(diào)用這個函數(shù),調(diào)用一個函數(shù)之前必須對該函數(shù)進(jìn)行說明.函數(shù)調(diào)用由函數(shù)名和函數(shù)調(diào)用運算符()組成,()內(nèi)有0個或多個逗號分隔的參數(shù)(稱為實參).每一個參數(shù)是一個表達(dá)式,且參數(shù)的個數(shù)與參數(shù)的類型要與被調(diào)函數(shù)定義的參數(shù)(稱為形參)個數(shù)和類型匹配.
  當(dāng)被調(diào)函數(shù)執(zhí)行時,首先計算實參表達(dá)式,并將結(jié)果值傳送給形參,然后執(zhí)行函數(shù)體,返回的返回值被傳送到調(diào)用函數(shù).
  如果函數(shù)調(diào)用后有返回值,調(diào)用表達(dá)式可以用在表達(dá)式中,而無參函數(shù)的調(diào)用是一個單獨的語句.
例如: 
#include<iostream.h> //C++庫函數(shù)說明
int area(int length, int width); // area函數(shù)說明
void main() //主函數(shù),程序從該函數(shù)開始執(zhí)行
{
 int this_length, this_width; 
 cout << "Enter the length: "; //調(diào)用cout和cin庫函數(shù)
 cin >> this_length;
 cout << "Enter the width: ";
 cin >> this_width;
 cout << "\n"; 
 cout << "The area of a " << this_length << "x" << this_width;
 cout << " rectangle is " << area(this_length, this_width); //調(diào)用area函數(shù)
}
int area(int length, int width) // area函數(shù)定義
{
 int number;
 number = length * width;
 return number;
} 

3.1 對于無參函數(shù)的調(diào)用形式應(yīng)該是:
  函數(shù)名( )
  例如,對于函數(shù):
  int TPSOKTSNK();
  可以這樣調(diào)用:
  if(TPSOKTSNW()) {
   語句系列
  }
  如果調(diào)用形式寫成:
  if(TPSOKTSNW) {
   語句系列
  }
  它仍然符合C++語法,但意義發(fā)生了變化.它是檢查函數(shù)TPSOKTNSW()是否有地址,有關(guān)地址的概念,我們在后面要講到.如果該程序連接成功,則TPSOKTNSW()有地址,if語句的條件為真.
例如:
#include <iostream.h>
int max(int a,int b)
{
 if(a>b)return a;
 else return b;
}
void main()
{
 int max(int a,int b);
 int x,y,z;
 cout<<"input two numbers"<<endl;
 cin>>x>>y;
 z=max(x,y);
 cout<<"maxmum="<<z;
}
 
程序的第2行至第6行為max函數(shù)定義.進(jìn)入主函數(shù)后,因為準(zhǔn)備調(diào)用max函數(shù),故先對max函數(shù)進(jìn)行說明(程序第9行).可以看出函數(shù)說明與函數(shù)定義中的函數(shù)頭部分相同,但是末尾要加分號.程序第13行為調(diào)用max函數(shù),并把實參x、y傳送給max的形參a、b.max函數(shù)執(zhí)行的結(jié)果 (a或b),返回給調(diào)用函數(shù)main中的變量z,且main函數(shù)將z值輸出.

3.2參數(shù)傳遞
  我們已經(jīng)知道:函數(shù)調(diào)用時,要將調(diào)用函數(shù)中實參傳送給被調(diào)函數(shù)中的形參.在C++中,有兩種參數(shù)傳遞方式,即值傳遞和地址傳遞(或稱引用傳遞).地址傳遞我們在后面介紹,這里介紹值傳遞的方法. 
  函數(shù)在被調(diào)用以前,形參變量并不占內(nèi)存單元,當(dāng)函數(shù)被調(diào)用時,形參變量分配有存儲單元,并將相應(yīng)的實參變量存儲單元的值復(fù)制到形參變量單元.所以,被調(diào)函數(shù)在執(zhí)行過程中,如果形參變量的值發(fā)生了變化,并不影響實參變量的值.例如:
 #include <iostream.h>
void Foo (int num)
{
 num = 0;
 cout << "num = " << num << '\n';
}
int main (void)
{
 int x = 10;
 Foo(x);
 cout << "x = " << x << '\n';
 return 0;
} 
 
 
  函數(shù)Foo有一個形參變量num,當(dāng)它在main函數(shù)中被調(diào)用時,實參變量x的值傳送到num,且x和num在不同的內(nèi)存單元中.在函數(shù)Foo中,雖然num被設(shè)置為0,但并不影響x的值,程序運行結(jié)果如下:
  num = 0;
  x = 10;

?? 快捷鍵說明

復(fù)制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
日韩精品一二区| 亚洲欧美一区二区三区久本道91| 91丨九色丨蝌蚪丨老版| 国产精选一区二区三区| 九九精品一区二区| 韩国一区二区在线观看| 国产乱人伦精品一区二区在线观看| 激情六月婷婷久久| 激情久久五月天| 丁香婷婷综合色啪| 久久国产福利国产秒拍| 久久精品亚洲国产奇米99| 欧美伊人久久久久久久久影院| 欧美亚洲综合网| 国产乱一区二区| 亚洲成av人片在线| 国产精品一二三四区| 久久久久久99精品| 偷拍亚洲欧洲综合| 欧美一区二区三区四区视频 | 在线观看视频一区| 九一九一国产精品| 天天影视涩香欲综合网| 亚洲精品久久7777| 亚洲欧美日韩久久| 亚洲男女一区二区三区| 亚洲成人午夜影院| 男人操女人的视频在线观看欧美| 欧美色电影在线| 在线观看日韩av先锋影音电影院| 91福利在线看| 精品欧美一区二区久久| 亚洲已满18点击进入久久| 亚洲欧美偷拍另类a∨色屁股| 欧美经典一区二区三区| 亚洲精品久久久久久国产精华液| 91精品国产色综合久久| 欧美顶级少妇做爰| 色域天天综合网| 国产精品视频你懂的| 欧美日韩精品一区二区在线播放| 成人黄色电影在线 | 欧美久久高跟鞋激| 日韩一区二区三区观看| 欧美日韩久久久| 日韩欧美电影一区| 亚洲成av人片一区二区梦乃| 亚洲精品日韩一| 99久久国产综合精品女不卡| 亚洲欧美视频在线观看| 欧美一区二区三区在线| 日韩电影网1区2区| 日韩精品一二三| 大胆亚洲人体视频| 欧美成人乱码一区二区三区| 亚洲激情图片qvod| 99久久国产免费看| 日本一区二区视频在线观看| 九色综合狠狠综合久久| 在线播放视频一区| 亚洲一区二区三区视频在线播放 | 久久精品免费看| 欧美亚洲图片小说| 国产精品久久久久aaaa樱花| 国产一区二区电影| 欧美成人艳星乳罩| 免费在线成人网| 日韩欧美国产一区二区三区| 天堂蜜桃91精品| 69堂亚洲精品首页| 日本一区中文字幕| 欧美日韩成人一区| 亚洲一区二区三区美女| 在线免费观看一区| 亚洲电影视频在线| 欧美老肥妇做.爰bbww| 午夜精品福利一区二区蜜股av | 91在线观看一区二区| 国产精品的网站| 99久久伊人久久99| 亚洲精品你懂的| 欧美日韩一卡二卡三卡| 亚洲成人av电影在线| 欧美一区三区二区| 国内精品国产三级国产a久久| 精品国产伦理网| 国产 欧美在线| 成人欧美一区二区三区小说| 91久久精品一区二区三区| 天天综合色天天综合色h| 日韩丝袜美女视频| 国产一区二区免费在线| 国产精品久久久久久久岛一牛影视 | 中文字幕久久午夜不卡| 91在线你懂得| 日韩精品欧美精品| 国产亚洲一二三区| 97精品国产露脸对白| 亚洲国产一区二区a毛片| 欧美一区二区三区四区在线观看 | 欧美国产成人精品| 91美女片黄在线| 亚洲成人av福利| 亚洲国产精品传媒在线观看| 欧美亚洲丝袜传媒另类| 久草这里只有精品视频| 国产精品国产三级国产aⅴ无密码 国产精品国产三级国产aⅴ原创 | 日韩视频永久免费| aaa欧美大片| 秋霞午夜鲁丝一区二区老狼| 欧美国产日韩一二三区| 91精品国产综合久久香蕉的特点| 国产激情视频一区二区三区欧美| 亚洲一区二区在线观看视频| 亚洲精品一区在线观看| 91黄色免费网站| 国产精品 欧美精品| 亚洲h动漫在线| 最新国产成人在线观看| 精品久久五月天| 欧美二区乱c少妇| 色综合久久88色综合天天6| 国内精品不卡在线| 日韩电影在线一区二区三区| 中文字幕亚洲视频| 26uuu色噜噜精品一区二区| 欧美日韩日本视频| 91免费国产在线观看| 国产一区 二区| 日韩国产欧美一区二区三区| 亚洲男人天堂av网| 国产精品美女久久久久久久久| 日韩欧美国产一二三区| 91久久精品一区二区三| 国产传媒日韩欧美成人| 精品亚洲porn| 久久精品久久99精品久久| 亚洲午夜电影网| 亚洲精品v日韩精品| 自拍偷拍亚洲综合| 国产精品婷婷午夜在线观看| 国产亚洲精品超碰| 久久综合给合久久狠狠狠97色69| 欧美日韩国产天堂| 欧洲av在线精品| 欧美四级电影在线观看| 欧美在线免费观看亚洲| 一本大道久久a久久精二百| a美女胸又www黄视频久久| 成人黄色综合网站| www.亚洲精品| 色网站国产精品| 91成人免费在线视频| 欧美日韩一区二区在线视频| 欧美专区在线观看一区| 7777精品伊人久久久大香线蕉的| 欧美日韩高清不卡| 日韩一级免费一区| 精品捆绑美女sm三区| 亚洲精品一区二区精华| 国产亚洲精品超碰| 亚洲精品欧美综合四区| 亚洲香蕉伊在人在线观| 全国精品久久少妇| 国产精品亚洲视频| 99国产精品久| 在线不卡欧美精品一区二区三区| 538prom精品视频线放| 日韩一级大片在线| 国产亚洲一区二区三区在线观看 | 同产精品九九九| 美女视频一区在线观看| 国产成人av一区二区| av中文字幕不卡| 欧美日韩国产经典色站一区二区三区 | 蜜桃av一区二区在线观看| 久久99精品久久久久| 成人福利视频网站| 91精品国产色综合久久ai换脸| 久久综合久久综合亚洲| 最新高清无码专区| 婷婷综合另类小说色区| 国产成人午夜99999| 欧美性生交片4| 国产亚洲一区二区三区四区| 亚洲精品成a人| 国产精品一卡二| 欧美日韩一级视频| 国产精品色婷婷| 蜜桃久久精品一区二区| 91麻豆成人久久精品二区三区| 欧美精品久久99久久在免费线| 国产午夜亚洲精品午夜鲁丝片| 亚洲综合视频在线观看| 国产精品1024| 91精品麻豆日日躁夜夜躁| 日本一区二区电影| 久久av资源站| 欧美日韩大陆在线| 亚洲最新视频在线观看|