C語言教學(xué)課件_第1頁
C語言教學(xué)課件_第2頁
C語言教學(xué)課件_第3頁
C語言教學(xué)課件_第4頁
C語言教學(xué)課件_第5頁
已閱讀5頁,還剩265頁未讀, 繼續(xù)免費閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)

文檔簡介

1、C語言教學(xué) C語言教學(xué)課件 C語言教學(xué) C語言教學(xué) C C 語言程序設(shè)計語言程序設(shè)計 計算機系統(tǒng) 計算機發(fā)展史及發(fā)展方向 計算機硬件 計算機軟件 C語言概述 C語言發(fā)展史 C語言的特點 C語言的編程環(huán)境及上機步驟 C語言教學(xué) C C 語言程序設(shè)計語言程序設(shè)計 數(shù)據(jù)類型 基本數(shù)據(jù)類型 構(gòu)造數(shù)據(jù)類型 結(jié)構(gòu)程序設(shè)計 順序結(jié)構(gòu)程序設(shè)計 選擇結(jié)構(gòu)程序設(shè)計 循環(huán)結(jié)構(gòu)程序設(shè)計 函數(shù)函數(shù) 文件文件 圖形圖形 C語言教學(xué) 計算機發(fā)展史及發(fā)展方向 1946年在年在American 賓夕法尼亞大學(xué)誕生了世界上第一臺計算機賓夕法尼亞大學(xué)誕生了世界上第一臺計算機 - ENIAC,從此以后計算機經(jīng)歷了以下四個過程從此以后

2、計算機經(jīng)歷了以下四個過程: 19461957 : 電子管計算機電子管計算機 19581964 : 晶體管計算機晶體管計算機 19651970 : 中中/小規(guī)模集成電路計算機小規(guī)模集成電路計算機 19711980 : 大規(guī)模及超大規(guī)模集成電路計算機大規(guī)模及超大規(guī)模集成電路計算機 在計算機發(fā)展史上幾家大公司做出了巨大的貢獻在計算機發(fā)展史上幾家大公司做出了巨大的貢獻 IBM - 1981年生產(chǎn)出第一臺年生產(chǎn)出第一臺PC (Personal Computer) Inter Co. - 1976年推出了第一個年推出了第一個CPU 8080 , 成為成為8位位CPU 產(chǎn)業(yè)標準產(chǎn)業(yè)標準 Microsoft

3、- 1982年首次推出風靡世界的年首次推出風靡世界的 MS-DOS 操作系統(tǒng)操作系統(tǒng) APPLE Compaq DELL C語言教學(xué) 計算機發(fā)展史及發(fā)展方向 C語言教學(xué) 計算機發(fā)展史及發(fā)展方向 IBM在1981年生產(chǎn)的第一臺計算機IBMPC_XT C語言教學(xué) 計算機發(fā)展史及發(fā)展方向 當今的個人計算機 C語言教學(xué) 計算機發(fā)展史及發(fā)展方向 Inter公司的三巨頭:巴瑞特、摩爾、葛洛夫 C語言教學(xué) 計算機發(fā)展史及發(fā)展方向 C語言教學(xué) 計算機發(fā)展史及發(fā)展方向 美國 Microsoft 公司的 前總裁Bill.Gates 與APPLE公司的 創(chuàng)始人喬布斯 C語言教學(xué) 計算機發(fā)展史及發(fā)展方向 C語言教學(xué)

4、計算機發(fā)展史及發(fā)展方向 計算機發(fā)展方向 巨型化:用于軍事科學(xué)計算 微型化: HPC 多媒體:聲,圖,文,動畫,音頻,視頻 智能化:模擬人的功能,識別聲音,文字,圖像,各種語言互譯,使計 算機具有推力聯(lián)想等功能. 網(wǎng)絡(luò)化:使世界成為一體,無種族,無貨幣,無國界. C語言教學(xué) 計算機發(fā)展史及發(fā)展方向 C語言教學(xué) 計算機發(fā)展史及發(fā)展方向 CPU C語言教學(xué) 計算機系統(tǒng)計算機系統(tǒng) 何謂計算機何謂計算機?(Computer): 計算機是指由電子器件組合構(gòu)造 而成的,以數(shù)字方式對數(shù)據(jù)進行計算處理的機器.是一種能夠按照人們預(yù) 先設(shè)計的程序自動進行高速計算和信息處理的工具.是人腦的一種延伸. 計算機系統(tǒng)由兩部

