• <ins id="pjuwb"></ins>
    <blockquote id="pjuwb"><pre id="pjuwb"></pre></blockquote>
    <noscript id="pjuwb"></noscript>
          <sup id="pjuwb"><pre id="pjuwb"></pre></sup>
            <dd id="pjuwb"></dd>
            <abbr id="pjuwb"></abbr>

            冰狼

            在努力、磨練、打擊下不斷地向著理想的財務(wù)自由方向前進(jìn)

            C++復(fù)習(xí):C基礎(chǔ)(數(shù)組+函數(shù))

              數(shù)組在程序設(shè)計(jì)中,為了處理方便, 把具有相同類型的若干變量按有序的形式組織起來。這些按序排列的同類數(shù)據(jù)元素的集合稱為數(shù)組。

                在C語言中, 數(shù)組屬于構(gòu)造數(shù)據(jù)類型。一個數(shù)組可以分解為多個數(shù)組元素,這些數(shù)組元素可以是基本數(shù)據(jù)類型或是構(gòu)造類型。因此按數(shù)組元素的類型不同,數(shù)組又可分為數(shù)值數(shù)組、字符數(shù)組、指針數(shù)組、結(jié)構(gòu)數(shù)組等各種類別。

            數(shù)組說明的一般形式為:
                    類型說明符 數(shù)組名 [常量表達(dá)式],……;
            其中,類型說明符是任一種基本數(shù)據(jù)類型或構(gòu)造數(shù)據(jù)類型。 數(shù)組名是用戶定義的數(shù)組標(biāo)識符。 方括號中的常量表達(dá)式表示數(shù)據(jù)元素的個數(shù),也稱為數(shù)組的長度。

            對于數(shù)組類型說明應(yīng)注意:
            數(shù)組的類型實(shí)際上是指數(shù)組元素的取值類型。對于同一個數(shù)組,其所有元素的數(shù)據(jù)類型都是相同的。數(shù)組名的書寫規(guī)則應(yīng)符合標(biāo)識符的書寫規(guī)定。數(shù)組名不能與其它變量名相同。方括號中常量表達(dá)式表示數(shù)組元素的個數(shù)。不能在方括號中用變量來表示元素的個數(shù), 但是可以是符號常數(shù)或常量表達(dá)式。允許在同一個類型說明中,說明多個數(shù)組和多個變量。

            C語言對數(shù)組的初始賦值還有以下幾點(diǎn)規(guī)定:
            可以只給部分元素賦初值。當(dāng){ }中值的個數(shù)少于元素個數(shù)時,只給前面部分元素賦值。
            例如static int a[10]={0,1,2,3,4};表示只給a[0]~a[4]5個元素賦值,而后5個元素自動賦0值。
            只能給元素逐個賦值,不能給數(shù)組整體賦值。
            例如給十個元素全部賦1值,只能寫為: static int a[10]={1,1,1,1,1,1,1,1,1,1};而不能寫為:static int a[10]=1;
            如不給可初始化的數(shù)組賦初值,則全部元素均為0值。
            如給全部元素賦值,則在數(shù)組說明中, 可以不給出數(shù)組元素的個數(shù)。
            例如static int a[5]={1,2,3,4,5};可寫為: static int a[]={1,2,3,4,5};動態(tài)賦值可以在程序執(zhí)行過程中,對數(shù)組作動態(tài)賦值。 這時可用循環(huán)語句配合scanf函數(shù)逐個對數(shù)組元素賦值。

            字符數(shù)組:用來存放字符量的數(shù)組稱為字符數(shù)組。字符數(shù)組類型說明的形式與前面介紹的數(shù)值數(shù)組相同。
            C語言允許用字符串的方式對數(shù)組作初始化賦值。用字符串方式賦值比用字符逐個賦值要多占一個字節(jié), 用于存放字符串結(jié)束標(biāo)志'\0'。


            函數(shù)
            C源程序是由函數(shù)組成的。 雖然在前面各章的程序中都只有一個主函數(shù)main(), 但實(shí)用程序往往由多個函數(shù)組成。函數(shù)是C源程序的基本模塊, 通過對函數(shù)模塊的調(diào)用實(shí)現(xiàn)特定的功能。
            從函數(shù)定義的角度看,函數(shù)可分為庫函數(shù)和用戶定義函數(shù)兩種。
            庫函數(shù)由C系統(tǒng)提供,用戶無須定義, 也不必在程序中作類型說明,只需在程序前包含有該函數(shù)原型的頭文件即可在程序中直接調(diào)用。
            用戶定義函數(shù)由用戶按需要寫的函數(shù)。對于用戶自定義函數(shù), 不僅要在程序中定義函數(shù)本身, 而且在主調(diào)函數(shù)模塊中還必須對該被調(diào)函數(shù)進(jìn)行類型說明,然后才能使用。

            C語言的函數(shù)兼有其它語言中的函數(shù)和過程兩種功能,從這個角度看,又可把函數(shù)分為有返回值函數(shù)和無返回值函數(shù)兩種。有返回值函數(shù),此類函數(shù)被調(diào)用執(zhí)行完后將向調(diào)用者返回一個執(zhí)行結(jié)果, 稱為函數(shù)返回值。如數(shù)學(xué)函數(shù)即屬于此類函數(shù)。 由用戶定義的這種要返回函數(shù)值的函數(shù),必須在函數(shù)定義和函數(shù)說明中明確返回值的類型。無返回值函數(shù),此類函數(shù)用于完成某項(xiàng)特定的處理任務(wù), 執(zhí)行完成后不向調(diào)用者返回函數(shù)值。這類函數(shù)類似于其它語言的過程。 由于函數(shù)無須返回值,用戶在定義此類函數(shù)時可指定它的返回為“空類型”, 空類型的說明符為“void”。

            從主調(diào)函數(shù)和被調(diào)函數(shù)之間數(shù)據(jù)傳送的角度看又可分為無參函數(shù)和有參函數(shù)兩種。
            無參函數(shù),函數(shù)定義、函數(shù)說明及函數(shù)調(diào)用中均不帶參數(shù)。 主調(diào)函數(shù)和被調(diào)函數(shù)之間不進(jìn)行參數(shù)傳送。 此類函數(shù)通常用來完成一組指定的功能,可以返回或不返回函數(shù)值。有參函數(shù),也稱為帶參函數(shù)。在函數(shù)定義及函數(shù)說明時都有參數(shù), 稱為形式參數(shù)(簡稱為形參)。在函數(shù)調(diào)用時也必須給出參數(shù), 稱為實(shí)際參數(shù)(簡稱為實(shí)參)。 進(jìn)行函數(shù)調(diào)用時,主調(diào)函數(shù)將把實(shí)參的值傳送給形參,供被調(diào)函數(shù)使用。


            C語言提供了極為豐富的庫函數(shù), 這些庫函數(shù)又可從功能角度作以下分類。
            (1)字符類型分類函數(shù)
              用于對字符按ASCII碼分類:字母,數(shù)字,控制字符,分隔符,大小寫字母等。
            (2)轉(zhuǎn)換函數(shù)
              用于字符或字符串的轉(zhuǎn)換;在字符量和各類數(shù)字量 (整型, 實(shí)型等)之間進(jìn)行轉(zhuǎn)換;在大、小寫之間進(jìn)行轉(zhuǎn)換。
            (3)目錄路徑函數(shù)
              用于文件目錄和路徑操作。
            (4)診斷函數(shù)
              用于內(nèi)部錯誤檢測。
            (5)圖形函數(shù)
              用于屏幕管理和各種圖形功能。
            (6)輸入輸出函數(shù)
              用于完成輸入輸出功能。
            (7)接口函數(shù)
              用于與DOS,BIOS和硬件的接口。
            (8)字符串函數(shù)
              用于字符串操作和處理。
            (9)內(nèi)存管理函數(shù)
              用于內(nèi)存管理。
            (10)數(shù)學(xué)函數(shù)
              用于數(shù)學(xué)函數(shù)計(jì)算。
            (11)日期和時間函數(shù)
              用于日期,時間轉(zhuǎn)換操作。
            (12)進(jìn)程控制函數(shù)
              用于進(jìn)程管理和控制。
            (13)其它函數(shù)
              用于其它各種功能。

            C語言中,所有的函數(shù)定義,包括主函數(shù)main在內(nèi),都是平行的。也就是說,在一個函數(shù)的函數(shù)體內(nèi), 不能再定義另一個函數(shù), 即不能嵌套定義。但是函數(shù)之間允許相互調(diào)用,也允許嵌套調(diào)用。習(xí)慣上把調(diào)用者稱為主調(diào)函數(shù)。 函數(shù)還可以自己調(diào)用自己,稱為遞歸調(diào)用。main 函數(shù)是主函數(shù),它可以調(diào)用其它函數(shù),而不允許被其它函數(shù)調(diào)用。 因此,C程序的執(zhí)行總是從main函數(shù)開始, 完成對其它函數(shù)的調(diào)用后再返回到main函數(shù),最后由main函數(shù)結(jié)束整個程序。一個C源程序必須有,也只能有一個主函數(shù)main。

            函數(shù)的參數(shù)分為形參和實(shí)參兩種。形參出現(xiàn)在函數(shù)定義中,在整個函數(shù)體內(nèi)都可以使用, 離開該函數(shù)則不能使用。實(shí)參出現(xiàn)在主調(diào)函數(shù)中,進(jìn)入被調(diào)函數(shù)后,實(shí)參變量也不能使用。 形參和實(shí)參的功能是作數(shù)據(jù)傳送。發(fā)生函數(shù)調(diào)用時, 主調(diào)函數(shù)把實(shí)參的值傳送給被調(diào)函數(shù)的形參從而實(shí)現(xiàn)主調(diào)函數(shù)向被調(diào)函數(shù)的數(shù)據(jù)傳送。

            函數(shù)的形參和實(shí)參具有以下特點(diǎn):
            1.形參變量只有在被調(diào)用時才分配內(nèi)存單元,在調(diào)用結(jié)束時, 即刻釋放所分配的內(nèi)存單元。因此,形參只有在函數(shù)內(nèi)部有效。 函數(shù)調(diào)用結(jié)束返回主調(diào)函數(shù)后則不能再使用該形參變量。
            2.實(shí)參可以是常量、變量、表達(dá)式、函數(shù)等, 無論實(shí)參是何種類型的量,在進(jìn)行函數(shù)調(diào)用時,它們都必須具有確定的值, 以便把這些值傳送給形參。 因此應(yīng)預(yù)先用賦值,輸入等辦法使實(shí)參獲得確定值。
            3.實(shí)參和形參在數(shù)量上,類型上,順序上應(yīng)嚴(yán)格一致, 否則會發(fā)生“類型不匹配”的錯誤。
            4.函數(shù)調(diào)用中發(fā)生的數(shù)據(jù)傳送是單向的。 即只能把實(shí)參的值傳送給形參,而不能把形參的值反向地傳送給實(shí)參。 因此在函數(shù)調(diào)用過程中,形參的值發(fā)生改變,而實(shí)參中的值不會變化。實(shí)參的值不隨形參的變化而變化。

            用數(shù)組名作函數(shù)參數(shù)與用數(shù)組元素作實(shí)參有幾點(diǎn)不同:
            1. 用數(shù)組元素作實(shí)參時,只要數(shù)組類型和函數(shù)的形參變量的類型一致,那么作為下標(biāo)變量的數(shù)組元素的類型也和函數(shù)形參變量的類型是一致的。因此, 并不要求函數(shù)的形參也是下標(biāo)變量。 換句話說,對數(shù)組元素的處理是按普通變量對待的。用數(shù)組名作函數(shù)參數(shù)時, 則要求形參和相對應(yīng)的實(shí)參都必須是類型相同的數(shù)組,都必須有明確的數(shù)組說明。當(dāng)形參和實(shí)參二者不一致時,即會發(fā)生錯誤。

            2. 在普通變量或下標(biāo)變量作函數(shù)參數(shù)時,形參變量和實(shí)參變量是由編譯系統(tǒng)分配的兩個不同的內(nèi)存單元。在函數(shù)調(diào)用時發(fā)生的值傳送是把實(shí)參變量的值賦予形參變量。在用數(shù)組名作函數(shù)參數(shù)時,不是進(jìn)行值的傳送,即不是把實(shí)參數(shù)組的每一個元素的值都賦予形參數(shù)組的各個元素。因?yàn)閷?shí)際上形參數(shù)組并不存在,編譯系統(tǒng)不為形參數(shù)組分配內(nèi)存。那么,數(shù)據(jù)的傳送是如何實(shí)現(xiàn)的呢? 在第四章中我們曾介紹過,數(shù)組名就是數(shù)組的首地址。因此在數(shù)組名作函數(shù)參數(shù)時所進(jìn)行的傳送只是地址的傳送, 也就是說把實(shí)參數(shù)組的首地址賦予形參數(shù)組名。形參數(shù)組名取得該首地址之后,也就等于有了實(shí)在的數(shù)組。實(shí)際上是形參數(shù)組和實(shí)參數(shù)組為同一數(shù)組,共同擁有一段內(nèi)存空間。

            C語言中不允許作嵌套的函數(shù)定義。因此各函數(shù)之間是平行的,不存在上一級函數(shù)和下一級函數(shù)的問題。 但是C語言允許在一個函數(shù)的定義中出現(xiàn)對另一個函數(shù)的調(diào)用。 這樣就出現(xiàn)了函數(shù)的嵌套調(diào)用。即在被調(diào)函數(shù)中又調(diào)用其它函數(shù)。 這與其它語言的子程序嵌套的情形是類似的。

            一個函數(shù)在它的函數(shù)體內(nèi)調(diào)用它自身稱為遞歸調(diào)用。 這種函數(shù)稱為遞歸函數(shù)。C語言允許函數(shù)的遞歸調(diào)用。在遞歸調(diào)用中, 主調(diào)函數(shù)又是被調(diào)函數(shù)。執(zhí)行遞歸函數(shù)將反復(fù)調(diào)用其自身。 每調(diào)用一次就進(jìn)入新的一層。

            posted on 2007-06-18 10:14 在法律保護(hù)下合法地?fù)屻y行 閱讀(962) 評論(0)  編輯 收藏 引用 所屬分類: C++

            公告

            轉(zhuǎn)載、引用、收藏,請標(biāo)明來自:

            http://www.shnenglu.com/paladino

            導(dǎo)航

            <2025年7月>
            293012345
            6789101112
            13141516171819
            20212223242526
            272829303112
            3456789

            統(tǒng)計(jì)

            留言簿(2)

            隨筆分類(10)

            文章分類(5)

            搜索

            積分與排名

            最新評論

            閱讀排行榜

            評論排行榜

            久久国产精品免费一区二区三区| 少妇被又大又粗又爽毛片久久黑人| 色妞色综合久久夜夜| 99久久综合狠狠综合久久止| 青青青青久久精品国产h| 亚洲国产成人精品91久久久| 久久综合狠狠综合久久| 九九热久久免费视频| 久久这里只有精品18| 久久996热精品xxxx| 久久人人爽人人爽人人片AV不 | avtt天堂网久久精品| 久久精品成人一区二区三区| 久久99精品久久久久久hb无码| 久久99精品久久久久久9蜜桃| 无码超乳爆乳中文字幕久久| 久久综合中文字幕| 久久久久久久亚洲Av无码| 亚洲精品成人久久久| 国产精品久久久99| 久久精品国产99久久无毒不卡| 三级三级久久三级久久| 日本精品久久久久中文字幕8| 久久天天躁狠狠躁夜夜96流白浆 | 国产精品久久久久久久久软件 | 久久黄视频| 日本精品久久久久中文字幕| 久久婷婷激情综合色综合俺也去 | 亚洲国产另类久久久精品| 久久天天婷婷五月俺也去| 久久综合精品国产一区二区三区| 亚洲一区中文字幕久久| 久久精品国产免费| 国产精品成人无码久久久久久 | 久久亚洲欧美国产精品| 久久一日本道色综合久久| 久久亚洲精品国产精品| 成人国内精品久久久久影院| 久久国产精品99久久久久久老狼| 狠狠色丁香久久综合五月| 久久99国产精品一区二区|