lh-01 C語言概述.ppt_第1頁
lh-01 C語言概述.ppt_第2頁
lh-01 C語言概述.ppt_第3頁
lh-01 C語言概述.ppt_第4頁
lh-01 C語言概述.ppt_第5頁
已閱讀5頁,還剩37頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡介

1、C程序設(shè)計(jì),第1講 C 語言概述,提 綱,編程語言分類 C 語言簡介 程序設(shè)計(jì)的基本概念 簡單 C 程序介紹 程序設(shè)計(jì)的基本流程 小結(jié),開篇:編程語言的分類,編程語言經(jīng)歷了漫長的發(fā)展道路,下面就編程語言的分類和發(fā)展作一簡要介紹。,按發(fā)展歷程分類,機(jī)器語言: 計(jì)算機(jī)直接識別的語言,這種語言使用代碼。 匯編語言: 屬于低級語言,使用助記符號代替。匯編語言需要編譯后機(jī)器才能識別。效率高,難記。 高級語言: 采用命令或者語句的語言。例如C,C+,Java,Pascal,Basic等。,按執(zhí)行方式分類,編譯執(zhí)行語言 編譯執(zhí)行是在編寫完程序以后,通過特定的工具軟件將源程序轉(zhuǎn)換成可執(zhí)行程序,直接交由操作系統(tǒng)

2、執(zhí)行,即程序作為一個(gè)整體執(zhí)行。例如C,C+語言。 解釋執(zhí)行語言 解釋執(zhí)行是程序讀入一句執(zhí)行一句,而不需要整體編譯鏈接。例如Java,Basic語言。,按軟件設(shè)計(jì)方法分類,面向過程的程序設(shè)計(jì)語言 面向過程的程序設(shè)計(jì)語言注重?cái)?shù)據(jù)結(jié)構(gòu)和算法,研究采用什么樣的數(shù)據(jù)結(jié)構(gòu)描述問題,采用什么樣的算法來高效解決問題。例如Basic,Fortran,Pascal,C 等。 面向?qū)ο蟮某绦蛟O(shè)計(jì)語言 面向?qū)ο笠砸环N更接近人類一般思維的方式去看待世界,將世界上的任何一個(gè)個(gè)體看作一個(gè)對象。提高程序的重用性。例如Java,Smalltalk,C+等。,1.1 C語言出現(xiàn)的歷史背景,C語言是國際上廣泛流行的計(jì)算機(jī)高級語言,

3、既可用來寫系統(tǒng)軟件,也可用來寫應(yīng)用軟件。,1.1 C語言出現(xiàn)的歷史背景,C 語言簡史 Ritchie 而強(qiáng)調(diào)靈活,就必然放松限制。一個(gè)不熟練的編程人員,編一個(gè)正確的C程序可能會比編一個(gè)其他高級語言程序難一些。也就是說,對用C語言的人,要求對程序設(shè)計(jì)更熟練一些。,1.2 C語言的特點(diǎn),(6) C語言能進(jìn)行位(bit)操作,能實(shí)現(xiàn)匯編語言的大部分功能,可以直接對硬件進(jìn)行操作。因此C既具有高級語言的功能,又具有低級語言的許多功能,可用來寫系統(tǒng)軟件。C語言的這種雙重性,使它既是成功的系統(tǒng)描述語言,又是通用的程序設(shè)計(jì)語言。,1.3程序設(shè)計(jì)的基本概念,1.3 程序設(shè)計(jì)的基本概念,程 序 一系列遵循一定規(guī)則

4、并能正確完成特定功能的代碼或指令序列 通常包括數(shù)據(jù)結(jié)構(gòu)與算法兩部分 程序設(shè)計(jì)與程序設(shè)計(jì)語言 程序設(shè)計(jì):按照任務(wù)需要,設(shè)計(jì)數(shù)據(jù)結(jié)構(gòu)與算法,編寫代碼并測試其正確性,得到正確運(yùn)行結(jié)果的過程 程序設(shè)計(jì)方法學(xué):程序設(shè)計(jì)應(yīng)遵循一定的方法與原則,養(yǎng)成良好的編程風(fēng)格 程序設(shè)計(jì)語言:編寫程序代碼的規(guī)范,具有特定的語法規(guī)則、意義與使用環(huán)境,1.3 程序設(shè)計(jì)的基本概念,算 法 問題的求解方法與步驟 不允許存在二義性 算法設(shè)計(jì)過程是逐步求精的 常使用流程圖描述算法 數(shù)據(jù)與數(shù)據(jù)結(jié)構(gòu) 數(shù)據(jù):程序操作的對象 數(shù)據(jù)結(jié)構(gòu):數(shù)據(jù)對象之間的相互關(guān)系及構(gòu)造方法 與算法關(guān)系密切,良好的數(shù)據(jù)結(jié)構(gòu)可使算法更簡單,恰當(dāng)?shù)乃惴墒箶?shù)據(jù)結(jié)構(gòu)更易