5、分組成 : 硬件硬件 , 軟件軟件 C語言教學(xué) 個人計算機(個人計算機(pc)組成組成 ASCII Printer Keyboard Mouse 主機 顯示器 鍵盤 鼠標 打印機 標準輸入設(shè)備 標準輸出設(shè)備 stdin stdout C語言教學(xué) 計算機主機組成計算機主機組成 Data Floppy drive Optical drive Terminal server Hub 軟盤驅(qū)動器 光盤驅(qū)動器 硬盤 內(nèi)存 地址總線 數(shù)據(jù)總線 計算機分內(nèi)存、外存 兩部分,內(nèi)存為內(nèi)部 存儲單元(圖中的內(nèi)存) 外存包括:硬盤、 軟盤、光盤等 C語言教學(xué) 一個城市的結(jié)構(gòu) 城市中心街道 樓 宇 2 樓宇 1 小區(qū)

6、A 小區(qū) B 城市公路 信息載體 C語言教學(xué) 計算機系統(tǒng)結(jié)構(gòu) 個人計算機系統(tǒng)結(jié)構(gòu)大致分為以下三種: ENIAC結(jié)構(gòu) VONNEUMAMM(馮。諾伊曼)結(jié)構(gòu) HARVARD結(jié)構(gòu) 這里主要介紹一下 馮諾伊曼結(jié)構(gòu): 必須有一個存儲器。程序和數(shù)據(jù)都以二進制代碼形式存 于存儲器中。從形式上看,指令與數(shù)據(jù)沒有區(qū)別。 必須有一個控制器。在它的控制下,指令依次從存儲器 中取出,然后對指令進行解釋和執(zhí)行。每條指令均由操 作數(shù)、操作數(shù)地址和運算結(jié)果地址組成。 必須有一個運算器。用于完成算術(shù)、邏輯運算。 必須有輸入、輸出設(shè)備。用來完成人-機通信。 C語言教學(xué) 計算機系統(tǒng)結(jié)構(gòu) 取址 解釋 執(zhí)行 一個指令執(zhí)行周期 取址

7、 解釋 執(zhí)行 一個指令執(zhí)行周期 取址 解釋 執(zhí)行 一個指令執(zhí)行周期 到目前為止,大多數(shù)計算機都依此結(jié)構(gòu)來設(shè)計制造。 Von.Neumamm結(jié)構(gòu)確定了計算機的五個組成部分。并提出了“存儲程序” 這一概念,形成了傳統(tǒng)的計算機系統(tǒng)結(jié)構(gòu) C語言教學(xué) 馮諾伊曼結(jié)構(gòu)模型 控制器 運算器 存儲器 輸入設(shè)備輸出設(shè)備 CPU C語言教學(xué) 內(nèi)存巡址原理 2000 2001 2002 200 3 2004 地址內(nèi)容 房間號房間號學(xué)生學(xué)生 CPU a 取地址為2000單元的內(nèi)容 a C語言教學(xué) 關(guān)于存儲的幾個概念關(guān)于存儲的幾個概念 位位( bit )( bit ) : 計算機內(nèi)部所有計算完全由二進制表示.二進制與十進

8、 制相對應(yīng) : 十進制(): (567)10 = 5 x 102 + 6 x 101 + 7 x 100 十進制由 0,1,2,3,4,5,6,7,8,9 十個數(shù)字組成. 二進制(): (101)2 = 1 x 22 + 0 x21 + 1 x 20 二進制由 0 , 1 兩個數(shù)字組成. 十進制中,7 - 個位, 6 - 十位, 5 - 百位 二進制中, 1,0,1-各代表一位,由右往左數(shù),分別為 0位, 1位, 2位 表示為 b0, b1, b2 八進制(): (567)8 = 5x82 + 6x81 + 6x80 其元素為:0,1,2,3,4,5,6,7 由三位二進制位組成的數(shù)字. 十六進

9、制(): (567)16 = 5x162 + 6x161 + 7x160 其元素為:0,1,2,3,4,5,6,7,8,9,A,B,C,D,E,F C語言教學(xué) 關(guān)于存儲的幾個概念關(guān)于存儲的幾個概念 字節(jié)字節(jié) (byte) : 計算機一般采用8位二進制位組成一個字節(jié) . (1011,0101)2 = 1x27 + 0 x26 + 1x25 + 1x24 + 0 x23 + 1x22 + 0 x21 + 1x20 = 128 + 0 + 32 + 16 + 0 + 4 + 0 + 1 = (181)10 每個存儲單元存放一個字節(jié)每個存儲單元存放一個字節(jié) 字字(word):兩個字節(jié)組成一個字兩個字節(jié)

10、組成一個字 C語言教學(xué) 關(guān)于存儲的幾個概念關(guān)于存儲的幾個概念 每個字節(jié)包含8bits二進制位,即從0 x000 xff。對應(yīng)于十進制的0255。 一個字(word)由兩個字節(jié)組成,即 : 0 x00000 xffff。對應(yīng)于十進制 的065,536,-64K。 有符號數(shù)在計算機中以補碼形式存儲。每個字節(jié)的最高位為符號位,例如: 7 6 5 4 3 2 1 0 (1 0 1 1,0 1 1 1)2 反碼:0 的反碼為 1;1 的反碼為 0。例如:(1101,1010)2的反 碼為(0010,0101)2 補碼:正數(shù)的補碼是它本身;負數(shù)的補碼為該數(shù)的反碼加一。例如: (1101,1010)2 首先

11、它是負數(shù),因為 bit7=1 。它的真值為 (0010,0101)2+1 =(0010,0110)2 = (38)10,所以該數(shù) 代表的數(shù)據(jù)為(-38)10 符號位:=1代表負數(shù);=0代表正數(shù) C語言教學(xué) 關(guān)于存儲的幾個概念關(guān)于存儲的幾個概念 一個有符號數(shù)的字節(jié)代表的數(shù)字范圍為: 0 x000 x7f 為正數(shù)。對應(yīng)的十進制數(shù)為 0127; 0 xff 0 x80 為負數(shù)。對應(yīng)與十進制的 -1 -128。 0 x00 , 0 x01, ,0 x7f,0 x80,0 x81,0 xff 有 符號十六進制數(shù) 0 , 1 , ,127,-128, -127, -1 對應(yīng)的十進制數(shù) C語言教學(xué) 計算機軟

12、件計算機軟件 硬件 操 作 系 統(tǒng) 應(yīng) 用 軟 件 硬件與軟件的關(guān)系 頭顱 人的頭顱與思想的關(guān)系 文化、思想 C語言教學(xué) 軟件分類 軟件由兩種組成:操作系統(tǒng)軟件系統(tǒng)軟件 , 應(yīng)用軟件應(yīng)用軟件 操作系統(tǒng)軟件(operation system): 實時操作系統(tǒng) 分時操作系統(tǒng) 多道批處理操作系統(tǒng) 網(wǎng)絡(luò)操作系統(tǒng) 目前流行的操作系統(tǒng) DOS Windows98 , Windows95 , Windows NT ,Windows 2000 UNIX Linux OS/2 C語言教學(xué) 計算機解題過程計算機解題過程 物 理 對 象 數(shù) 學(xué) 模 型 近 似 模 型 編制程序 計算機計算 輸出結(jié)果 系統(tǒng)分析員完成

13、的 工作 程序員完成 的工作 計算機完成的 工作 C語言教學(xué) 計算機語言的分類 機器語言:二進制控制指令 低級語言:匯編語言(Assemble Language) 與機器語言一一 對應(yīng) 中級語言:C語言 宏匯編語言 FORTH語言 高級語言:Ada 、PASCAL、BASIC、FORTRAN-DOS下開發(fā)下開發(fā) Visual Fox 、Visual BASIC、Visual C、DELPHI- - windows下開發(fā)。下開發(fā)。 JAVA、PHP、HTML、JAVA Scrip、Perl -網(wǎng)絡(luò)開發(fā)網(wǎng)絡(luò)開發(fā) C語言教學(xué) 源程序的產(chǎn)生和執(zhí)行 計算機只能識別機器語言(及二進制代碼),例如: 但用二

14、進制代碼編程難以記憶、檢錯。故只能用高級語言編程。 所以計算機須完成一個翻譯過程:將高級語言翻譯成機器語言。 高級語言源程序翻譯機器代碼 翻譯有三種方法: 匯編程序:匯編語言源程序代碼與機器指令一一對應(yīng)。 編譯程序:按某種約定將源代碼翻譯為目標代碼,通過連接 程序?qū)⒛繕顺绦蚺c所調(diào)用的標準函數(shù)庫連接為一體,- 執(zhí)行程序。 解釋程序:與編譯程序思想相似,但是一條一條翻譯,譯出 一句執(zhí)行一句。BASIC C語言教學(xué) C語言產(chǎn)生及特點 語言(Language):Word and the methods of combining them for communication 語言由基本單元 + 語法組成

