C語言 從函式定義的角度看,函式可分為幾種

2025-07-23 15:00:10 字數 3981 閱讀 2170

c語言函式從形式上分為哪兩種

1樓:假面

一種是使用者自定義函式,就是自己根據功能的需要自己編寫的函式;另一種是系統自帶的函式,如sqrt(x)函式 (就是求x的二次方根),這樣的可以直接用,前提是得在標頭檔案中把它們包含進去。

在程式設計領域中,c語言的運用非常之多,它兼顧了高階語言的組合語言的優點,相較於其它程式語言具有較大優勢。計算機系統設計以及應用程式編寫是c語言應用的兩大領域。同時,c語言的普適較強,在許多計算機作業系統中都能夠得到適用,且效率顯著。

2樓:馮小剛

c語言函式從形式上分為這麼兩種:一種是使用者自定義函式,就是你自己根據功能的需要自己編寫的函式;另一種是系統自帶的函式,如sqrt(x)函式 (就是求x的二次方根),這樣的可以直接用,不用自己編寫,前提是你得在標頭檔案中把它們包含進去;

c語言函式分為哪兩類

3樓:春深風度不了情

構成乙個c語言程式的函式可以劃分為兩種基本型別:

一種是由c語言系統提供的函式,這類函式使用者可以直接在程式中呼叫,從而完成一定的功能,這類函式也被稱為c語言的「庫函式」或「標準函式」。

另一種是由使用者在程式中定義的函式,是由使用者根據應用程式。

的需要而定義、用以完成特定功能的程式模組,稱為「使用者自定義函式」。

簡述c語言中函式共有哪幾種型別,各有何區別?

4樓:懷念流年青春

如c語言中:

int max(int x,int y)

就是一段比較兩數大小的函式,函式有引數與返回值。c++程式設計中的函式可以分為兩類:帶引數的函式和不帶引數的函式。這兩種引數的宣告、定義也不一樣。

帶有(乙個)引數的函式的宣告:

型別名標示符+函式名+(型別標示符+引數)不帶引數的函式的宣告:

void+函式名( )

花括號內為函式體。

帶引數的函式有返回值,不帶引數的沒有返回值。

c++中函式的呼叫:函式必須宣告後才可以被呼叫。呼叫格式為:

函式名(實參)呼叫時函式名後的小括號中的實參必須和宣告函式時的函式括號中的形參個數相同。有返回值的函式可以進行計算,也可以做為右值進行賦值。

c語言中的部分函式:

main(主函式)

max(求最大數的函式)

scanf(輸入函式)

printf(輸出函式)

c語言:可以在乙個函式中定義另乙個函式為什麼不對?

5樓:網友

語法規定,這是不對的,如果那麼做會出現編譯錯誤。

函式是用來呼叫並實現某種功能的。作為一種方法,函式是獨立的。正是因為這種特性,才把一些特殊的、常用的方法抽取出來封裝成乙個個的函式。

因此把乙個函式寫在另乙個函式里面也已經失去了函式本身的意義。

6樓:金色潛鳥

c語言程式結構是:

標頭檔案和巨集。

全域性量宣告。

主函式main

函式1函式2。。。

函式nc語言程式,必須有乙個主函式,可以有1個或多個其它函式,所有的函式塊是平行的,並列的。

不允許 在乙個函式中定義另乙個函式。

語法規則如此。這只是一種規定和約定。並不是說其它的計算機語言,或將來發明的計算機語言也必須如此。

7樓:網友

呵呵,這個問題簡單的回答是c語言規定了不能這樣。c語言是計算機的一門語言,也有其特定的語法,就像英語那樣,不合語法規定的我們就認為是錯誤的或不地道的或有歧義的。但計算機只有正確(1)與錯誤(0),沒得選了。

至於為什麼當初制定語法時這樣規定了(好像是先有實踐,後有理論的哦,呵呵),我認為可以從下面的幾點看:

1。從c/c++編譯器編譯方式來看。編譯器編譯的方式是逐條往下編譯的。

要是乙個函式中又定義乙個函式,則編譯器很容易搞混,分不清到底那一句是函式1的那一句是函式2的,就很有可能上面一句是函式1的,下一句就直接跳到函式2的,跳來跳去的,也只有人能認清,計算機沒有像人那樣的跳躍思維。所以,語法就這樣規定了,這樣就可以避免很多的混亂和錯誤。

2.從審美的角度來看。其實不用我多說,你一看到乙個函式里又定義另乙個函式時,你就覺得很亂了。尤其是當**寫得很長很長是,更弱爆了!

