乡下人产国偷v产偷v自拍,国产午夜片在线观看,婷婷成人亚洲综合国产麻豆,久久综合给合久久狠狠狠9

  • <output id="e9wm2"></output>
    <s id="e9wm2"><nobr id="e9wm2"><ins id="e9wm2"></ins></nobr></s>

    • 分享

      CPP函數(shù)基礎(chǔ)知識(shí)詳解

       昵稱32937624 2019-01-19

      CPP函數(shù)基礎(chǔ)知識(shí)詳解

      什么是函數(shù)?

      函數(shù)是能夠?qū)崿F(xiàn)特定功能的程序模塊,他可以是只有一條語(yǔ)句的簡(jiǎn)單函數(shù),也可以是包含許多子函數(shù)的復(fù)雜函數(shù)。

      函數(shù)的分類

      1.簡(jiǎn)單函數(shù)和復(fù)雜函數(shù)

      2.庫(kù)函數(shù)和自定義函數(shù)

      3.功能函數(shù):字符函數(shù)、日期函數(shù)、數(shù)學(xué)函數(shù)、圖形函數(shù)、內(nèi)存函數(shù)等。

      注:

      一個(gè)程序可以只有一個(gè)主函數(shù),但是不可以沒(méi)有函數(shù)。

      CPP函數(shù)基礎(chǔ)知識(shí)詳解

      函數(shù)的定義

      類型標(biāo)識(shí)符 函數(shù)名 (形參列表) {變量的聲明語(yǔ)句}

      注:

      • 類型標(biāo)識(shí)符:

        標(biāo)識(shí)函數(shù)的返回值類型:整型、字符型、指針型、對(duì)象的數(shù)據(jù)類型、空類型等
      • 形參列表:

        函數(shù)中所需要輸入的參數(shù)列表
      • 形參列表可以為空,即定義無(wú)參函數(shù)。
      • 函數(shù)后面的大括號(hào)表示函數(shù)體,在函數(shù)體內(nèi)進(jìn)行變量聲明和實(shí)現(xiàn)語(yǔ)句的添加。

      實(shí)例:

      int GetMax(int a , int b){int a; //變量的聲明int b;if a>b //函數(shù)功能語(yǔ)句的實(shí)現(xiàn)return a;elsereturn b;}

      CPP函數(shù)基礎(chǔ)知識(shí)詳解

      函數(shù)的聲明

      int GetMax(int a ,int b);

      函數(shù)聲明被稱為函數(shù)原型,函數(shù)聲明時(shí)可以省略變量名。

      實(shí)例: 函數(shù)的使用

      #include <iostream>using namespace std;int GetMax(int ,int ); //函數(shù)聲明int GetMax(int a ,int b) //函數(shù)的實(shí)現(xiàn){if (a>b) //函數(shù)功能語(yǔ)句的實(shí)現(xiàn)return a;elsereturn b;}void main(){ cout << GetMax(5, 9) << endl; //函數(shù)的調(diào)用 --實(shí)參system('pause');} 

      注:

      函數(shù)的聲明,函數(shù)的實(shí)現(xiàn),變量的聲明,變量的使用,函數(shù)的調(diào)用。

      結(jié)果為:

      CPP函數(shù)基礎(chǔ)知識(shí)詳解

      函數(shù)參數(shù)和返回值

      函數(shù)參數(shù): 函數(shù)的輸入(input)

      函數(shù)返回值:函數(shù)的輸出(output)

      返回值要求:

      1. 函數(shù)返回值的類型和函數(shù)定義中函數(shù)的類型標(biāo)識(shí)符應(yīng)保持一致。如果兩者不一致,則以函數(shù)類型為準(zhǔn),自動(dòng)進(jìn)行類型轉(zhuǎn)換。
      2. 函數(shù)類值若為整型,在函數(shù)定義時(shí)可以省去類型標(biāo)識(shí)符。
      3. 在函數(shù)中允許有多個(gè)return語(yǔ)句,單每次調(diào)用只能有一個(gè)被執(zhí)行。
      4. 不反悔函數(shù)值的函數(shù),可定義為空類型void。
      5. 類型為void的函數(shù)不能進(jìn)行賦值運(yùn)算即值傳遞。
      6. 為了降低程序出錯(cuò)的幾率,凡是不要求返回值的函數(shù)都定義為空類型。

      CPP函數(shù)基礎(chǔ)知識(shí)詳解

      空函數(shù)

      沒(méi)有參數(shù)和返回值,函數(shù)的作用域也為空的函數(shù)即空函數(shù)。

      void setname(){}

      存在的意義:預(yù)定義功能

      在程序設(shè)計(jì)中往往根據(jù)需要確定若干模塊,分別由一些函數(shù)來(lái)實(shí)現(xiàn)。因此就需要先定義一個(gè)空函數(shù)占位,然后在開(kāi)發(fā)。是程序設(shè)計(jì)的結(jié)構(gòu)清除,可讀性好,以后擴(kuò)充新功能方便,且對(duì)程序結(jié)構(gòu)影響不大。形參、實(shí)參和無(wú)參

      形參:a,b ---輸入變量 --函數(shù)調(diào)用時(shí)賦值。

      int GetMax(int a ,int b ){int a; //變量的聲明int b;if a>b //函數(shù)功能語(yǔ)句的實(shí)現(xiàn)return a;elsereturn b;}

      CPP函數(shù)基礎(chǔ)知識(shí)詳解

      實(shí)參:函數(shù)調(diào)用時(shí)賦值即實(shí)參。

      void main(){ GetMax(5,9); //函數(shù)的調(diào)用 --實(shí)參}

      注:

      1. 形參和實(shí)參個(gè)數(shù)相等,類型一致。
      2. 實(shí)參與形參按順序?qū)?yīng),函數(shù)被調(diào)用時(shí)會(huì)一一傳數(shù)據(jù)。

      1. 內(nèi)存方面:形參定義,不占內(nèi)存,函數(shù)調(diào)用時(shí),給形參分配內(nèi)存單元,調(diào)用結(jié)束即釋放。(函數(shù)調(diào)用--分配空間--參數(shù)值傳遞--釋放空間)
      2. 值方面:實(shí)參是確定的值。 形參接收實(shí)參的值傳遞或者地址傳遞。
      3. 傳遞方面:實(shí)參與形參之間單向傳遞,只能由實(shí)參傳遞給形參。
      4. C++支持引用型變量,引用型變量則沒(méi)有值傳遞的過(guò)程。

      默認(rèn)參數(shù)

      在調(diào)用有參函數(shù)時(shí),如需經(jīng)常傳遞同一個(gè)值到調(diào)用函數(shù),在定義時(shí),可以為參數(shù)設(shè)置一個(gè)默認(rèn)值,這樣在調(diào)用函數(shù)時(shí)就可以省略一些參數(shù),此時(shí)程序?qū)⒉扇∧J(rèn)值作為函數(shù)的實(shí)際參數(shù)。

      實(shí)例:定義參數(shù)默認(rèn)值

      #include<iostream>using namespace std;void WelYou(const char* wy='劍云鋒謝謝你們的支持,讓我們共同成長(zhǎng)!'){cout<<wy<<endl; //輸出默認(rèn)值}void main(){ WelYou(); //調(diào)用函數(shù)(默認(rèn)參數(shù)作實(shí)參) WelYou('劍云鋒祝愿大家新年快樂(lè)!'); //直接傳遞實(shí)參。 system('pause');}

      注:

      默認(rèn)參數(shù)不能出現(xiàn)在非默認(rèn)參數(shù)的左方。否則會(huì)導(dǎo)致編譯錯(cuò)誤。

      結(jié)果為:

      CPP函數(shù)基礎(chǔ)知識(shí)詳解

      可變參數(shù)

      可變參數(shù):“...”表示可變。例如庫(kù)函數(shù)printf函數(shù)。

      _CRTIMP int_cdecl printf(const char* , ...);printf('%d\n','劍云鋒'); //輸出一項(xiàng)信息printf('%s-%s-%s\n', '劍云鋒','歡迎你',',謝謝!'); //輸出多項(xiàng)信息

      注:

      可變參數(shù)的函數(shù),在定義函數(shù)時(shí)需要一一讀取用戶傳遞的實(shí)際參數(shù)。可以使用va_list 類型和va_start,va_arg,va_end 3個(gè)宏 讀取傳遞到函數(shù)的參數(shù)值。使用可變參數(shù),需引用stdarg.h頭文件。

      CPP函數(shù)基礎(chǔ)知識(shí)詳解

      實(shí)例:可變參數(shù)的定義和調(diào)用。

      #include<iostream>#include<stdarg.h> //包含宏頭文件using namespace std;void WelYou(int num ,...) //定義可變參數(shù)函數(shù){va_list arguments; //定義va_list類型變量va_start(arguments,num);while(num--){char* wy =va_arg(arguments,char*); //獲取字符串?dāng)?shù)據(jù)int i=va_arg(arguments,int ); //獲取整型數(shù)據(jù)cout<<wy<<endl; //輸出字符串cout<<i<<endl; //輸出整數(shù)}va_end(arguments);}void main(){	WelYou(2, '劍云鋒',2018,'劍云鋒', 2019);//調(diào)用WelYou函數(shù)system('pause');}

      結(jié)果為:

      CPP函數(shù)基礎(chǔ)知識(shí)詳解

      函數(shù)變量作用域

      變量位置分類:全局變量和局部變量。

      全局變量:在函數(shù)體外定義的變量稱為全局變量。

      局部變量:在函數(shù)體內(nèi)定義的變量稱為局部變量。

      實(shí)例:

      #include <iostream>using namespace std;int total; //定義全局變量int GetCount(); //聲明函數(shù)void main(){int total=529; //局部變量cout<<total<<endl;cout<<GetCount()<<endl;system('pause');}int GetCount(){total=925; //給全局變量賦值return total;}

      注:

      • 全局變量使用一定要慎重,能不用則不用。
      • 變量都有它的生命周期。
      • 全局變量在程序開(kāi)始時(shí)創(chuàng)建并分配空間,在程序結(jié)束時(shí)釋放內(nèi)存并銷毀;
      • 局部變量是在函數(shù)調(diào)用時(shí)創(chuàng)建,并在棧中分配內(nèi)存,在函數(shù)調(diào)用結(jié)束后銷毀并釋放。

      結(jié)果為:

      CPP函數(shù)基礎(chǔ)知識(shí)詳解

      本文部分內(nèi)容參考至教材,如有錯(cuò)誤,敬請(qǐng)指正,如有侵權(quán),請(qǐng)聯(lián)系修改,謝謝。

        本站是提供個(gè)人知識(shí)管理的網(wǎng)絡(luò)存儲(chǔ)空間,所有內(nèi)容均由用戶發(fā)布,不代表本站觀點(diǎn)。請(qǐng)注意甄別內(nèi)容中的聯(lián)系方式、誘導(dǎo)購(gòu)買等信息,謹(jǐn)防詐騙。如發(fā)現(xiàn)有害或侵權(quán)內(nèi)容,請(qǐng)點(diǎn)擊一鍵舉報(bào)。
        轉(zhuǎn)藏 分享 獻(xiàn)花(0

        0條評(píng)論

        發(fā)表

        請(qǐng)遵守用戶 評(píng)論公約

        類似文章 更多