5、理解,1.4 簡單的C程序介紹,下面先介紹幾個(gè)簡單的C程序,然后從中分析C程序的特性。,1.4 簡單的C程序介紹,例1.1 編寫程序,顯示字符串 Hello World!,#include int main() printf( Hello World!n ); return 0; ,主函數(shù)的函數(shù)頭,全局惟一,預(yù)編譯指令,包含標(biāo)準(zhǔn)頭文件,函數(shù)體,花括號內(nèi)為語句序列,標(biāo)準(zhǔn)庫函數(shù),在輸出設(shè)備(一般為屏幕)上輸出一行文本 函數(shù)調(diào)用,需要了解該函數(shù)原型,即函數(shù)如何使用的細(xì)節(jié)信息;printf 函數(shù)原型位于stdio.h中,故需包含該頭文件 雙引號內(nèi)為字符串內(nèi)容;n為轉(zhuǎn)義字符,表示換行 分號表示語句結(jié)束,

6、函數(shù)結(jié)束執(zhí)行,程序退出,1.4 簡單的C程序介紹,例 1.2 main ( )/*求兩數(shù)之和*/ int a,b,sum; /*這是定義變量*/ a=123; b=456; /* 以下3行為C語句 */ sum=a+b; printf (sum is %d/n, sum); ,1.4 簡單的C程序介紹,例1.3 main ( )/* 主函數(shù)*/ int a, b, c; /*聲明部分,定義變量*/ scanf (“%d,%d”, /*輸出c的值*/ ,1.4 簡單的C程序介紹,int max(int x,int y) /* 定義max函數(shù),函數(shù)值為整型, 形式參數(shù)x,y為整型*/ int z;

7、 /* max函數(shù)中的聲明部分,定義本函數(shù)中用到的變量z為整型*/ if (xy) z=x; else z=y; return (z); /*將z的值返回,通過max帶回調(diào)用處*/ ,1.4 簡單的C程序介紹,通過以上幾個(gè)例子,可以看到: (1) C程序是由函數(shù)構(gòu)成的。一個(gè)C源程序至少包含一個(gè)main函數(shù),也可以包含一個(gè)main函數(shù)和若干個(gè)其他函數(shù)。因此,函數(shù)是C程序的基本單位。被調(diào)用的函數(shù)可以是系統(tǒng)提供的庫函數(shù)(例如printf和scanf函數(shù)),也可以是用戶根據(jù)需要自己編制設(shè)計(jì)的函數(shù)(例如,例1.3中的max函數(shù))。C的函數(shù)相當(dāng)于其他語言中的子程序,用函數(shù)來實(shí)現(xiàn)特定的功能。程序中的全部工作

8、都是由各個(gè)函數(shù)分別完成的。編寫C程序就是編寫一個(gè)個(gè)函數(shù)。C的函數(shù)庫十分豐富,ANSI C建議的標(biāo)準(zhǔn)庫函數(shù)中包括100多個(gè)函數(shù),Turbo C和MS C 4.0提供300多個(gè)庫函數(shù)。C的這種特點(diǎn)使得容易實(shí)現(xiàn)程序的模塊化。,1.3 簡單的C程序介紹,(2) 一個(gè)C程序總是從main函數(shù)開始執(zhí)行的,而不論main函數(shù)在整個(gè)程序中的位置如何(main函數(shù)可以放在程序最前頭,也可以放在程序最后,或在一些函數(shù)之前,在另一些函數(shù)之后)。 (3) C程序書寫格式自由,一行內(nèi)可以寫幾個(gè)語句, 一個(gè)語句可以分寫在多行上。C程序沒有行號,也不像FORTRAN或COBOL那樣嚴(yán)格規(guī)定書寫格式(語句必須從某一列開始書寫

9、)。,1.3 簡單的C程序介紹,(4) 每個(gè)語句和數(shù)據(jù)定義的最后必須有一個(gè)分號。分號是C語句的必要組成部分。例如: c=a+b; 分號不可少。即使是程序中最后一個(gè)語句也應(yīng)包含分號(這是和PASCAL語言不同的)。,1.3 簡單的C程序介紹,(6) C語言本身沒有輸入輸出語句。輸入和輸出的操作是由庫函數(shù)scanf和printf等函數(shù)來完成的。C對輸入輸出實(shí)行“函數(shù)化”。由于輸入輸出操作牽涉到具體的計(jì)算機(jī)設(shè)備,把輸入輸出操作放在函數(shù)中處理,就可以使C語言本身的規(guī)模較小,編譯程序簡單,很容易在各種機(jī)器上實(shí)現(xiàn),程序具有可移植性。當(dāng)然,不同的C語言系統(tǒng)需要對函數(shù)庫中的函數(shù)作不同的處理。不同的C系統(tǒng)除了提

10、供函數(shù)庫中的標(biāo)準(zhǔn)函數(shù)外,還按照硬件的情況提供一些專門的函數(shù)。因此不同的系統(tǒng)所提供的函數(shù)個(gè)數(shù)和功能是有所不同的。 (7) 可以用/*/對C程序中的任何部分作注釋。一個(gè)好的、有使用價(jià)值的源程序都應(yīng)當(dāng)加上必要的注釋,以增加程序的可讀性。,C 程序結(jié)構(gòu)特點(diǎn),由一個(gè)或多個(gè)函數(shù)組成 具有惟一一個(gè)主函數(shù) main 程序執(zhí)行由主函數(shù)開始,其他函數(shù)由主函數(shù)調(diào)用或間接調(diào)用 程序執(zhí)行流程與函數(shù)定義順序無關(guān) 每個(gè)函數(shù)包含函數(shù)頭與函數(shù)體兩部分 C 標(biāo)準(zhǔn)庫包含大量庫函數(shù),程序員可直接使用 庫函數(shù)原型位于相應(yīng)頭文件中,使用函數(shù)前必須包含該頭文件,1.5 C程序的上機(jī)步驟,我們已經(jīng)看到了一些用C語言編寫的程序。為了使計(jì)算機(jī)能

11、按照人們的意志進(jìn)行工作,必須根據(jù)問題的要求,編寫出相應(yīng)的程序。,1.5 C程序的上機(jī)步驟,所謂程序,就是一組計(jì)算機(jī)能識別和執(zhí)行的指令。每一條指令使計(jì)算機(jī)執(zhí)行特定的操作。程序可以用高級語言(例如QBASIC,F(xiàn)ORTRAN,PASCAL,C等)編寫。用高級語言編寫的程序稱為“源程序”(source program)。從根本上說,計(jì)算機(jī)只能識別和執(zhí)行由0和1組成的二進(jìn)制的指令,而不能識別和執(zhí)行用高級語言寫的指令。為了使計(jì)算機(jī)能執(zhí)行高級語言源程序,必須先用一種稱為“編譯程序”的軟件,把源程序翻譯成二進(jìn)制形式的“目標(biāo)程序”, 然后將該目標(biāo)程序與系統(tǒng)的函數(shù)庫和其他目標(biāo)程序連接起來,形成可執(zhí)行的目標(biāo)程序。

12、,程序設(shè)計(jì)的基本流程,圖1.1,1.4 C程序的上機(jī)步驟,用Microsoft VC+ 6.0編譯程序運(yùn)行C程序的步驟: 1、打開開發(fā)環(huán)境 開始-程序-Microsoft Visual Studio 6.0 -Microsoft Visual C+ 6.0 2、創(chuàng)建工程 File -New-Projects-Win32 Console Application - 然后選擇一個(gè)工作路徑(例如d:liuhui)-填寫工程名稱(例如Test)-點(diǎn)擊OK按鈕-在新彈出的窗口上選擇第一項(xiàng),即創(chuàng)建一個(gè)空工程-點(diǎn)擊OK按鈕。這樣你可以看到d:liuhuitest目錄在你的機(jī)器上。 3、創(chuàng)建源程序文件 File -New -Files -C+ Source File -選擇正確的工程-填寫文件名,并且選中“add to Project” 選項(xiàng)-點(diǎn)擊OK。

溫馨提示

  • 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)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

最新文檔

評論

0/150

提交評論