欧美日韩不卡一区二区三区,www.蜜臀.com,高清国产一区二区三区四区五区,欧美日韩三级视频,欧美性综合,精品国产91久久久久久,99a精品视频在线观看

試題

計(jì)算機(jī)二級(jí)C語(yǔ)言程序設(shè)計(jì)考點(diǎn)解析:函數(shù)

時(shí)間:2025-01-20 23:51:29 試題 我要投稿
  • 相關(guān)推薦

計(jì)算機(jī)二級(jí)C語(yǔ)言程序設(shè)計(jì)考點(diǎn)解析:函數(shù)

  2017下半年計(jì)算機(jī)等級(jí)考試時(shí)間9月23日-26日,目前進(jìn)入了沖刺的階段。下面我們來(lái)看看計(jì)算機(jī)二級(jí)C語(yǔ)言程序設(shè)計(jì)考點(diǎn)解析:函數(shù)。

  庫(kù)函數(shù)的正確調(diào)用

  1.C語(yǔ)言提供了豐富的庫(kù)函數(shù),包括常用數(shù)學(xué)函數(shù)、對(duì)字符和字符串處理函數(shù)、輸入輸出處理函數(shù)等。在調(diào)用庫(kù)函數(shù)時(shí)要注意以下幾點(diǎn):

  (1)調(diào)用C語(yǔ)言標(biāo)準(zhǔn)庫(kù)函數(shù)時(shí)必須在源程序中用include命令,include命令的格式是:

  #include″頭文件名″

  include命令必須以#號(hào)開(kāi)頭,系統(tǒng)提供的頭文件名都以.h作為后綴,頭文件名用一對(duì)雙引號(hào)″″或一對(duì)尖括號(hào)〈〉括起來(lái)。

  (2)標(biāo)準(zhǔn)庫(kù)函數(shù)的調(diào)用形式:

  函數(shù)名(參數(shù)表)

  2.在C語(yǔ)言中庫(kù)函數(shù)的調(diào)用可以以兩種形式出現(xiàn):出現(xiàn)在表達(dá)式中;作為獨(dú)立的語(yǔ)句完成某種操作。

  函數(shù)的定義方法

  1.C語(yǔ)言函數(shù)的一般形式為:

  函數(shù)返回值的類型名函數(shù)名(類型名形參1,類型名形參2,…)

  {

  說(shuō)明部分

  語(yǔ)句部分

  }

  定義的第一行是函數(shù)的首部,{}中的是函數(shù)體。

  2.在老的C語(yǔ)言版本中,函數(shù)的首部用以下形式:

  函數(shù)返回值的類型名函數(shù)名(形參1,形參2…)

  形參類型說(shuō)明;

  新的ANSI標(biāo)準(zhǔn)C兼容這種形式的函數(shù)首部說(shuō)明。

  3.函數(shù)名和形參名是由用戶命名的標(biāo)識(shí)符。在同一程序中,函數(shù)名必須唯一。形式參數(shù)名只要在同一函數(shù)中唯一即可,可以與函數(shù)中的變量同名。

  4.C語(yǔ)言規(guī)定不能在一個(gè)函數(shù)內(nèi)部再定義函數(shù)。

  5.若在函數(shù)的首部省略了函數(shù)返回值的類型名,把函數(shù)的首部寫成:

  函數(shù)名(類型名形參1,類型名形參2,…)

  則C默認(rèn)函數(shù)返回值的類型為int類型。

  6.當(dāng)沒(méi)有形參時(shí),函數(shù)名后面的一對(duì)圓括號(hào)不能省略。

  函數(shù)的類型和返回值

  1.函數(shù)的類型由函數(shù)定義中的函數(shù)返回值的類型名確定,函數(shù)的類型可以是任何簡(jiǎn)單類型,如整型、字符型、指針型、雙精度型等,它指出了函數(shù)返回值的具體類型。當(dāng)函數(shù)返回的是整型值時(shí),可以省略函數(shù)類型名。當(dāng)函數(shù)只完成特定的操作而沒(méi)有或不需要返回值時(shí),可用類型名void(空類型)。

  2.函數(shù)返回值就是return語(yǔ)句中表達(dá)式的值。當(dāng)程序執(zhí)行到return語(yǔ)句時(shí),程序的流程就返回到調(diào)用該函數(shù)的地方(通常稱為退出調(diào)用函數(shù)),并帶回函數(shù)值。

  形式參數(shù)與實(shí)際參數(shù),參數(shù)值的傳遞

  1.在函數(shù)定義中,出現(xiàn)的參數(shù)名稱為形參(形式參數(shù)),在調(diào)用函數(shù)時(shí),使用的參數(shù)值稱為實(shí)參(實(shí)際參數(shù))。

  2.調(diào)用函數(shù)和被調(diào)用函數(shù)之間的參數(shù)值的傳遞是″按值″進(jìn)行的,即數(shù)據(jù)只能從實(shí)參單向傳遞給形參。也就是說(shuō),當(dāng)簡(jiǎn)單變量作為實(shí)參時(shí),用戶不能在函數(shù)中改變對(duì)應(yīng)實(shí)參的值。

  函數(shù)的正確調(diào)用(嵌套調(diào)用,遞歸調(diào)用)

  1.調(diào)用函數(shù)時(shí),函數(shù)名必須與被調(diào)用的函數(shù)名字完全一樣。實(shí)參的個(gè)數(shù)與類型和形參的個(gè)數(shù)與類型一致。

  2.C語(yǔ)言規(guī)定:函數(shù)必須先定義,后調(diào)用,也就是被調(diào)用函數(shù)必須在調(diào)用之前加以說(shuō)明,或被調(diào)用函數(shù)整個(gè)放在調(diào)用函數(shù)之前。但對(duì)返回值類型為int或char類型的函數(shù)可以放在調(diào)用函數(shù)的后面。

  3.C語(yǔ)言中函數(shù)定義都是互相平行、獨(dú)立的,C語(yǔ)言不允許嵌套定義函數(shù),但允許嵌套調(diào)用函數(shù),也就是說(shuō),在調(diào)用一個(gè)函數(shù)的過(guò)程中,又調(diào)用另一個(gè)函數(shù)。

  4.在C程序中,調(diào)用一個(gè)函數(shù)的過(guò)程中又出現(xiàn)直接或間接地調(diào)用該函數(shù)本身,稱為函數(shù)的遞歸調(diào)用。

  5.遞歸調(diào)用函數(shù)是C語(yǔ)言的特點(diǎn)之一,有時(shí)遞歸調(diào)用會(huì)使求解的問(wèn)題變得更簡(jiǎn)單明了。

  局部變量和全局變量

  1.局部變量

  在一函數(shù)內(nèi)部所定義的變量稱為局部變量,局部變量只在本函數(shù)范圍內(nèi)有效。

  注意:

 、俨煌瘮(shù)可以使用相同的局部變量名,它們將代表不同的對(duì)象,互不干擾;

 、谝粋(gè)函數(shù)的形參也為局部變量;

  ③在函數(shù)內(nèi)部,復(fù)合語(yǔ)句也可定義變量,這些變量也為局部變量,只在此復(fù)合語(yǔ)句中有效。

  2.全局變量

  在C語(yǔ)言中,程序的編譯單位是源程序文件,一個(gè)源程序文件中包含一個(gè)或多個(gè)函數(shù)。在函數(shù)之外所定義的變量稱為外部變量,也稱為全局變量。全局變量可以被包含它的源程序文件中的其他函數(shù)所共用,作用域?yàn)閺亩x變量的位置開(kāi)始到源程序文件結(jié)束,全局變量可以增加函數(shù)之間數(shù)據(jù)的聯(lián)系。

  注意:當(dāng)在同一個(gè)源程序文件中,全局變量與局部變量同名時(shí),在局部變量的作用范圍內(nèi),全局變量不起作用,局部變量起作用。

  變量的存儲(chǔ)類別、作用域及生存期

  1.變量的存儲(chǔ)類別

  在C語(yǔ)言中,有兩類存儲(chǔ)類別:自動(dòng)類別及靜態(tài)類別。

  有4個(gè)與兩種存儲(chǔ)類別有關(guān)的說(shuō)明符:auto(自動(dòng))、register(寄存器)、static(靜態(tài))和extern(外部),這些說(shuō)明符一般與類型說(shuō)明一起出現(xiàn),一般放在類型名的左邊,例如:

  autolongI,j;

  也可寫成:

  longautoI,j;

  (1)自動(dòng)變量:自動(dòng)變量是C程序中使用最多的一種變量,這種變量的建立和撤消都是在系統(tǒng)中自動(dòng)進(jìn)行的。

  格式:[auto]數(shù)據(jù)類型變量名[=初始化表達(dá)式],…;

  上面的說(shuō)明格式中,方括號(hào)中是可省略的部分,auto為自動(dòng)類別標(biāo)識(shí)符,若省略auto,系統(tǒng)缺省的存儲(chǔ)類別也為自動(dòng)類別。

  注意:函數(shù)的形參也為自動(dòng)類別,在定義時(shí)不必加存儲(chǔ)類別標(biāo)識(shí)符。

  (2)寄存器變量:寄存器變量與自動(dòng)變量的性質(zhì)相同,其區(qū)別只在于存儲(chǔ)的位置不同,寄存器變量存儲(chǔ)在CPU的寄存器中,而自動(dòng)變量存儲(chǔ)在內(nèi)存中的動(dòng)態(tài)存儲(chǔ)區(qū),寄存器變量的存取速度要快些。

  格式:register數(shù)據(jù)類型,變量名[=初始化表達(dá)式],…;

  上面的說(shuō)明格式中,register為寄存器變量的存儲(chǔ)類別標(biāo)識(shí)符。

  說(shuō)明:

  ①CPU中寄存器的數(shù)目是有限的,因此只能把少數(shù)的變量說(shuō)明為寄存器變量;

 、诩拇嫫髯兞渴谴娣旁诩拇嫫髦械模皇谴娣庞趦(nèi)存中,所以,寄存器變量無(wú)地址;

 、奂拇嫫髯兞康恼f(shuō)明應(yīng)盡量放在靠近要使用的地方,用完后盡快釋放,這樣可提高使用效率。

  (3)靜態(tài)變量:靜態(tài)類別變量的存儲(chǔ)空間在程序的整個(gè)運(yùn)行期間是固定的。

  格式:static數(shù)據(jù)類型變量名[=初始化表達(dá)式],…;

  在上面的說(shuō)明格式中,static為靜態(tài)變量的存儲(chǔ)類別標(biāo)識(shí)符。

  靜態(tài)變量的初始化在編譯時(shí)進(jìn)行,定義時(shí)可用常量或表達(dá)式進(jìn)行顯式初始化。對(duì)于沒(méi)有初始化的靜態(tài)變量,自動(dòng)初始化為0(整型)或0.0(實(shí)型)。

  注意:靜態(tài)變量具有可繼承性,這與自動(dòng)變量有所不同。

  (4)外部變量:使用extern可使外部變量使用范圍擴(kuò)充到需要使用它的函數(shù)。外部變量可作顯式的初始化,若不作初始化,系統(tǒng)將自動(dòng)地初始化為0或0.0。

  格式:[extern]數(shù)據(jù)類型,變量名[=初始化表達(dá)式],…;

  上面的說(shuō)明格式中,extern使外部變量的作用范圍擴(kuò)大到其他源程序文件中。

  注意:局部變量既可以說(shuō)明為自動(dòng)類別,也可以說(shuō)明為靜態(tài)類別;全局變量只能說(shuō)明為靜態(tài)類別。

  2.變量的作用域及生存期

  在C語(yǔ)言中,變量必須先說(shuō)明后使用,在程序中一個(gè)已定義的變量的使用范圍就是此變量的作用域。經(jīng)過(guò)賦值的變量在程序運(yùn)行期間能保持其值的時(shí)間范圍為該變量的生存期。

  (1)局部變量的使用域及生存期

 、僮詣(dòng)變量的使用域及生存期

  自動(dòng)變量的存儲(chǔ)單元被分配在內(nèi)存的動(dòng)態(tài)存儲(chǔ)區(qū),每當(dāng)進(jìn)函數(shù)體(或復(fù)合語(yǔ)句)時(shí),系統(tǒng)自動(dòng)為自動(dòng)變量分配存儲(chǔ)單元,退出時(shí)自動(dòng)釋放這些存儲(chǔ)單元。自動(dòng)變量的作用域?yàn)閺亩x的位置起,到函數(shù)體(或復(fù)合語(yǔ)句)結(jié)束為止。

  自動(dòng)變量在進(jìn)入到定義它們的函數(shù)體(或復(fù)合語(yǔ)句)時(shí)生成,在退出所在的函數(shù)體(或復(fù)合語(yǔ)句)時(shí)消失,這就是自動(dòng)變量的生存期。

  使用自動(dòng)變量的優(yōu)點(diǎn)是使各函數(shù)之間造成信息分隔,不同函數(shù)中使用同名變量時(shí)不會(huì)相互影響。

 、诩拇嫫髯兞康氖褂糜蚣吧嫫

  寄存器變量的使用域及生存期與自動(dòng)變量相同。

 、垤o態(tài)存儲(chǔ)類別的局部變量

  在函數(shù)體(或復(fù)合語(yǔ)句)內(nèi)部,用static說(shuō)明的變量靜態(tài)存儲(chǔ)類別的局部變量,這種變量的作用域與自動(dòng)(或寄存器)變量的作用域相同,但是生存期有所不同。

  在整個(gè)程序運(yùn)行期間,靜態(tài)局部變量在內(nèi)存的靜態(tài)存儲(chǔ)區(qū)中占據(jù)著永久的存儲(chǔ)單元,甚至在退出函數(shù)后下次再進(jìn)入函數(shù)時(shí),靜態(tài)局部變量仍使用原來(lái)的存儲(chǔ)單元。由于不釋放存儲(chǔ)單元,所以這些存儲(chǔ)單元中的值將會(huì)被保留下來(lái)。靜態(tài)局部變量的生存期將一直延長(zhǎng)到程序運(yùn)行結(jié)束。

  靜態(tài)局部變量適合于在函數(shù)調(diào)用之間必須保留局部變量值的獨(dú)立變量。

  (2)全局變量的作用域及生存期

  全局變量的作用域?yàn)閺淖兞慷x的位置開(kāi)始,到整個(gè)源程序文件結(jié)束為止。生存期為整個(gè)程序的運(yùn)行期間。

  注意:全局變量在整個(gè)程序運(yùn)行期間都占用內(nèi)存空間。全局變量必須在函數(shù)以外定義,因而降低了函數(shù)的通用性,影響函數(shù)的獨(dú)立性。使用全局變量時(shí),當(dāng)全局變量的值意外改變時(shí),會(huì)引起副作用,這種錯(cuò)誤一般難以查找。

  ①在同一編譯單位內(nèi)用extern標(biāo)識(shí)符來(lái)擴(kuò)展全局變量的作用域

  當(dāng)全局變量定義后,在引用函數(shù)前,應(yīng)在引用它的函數(shù)中用extern對(duì)此全局變量進(jìn)行說(shuō)明,以便使編輯程序確定此外部變量已被定義,不必再為它分配存儲(chǔ)單元,此時(shí)的作用域從extern說(shuō)明開(kāi)始,到此函數(shù)結(jié)束。

  注意:全局變量的定義只能出現(xiàn)一次,這時(shí)不可使用extern標(biāo)識(shí)符。如果多次引用全局變量,這時(shí)必須用extern標(biāo)識(shí)符。

  ②在不同編譯單位內(nèi)用extern標(biāo)識(shí)符來(lái)擴(kuò)展全局變量的作用域

  C語(yǔ)言中的不同函數(shù)可以存放在不同的源程序文件中,每個(gè)源程序文件可以單獨(dú)進(jìn)行編譯,進(jìn)行語(yǔ)法檢查,再生成目標(biāo)文件,最后用系統(tǒng)提供的連接程序把多個(gè)目標(biāo)文件連接成一個(gè)可執(zhí)行程序。

  當(dāng)程序由多個(gè)源程序文件組成時(shí),若每個(gè)文件中都要引用同一個(gè)全局變量,這時(shí)如在每個(gè)源程序文件中都定義一個(gè)所需的同名全局變量,將在連接時(shí)產(chǎn)生重復(fù)定義錯(cuò)誤。解決的辦法是在其中一個(gè)源程序文件中定義所有全局變量,而在其他用到全局變量的源程序文件中用extern對(duì)這些變量進(jìn)行說(shuō)明,以表明它們已在其他編譯單元中被定義。

 、垤o態(tài)全局變量

  當(dāng)用static標(biāo)識(shí)符說(shuō)明全局變量時(shí),全局變量為靜態(tài)全局變量。靜態(tài)全局變量只能在定義它的源程序文件中使用,不能被其他源程序文件使用。

  內(nèi)部函數(shù)及外部函數(shù)

  根據(jù)函數(shù)能否被其他源程序文件所調(diào)用,可將函數(shù)分為內(nèi)部函數(shù)和外部函數(shù)。

  1.內(nèi)部函數(shù)

  內(nèi)部函數(shù)是指一個(gè)函數(shù)只能由定義它的源程序文件所調(diào)用,內(nèi)部函數(shù)又稱為靜態(tài)函數(shù)。

  格式:static類標(biāo)函數(shù)名(類型名形參數(shù)1,類型名形參數(shù)2,…)

  上面的定義格式中,static用于說(shuō)明函數(shù)為內(nèi)部函數(shù)。

  2.外部函數(shù)

  外部函數(shù)是指可以被其他源程序所調(diào)用的函數(shù)。

  格式[extern]類型標(biāo)識(shí)符函數(shù)名(類型名形參數(shù)1,類型名形參數(shù)2,…)

  上面定義格式中,extern表明所定義的函數(shù)為外部函數(shù),當(dāng)extern被省略時(shí),隱含為外部函數(shù)。

  注意:在要調(diào)用此函數(shù)的源程序文件中,一般要用extern標(biāo)識(shí)符說(shuō)明所用的函數(shù)為外部函數(shù)。

【計(jì)算機(jī)二級(jí)C語(yǔ)言程序設(shè)計(jì)考點(diǎn)解析:函數(shù)】相關(guān)文章:

計(jì)算機(jī)二級(jí)考試《C語(yǔ)言程序設(shè)計(jì)》考點(diǎn):C語(yǔ)言的特點(diǎn)08-05

2017計(jì)算機(jī)二級(jí)C語(yǔ)言考點(diǎn)解析10-24

計(jì)算機(jī)二級(jí)C++函數(shù)考點(diǎn)07-22

C語(yǔ)言函數(shù)返回值解析09-17

計(jì)算機(jī)二級(jí)C++考點(diǎn):C++語(yǔ)言概述07-17

2017計(jì)算機(jī)二級(jí)C語(yǔ)言考點(diǎn)習(xí)題09-25

最新計(jì)算機(jī)二級(jí)《C語(yǔ)言》重要考點(diǎn)08-23

計(jì)算機(jī)二級(jí)《C語(yǔ)言》重要考點(diǎn)復(fù)習(xí)05-07

計(jì)算機(jī)二級(jí)C語(yǔ)言字考點(diǎn)歸納05-30