版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領
文檔簡介
1、C語言課件-第1章C語言課件-第1章第1章 C語言基礎 第2章 基本數(shù)據類型 第3章 表達式 第4章 順序結構程序設計 第5章 選擇結構程序設計 第6章 循環(huán)結構程序設計 第7章 函數(shù) 第8章 數(shù)組類型 第9章 結構體類型與共用體類型第10章 指針類型 第11章 文件類型 第12章 編譯預處理和圖形處理 第13章 C到C+ 第14章 C語言程序設計實例目 錄 第1章 C語言基礎 目 錄 第 1章 C 語 言 基 礎 1.1 C語言概述 1.2 基本語法成份 1.3 C語言程序的結構 1.4 C語言程序的實現(xiàn)習 題 一 第 1章 C 語 言 基 礎 1.1 C語言概述 1.1 C語言概述 1.1
2、.1 C語言的產生與發(fā)展 1. C語言的產生 C語言于1972年1973年間, 誕生于美國的貝爾實驗室, 由Denis.M.Ritchie創(chuàng)建。 C語言的產生基于兩個方面的需要。一是為滿足UNIX操作系統(tǒng)開發(fā)的需要。UNIX操作系統(tǒng)是一個通用的、復雜的計算機管理系統(tǒng)。二是為拉近高級語言與硬件之間距離的需要。 C語言集高級語言與匯編語言優(yōu)點于一身。 C語言面對實際應用的需要而產生, 直至今日仍不改初衷。 1.1 C語言概述 1.1.1 C語言的產生與發(fā)展 2. C語言的發(fā)展 1960年出現(xiàn)的ALGOL語言是一種面向問題的高級語言,遠離硬件,不適于開發(fā)系統(tǒng)軟件。1963年,英國劍橋大學推出CPL語
3、言,CPL語言比ALGOL語言更接近硬件一些,但規(guī)模較大,難以實現(xiàn)。1969年,劍橋大學的Martin Richards對CPL語言進行簡化,推出BCPL語言。1970年,貝爾實驗室的Ken Thompson為DEC公司的PDP-7計算機上運行的一種早期UNIX操作系統(tǒng)設計了一種類BCPL語言,稱為B語言。B語言規(guī)模小,接近硬件,1971年在PDP-11計算機上實現(xiàn)。BCPL語言和B語言都是無類型的語言,過于簡單,功能有限。 2. C語言的發(fā)展 1960年出現(xiàn)的ALGO 1972年1973年間,貝爾實驗室的D.M.Ritchie在保留B語言優(yōu)點的基礎上,創(chuàng)建了C語言。1973年,UNIX操作系
4、統(tǒng)被用C語言改寫,稱為UNIX第五版。最初的C語言只是一種UNIX操作系統(tǒng)的工作語言,依附于UNIX系統(tǒng),主要在貝爾實驗室內部使用。UNIX以后的第六版、第七版、SYSTEM 和SYSTEM都是在第五版的基礎上發(fā)展起來的。這期間C語言也被多次改進。1975年,UNIX的第六版公布,C語言開始受到人們的普遍關注。 1972年1973年間,貝爾實驗室的D. UNIX操作系統(tǒng)的廣泛使用,促進了C語言的迅速發(fā)展與普及,C語言的發(fā)展與普及反過來又促進了UNIX操作系統(tǒng)的推廣。1978年,出現(xiàn)了獨立于UNIX和PDP計算機的C語言,從此C語言被迅速移植到大、中、小型與微型機上。當年,B.W.Kernigh
5、an和D.M.Ritchie以UNIX第七版的C編譯程序為基礎,出版了影響深遠的名著The C Programming Language。 C+語言是C語言發(fā)展的新階段,是一種更好的C語言,是應用廣泛的面向對象的程序設計語言。 目前,C語言已經發(fā)展成為迄今為止最流行的計算機程序設計語言。 UNIX操作系統(tǒng)的廣泛使用,促進了C語言的迅速發(fā)展 3. C語言的標準與方言 C語言的廣泛應用還是在不同的開發(fā)團體之間出現(xiàn)了問題,各機構推出了自己的C語言版本,某些執(zhí)行過程的微小差別卻不時引起C程序之間的不兼容。美國國家標準協(xié)會(ANSI)從1983年開始經過長達五年的努力,制定了C語言的新標準ANSI C。
6、現(xiàn)在提及C語言的標準都是指新標準。ANSI C比原標準C有很大的發(fā)展,解決了經典定義中的二義性,給出了C語言的新特點。Kernighan和Ritchie也以新標準改寫了他們的經典著作。任何C程序都必須遵循ANSI C標準,本教材的主體也以ANSI C作為基礎。 3. C語言的標準與方言 C1.1.2 C語言的特點 (1)C語言簡潔、 緊湊, 壓縮了一切不必要的成份。 (2) C語言運算豐富, 將括號、 賦值、 強制類型轉換、 取變量地址等都以運算實現(xiàn)。 (3) C語言數(shù)據類型豐富, 具有現(xiàn)代語言的各種數(shù)據類型; 用戶能擴充數(shù)據類型, 能夠實現(xiàn)各種復雜的數(shù)據結構, 完成各種問題的數(shù)據描述。 (4
7、) C語言是一種結構化程序設計語言, 具有結構化語言所要求的三種基本結構。 1.1.2 C語言的特點 (1)C語言 (5) C語言是高級語言中的低級語言。C語言允許直接訪問物理地址,能進行位運算,能實現(xiàn)匯編語言的大部分功能,能直接對硬件進行操作。 (6) C語言提供編譯預處理機制,有利于大程序的編寫和調試。 (7) C語言編譯系統(tǒng)小,生成的目標代碼質量高,程序的執(zhí)行效率高。 (8) C語言的輸入和輸出功能用庫函數(shù)實現(xiàn),編寫的程序移植性好。 (9) C語言語法限制不太嚴格,程序設計自由度大,對程序員要求較高。 (5) C語言是高級語言中的低級語言。C語1.2 基本語法成份 1.2.1 字符集 字
8、符是可以區(qū)分的最小符號, 構成程序的原始基礎。 C語言字符集是ASCII字符集的一個子集, 包括英文字母、數(shù)字及特殊字符: 英文字母: az和AZ 數(shù)字: 09 特殊字符:空格 ! % & * - + = / , : ; ? ( ) 由字符集中的字符可以構成C語言進一步的語法成份, 如標識符、 關鍵字、 特殊的運算符等。 1.2 基本語法成份 1.2.1 字符集 1.2.2 標識符 標識符在程序中用來標識各種程序成份, 命名程序中的一些實體, 如變量、 常量、函數(shù)、類型、標號等對象的名字。 C語言規(guī)定, 標識符必須以英文字母或下劃線開頭, 是字母、 數(shù)字、 下劃線的序列。 以下是合法的標識符:
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語言中的標識符嚴格區(qū)分字母的大小寫,標識符abc與標識符ABC是不同的標識符。習慣上,符號常量用大寫字母表示,變量名稱用小寫字母表示。 標準C中,標識符的長度可以任意,一般有效長度為8個字符,Turbo C中標識符最大長度為32個字符。 以下是不合法的標識符: 標識符取名時不能與關
10、鍵字同名,也不要與系統(tǒng)預先定義的標準標識符(如標準函數(shù))同名。系統(tǒng)使用的一些內部標識符往往以下劃線開頭,為避免與系統(tǒng)使用的內部標識符發(fā)生沖突,用戶定義的標識符一般也不要用下劃線開頭。 標識符的名稱一般選用相應的英文單詞或拼音形式縮寫,盡量不要使用簡單代數(shù)符號,如a、b、c、x、y、z等。最好能“見名知義”,以提高程序的可讀性。標識符大多數(shù)采用“匈牙利”表示法,即每個單詞第一個字母大寫,如StudentName、YearMonthDate。 由系統(tǒng)預先定義的標識符稱為標準標識符,由用戶定義的標識符稱為自定義標識符。程序設計中往往需根據實際需要定義大量的標識符。標識符必須先定義,后使用。 標識符取
11、名時不能與關鍵字同名,也不要與系統(tǒng)預先定義的 1.2.3 關鍵字 關鍵字又稱為保留字, 由系統(tǒng)提供, 用以表示特定的語法成份, 如類型名稱int、 float,語句特征if、 switch、 while, 運算符號sizeof等, 是構成C語言的語法基礎。 常見關鍵字有31個, 參見附錄A。 關鍵字有特定的語法含義, 不允許用戶重新定義。 關鍵字在程序中像國家的名字一樣, 絕對不能拼錯。 1.2.3 關鍵字1.2.4 運算符 運算符實際上可以認為是系統(tǒng)定義的函數(shù)名字,這些函數(shù)作用于運算對象,得到一個結果值。運算符通常由1個或多個字符構成。C語言沿用了大量的常規(guī)運算符,如加法運算符“+”、減法運
12、算符“”、地址運算符“&”、大于運算符“”、不等運算符“!=”、邏輯與運算符“&”、條件運算符“?:”、點運算符“.”、字節(jié)數(shù)運算符“sizeof”等。 根據運算對象的個數(shù)不同,可分為單目運算符、雙目運算符和三目運算符,又稱為一元運算符、二元運算符和三元運算符。 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 求兩個整數(shù)之和。 /*程序1 - 2,
13、求兩個整數(shù)之和*/ include stdio.h main( ) int a, b; int sum; printf(請輸入兩個整數(shù)a, b: ); scanf(%d, %d, &a, &b); sum=a+b; printf(和=%dn, sum); 輸入數(shù)據: 2019, 5運行結果: 和=2019例1 2 求兩個整數(shù)之和。例1-3 求兩個數(shù)的最大值。 /*程序1 - 3, 求兩個數(shù)的最大值*/ include stdio.h float max(x, y) /*求最大值函數(shù)*/ float x, y; float t; if (xy) t=x; else t=y; return(t);
14、 例1-3 求兩個數(shù)的最大值。 main( ) /*主函數(shù)*/float a, b; float m; printf(請輸入兩個數(shù): ); scanf(%f, %f, &a,&b); m=max(a, b); /*調用求最大值的函數(shù)*/ printf(最大值=%6.2f n, m);輸入數(shù)據: 12.1, 3.45運行結果: 最大值= 12.10 main( ) /*主函數(shù)*/1.3.1 C程序的結構 1函數(shù) (1) C語言程序由若干函數(shù)組成。 必須有一個且只能有一個主函數(shù)main(),主函數(shù)的名字為main。 可以是系統(tǒng)預定義的標準函數(shù),如scanf函數(shù)、printf函數(shù)等,參見附錄C。 大
15、多數(shù)函數(shù)由程序員根據實際問題的需要進行定義,函數(shù)之間是平行的關系?;诖?,C語言被稱為函數(shù)式語言。1.3.1 C程序的結構 1函數(shù) (2) 函數(shù)由函數(shù)頭(函數(shù)的說明部分)與函數(shù)體(函數(shù)的語句部分)兩部分組成。 函數(shù)頭給出函數(shù)的特征描述, 包括函數(shù)的屬性、 類型、 名字、 參數(shù)及參數(shù)類型。 如例 1-3 中的求最大值函數(shù)的函數(shù)頭: float max(x, y) float x, y; /*函數(shù)屬性缺省, 函數(shù)類型實型, 函數(shù)名字max, 函數(shù)參數(shù)x, y, 實型*/ (2) 函數(shù)由函數(shù)頭(函數(shù)的說明部分)與函數(shù) 函數(shù)體給出函數(shù)功能實現(xiàn)的數(shù)據描述和操作描述, 是程序中用花括號括起的若干語句。 如
16、例 1 - 1 中的函數(shù)體: printf(C語言程序設計); 函數(shù)體給出函數(shù)功能實現(xiàn)的數(shù)據描述和操作描例1-3中求兩個數(shù)的最大值函數(shù)max的函數(shù)體: float t; if (xy) t=x; else t=y; return(t);函數(shù)體可以為空,可以沒有數(shù)據描述部分。由此可以給出理論上最小的C語言程序: main() 例1-3中求兩個數(shù)的最大值函數(shù)max的函數(shù)體: 2. 語句 (1) 語句是組成程序的基本單位, 函數(shù)功能的實現(xiàn)由若干條語句完成。說明性語句完成數(shù)據描述, 執(zhí)行性語句完成操作描述。 (2) 語句由若干關鍵字加以標識, 如ifelse語句、dowhile語句等。 (3) C語言
17、本身沒有輸入輸出語句, C語言的輸入輸出操作由scanf函數(shù)和printf函數(shù)等庫函數(shù)完成。 (4) C語言語句必須以分號結束。 2. 語句 3. 其它 1) 預處理命令 C程序開始往往含有以“”開頭的命令, 它們是預處理命令。 如例1-1中includestdio.h, 用以指明包含文件。 2) 程序注釋 在程序中還有以“/*”開始, 以“*/”結束的內容, 它們是程序中的注釋部分, 用以幫助閱讀程序。 3. 其它1.3.2 C程序的書寫 (1) 一行一般寫一條語句。當然一行可以寫多條語句, 一條語句也可以寫在多行上。 (2) 整個程序采用緊縮格式書寫。表示同一層次的語句行對齊, 縮進同樣多
18、的字符位置。如循環(huán)體中的語句要縮進對齊, 選擇體中的語句要縮進對齊。 (3) 花括號的書寫方法較多, 本書采用花括號對齊的書寫方式, 左邊花括號處于第一條語句的開始位置, 右邊花括號獨占一行, 與左邊花括號對齊。 (4) 在程序中恰當?shù)厥褂每招校?分隔程序中的語句塊, 增加程序的可讀性。 1.3.2 C程序的書寫 (1) 一行一般寫1.4 C程序的實現(xiàn) 1.4.1 實現(xiàn)步驟 C程序在計算機上的實現(xiàn)與其它高級語言程序的實現(xiàn)一樣, 一般要經過編輯、編譯、連接、運行四個步驟,如圖1-1 所示。 圖 1 - 1 1.4 C程序的實現(xiàn) 1.4.1 實現(xiàn)步驟 1.4.2 程序的執(zhí)行 C程序的執(zhí)行總是從主函
19、數(shù)main( )開始, 不管主函數(shù)在程序中什么位置。其它函數(shù)通過被調用執(zhí)行。函數(shù)中的語句依先后順序執(zhí)行, 除非改變了程序的執(zhí)行流程。1.4.2 程序的執(zhí)行 C程序的執(zhí)行總是從1.4.3 TURBO C上機操作 1啟動Turbo C 只需執(zhí)行TC.EXE文件,即可啟動Turbo C,進入Turbo C的操作界面。 TC是DOS程序,現(xiàn)在一般運行在Windows下的DOS環(huán)境。 如需使用中文,還需先將計算機置于中文操作系統(tǒng)管理下。 用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主操作界面由主菜單區(qū)、編輯窗口區(qū)、信息窗口區(qū)及熱鍵區(qū)四部分組成。 Turbo C的操作采用菜單驅動,主菜單包括File(文件操作)、Edit(編輯操作)、Run(運行操作)、Complie(編譯操作)、Project(工程文件)、Options(編譯選擇)及Debug(跟蹤排錯)各項。 熱鍵區(qū)提供常用操作的快速功能鍵方式,如F1(幫助)、F2(保存文件)、F3(裝入文件)、F5(縮放窗口)、F6(切換窗口)、Alt+F5(用戶屏幕)、Alt+X(退出Turbo C)等。 1) 主操作界面 2) 主
21、窗口 當前操作窗口為主窗口(工作窗口), 主窗口為雙線框表示, 按F6可切換主窗口, 按F5可縮放主窗口。 3) 菜單選擇 方式一: 按F10進入主菜單區(qū), 通過菜單項的大寫字母選擇相應菜單項, 或通過光標控制鍵(、 、 、 )移動高亮度光棒至相應菜單項, 按回車選擇相應菜單項。 方式二: 用熱鍵ALT加相應菜單項的大寫字母, 選擇相應菜單項。 對子菜單項的選擇, 操作方法類似。 2) 主窗口 3. 編輯 編輯在編輯窗口中進行, 有多種方式進入編輯環(huán)境: 方式一: 選擇Edit項。 方式二: 選擇File項的子項New, 用于編輯新程序。 方式三: 選擇File項的子項Load, 裝入要修改的程序, 用于修改程序。 方式四: 啟動時采用快速啟動方式。 TURBO C的編輯操作是Wordstar、WPS等字處理軟件編輯操作的子集, 它與Wordstar、WPS的編輯操作完全類似。 3. 編輯 4. 編譯 TURBO C將編譯、連接一道完成。按熱鍵F9或選擇Compile項進入編譯。編譯時發(fā)生錯誤, 返回編輯步驟,修改程序后, 再編譯程序。 4. 編譯 5. 運行 按熱鍵CTRL+F9或
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經權益所有人同意不得將文件中的內容挪作商業(yè)或盈利用途。
- 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
- 6. 下載文件中如有侵權或不適當內容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 《微波技術總結》課件
- 2022年浙江省嘉興市公開招聘警務輔助人員輔警筆試自考題2卷含答案
- 2023年黑龍江省鶴崗市公開招聘警務輔助人員輔警筆試自考題2卷含答案
- 2021年黑龍江省齊齊哈爾市公開招聘警務輔助人員輔警筆試自考題2卷含答案
- 2024年內蒙古自治區(qū)烏海市公開招聘警務輔助人員輔警筆試自考題2卷含答案
- 《夢想學堂使用手冊》課件
- 經典搞笑句子
- 英語請假條的格式
- 遼寧省本溪市(2024年-2025年小學六年級語文)統(tǒng)編版小升初模擬(上學期)試卷及答案
- 2025年電池化學品項目規(guī)劃申請報告模板
- GB 19272-2024室外健身器材的安全通用要求
- 2024版企業(yè)股權收購并購重組方案合同3篇
- 2024AIGC創(chuàng)新應用洞察報告
- 統(tǒng)編版2024-2025學年三年級上冊語文期末情景試卷(含答案)
- 2024北京通州初三(上)期末數(shù)學試卷(含答案解析)
- 市場營銷習題庫(附參考答案)
- 2024年馬拉松比賽項目合作計劃書
- 2024年演出經紀人資格《思想政治與法律基礎》考前必刷必練題庫500題(含真題、必會題)
- 苗圃購銷合同范本
- 《二十四節(jié)氣融入幼兒園教育活動的個案研究》
- 麻醉與舒適醫(yī)療
評論
0/150
提交評論