3.從使用,管理方便角度看。這樣規定了,可以使程式設計模組化,就是不用等前面的寫完,後面的才能寫。它可以同時進行n個模組(模組可以簡單的認為是乙個或多個的函式),方便且提高效率啊。

8樓:陌語哲偤

簡單的是c語言規定了不能這樣。c語言是計算機的一門語言,也有其特定的語法,就像英語那樣,不合語法規定的就認為是錯誤的或不地道的或有歧義的。

c語言函式的特點及其定義?

9樓:吉祥二進位

c語言中乙個函式(function)是乙個可以從程式其它地方呼叫執行的語句塊。

1、通過使用函式(functions)我們可以把我們的程式以更模組化的形式組織起來,從而利用c語言所支援的結構化程式設計。

2、從數學角度,函式即集合a和集合b之間的對映關係。實際上計算機中的函式概念也是源於此,因此,一般函式,都有形參和返回值。

3、從計算機組成原理的角度來看,函式即是乙個小型的計算機系統,依據馮諾伊曼的「儲存程式原理」,每乙個計算機系統包含:輸入系統、輸出系統、運算器以及控制器,實際上對於c語言中的函式來說,它是「儲存程式原理」的軟實現,其中形參、實參這是輸入系統,返回值是輸出系統,函式體中的運算子,比如+、-/四則運算即為運算器,而邏輯運算子以及if、while等控制語句便是乙個控制器。

10樓:網友

c語言函式是乙個獨立的程式段,它具有很明確的任務特點:

乙個函式只能返回乙個值。

乙個程式可以有乙個或多個函式函式可以巢狀呼叫。

c語言函式可以讓整個程式實現模組化設計,讓程式更加簡潔,增加可讀性。

c語言函式定義:

1.在c程式中,乙個函式的定義可以放在任意位置,既可放在主函式main之前,也可放在 main之後。

例如:可把max 函式置在main之後,也可以把它放在main之前。

例int max(int a,int b)

int main()

2.如果自定義的函式在主函式之後定義的必須加以宣告。如果是在主函式前定義的不用宣告。

3.函式宣告語名要寫在主函式之前,有函式的返回值的型別,函式名,函式的形參列表。

如:int fun(int ,int);

函式的定義。

乙個完整的函式,有函式體即函式的功能。

例如:int fun(int a,int b)

4.不能在乙個函式中定義另乙個數,無論函式是否有引數,一定要有括號函式在定義或使用前應在main() 函式中進行宣告。

11樓:匿名使用者

c函式是乙個獨立的程式段,它執行具體的、明確的任務特點:乙個函式只能返回乙個值乙個程式可以有乙個或多個函式函式可以巢狀呼叫,但不能在乙個函式中定義另乙個函式 無論函式是否有引數,一定要有括號函式在定義或使用前應在main() 函式中進行宣告。

12樓:匿名使用者

函式的特點:返回值 引數 定義 :返回值型別 函式名稱(引數列表);

在c語言中,函式定義可以分為兩個部分

13樓:漫夢秋巴瑾

函式說明和函式體。

1)函式說明。

這部分主要包括函式型別。

函式名形式引數等。如int

max(int

x,inty)2函式體。

這部分由一對大括號來界定。

14樓:完俊拔聞懌

一般格式:

返回型別。函式名(引數型別1

引數名1,引數型別2

引數名2,..引數型別n

引數名n)別看這麼複雜,其實就是與下面形式差不多:

intmax(int

a,int*b)

一道定義函式c語言題目,一道定義函式C語言題目

include include long fact long n double power double x,int n int main else continue printf lf s long fact long n double power double x,int n 一道c語言題目?1...

C語言函式後跟巨集定義是什麼意思,C語言函式後跟乙個巨集定義是什麼意思?

預處理運算子 為巨集擴充套件提供了一種連線實際變元的手段。如果替換文字中的引數用 相 連,那麼引數就被實際變元替換,與前後的空白符被刪除,並對替換後的結果重新掃瞄。例 如,下面定義的巨集p a s t e用於連線兩個變元 define paste front,back front back 從而巨集...

c語言中自定義函式與系統函式的區別

系統函式是包含在系統標頭檔案中的函式,它作為一個外部函式可以被所以包含它標頭檔案的檔案中使用。static除外 庫檔案中的函式多數是與系統無關的,可移植的。自定義函式 包含在自己建立的檔案中,在使用時包含該檔案。1 位置上 系統在系統預設的位置,自定義在本工程的資料夾下 比如 include inc...