Time of Update: 2017-02-27
二、被調用函數向調用函數傳回值一般使用return語句由被調用函數向調用函數傳回值,該語句有下列用途:1.它能立即從所在的函數中退出, 返回到調用它的程式中去。2.返回一個值給調用它的函數。有兩種方法可以終止子函數運行並返回到調用它的函數中: 一是執行到函數的最後一條語句後返回;一是執行到語句return時返回。前者當子函數執行完後僅返回給調用函數一個0。若要返回一個值,就必須用return語句。只需在return 語句中指定返回的值即可。例1返回最大值時變為:例3:
Time of Update: 2017-02-27
2.2 函數參數傳遞一、調用函數向被調用函數以形式參數傳遞 使用者編寫的函數一般在對其說明和定義時就規定了形式參數類型,因此調用這些函數時參量必須與子函數中形式參數的資料類型、順序和數量完全相同,否則在調用中將會出錯,得到意想不到的結果。注意: 當數組作為形式參數向被調用函數傳遞時,只傳遞數組的地址,而不是將整個數組元素都複製到函數中去,即用數組名作為實參調用子函數,調用時指向該數組第一個元素的指標就被傳遞給子函數。因為在Turbo
Time of Update: 2017-02-27
2 函數的調用2.1 函數的簡單調用 Turbo C2.0調用函數時直接使用函數名和實參的方法,也就是將要賦給被調用函數的參量,按該函數說明的參數形式傳遞過去,然後進入子函數運行,運行結束後再按子函數規定的資料類型返回一個值給調用函數。使用Turbo C2.0的庫函數就是函數簡單調用的方法。舉例說明如下:例1: #include<stdio.h> int maxmum(int x, int y, int z); /*說明一個使用者自訂函數*/ int main()
Time of Update: 2017-02-27
1.函數的說明與定義Turbo C2.0中所有函數與變數一樣在使用之前必須說明。所謂說明是指說明函數是什麼類型的函數,一般庫函數的說明都包含在相應的標頭檔<*.h>中,例如標準輸入輸出函數包含在stdio.h中,非標準輸入輸出函數包含在io.h中,以後在使用庫函數時必須Crowdsourced Security Testing道該函數包含在什麼樣的標頭檔中,在程式的開頭用#include <*.h>或#include"*.h"說明。只有這樣程式在編譯,
Time of Update: 2017-02-27
C程式是由一組或是變數或是函數的外部對象組成的。函數是一個自我包含的完成一定相關功能的執行程式碼片段。我們可以把函數看成一個"黑盒子",你只要將資料送進去就能得到結果,而函數內部究竟是如何工作的的,外部程式是不知道的。外部程式所知道的僅限於輸入給函數什麼以及函數輸出什麼。函數提供了編製程式的手段,使之容易讀、寫、理解、排除錯誤、修改和維護。
Time of Update: 2017-02-27
預先處理指令由ANSI的標準規定,預先處理指令主要包括:#define #error #if #else #elif #endif #ifdef #ifndef #undef #line #pragma 由上述指令可以看出,每個預先處理指令均帶有符號"#"。下面只介紹一些常用指令。1.#define指令#define指令是一個宏定義指令,定義的一般形式是:#define 宏替換名字串(或數值) 由#define指令定義後,在程式中每次遇到該宏替換名時就用所定義的字串(或數值)
Time of Update: 2017-02-27
類型說明類型說明的格式為:typedef 類型 定義名; 類型說明只定義了一個資料類型的新名字而不是定義一種新的資料類型。這裡類型是Turbo C許可的任何一種資料類型。定義名表示這個類型的新名字。 例如: 用下面語句定義整型數的新名字: typedef int SIGNED_INT; 使用說明後,SIGNED_INT就成為int的同義字了,此時可以用SIGNED_INT定義整型變數。例如:SIGNED_INT i, j;(與int i, j等效)。 但long SIGNED_INT i, j;
Time of Update: 2017-02-27
枚舉(enum)枚舉是一個被命名的整型常數的集合,枚舉在日常生活中很常見。例如表示星期的SUNDAY,MONDAY,TUESDAY,WEDNESDAY,THURSDAY,FRIDAY,SATURDAY,就是一個枚舉。枚舉的說明與結構和聯合相似, 其形式為: enum 枚舉名{ 標識符[=整型常數], 標識符[=整型常數], ... 標識符[=整型常數], } 枚舉變數; 如果枚舉沒有初始化,即省掉"=整型常數"時,則從第一個標識符開始,順次賦給標識符0,1,2,
Time of Update: 2017-02-27
2.結構和聯合的區別結構和聯合有下列區別:1.結構和聯合都是由多個不同的資料類型成員組成,但在任何同一時刻,聯合中只存放了一個被選中的成員,而結構的所有成員都存在。2.對於聯合的不同成員賦值,將會對其它成員重寫,原來成員的值就不存在了,而對於結構的不同成員賦值是互不影響的。下面舉一個例了來加對深聯合的理解。例4:main() { union{ /*定義一個聯合*/ int i; struct{ /*在聯合中定義一個結構*/ char first; char second; }
Time of Update: 2017-02-27
聯合(union)1.聯合說明和聯合變數定義聯合也是一種新的資料類型,它是一種特殊形式的變數。 聯合說明和聯合變數定義與結構十分相似。其形式為:union 聯合名{ 資料類型 成員名; 資料類型 成員名; ... } 聯合變數名; 聯合表示幾個變數公用一個記憶體位置,在不同的時間儲存不同的資料類型和不同長度的變數。下例表示說明一個聯合a_bc:union a_bc{ int i; char mm; };
Time of Update: 2017-02-27
二、位結構位結構是一種特殊的結構,在需按位訪問一個位元組或字的多個位時,位結構比按位元運算符更加方便。位結構定義的一般形式為:struct位結構名{ 資料類型 變數名: 整型常數; 資料類型 變數名: 整型常數; } 位結構變數; 其中:資料類型必須是int(unsigned或signed)。整型常數必須是非負的整數,範圍是0~15,表示二進位位的個數,即表示有多少位。 變數名是選擇項,可以不命名,這樣規定是為了排列需要。例如:下面定義了一個位結構。struct{ unsigned incon:
Time of Update: 2017-02-27
一、嵌套結構嵌套結構是指在一個結構成員中可以包括其它一個結構,Turbo C允許這種嵌套。例如:下面是一個有嵌套的結構struct string{ char name[8]; int age; struct addr address; } student; 其中:addr為另一個結構的結構名,必須要先進行說明,即struct addr{ char city[20]; unsigned lon zipcode; char tel[14]; }
Time of Update: 2017-02-27
二、結構指標結構指標是指向結構的指標。它由一個加在結構變數名前的"*" 操作符來定義,例如用前面已說明的結構定義一個結構指標如下: struct string{ char name[8]; char sex[2]; int age; char addr[40]; }*student; 也可省略結構指標名只作結構說明,然後再用下面的語句定義結構指標。 struct string *student;
Time of Update: 2017-02-27
3.結構數組和結構指標結構是一種新的資料類型,同樣可以有結構數組和結構指標。一、結構數組結構數組就是具有相同結構類型的變數集合。假如要定義一個班級40個同學的姓名、性別、年齡和住址,可以定義成一個結構數組。如下所示:struct{ char name[8]; char sex[2]; int age; char addr[40]; }student[40]; 也可定義為: struct string{ char name[8]; char sex[2]; int age; char addr[4
Time of Update: 2017-02-27
2.結構變數的使用結構是一個新的資料類型,因此結構變數也可以象其它類型的變數一樣賦值、運算,不同的是結構變數以成員作為基本變數。 結構成員的表示方式為: 結構變數.成員名
Time of Update: 2017-02-27
2、結構(struct)結構是由基礎資料型別 (Elementary Data Type)構成的、並用一個標識符來命名的各種變數的組合。結構中可以使用不同的資料類型。1.結構說明和結構變數定義在Turbo C中,結構也是一種資料類型,可以使用結構變數,因此,象其它類型的變數一樣,在使用結構變數時要先對其定義。定義結構變數的一般格式為: struct 結構名 { 類型 變數名; 類型 變數名; ... } 結構變數;
Time of Update: 2017-02-27
4.指標數組因為指標是變數,因此可設想用指向同一資料類型的指標來構成一個數組,這就是指標數組。數組中的每個元素都是指標變數,根據數組的定義,指標數組中每個元素都為指向同一資料類型的指標。指標數組的定義格式為:類型標識 *數組名[整型常量運算式];例如:int *a[10]; 定義了一個指標數組,數組中的每個元素都是指向整型量的指標,該數組由10個元素組成,即a[0],a[1],a[2],
Time of Update: 2017-02-27
3.字元指標我們已經知道,字串常量是由雙引號括起來的字元序列,例如: "a string" 就是一個字串常量,該字串中因為字元a後面還有一個空白字元,所以它由8個字元序列組成。在程式中如出現字串常量C編譯器就給字串常量按排一存貯地區,這個地區是靜態,在整個程式啟動並執行過程中始終佔用,平時所講的字串常量的長度是指該字串的字元個數,但在按排存貯地區時,C編譯器還自動給該字串序列的末尾加上一個Null
Time of Update: 2017-02-27
“類型”是一組操作,“抽象資料類型”則是一組具有某種實現的操作。當我們在某個問題的領域中識別對象時,首先考慮的問題是“可以用這個對象來做什麼”而不是“這個對象是如何?的”。因此,如果某個問題的自然描述涉及到僱員、合約和薪水記錄,那麼用來解決該問題的程式設計語言就應該包含Employee、Contract和PayrollRecord類型。這樣就允許在問題領域和解決方案領域之間進行雙向、高效地轉換,用這種
Time of Update: 2017-02-27
1. 問題描述疏鬆陣列是指那些多數元素為零的矩陣。利用“稀疏”特 點進行儲存和計算可以大大節省儲存空間,提高計算效率。實現一個能進行疏鬆陣列乘法運 算的運算器。以“帶行邏輯連結資訊”的三元組順序表表示疏鬆陣列,實現兩個 矩陣相乘的運算。疏鬆陣列採用十字鏈表表示,而運算結果的矩陣則以通常的陣列形式列出2 設計2.1 用十字鏈表格儲存體疏鬆陣列為了能有效儲存疏鬆陣列的元素 , 本文採用十字鏈表對資料進行儲存, 所設計的十字鏈表C++語言描述如