




版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領
文檔簡介
1、C語言課件-第1章C語言課件-第1章第1章 C語言基礎 第2章 基本數據類型 第3章 表達式 第4章 順序結構程序設計 第5章 選擇結構程序設計 第6章 循環結構程序設計 第7章 函數 第8章 數組類型 第9章 結構體類型與共用體類型第10章 指針類型 第11章 文件類型 第12章 編譯預處理和圖形處理 第13章 C到C+ 第14章 C語言程序設計實例目 錄 第1章 C語言基礎 目 錄 第 1章 C 語 言 基 礎 1.1 C語言概述 1.2 基本語法成份 1.3 C語言程序的結構 1.4 C語言程序的實現習 題 一 第 1章 C 語 言 基 礎 1.1 C語言概述 1.1 C語言概述 1.1
2、.1 C語言的產生與發展 1. C語言的產生 C語言于1972年1973年間, 誕生于美國的貝爾實驗室, 由Denis.M.Ritchie創建。 C語言的產生基于兩個方面的需要。一是為滿足UNIX操作系統開發的需要。UNIX操作系統是一個通用的、復雜的計算機管理系統。二是為拉近高級語言與硬件之間距離的需要。 C語言集高級語言與匯編語言優點于一身。 C語言面對實際應用的需要而產生, 直至今日仍不改初衷。 1.1 C語言概述 1.1.1 C語言的產生與發展 2. C語言的發展 1960年出現的ALGOL語言是一種面向問題的高級語言,遠離硬件,不適于開發系統軟件。1963年,英國劍橋大學推出CPL語
3、言,CPL語言比ALGOL語言更接近硬件一些,但規模較大,難以實現。1969年,劍橋大學的Martin Richards對CPL語言進行簡化,推出BCPL語言。1970年,貝爾實驗室的Ken Thompson為DEC公司的PDP-7計算機上運行的一種早期UNIX操作系統設計了一種類BCPL語言,稱為B語言。B語言規模小,接近硬件,1971年在PDP-11計算機上實現。BCPL語言和B語言都是無類型的語言,過于簡單,功能有限。 2. C語言的發展 1960年出現的ALGO 1972年1973年間,貝爾實驗室的D.M.Ritchie在保留B語言優點的基礎上,創建了C語言。1973年,UNIX操作系
4、統被用C語言改寫,稱為UNIX第五版。最初的C語言只是一種UNIX操作系統的工作語言,依附于UNIX系統,主要在貝爾實驗室內部使用。UNIX以后的第六版、第七版、SYSTEM 和SYSTEM都是在第五版的基礎上發展起來的。這期間C語言也被多次改進。1975年,UNIX的第六版公布,C語言開始受到人們的普遍關注。 1972年1973年間,貝爾實驗室的D. UNIX操作系統的廣泛使用,促進了C語言的迅速發展與普及,C語言的發展與普及反過來又促進了UNIX操作系統的推廣。1978年,出現了獨立于UNIX和PDP計算機的C語言,從此C語言被迅速移植到大、中、小型與微型機上。當年,B.W.Kernigh
5、an和D.M.Ritchie以UNIX第七版的C編譯程序為基礎,出版了影響深遠的名著The C Programming Language。 C+語言是C語言發展的新階段,是一種更好的C語言,是應用廣泛的面向對象的程序設計語言。 目前,C語言已經發展成為迄今為止最流行的計算機程序設計語言。 UNIX操作系統的廣泛使用,促進了C語言的迅速發展 3. C語言的標準與方言 C語言的廣泛應用還是在不同的開發團體之間出現了問題,各機構推出了自己的C語言版本,某些執行過程的微小差別卻不時引起C程序之間的不兼容。美國國家標準協會(ANSI)從1983年開始經過長達五年的努力,制定了C語言的新標準ANSI C。
6、現在提及C語言的標準都是指新標準。ANSI C比原標準C有很大的發展,解決了經典定義中的二義性,給出了C語言的新特點。Kernighan和Ritchie也以新標準改寫了他們的經典著作。任何C程序都必須遵循ANSI C標準,本教材的主體也以ANSI C作為基礎。 3. C語言的標準與方言 C1.1.2 C語言的特點 (1)C語言簡潔、 緊湊, 壓縮了一切不必要的成份。 (2) C語言運算豐富, 將括號、 賦值、 強制類型轉換、 取變量地址等都以運算實現。 (3) C語言數據類型豐富, 具有現代語言的各種數據類型; 用戶能擴充數據類型, 能夠實現各種復雜的數據結構, 完成各種問題的數據描述。 (4
7、) C語言是一種結構化程序設計語言, 具有結構化語言所要求的三種基本結構。 1.1.2 C語言的特點 (1)C語言 (5) C語言是高級語言中的低級語言。C語言允許直接訪問物理地址,能進行位運算,能實現匯編語言的大部分功能,能直接對硬件進行操作。 (6) C語言提供編譯預處理機制,有利于大程序的編寫和調試。 (7) C語言編譯系統小,生成的目標代碼質量高,程序的執行效率高。 (8) C語言的輸入和輸出功能用庫函數實現,編寫的程序移植性好。 (9) C語言語法限制不太嚴格,程序設計自由度大,對程序員要求較高。 (5) C語言是高級語言中的低級語言。C語1.2 基本語法成份 1.2.1 字符集 字
8、符是可以區分的最小符號, 構成程序的原始基礎。 C語言字符集是ASCII字符集的一個子集, 包括英文字母、數字及特殊字符: 英文字母: az和AZ 數字: 09 特殊字符:空格 ! % & * - + = / , : ; ? ( ) 由字符集中的字符可以構成C語言進一步的語法成份, 如標識符、 關鍵字、 特殊的運算符等。 1.2 基本語法成份 1.2.1 字符集 1.2.2 標識符 標識符在程序中用來標識各種程序成份, 命名程序中的一些實體, 如變量、 常量、函數、類型、標號等對象的名字。 C語言規定, 標識符必須以英文字母或下劃線開頭, 是字母、 數字、 下劃線的序列。 以下是合法的標識符:
9、 i,j,k,x,c,a1,a2,op,y_1,zhou_prg,radius, prime,program,sort,max,min,prg_1,cout,sun,day 1.2.2 標識符 標識符在程序中用來標識 以下是不合法的標識符: a.1,1computer,x+y,!abc,99999,$100,3c C語言中的標識符嚴格區分字母的大小寫,標識符abc與標識符ABC是不同的標識符。習慣上,符號常量用大寫字母表示,變量名稱用小寫字母表示。 標準C中,標識符的長度可以任意,一般有效長度為8個字符,Turbo C中標識符最大長度為32個字符。 以下是不合法的標識符: 標識符取名時不能與關
10、鍵字同名,也不要與系統預先定義的標準標識符(如標準函數)同名。系統使用的一些內部標識符往往以下劃線開頭,為避免與系統使用的內部標識符發生沖突,用戶定義的標識符一般也不要用下劃線開頭。 標識符的名稱一般選用相應的英文單詞或拼音形式縮寫,盡量不要使用簡單代數符號,如a、b、c、x、y、z等。最好能“見名知義”,以提高程序的可讀性。標識符大多數采用“匈牙利”表示法,即每個單詞第一個字母大寫,如StudentName、YearMonthDate。 由系統預先定義的標識符稱為標準標識符,由用戶定義的標識符稱為自定義標識符。程序設計中往往需根據實際需要定義大量的標識符。標識符必須先定義,后使用。 標識符取
11、名時不能與關鍵字同名,也不要與系統預先定義的 1.2.3 關鍵字 關鍵字又稱為保留字, 由系統提供, 用以表示特定的語法成份, 如類型名稱int、 float,語句特征if、 switch、 while, 運算符號sizeof等, 是構成C語言的語法基礎。 常見關鍵字有31個, 參見附錄A。 關鍵字有特定的語法含義, 不允許用戶重新定義。 關鍵字在程序中像國家的名字一樣, 絕對不能拼錯。 1.2.3 關鍵字1.2.4 運算符 運算符實際上可以認為是系統定義的函數名字,這些函數作用于運算對象,得到一個結果值。運算符通常由1個或多個字符構成。C語言沿用了大量的常規運算符,如加法運算符“+”、減法運
12、算符“”、地址運算符“&”、大于運算符“”、不等運算符“!=”、邏輯與運算符“&”、條件運算符“?:”、點運算符“.”、字節數運算符“sizeof”等。 根據運算對象的個數不同,可分為單目運算符、雙目運算符和三目運算符,又稱為一元運算符、二元運算符和三元運算符。 1.2.4 運算符1.3 C程序的結構例1-1 在屏幕上輸出“C語言程序設計”。/*程序 1 - 1, 輸出C語言程序設計*/include stdio.hmain( )printf(C語言程序設計); 運行結果: C語言程序設計 1.3 C程序的結構例1-1 在屏幕上輸出“C語言程序例1 2 求兩個整數之和。 /*程序1 - 2,
13、求兩個整數之和*/ include stdio.h main( ) int a, b; int sum; printf(請輸入兩個整數a, b: ); scanf(%d, %d, &a, &b); sum=a+b; printf(和=%dn, sum); 輸入數據: 2019, 5運行結果: 和=2019例1 2 求兩個整數之和。例1-3 求兩個數的最大值。 /*程序1 - 3, 求兩個數的最大值*/ include stdio.h float max(x, y) /*求最大值函數*/ float x, y; float t; if (xy) t=x; else t=y; return(t);
14、 例1-3 求兩個數的最大值。 main( ) /*主函數*/float a, b; float m; printf(請輸入兩個數: ); scanf(%f, %f, &a,&b); m=max(a, b); /*調用求最大值的函數*/ printf(最大值=%6.2f n, m);輸入數據: 12.1, 3.45運行結果: 最大值= 12.10 main( ) /*主函數*/1.3.1 C程序的結構 1函數 (1) C語言程序由若干函數組成。 必須有一個且只能有一個主函數main(),主函數的名字為main。 可以是系統預定義的標準函數,如scanf函數、printf函數等,參見附錄C。 大
15、多數函數由程序員根據實際問題的需要進行定義,函數之間是平行的關系。基于此,C語言被稱為函數式語言。1.3.1 C程序的結構 1函數 (2) 函數由函數頭(函數的說明部分)與函數體(函數的語句部分)兩部分組成。 函數頭給出函數的特征描述, 包括函數的屬性、 類型、 名字、 參數及參數類型。 如例 1-3 中的求最大值函數的函數頭: float max(x, y) float x, y; /*函數屬性缺省, 函數類型實型, 函數名字max, 函數參數x, y, 實型*/ (2) 函數由函數頭(函數的說明部分)與函數 函數體給出函數功能實現的數據描述和操作描述, 是程序中用花括號括起的若干語句。 如
16、例 1 - 1 中的函數體: printf(C語言程序設計); 函數體給出函數功能實現的數據描述和操作描例1-3中求兩個數的最大值函數max的函數體: float t; if (xy) t=x; else t=y; return(t);函數體可以為空,可以沒有數據描述部分。由此可以給出理論上最小的C語言程序: main() 例1-3中求兩個數的最大值函數max的函數體: 2. 語句 (1) 語句是組成程序的基本單位, 函數功能的實現由若干條語句完成。說明性語句完成數據描述, 執行性語句完成操作描述。 (2) 語句由若干關鍵字加以標識, 如ifelse語句、dowhile語句等。 (3) C語言
17、本身沒有輸入輸出語句, C語言的輸入輸出操作由scanf函數和printf函數等庫函數完成。 (4) C語言語句必須以分號結束。 2. 語句 3. 其它 1) 預處理命令 C程序開始往往含有以“”開頭的命令, 它們是預處理命令。 如例1-1中includestdio.h, 用以指明包含文件。 2) 程序注釋 在程序中還有以“/*”開始, 以“*/”結束的內容, 它們是程序中的注釋部分, 用以幫助閱讀程序。 3. 其它1.3.2 C程序的書寫 (1) 一行一般寫一條語句。當然一行可以寫多條語句, 一條語句也可以寫在多行上。 (2) 整個程序采用緊縮格式書寫。表示同一層次的語句行對齊, 縮進同樣多
18、的字符位置。如循環體中的語句要縮進對齊, 選擇體中的語句要縮進對齊。 (3) 花括號的書寫方法較多, 本書采用花括號對齊的書寫方式, 左邊花括號處于第一條語句的開始位置, 右邊花括號獨占一行, 與左邊花括號對齊。 (4) 在程序中恰當地使用空行, 分隔程序中的語句塊, 增加程序的可讀性。 1.3.2 C程序的書寫 (1) 一行一般寫1.4 C程序的實現 1.4.1 實現步驟 C程序在計算機上的實現與其它高級語言程序的實現一樣, 一般要經過編輯、編譯、連接、運行四個步驟,如圖1-1 所示。 圖 1 - 1 1.4 C程序的實現 1.4.1 實現步驟 1.4.2 程序的執行 C程序的執行總是從主函
19、數main( )開始, 不管主函數在程序中什么位置。其它函數通過被調用執行。函數中的語句依先后順序執行, 除非改變了程序的執行流程。1.4.2 程序的執行 C程序的執行總是從1.4.3 TURBO C上機操作 1啟動Turbo C 只需執行TC.EXE文件,即可啟動Turbo C,進入Turbo C的操作界面。 TC是DOS程序,現在一般運行在Windows下的DOS環境。 如需使用中文,還需先將計算機置于中文操作系統管理下。 用TC加源程序文件名可快速啟動Turbo C,立即進入編輯操作。 1.4.3 TURBO C上機操作 1啟動Tu2. TURBO C操作界面圖1-2 Turbo C的主
20、操作界面 2. TURBO C操作界面圖1-2 Turbo C的 1) 主操作界面 Turbo C主操作界面由主菜單區、編輯窗口區、信息窗口區及熱鍵區四部分組成。 Turbo C的操作采用菜單驅動,主菜單包括File(文件操作)、Edit(編輯操作)、Run(運行操作)、Complie(編譯操作)、Project(工程文件)、Options(編譯選擇)及Debug(跟蹤排錯)各項。 熱鍵區提供常用操作的快速功能鍵方式,如F1(幫助)、F2(保存文件)、F3(裝入文件)、F5(縮放窗口)、F6(切換窗口)、Alt+F5(用戶屏幕)、Alt+X(退出Turbo C)等。 1) 主操作界面 2) 主
21、窗口 當前操作窗口為主窗口(工作窗口), 主窗口為雙線框表示, 按F6可切換主窗口, 按F5可縮放主窗口。 3) 菜單選擇 方式一: 按F10進入主菜單區, 通過菜單項的大寫字母選擇相應菜單項, 或通過光標控制鍵(、 、 、 )移動高亮度光棒至相應菜單項, 按回車選擇相應菜單項。 方式二: 用熱鍵ALT加相應菜單項的大寫字母, 選擇相應菜單項。 對子菜單項的選擇, 操作方法類似。 2) 主窗口 3. 編輯 編輯在編輯窗口中進行, 有多種方式進入編輯環境: 方式一: 選擇Edit項。 方式二: 選擇File項的子項New, 用于編輯新程序。 方式三: 選擇File項的子項Load, 裝入要修改的程序, 用于修改程序。 方式四: 啟動時采用快速啟動方式。 TURBO C的編輯操作是Wordstar、WPS等字處理軟件編輯操作的子集, 它與Wordstar、WPS的編輯操作完全類似。 3. 編輯 4. 編譯 TURBO C將編譯、連接一道完成。按熱鍵F9或選擇Compile項進入編譯。編譯時發生錯誤, 返回編輯步驟,修改程序后, 再編譯程序。 4. 編譯 5. 運行 按熱鍵CTRL+F9或
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經權益所有人同意不得將文件中的內容挪作商業或盈利用途。
- 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
- 6. 下載文件中如有侵權或不適當內容,請與我們聯系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 供水公司考勤管理制度
- 供熱公司監控管理制度
- 供電企業營銷管理制度
- 供電公司數字安全管理制度
- 保健食品復產管理制度
- 保安fuwu管理制度
- 保安公司各項管理制度
- 保安學校學員管理制度
- 保安私自收費管理制度
- 保安領班部門管理制度
- 2025汾西礦業井下操作技能人員招聘300人(山西)筆試參考題庫附帶答案詳解析
- 2025年家庭教育指導師資格考試試題及答案
- 2025至2030年中國速凍豆角行業投資前景及策略咨詢報告
- 2025年入黨積極分子培訓結業測試題及答案
- 人教版(2024)七年級下冊生物期末復習重點知識點提綱
- 2025年中考語文二輪復習:標點符號 專題練習題(含答案解析)
- 跌倒墜床防范試題及答案
- 2024-2025學年人教版(2024)初中英語七年級下冊(全冊)知識點歸納
- XXX社區居委會、業主委員會和物業管理機構三方聯席會議制度
- 三伏貼不良反應應急預案
- 簡陽市2024-2025學年五年級數學第二學期期末統考模擬試題含答案
評論
0/150
提交評論