15、。 C語言的基本單元為:基本數(shù)據(jù)類型、復(fù)雜數(shù)據(jù)類型 C語言的語法為:順序結(jié)構(gòu)、選擇結(jié)構(gòu)、循環(huán)結(jié)構(gòu) C語言的產(chǎn)生: Bell實驗室于70年代初期在B語言基礎(chǔ)上設(shè)計出來的。然而直到 70年代后期,隨著UNIX的普及才促進了C語言的普及。 C語言的特點: 語言簡潔,使用方便靈活。C語言關(guān)鍵字少,ANSI C 標準總共只有32 個關(guān)鍵字,9 種控制語句,壓縮了一切不必要的成分。C 語言的書寫形 式比較自由,表示方法簡潔。 C語言教學(xué) C語言產(chǎn)生及特點 可移植性好。相對于硬件依賴性很強的匯編語言而言,C語言通過編譯 來得到可執(zhí)行代碼,統(tǒng)計資料表明:C語言編譯程序80%的代碼是公 共的,故可以稍加修改即可

16、用于其它的計算機。 表達能力強。 表達方式靈活。 可進行結(jié)構(gòu)化程序設(shè)計。 可直接操作計算機硬件。 生成的目標代碼質(zhì)量高。僅比匯編語言生成的代碼效率低10%20%, 是其它高級語言無法匹敵的。 目前流行的C語言編譯器: MSC、Quick C- Microsoft Co. Borland C、Turbo C-Borland Co. Watcom C C語言教學(xué) C語言舉例 一個簡單的C語言的例子: main() printf(”Hello,World!”); main 為特殊函數(shù): 是C程序的入口函數(shù)。 每個C程序必須有main()函數(shù)。 每個C程序只能有一個main()函數(shù) 函數(shù)名 函數(shù)入口參

17、數(shù),()不能省略 函數(shù)體 必須成對出現(xiàn) 庫函數(shù)名 函數(shù)入口參數(shù) C語言教學(xué) 數(shù)據(jù)類型 C語言教學(xué) 數(shù)據(jù)類型 基本類型 構(gòu)造類型 指針類型 空類型 整形 字符型 實型(浮點型) 枚舉類型 單精度 雙精度 數(shù)組類型 結(jié)構(gòu)類型 共用體類型 C語言數(shù)據(jù)類型分為如下幾類: C語言教學(xué) 數(shù)據(jù)類型 C的數(shù)據(jù)類型與我們習(xí)慣的數(shù)據(jù)類型的比較: 自然數(shù) 小數(shù) 文字 0,1,6 1.23, 234.08, 3.23x103 ABCD.Z、abcd.z 漢字、各種符號 整型類型 符點類型 字符類型 C語言教學(xué) 數(shù)據(jù)類型 常量 : 在程序運行過程中,不能改變的量。 整形常量:0,1,2 實型常量:3.2,1.98 字符

18、常量:a,b,z 字符串常量:“abcd” C語言支持符號常量: #define M 12 變量:在程序運行過程中,能改變的量。 變量包括三個方面: 變量的定義。 定義語法為:變量類型關(guān)鍵字 變量名表; 如定義一個整型變量:int m; 變量的引用。以變量名來引用。 變量的初始化。int m = 10; C語言教學(xué) 數(shù)據(jù)類型 整形變量的分類: 基本整形:int 短整形:short int / short 長整形:long int /long 有符號類型:signed 無符號類型:unsigned C語言整形變量的列表如下: int m = 10;變量m被分配在內(nèi)存中,內(nèi)存中占 2個字 節(jié), 有

19、一個與之相對應(yīng)的地址。 實型變量:float tm;double mm; 內(nèi)存中占4/8個 字節(jié) 字符變量:char ch; 內(nèi)存中占1個字節(jié) 字符串變量:char mb; 內(nèi)存中占n個字節(jié) 低位字節(jié) 高位字節(jié) 2000 2001 0 x00 0 x0a C語言教學(xué) 數(shù)據(jù)類型 類型比特數(shù)取值范圍 int16-32768 32767 unsigned int160 65536 short 16-32768 32767 unsigned short 160 65536 long 32 -2147483648 2147483647 unsigned long320 4294967295 注:無uns

20、igned則默認為signed;long / short 后不跟任何類 型定義,則默認為int。 C語言教學(xué) 數(shù)據(jù)類型 實型變量分類表: 類型比特數(shù)取值范圍有效數(shù)字 float3210-37103867 double6410-307103081516 long double12810-49311049321819 C語言教學(xué) 數(shù)據(jù)類型 字符型數(shù)據(jù): 普通字符常量是用單引號括起來的一個字符。a,A, 特殊字符常量: n-換行 t-水平制表 b-退格 r-回車 f-換頁 -反斜杠字符 -帶單引號字符 ”-雙引號字符 C語言教學(xué) 數(shù)據(jù)類型 字符數(shù)據(jù)在內(nèi)存中的存儲形式: 將一個字符常量放到一個字符變量

21、中,實際上是將該 字符的ASCII代碼放到存儲單元中。 每一個字符都對應(yīng)一個ASCII。ASCII規(guī)定了128個字 符。例如: 字符09 - 0 x30, . , 0 x39 字符az - 0 x61, . ,0 x7A 字符AZ - 0 x41, . ,0 x5A C語言教學(xué) 數(shù)據(jù)類型 變量賦初值有兩種辦法: 在定義變量的同時賦初值。 如:int a=3; float f=4.367; char ch=a; 在程序運行中賦值。 如:int a; a=3; C語言教學(xué) 類型轉(zhuǎn)換 類型轉(zhuǎn)換: 自動類型轉(zhuǎn)換:C編譯器將所有操作數(shù)向具有最大尺寸的操作數(shù)類型上 自動轉(zhuǎn)換。轉(zhuǎn)換方向如下圖所示: doub

