欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

深入學習C++中的函數概念

 更新時間:2015年09月09日 19:33:41   投稿:goldensun  
這篇文章主要介紹了C++中的函數概念,是C++入門學習中的基礎知識,需要的朋友可以參考下

一個較大的程序不可能完全由一個人從頭至尾地完成,更不可能把所有的內容都放在一個主函數中。為了便于規(guī)劃、組織、編程和調試,一般的做法是把一個大的程序劃分為若干個程序模塊(即程序文件),每一個模塊實現一部分功能。不同的程序模塊可以由不同的人來完成。在程序進行編譯時,以程序模塊為編譯單位,即分別對每一個編譯單位進行編譯。如果發(fā)現錯誤,可以在本程序模塊范圍內查錯并改正。在分別通過編譯后,才進行連接,把各模塊的目標文件以及系統文件連接在一起形成可執(zhí)行文件。

在一個程序文件中可以包含若干個函數。無論把一個程序劃分為多少個程序模塊,只能有一個main函數。程序總是從main函數開始執(zhí)行的。在程序運行過程中,由主函數調用其他函數,其他函數也可以互相調用。在C語言中沒有類和對象,在程序模塊中直接定義函數??梢哉J為,一個C程序是由若干個函數組成的,C語言被認為是面向函數的語言。C++面向過程的程序設計沿用了C語言使用函數的方法。在C++面向對象的程序設計中,主函數以外的函數大多是被封裝在類中的。主函數或其他函數可以通過類對象調用類中的函數。無論是C還是C++,程序中的各項操作基本上都是由函數來實現的,程序編寫者要根據需要編寫一個個函數,每個函數用來實現某一功能。因此,讀者必須掌握函數的概念以及學會設計和使用函數。

“函數”這個名詞是從英文function翻譯過來的,其實function的原意是“功能”。顧名思義,一個函數就是一個功能。

在實際應用的程序中,主函數寫得很簡單,它的作用就是調用各個函數,程序各部分的功能全部都是由各函數實現的。主函數相當于總調度,調動各函數依次實現各項功能。

開發(fā)商和軟件開發(fā)人員將一些常用的功能模塊編寫成函數,放在函數庫中供公共選用。程序開發(fā)人員要善于利用庫函數,以減少重復編寫程序段的工作量。

【例】在主函數中調用其他函數。

#include <iostream>
using namespace std;
void printstar(void)  //定義printstar函數
{
  cout<<″****************************** ″<<endl; //輸出30個“*”
}

void print_message(void) //定義print_message函數
{
  cout<<″Welcome to C++!″<<endl; //輸出一行文字
}

int main(void)
{
  printstar( ); //調用printstar 函數
  print_message( ); //調用print_message函數
  printstar( ); //調用printstar 函數
  return 0;
}

運行情況如下:

******************************
Welcome to C++!
******************************

從用戶使用的角度看,函數有兩種:
系統函數,即庫函數。這是由編譯系統提供的,用戶不必自己定義這些函數,可以直接使用它們。
用戶自己定義的函數。用以解決用戶的專門需要。

從函數的形式看,函數分兩類:
無參函數。調用函數時不必給出參數。
有參函數。在調用函數時,要給出參數。在主調函數和被調用函數之間有數據傳遞。

函數的定義和調用
定義無參函數的一般形式為:
    類型標識符 函數名([void])

  {
    聲明部分
    語句
  }


用類型標識符指定函數的類型,即函數帶回來的值的類型。

定義有參函數的一般形式為:

  類型標識符 函數名(形式參數表列)
  {
    聲明部分
    語句
  }


例如:

int max(int x,int y) //函數首部,函數值為整型,有兩個整型形參
{
  int z; //函數體中的聲明部分
  z=x>y?x:y; //將x和y中的大者的值賦給整型變量z
  return (z);//將z的值作為函數值返回調用點
}

注意:C++要求在定義函數時必須指定函數的類型。

相關文章

  • 利用Matlab實現迭代適應點算法

    利用Matlab實現迭代適應點算法

    道格拉斯-普克算法(Douglas–Peucker?algorithm,亦稱為拉默-道格拉斯-普克算法、迭代適應點算法、分裂與合并算法)是將曲線近似表示為一系列點,并減少點的數量的一種算法。本文將利用Matlab實現這一算法,需要的可以參考一下
    2022-04-04
  • C++采用ring3讀取MBR實例

    C++采用ring3讀取MBR實例

    這篇文章主要介紹了C++采用ring3讀取MBR實例,可實現對硬盤的主引導記錄的讀取,非常具有實用價值,需要的朋友可以參考下
    2014-10-10
  • C語言使用sizeof和strlen計算數組和指針大小

    C語言使用sizeof和strlen計算數組和指針大小

    sizeof()一般是用來求取?變量?或者?類型?所占內存空間的大小,strlen()是一個庫函數是專門用來計算?字符串?長度的,下面我們就來看看C語言如何使用sizeof和strlen計算數組和指針大小吧
    2023-11-11
  • C語言解決青蛙跳臺階問題(升級版)

    C語言解決青蛙跳臺階問題(升級版)

    所謂的青蛙跳臺階問題,就是指一只青蛙一次可以跳上1級臺階,也可以跳上2級。求該青蛙跳上一個n級的臺階總共有多少種跳法。本文將用C語言解決這一問題,需要的可以參考一下
    2022-01-01
  • C++11學習之右值引用和移動語義詳解

    C++11學習之右值引用和移動語義詳解

    c++11中引用了右值引用和移動語義,可以避免無謂的復制,提高了程序性能。這篇文章將通過一些示例和大家聊聊右值引用和移動語義的使用,感興趣的可以了解一下
    2023-02-02
  • C++字符串的截取問題

    C++字符串的截取問題

    這篇文章主要介紹了C++字符串的截取問題,具有很好的參考價值,希望對大家有所幫助,如有錯誤或未考慮完全的地方,望不吝賜教
    2023-08-08
  • C++實現LeetCode(36.驗證數獨)

    C++實現LeetCode(36.驗證數獨)

    這篇文章主要介紹了C++實現LeetCode(36.驗證數獨),本篇文章通過簡要的案例,講解了該項技術的了解與使用,以下就是詳細內容,需要的朋友可以參考下
    2021-07-07
  • C++ 右值語義相關總結

    C++ 右值語義相關總結

    這篇文章主要介紹了C++ 右值語義的的相關資料,幫助大家更好的理解和學習使用c++,感興趣的朋友可以了解下
    2021-02-02
  • 初識C++?Vector模板與實例化原理

    初識C++?Vector模板與實例化原理

    這篇文章主要為大家介紹了初識C++?Vector模板與實例化原理,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進步,早日升職加薪
    2022-12-12
  • C++中4種類型轉換方式 cast操作詳解

    C++中4種類型轉換方式 cast操作詳解

    static_cast,支持子類指針到父類指針的轉換,并根據實際情況調整指針的值,反過來也支持,但會給出編譯警告,它作用最類似C風格的“強制轉換”,一般來說可認為它是安全的
    2013-10-10

最新評論