22、lefloat long unsignedintchar,short 精度低 精度高 所占內(nèi)存單元數(shù) C語言教學(xué) 類型轉(zhuǎn)換 強制類型轉(zhuǎn)換: (type)表達式 例如:int a; float f=3.12; a = (int) f; a = (int)( 3.1415926 * 3.0 ); 注:因有類型轉(zhuǎn)換的存在,故而1/2 = 0;1/2.0 = 0.5; 在編程中一定要注意其中的差別。 C語言教學(xué) 運算符列表 算術(shù)運算符:+,-,*,/,% 關(guān)系運算符:, =, =, != 邏輯運算符:!, ( x = 2 ) 因為 + 運算符在變量 x 的后面,為后增運算,所以 先訪問 x 再 + 1

23、,該算式可以分解為如下幾步: x = x + x; x = 2 + 2 = 4; x+; x = x + 1 = 4 + 1 = 5; x+; x = x + 1 = 5 + 1 = 6; 運算結(jié)果為 x = 6; C語言教學(xué) 自增(減)運算 若上例改為如下: y = (x+) +( x+); 可以分解為:; ; ; 例:()(); 可以分解為:; ; ; C語言教學(xué) 運算符的優(yōu)先順序 1(), ,-,. 2 !, ,+,-, - ,*, initgraphics( C語言教學(xué) 圖形函數(shù) 運用圖形庫函數(shù): 畫線函數(shù):line(x,y,xi,yi); 畫圓函數(shù):circle(x,y,radiu)

24、; 畫矩形函數(shù):rectangle(x,y,xi,yi); 設(shè)顏色:setcolor(顏色值); 設(shè)填充模式:setfillstyle(); C語言教學(xué) 選擇結(jié)構(gòu)程序設(shè)計 C語言提供了三種形式的條件語句: 單路選擇:if(表達式) 語句 A; 雙路選擇:if(expression)語句 A; else 語句 B; 多路選擇:switch(expression) case 常量1:語句 A; case 常量2:語句 B; default:語句 C; C語言教學(xué) 選擇結(jié)構(gòu)的流程圖表示法 用流程圖表示三種選擇結(jié)構(gòu): 表達式 真 假 語句 A 單路選擇 表達式 語句 A語句 B 真假 雙路選擇 C語言

25、教學(xué) 選擇結(jié)構(gòu)的流程圖表示法 表達式 . .=c1=c2=c3=c4=cn 語句 A語句 B語句 C語句 D語句 N 多路選擇 C語言教學(xué) 循環(huán)結(jié)構(gòu)程序設(shè)計 C語言有四種循環(huán)方法: if ( ) goto while(表達式) 語句; (或 復(fù)合語句 ) do 語句 ; ( 或 復(fù)合語句 ) while(表達式表達式); for(表達式1; 表達式2; 表達式3) 語句; 或 復(fù)合語句 C語言教學(xué) 循環(huán)結(jié)構(gòu)程序設(shè)計 for 循環(huán)有以下的變體: for( ; ; ) 表達式1,表達式2,表達式3皆可省略,但 ( ) 與 ; 不能省略. for(i=1,j=10; i循環(huán)的初始條件. 循環(huán)的終止條

26、件. 循環(huán)次數(shù). C語言教學(xué) 循環(huán)結(jié)構(gòu)程序設(shè)計 ifgoto 此循環(huán)結(jié)構(gòu)不宜于結(jié)構(gòu)程序設(shè)計,在C程序設(shè)計中必須避免使 用. do -循環(huán)的起始點. 計數(shù)器-記錄循環(huán)次數(shù) while(表達式)-判斷循環(huán)的終止條件,表達式=TRUE, 則繼續(xù)循環(huán);否則,退出循環(huán). while(表達式)-即為起始點,又為判斷循環(huán)的終止條件.當表達 式=TRUE,則繼續(xù)循環(huán);否則,退出循環(huán). C語言教學(xué) 循環(huán)結(jié)構(gòu)程序設(shè)計 For(表達式1; 表達式2 ;表達式3) 循環(huán)起始條件循環(huán)結(jié)束條件循環(huán)增量 C語言教學(xué) 循環(huán)嵌套結(jié)構(gòu) 循環(huán)嵌套:大循環(huán)中包含小循環(huán) for(i=0;i10;i+) for(j=0;j10;j+)

27、循環(huán)體 大循環(huán) 小循環(huán) C語言教學(xué) 循環(huán)嵌套結(jié)構(gòu) 循環(huán)嵌套的執(zhí)行過程: 先執(zhí)行內(nèi)層循環(huán),再執(zhí)行外層循環(huán).如上例所示, 當 i=0 時: 內(nèi)層循環(huán)執(zhí)行 10 次; 當 i=1 時: 內(nèi)層循環(huán)執(zhí)行 10 次; . 當 i=10 時: 內(nèi)層循環(huán)執(zhí)行 10 次; 因此,內(nèi)層循環(huán)共被執(zhí)行 10 x 10 = 100 次 C語言教學(xué) 循環(huán)嵌套結(jié)構(gòu) 循環(huán)嵌套的形式: 外層循環(huán) 內(nèi)層循環(huán) 內(nèi)層循環(huán) 內(nèi)層循環(huán) C語言教學(xué) EXAMPLE 某人在存款賬號上存入人民幣1000.00元,年利率為5%。假定所有的利 息都存入該賬戶上,計算并打印出10年后其賬戶上的存款數(shù)。存款數(shù)用 如下公式計算: a=p*(1+r)n

28、p-初始投資值(本金) r-年利率 n-年數(shù) a-n年后的存款數(shù) C語言教學(xué) EXAMPLE #include main() float p,r,n,a; printf(“請輸入本金:”); scanf(“%f”, printf(“請輸入年利率:”); scanf(“%f”, printf(“請輸入計算年份:”); scanf(“%f”, a = p*pow(1+r, n); printf(“年的本金利息總和為:”, n, a); C語言教學(xué) 上機作業(yè) 公司每星期都要給雇員(包括經(jīng)理、小時工、 銷售員、計件工)發(fā)薪水。其中,小時工在 頭40個小時按規(guī)定工時的工資10元/小時付 薪水,超過的工時

29、按規(guī)定工時工資的1.5倍付 薪;銷售員的薪水是250元/每周,再加上本 周銷售額的5.7%的提成;計件工每周的工資是 一周生產(chǎn)的產(chǎn)品數(shù)乘以每件產(chǎn)品的報酬,該公 司內(nèi)的每個計件工只生產(chǎn)一種產(chǎn)品(10元/每 件)。編寫一個發(fā)放薪水的程序。 C語言教學(xué) FUNCTION Moe Curly Larry C語言教學(xué) 數(shù)學(xué)函數(shù)(1) ( )yf x 函數(shù)名 C語言教學(xué) 數(shù)學(xué)函數(shù)(2) 2 235yxx nm zaxbyc 一個自變量,一個因變量 二個自變量,一個因變量 C語言教學(xué) 數(shù)學(xué)函數(shù)(3) 1 2 1 yx dx cos()yt 2 4ybac lim( ) x yf x n n n n d x

30、ya dt () m m yf x C語言教學(xué) 數(shù)學(xué)函數(shù)(4) 11234 21234 31234 41234 2538 16610 8524 32539 yxxxx yxxxx yxxxx yxxxx C語言教學(xué) 數(shù)學(xué)函數(shù)(5) 11 22 33 44 2538 16610 8524 32539 yx yx yx yx YAX 自變量因變量 C語言教學(xué) 數(shù)學(xué)函數(shù)(6) ( )yf x 一個變量 二個變量 N個變量 一個變量 二個變量 N個變量 自變量 與因變 量的關(guān) 系 C語言教學(xué) 數(shù)學(xué)函數(shù)(7) 集合A 關(guān)系 集合B C語言教學(xué) 函數(shù)(FUNCTION) 函數(shù)(Function):Func

31、tions break large computing tasks into smaller ones,and enable people to build on what others have done instead of starting over from scratch. 函數(shù)是將大程序分割為小塊的基本單元。 說明: L一個源程序文件由一個或多個函數(shù)組成。 L一個C程序由一個或多個源程序文件組成。 LC程序的執(zhí)行從main函數(shù)開始,調(diào)用其他函數(shù)后流程回到 main函數(shù),在main函數(shù)中結(jié)束整個程序運行。 L所有函數(shù)都是平行的,即函數(shù)定義時是互相獨立的,一個 函數(shù)并不從屬于另一個函數(shù)

32、。 C語言教學(xué) 函數(shù)分類(FUNCTION) B標準函數(shù),即庫函數(shù)。 B用戶自定義函數(shù)。 L從函數(shù)的形式上看: B無參函數(shù)。 B有參函數(shù)。 y函數(shù)定義形式 無參函數(shù): type FunctionName() 數(shù)據(jù)類型 函數(shù)名 括號內(nèi)為空表示為無參函數(shù) ()不能省略 函數(shù)體 C語言教學(xué) 函數(shù)(FUNCTION) 有參函數(shù): type FunctionName(parameter) 參數(shù)以“,”區(qū)分每個參數(shù), 每個參數(shù)順序不限 對形參的聲明有兩種方式:古典型、現(xiàn)代型: /- 古典型 -/ int max( a, b ) int a,b; . . C語言教學(xué) 函數(shù)(FUNCTION) /-現(xiàn)代型-/

33、 int max( int a, int b ) . . 函數(shù)參數(shù)與函數(shù)值: 形參形參( 形式參數(shù)形式參數(shù) ):在定義函數(shù)時函數(shù)名后面括號中的變量 名稱為“形式參數(shù)”. 實參( 實際參數(shù) ):在主調(diào)函數(shù)中調(diào)用一個函數(shù)值,函數(shù)名后 面括號中的參數(shù)(或表達式)稱為“實參”. C語言教學(xué) 函數(shù)(FUNCTION) 在定義函數(shù)中指定的形參,在未出現(xiàn)函數(shù)調(diào)用時,他們并不占用內(nèi)存空間,只有在發(fā)生 函數(shù)調(diào)用時,形參才被分配內(nèi)存,在函數(shù)調(diào)用結(jié)束后,形參所占的內(nèi)存單元也被釋放。 實參可以是常量、變量、表達式,但要求他們有確切的值。 在被定義的函數(shù)中,必須指定形參的類型。 實參與形參的類型應(yīng)相同或賦值兼容。 實參

34、變量對形參變量的數(shù)據(jù)傳遞是“值傳遞”,即單項傳遞,只能由實參傳給形參,而 不能由形參傳回來給實參。 C語言教學(xué) 函數(shù)的返回值 通過函數(shù)調(diào)用使主調(diào)函數(shù)能得到一個確定的 值,這就是函數(shù)的返回值。 函數(shù)的返回值是通過函數(shù)中的 return 語句獲得的。 Max(int x,int y) . . return z; 函數(shù)的返回值類型在函數(shù)定義時指定。 C語言教學(xué) 函數(shù)返回值 int max(float x,float y) char letter(char c1,char c2) 如果函數(shù)名前沒有數(shù)據(jù)類型,一律自動按整型處理。 如果函數(shù)值類型和 return 語句中的表達式的值不一致,則以函數(shù)類型為準

35、。 為了明確表示“不帶回參數(shù)”,可以用“void”表示“無類型”。 函數(shù)值為整型 函數(shù)值為字符型 C語言教學(xué) 函數(shù)的調(diào)用 函數(shù)調(diào)用的一般形式: 函數(shù)名(函數(shù)名( 實參表列實參表列 );); 如果調(diào)用無參函數(shù),“實參列表”可以沒有,但() 不能省略。 如果實參表列包含多個參數(shù),各參數(shù)間以“,”隔 開。 實參與型參按順序?qū)?yīng)。 函數(shù)調(diào)用方式: 函數(shù)語句 printstar(); C語言教學(xué) 函數(shù)的調(diào)用 函數(shù)表達式 c = 2*max(a,b); 函數(shù)參數(shù) m = max(a,max(b,c); C語言教學(xué) 函數(shù)的聲明和函數(shù)原型 在一個函數(shù)中調(diào)用另一個函數(shù)須具備以下條件: 被調(diào)用函數(shù)必須是已經(jīng)存在的

36、函數(shù)(庫函數(shù)或用戶自己定 義的函數(shù))。 如果使用庫函數(shù),應(yīng)在本文件的開頭包含有關(guān)庫函數(shù)的信 息 #includestdio.h 如果使用用戶自己定義的函數(shù),而且該函數(shù)與調(diào)用它的函數(shù) (即主調(diào)函數(shù)) 在同一個文件中,一般還應(yīng)該在主調(diào)函數(shù)中對 被調(diào)函數(shù)作聲明(declaration)。 float add(float a,float b); 以上函數(shù)聲明稱為函數(shù)原型(function prototype) C語言教學(xué) 函數(shù)的聲明和函數(shù)原型 上面的函數(shù)聲明形參名可以省略,如以下: float add(float,float); C語言教學(xué) 函數(shù)的嵌套調(diào)用 C語言的函數(shù)定義都是互相平行、獨立的,即在定

37、義函數(shù)時,一個函數(shù) 內(nèi)不能包含另一個函數(shù)。也就是說C語言不能嵌套定義函數(shù)。 C語言可以嵌套調(diào)用函數(shù)。即在調(diào)用一個函數(shù)的過程中,又調(diào)用另一個 函數(shù)。 C語言教學(xué) 函數(shù)的嵌套調(diào)用 Main函數(shù) 調(diào)用a函數(shù) a函數(shù) 調(diào)用b函數(shù) b函數(shù) 結(jié)束 C語言教學(xué) 變量 變量按變量在函數(shù)中定義的位置不同分為: 局部變量(Local variable):在一個函數(shù)內(nèi)部定義的變量, 只有在本函數(shù)內(nèi)部才能使用這些變量。 全局變量(Global variable):在函數(shù)外部定義的變量, 可以為本文件中其他函數(shù)所共用。 float f1( int a ) int x,b,c; x,b,c為局部變量 只在函數(shù) f1內(nèi)部

38、有效,離開本函數(shù) x,b,c自動消亡。 C語言教學(xué) 局部變量 說明: v局部變量在函數(shù)被調(diào)用時由系統(tǒng)為變量申請內(nèi) 存,變量開始生存;當函數(shù)結(jié)束時,變量被釋放, 變量消亡。 v形式參數(shù)為局部變量。 v不同的函數(shù)中可以使用相同名字的變量,他們代表不同的對象,互不干擾。 vmain函數(shù)中定義的變量只在main函數(shù)中有效。 C語言教學(xué) 全局變量 變量a、b、c、m、n都 是全局變量,但作用域 不同。函數(shù)3與函數(shù)4 可以用變量a、b、c、 m、n;而函數(shù)1與函 數(shù)2只能使用變量a、b、 c。原因是外部變量定 義的位置不同 函數(shù)1 函數(shù)2 函數(shù)3 函數(shù)4 int a,b,c; int m,n; 全局變量m

39、,n 的作用范圍 全局變量a,b,c 的作用范圍 C語言教學(xué) 全局變量 說明: v同一個文件中的所有函數(shù)都能引用全局變量,如果在一個 函數(shù)中改變了全局變量的值,均會影響到其他函數(shù),因此, 可以用來完成函數(shù)之間的參數(shù)傳遞。 v建議在不必要時不要使用全局變量。原因如下: 全局變量在程序的全部執(zhí)行過程中占用內(nèi)存。 使函數(shù)的通用性降低了。 全局變量過多,會降低程序的清晰性。 如果在同一個源文件中,外部變量與局部變量同名,則在局部變量作用范圍內(nèi),外部變量被屏蔽,不起作用。 C語言教學(xué) 變量的例子 Int a=3,b=5; max(int a,int b) return ab?a:b; main() in

40、t a = 8; printf(”%d”,max(a,b); a、b為全局變量 a、b為局部變量 A為局部變量 運行結(jié)果為:8 C語言教學(xué) 變量的存儲類 從變量值的存在時間(即生存期)角度來看,可以分為 靜態(tài)存儲方式(static ):在程序運行期間分配固定的存儲空間的方式。 動態(tài)存儲方式(dynamic):在程序運行期間根據(jù)需要進行動態(tài)分配存儲空 間的方式。 C語言教學(xué) 內(nèi)存空間的分配 在內(nèi)存中,供用戶使用的存儲空間可以分為三部分: 程序區(qū) 靜態(tài)存儲區(qū) 動態(tài)存儲區(qū) 存儲程序 全局變量 靜態(tài)局部變量 函數(shù)的形參 自動變量 函數(shù)調(diào)用時的現(xiàn)場保護和返回地址 C語言教學(xué) 變量的存儲類 在C語言中每一

41、個變量和函數(shù)都有兩個屬性:數(shù)據(jù) 類型、數(shù)據(jù)的存儲類,因而標準的變量或函數(shù)定義 應(yīng)為: 存儲類 數(shù)據(jù)類型 變量名; 存儲類 數(shù)據(jù)類型 變量名(形參); C語言的變量存儲類包括以下四類 自動的(auto); 靜態(tài)的(static); 寄存器的(register); 外部的 (extern); C語言教學(xué) AUTO變量 函數(shù)中的局部變量,如不特別聲明為static變量,都是動 態(tài)地分配存儲空間的。auto關(guān)鍵字可以省略,即如果變 量、函數(shù)的前面沒有說明變量的存儲類,則默認該變量、 函數(shù)的值為auto類型。 C語言教學(xué) STATIC變量 靜態(tài)局部變量屬于靜態(tài)存儲類別。在整個程序 運行期間內(nèi)存不釋放。

42、對靜態(tài)局部變量是在編譯是賦初值的,即只賦 一次初值,在程序運行時他已有初值。以后每 次調(diào)用函數(shù)時不再重新賦初值,而只是保留上 次函數(shù)調(diào)用的結(jié)果。 如果在定義局部變量時不賦初值,編譯是自動 被賦為0。 雖然靜態(tài)局部變量在函數(shù)調(diào)用結(jié)束后依然存在, 但其他函數(shù)不能引用他。 C語言教學(xué) REGISTER變量 放在CPU內(nèi)部寄存器的變量,register變量的優(yōu)點為運算速度快。計算 機中內(nèi)存有兩種類型,如圖所示: CPU 寄存器 內(nèi)存 C語言教學(xué) REGISTER變量 只有局部自動變量和形式參數(shù)可以作為register變量,其他 (Global)不行。 計算機系統(tǒng)中register數(shù)目有限,不能無限制定

43、義register變 量。 局部靜態(tài)變量不能定義為register變量。 C語言教學(xué) EXTERN變量 extern變量為外部變量。extern變量為對已經(jīng)定義的變量進行 外部說明。所謂的外部,是相對于同一個源文件中函數(shù)的 外部,或本文件外其他源文件中的變量而言的。 C語言教學(xué) EXTERN變量 函數(shù)1 extern int a,b 函數(shù)2 函數(shù)3 int a,b; int 類型變量 a,b為全局 變量,其作用域為函數(shù)2與 函數(shù)3,函數(shù)1要想訪問 a,b則必須在函數(shù)中聲明 為外部變量 C語言教學(xué) EXTERN變量 若一個程序中包含多 個文件,一個文件I 中的全局變量對另一 個文件II來講則是外

44、 部變量,若欲在文 件II中訪問文件I 的全局變量,必須在 文件II中對所要引用 的變量進行外部聲明。 文件-I int a,b; 文件-II extern int a,b; C語言教學(xué) ARRAY C語言教學(xué) 數(shù)組(ARRAY) 例:將a,b,c三個數(shù)按由大到小的順序排列. 解須分為以下三步: if (ab) t=a; a=b; b=t; if (ac) t=a; a=c; c=t; if (bc) t=b; b=c; c=t; 是否可以將相同的部分用循環(huán)來實現(xiàn)? 設(shè)a,b,c三個數(shù)用 x i表示,令x1=a,x2=b,x3=c 上面的三步可以表示為: if(xix(i+1) t=xi; x

45、i=x(i+1); x(i+1)=t; 數(shù)組 C語言教學(xué) 定義數(shù)組(ARRAY) 數(shù)組是按順序存儲的一組相同類型的數(shù)據(jù)。 數(shù)組的定義: 類型 數(shù)組名下標1下標2.下標n 當有一個下標時為一維數(shù)組 當有二個下標時為二維數(shù)組 當有n個下標時為n維數(shù)組 數(shù)組需注意的幾個問題: 數(shù)組所占的內(nèi)存單元數(shù) = 其中N代表第 i 位數(shù)組元素個數(shù) 數(shù)據(jù)類型( 1 0 sizeofN n i i C語言教學(xué) 數(shù)組說明(ARRAY) 例如:int Matrix34; 該二維數(shù)組所占內(nèi)存空間 = 3 x 4 x sizeof(int) = 3 x 4 x 2 = 24bytes 每個數(shù)組下標范圍由 0 n-1。 例如

46、: int Arry20; 數(shù)組 Arry 由20個整形數(shù)組成,第1個元素為 Arry0,.,最后一 個元素為 Arry19 一個數(shù)組元素實際上就是一個變量,代表一個內(nèi)存單元。 C語言規(guī)定一個數(shù)組不能整體引用,每次只能引用數(shù)組的一個元素。 C語言程序運行時,系統(tǒng)不自動檢查數(shù)組元素的下標是否越界,而數(shù)組 的越界會造成系統(tǒng)的崩潰。因此編程者必須注意數(shù)組的界限。因此編程者必須注意數(shù)組的界限。 C語言的數(shù)組是靜態(tài)分配內(nèi)存空間的,不允許對其進行動態(tài)定義語言的數(shù)組是靜態(tài)分配內(nèi)存空間的,不允許對其進行動態(tài)定義。 數(shù)組元素在內(nèi)存中的分配方式 C語言教學(xué) 一、二維數(shù)組(ARRAY) 例如:例如:char ch1

47、0; Ch0Ch1Ch2Ch3Ch4Ch5Ch6Ch7Ch8Ch9 二維數(shù)組: 例如:char tm25; Ch00Ch01Ch02Ch03Ch04 Ch10Ch11Ch12Ch13Ch14 三維數(shù)組: 例如:char tm232; C語言教學(xué) 數(shù)組初始化(ARRAY) Ch00 0 Ch00 1 Ch01 0 Ch01 1 Ch10 0 Ch10 1 Ch11 0 Ch11 1 Ch02 0 Ch02 1 Ch12 0 Ch12 1 數(shù)組初始化: int a8 = 1,2,3,4,5,6,7,8; int a8 = 1,2,3; *當賦初值個數(shù)少于數(shù)組元素的個數(shù)時,將自動為后面的元素賦 0,

48、 如第二例:a0=1,a1=2,a2=3,a3=0,a4=0, a5=0,a6=0,a7=0。 *當賦初值個數(shù)多于數(shù)組元素個數(shù)時,系統(tǒng)編譯出錯。 C語言教學(xué) 數(shù)組的引用(ARRAY) C語言規(guī)定只能單個引用數(shù)組元素,而不能整個引用數(shù)組. 例: int a10 ; 定義一個整型數(shù)組,由10個元素組成。 for(i=0;i10; i+) ai = 0; C語言教學(xué) 字符數(shù)組 字符數(shù)組:由字符組成的數(shù)組。 字符數(shù)組的定義與引用前面的數(shù)組相同 初始化方式分為兩種: char ch=a,b,c; char ch=“I am happy”; C語言教學(xué) 字符串(ARRAY) 字符串結(jié)束標志: 0 字符串處

49、理函數(shù): puts ( 字符數(shù)組 ); gets ( 字符數(shù)組 ); strcat ( *dest, *source ); strcpy ( *dest, *source ); strcmp ( *str1, *str2); 上述函數(shù)的原型說明在 中 C語言教學(xué) EXAMPLES 數(shù)組排序:將無序數(shù)列=有序數(shù)列. 將 21, 3, 6, 2, 60, 12, 56, 8數(shù)列由小到大排序. 排序結(jié)果為 2,3,6,8,12,21,56,60. 定義一個數(shù)組m8=21, 3, 6, 2, 60, 12, 56, 8; 選擇排序方法: J普通法分類 J冒泡法分類 (bubble sort); J插入

50、法分類 (insertion sort); J選擇法分類 (selection sort); C語言教學(xué) EXAMPLES 普通法: 21 3 6 2601256 8 0 1 2 3 4 5 6 7 321 6 2601256 8 221 6 3601256 8 621 3601256 8 C語言教學(xué) EXAMPLES 621 3601256 8 321 6601256 8 621601256 8 12602156 8 860215612 C語言教學(xué) EXAMPLES 860215612 21605612 12605621 566021 216056 5660 C語言教學(xué) EXAMPLES (

51、程序如下: int a8=21,3,6,2,60,12,56,8; main() int i, j, temp; for(i=0;i8;i+) for(j=i+1;j8;j+) if( ajai ) temp = ai; ai = aj; aj = temp; C語言教學(xué) EXAMPLES 冒泡法排序 21 3 6 2601256 8 0 1 2 3 4 5 6 7 321 6 2601256 8 3 621 2601256 8 3 6 221601256 8 C語言教學(xué) EXAMPLE 3 6 221601256 8 3 6 221126056 8 3 6 221125660 8 3 6 2

52、211256 860 3 6 2211256 8 C語言教學(xué) EXAMPLE 3 6 2211256 8 3 2 6211256 8 3 2 6211256 8 3 2 6122156 8 3 2 6122156 8 C語言教學(xué) EXAMPLE 3 2 6122156 8 3 2 61221 856 C語言教學(xué) EXAMPLE (程序如下: int a8=21,3,6,2,60,12,56,8; main() int i, j, temp; for(i=0;i8;i+) for(j=0; jaj+1 ) temp = aj; aj+1 = aj; aj+1 = temp; C語言教學(xué) EXAM

53、PLES 2 3 660 21 把被分類的記錄逐個取出,插在適當?shù)奈恢谩.數(shù)?i 遍整理 時,a1,a2,.,ai-1已經(jīng)是排好序的;取出第 i 個記 錄ai,在整理好的序列中,為ai找到一個適當?shù)奈恢?j。 為了便于控制循環(huán)結(jié)束,我們引入數(shù)組元素a0,使其內(nèi) 容小于a1,.,an中的任意一內(nèi)容,a0= - C語言教學(xué) EXAMPLE (程序如下: int a9=0,21,3,6,2,60,12,56,8; main() int i, j, temp; a0 = -1; for(i=1;iaj-1 ) temp = aj; aj = aj-1; aj-1 = aj; j = j -1; C語言

54、教學(xué) EXAMPLE 選擇法排序: int a8=21,3,6,2,60,12,56,8; main() int i,j,k,temp; for(i=0;i7;i+) k=i; for(j=i+1;j8;j+) if( ajak ) k=j; if(k!=j) temp = ai; ai = ak; ak = temp; C語言教學(xué) 數(shù)組實例 投擲兩個骰子,計算投擲出的兩個值的和. 注:因為每 個骰子投擲出的值都在16之間,因此兩個值的和在212 之間.編一個程序,在程序中把兩個骰子各擲3600次,用一維 數(shù)組記錄每一種可能值出現(xiàn)的次數(shù),并計算出現(xiàn)的概率. 234567 345678 4567

55、89 5678910 67891011 789101112 1 2 3 4 5 6 1 2 4 3 5 6 投擲兩個骰子可能出現(xiàn)的36種結(jié)果 C語言教學(xué) 數(shù)組實例 首先要產(chǎn)生一個16之間的隨機數(shù).Turbo C中有 一個函數(shù)可以產(chǎn)生隨機數(shù): random(); 但需要引入兩個頭文件 #include #include C語言教學(xué) 上機作業(yè) 40個學(xué)生被邀請來給自助餐廳的食品打分,分數(shù)為從110的10個等級 (1意味著最低分,10表示最高分),在數(shù)組中設(shè)置這40個值,然后統(tǒng)計調(diào)查 結(jié)果。并用*打印出直方圖。 ElementvalueHistogram 1 5 * 2 10 * 3 7 * . C

56、語言教學(xué) POINTERS C語言教學(xué) 指針(POINTER) 指針就是地址.(A pointer is a variable that contains the address of a variable.)-可以理解為: 指針是一個變量,該變 量存放一個地址,此地址為某一個變量的地址 1232000 內(nèi)存單元的內(nèi)容內(nèi)存單元的地址 ab 變量名 訪問某一個內(nèi)存的辦法有兩種: 1.通過變量名可以直接訪問到內(nèi)存中的內(nèi)容. 2.通過內(nèi)存單元的地址訪問內(nèi)存單元. C語言教學(xué) 定義指針(POINTER) 如何用指針訪問內(nèi)存單元? 定義一個指針變量,類型與所訪問的數(shù)據(jù)類型一致. 數(shù)據(jù)類型 *變量名; 例

57、如:int *p; 表示 p是一個指針變量。 p指向一個整型變量 p只能賦地址值。 簡單數(shù)據(jù)類型 復(fù)雜數(shù)據(jù)類型 自定義 表示定義的變量 為指針型變量 C語言教學(xué) 指針指向變量(POINTER) 將已經(jīng)定義的指針與某一變量相關(guān)。 例如:int a=10; p = -將整型變量a的地址賦予指針 變量p. 執(zhí)行前, p=0 x2361243, a=10. 執(zhí)行后, p=2000, a=10. 10 a 2000 p C語言教學(xué) 指針訪問變量(POINTER) 通過指針訪問內(nèi)存的內(nèi)容. 例如: int b; b = *p;-將地址為2000的內(nèi)容賦予整型變量b。 指針的注意事項: 定義后的指針變量必須

58、賦予地址。 給指針賦常數(shù)值時,必須清楚所賦地址處的數(shù)據(jù)用途。 指針只能進行四種運算:+、-、+、-。 b = 10; C語言教學(xué) 指針的存儲(POINTER) 指針在內(nèi)存中的存儲。 指針既然是一個變量,內(nèi)存中必然占據(jù)一部分內(nèi) 存單元。假定一個指針變量占據(jù)2bytes的內(nèi)存單 元。 則上面的三個例子組合到一起,執(zhí)行過程如下: int a=10,b;-step 1 int *p;-step 2 p = -step 3 b = *p; -step 4 C語言教學(xué) a 1 0 34143 2000 2002b 指針模擬演示(POINTER) step 1: int a=10, b; step 2: i

59、nt *p; . . 0 x96213 5000 為整型變量a、b分別分配內(nèi)存單元, 將變量a的內(nèi)存單元賦10 為指針變量p分配一內(nèi) 存單元,地址為 5000。 step 3: p = 2000 2000 step 4: b = *p; 10 10 C語言教學(xué) 指針運算: int *p,a10=1,2,3,4,5,6,7,8; p = a;將指針p指向 數(shù)組a *p+; *p-;相當于*p; p+; *(p+);*(p-); (*p) +;(*p) -; *+p;+*p; 注: p+1 代表指針指向下一個數(shù)據(jù)類型,指針移動 的 寬度為: p+1 - p+sizeof(type) C語言教學(xué) 指

60、針(POINTER)與數(shù)組(ARRAY)的 關(guān)系 指針與數(shù)組的關(guān)系分為三種: 指針與一維數(shù)組的關(guān)系。 指針與多維數(shù)組的關(guān)系。 指針與字符數(shù)組的關(guān)系。 指針與一維數(shù)組的關(guān)系。 定義一個指向數(shù)組元素的指針: int a10=1,2,3,4,5,6,7,8,9,0; int *p; p = 指向數(shù)組的第0個元素。 p = a; 指向數(shù)組的首地址。 C語言教學(xué) 指針(POINTER)與一維數(shù)組(ARRAY)的關(guān) 系 數(shù)組元素與地址: 1 2 3 4 5 6 7 8 9 0 2000 2008 2010 2012 2014 2016 2018 2002 2004 2006 a0 a3 a4 a5 a6

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
  • 6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論