C語言程序設(shè)計(jì):chapter01 C語言概述_第1頁(yè)
C語言程序設(shè)計(jì):chapter01 C語言概述_第2頁(yè)
C語言程序設(shè)計(jì):chapter01 C語言概述_第3頁(yè)
C語言程序設(shè)計(jì):chapter01 C語言概述_第4頁(yè)
C語言程序設(shè)計(jì):chapter01 C語言概述_第5頁(yè)
已閱讀5頁(yè),還剩24頁(yè)未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡(jiǎn)介

1、第一章 C語言概述本章內(nèi)容提要1.1 C語言發(fā)展的歷史背景1.2 C語言特點(diǎn)1.3 簡(jiǎn)單的C程序介紹1.4 C程序上機(jī)步驟1.1 C語言發(fā)展的歷史背景一.程序設(shè)計(jì)語言的發(fā)展機(jī)器語言匯編語言高級(jí)語言面向過程面向?qū)ο驝PU指令系統(tǒng),由0、1序列構(gòu)成的指令碼組成如:10000000 10010000用助記符號(hào)描述的指令系統(tǒng)如 ADD A, B必須按照算法逐條語句編寫,通知計(jì)算機(jī)一步一步該怎么做,如: C語言客觀世界可以分類,對(duì)象是類的實(shí)例,對(duì)象間通過發(fā)送和接受消息發(fā)生聯(lián)系。程序設(shè)計(jì)關(guān)鍵是定義類,并由類派生對(duì)象,如:C+面向機(jī)器的語言,可讀性,可移植性差可讀性及可移植性好,但難于直接對(duì)計(jì)算機(jī)硬件進(jìn)行操

2、作C語言是國(guó)際上廣泛流行的高級(jí)語言。C語言是在B語言的基礎(chǔ)上發(fā)展起來的。B (BCPL)語言是1970年由美國(guó)貝爾實(shí)驗(yàn)室設(shè)計(jì)的, 并用于編寫了第一個(gè)UNIX操作系統(tǒng),在PDP 7上實(shí)現(xiàn)。優(yōu)點(diǎn):精練,接近硬件,缺點(diǎn):過于簡(jiǎn)單,數(shù)據(jù)無類型。 1973年貝爾實(shí)驗(yàn)室的D.M.Ritchie 在B語言的基礎(chǔ)上設(shè)計(jì)出了C語言,對(duì)B取長(zhǎng)補(bǔ)短,并用之改寫了原來用匯編編寫的UNIX,(即UNIX第5版),但僅在貝爾實(shí)驗(yàn)室使用。二. C語言的發(fā)展1983年,美國(guó)國(guó)家標(biāo)準(zhǔn)化協(xié)會(huì)(ANSI)根據(jù)C語言各種版本對(duì)C的發(fā)展和擴(kuò)充,制定了新的標(biāo)準(zhǔn)ANSI C ,比標(biāo)準(zhǔn)C有了很大的發(fā)展。1988年K & R按照 ANSI C

3、修改了他們的The C Programming Language。1987年,ANSI公布了新標(biāo)準(zhǔn)87 ANSI C。1990年,國(guó)際標(biāo)準(zhǔn)化組織接受了87 ANSI C為ISO C 的標(biāo)準(zhǔn)(ISO98991990)。1994年,ISO又修訂了C語言標(biāo)準(zhǔn)。目前流行的C語言編譯系統(tǒng)大多是以ANSI C為基礎(chǔ)進(jìn)行開發(fā)的。二. C語言的發(fā)展說明: 不同版本的C編譯系統(tǒng)所實(shí)現(xiàn)的語言功能和語法規(guī)則又略有差別 。本教材的敘述基本上以ANSI C 為基礎(chǔ)。二. C語言的發(fā)展1.2 C語言特點(diǎn)1.語言簡(jiǎn)潔、緊湊,使用方便、靈活; 2.豐富的運(yùn)算符,可以構(gòu)造多樣化; 的表達(dá)式,把括號(hào)、賦值等作為運(yùn) 算符處理;3.

4、數(shù)據(jù)結(jié)構(gòu)豐富,具有現(xiàn)代語言的各種數(shù)據(jù)結(jié)構(gòu);4.具有結(jié)構(gòu)化的控制語句;5.語法限制不太嚴(yán)格,程序設(shè)計(jì)自由度大。1.2 C語言特點(diǎn)6. 允許直接訪問物理地址,能進(jìn)行位操作,能實(shí)現(xiàn)匯編語言的大部分功能,可直接對(duì)硬件進(jìn)行操作。兼有高級(jí)和低級(jí)語言的特點(diǎn) 。7. 目標(biāo)代碼質(zhì)量高,程序執(zhí)行效率高。只比匯編程序生成的目標(biāo)代碼效率低10-20%。8.程序可移植性好(與匯編語言比)?;旧喜蛔鲂薷木湍苡糜诟鞣N型號(hào)的計(jì)算機(jī)和各種操作系統(tǒng)。 1.2 語言的特點(diǎn)解釋1:C+是由于開發(fā)大型應(yīng)用軟件的需要而產(chǎn)生的,并不是所有的人都要去編寫大型軟件。解釋2:面向?qū)ο蟮幕A(chǔ)是面向過程。C+是面向?qū)ο蟮恼Z言,C是面向過程的,學(xué)起

5、來比C語言困難得多,所以不太適合程序設(shè)計(jì)的初學(xué)者。問題:既然有了面向?qū)ο蟮腃+語言,為什么還要學(xué)習(xí)C語言? 1.3 簡(jiǎn)單的C語言程序介紹#include void main( ) printf ( programming is fun!n ); /*文件包含*/*主函數(shù) */*函數(shù)體開始*/*輸出語句*/*函數(shù)體結(jié)束*/ 說明: main-主函數(shù)名, void-函數(shù)類型每個(gè)C程序必須有一個(gè)主函數(shù)main 是函數(shù)開始和結(jié)束的標(biāo)志,不可省每個(gè)C語句以分號(hào)結(jié)束使用標(biāo)準(zhǔn)庫(kù)函數(shù)時(shí)應(yīng)在程序開頭一行寫: #include /*例1.1 在屏幕上顯示 :Programming is fun!*/#includ

6、e void main() printf(programming is fun!n);printf( And programming in C is even more fun! n); /*例1.2 在屏幕上顯示 :Programming is fun!And programming in C is even more fun!*/編譯預(yù)處理命令#include void main() int a,b,sum; a=12; b=34; sum=a+b; printf(Sum is %d.n,sum);/* 定義了三個(gè)整型變量*/* 把12賦值給變量a */* 把a(bǔ)+b的和賦值給sum */*

7、例1.3 計(jì)算并顯示兩個(gè)數(shù)的和*/* 把34賦值給變量b */#include void main() int a,b,sum; a=12; b=34; sum=a+b; printf(%d+%d= %d.n,a,b, sum);/* 定義了三個(gè)整型變量*/* 把12賦值給變量a */* 把a(bǔ)+b的和賦值給sum */*例1.4 計(jì)算兩個(gè)數(shù)的和,用算式的形式顯示*/* 把34賦值給變量b */#include void main() int a,b,sum; printf(Please input two numbers:n);/*輸入提示*/scanf(%d%d,&a, &b); /*讀入兩

8、個(gè)數(shù)*/ sum=a+b; printf(d+%d= %d.n,a,b, sum);/*例1.5 輸入兩個(gè)數(shù)求和,用算式的形式顯示*/說明: /*/表示注釋。注釋只是給讀程序人看的,對(duì)編譯和運(yùn)行不起作用。所以可以用漢字或英文字符表示,可以出現(xiàn)在一行中的最右側(cè),也可以單獨(dú)成為一行。例1.6#include void main() int a,b,c; printf(“Please input two numbers:n”); scanf(%d,%d,&a,&b) ; c=max(a,b); printf(max = %d.n,c); /* 主函數(shù) */* 調(diào)用max()函數(shù) */* 定義求最大值

9、函數(shù) */int max(int x,int y) int z; if (xy) z=x; else z=y; return (z); 說明:本程序包括main和被調(diào)用函數(shù)max兩個(gè)函數(shù)。max函數(shù)的作用是將x和y中較大者的值賦給變量z。return語句將z的值返回給主調(diào)函數(shù)main。程序特點(diǎn):變量習(xí)慣用小寫字母,不使用行號(hào),無程序行概念可使用空行和空格常用鋸齒形書寫格式用“;”作為語句終止符注釋/* */不能嵌套void main( ) int i , j , sum; sum=0; for(i=1; i10;i+) for(j=1;j10;j+) sum+=i*j ; printf(%dn

10、,sum); 1.3 簡(jiǎn)單的C語言程序介紹C程序:(1) C程序是由函數(shù)構(gòu)成的。 這使得程序容易實(shí)現(xiàn)模塊化。 (2) 一個(gè)函數(shù)由兩部分組成: 函數(shù)的首部:例1.6中的max函數(shù)首部 int max(int x,int y ) 函數(shù)體:花括號(hào)內(nèi)的部分。若一個(gè)函數(shù)有多個(gè)花括號(hào),則最外層的一對(duì)花括號(hào)為函數(shù)體的范圍。 函數(shù)體包括兩部分 :聲明部分:int a,b,c; 可缺省執(zhí)行部分:由若干個(gè)語句組成。可缺省 1.3 簡(jiǎn)單的C語言程序介紹注意:函數(shù)的聲明部分和執(zhí)行部分都可缺省,例如:void dump ( ) 這是一個(gè)空函數(shù),什么也不做,但是合法的函數(shù)。 判斷1.一個(gè)C源程序由一個(gè)或多個(gè)函數(shù)組成.2.

11、C程序的基本結(jié)構(gòu)是函數(shù).3.C程序總是從main函數(shù)開始執(zhí)行,到main函數(shù)結(jié)束. 4.在一個(gè)C程序中, main函數(shù)的位置可以任意.5.一個(gè)C程序必須有且只能有一個(gè)主函數(shù).6. /*It is the main /* of example1.1*/ */./合7法叼 1.3 簡(jiǎn)單的C語言程序介紹 7.C程序中的函數(shù)可以是系統(tǒng)提供的庫(kù) 函數(shù),也可以是自定義函數(shù). 8.C程序書寫自由,一行內(nèi)可以寫多個(gè)語句,而一個(gè)語句也可以寫在多行內(nèi). 程序代碼的錄入,生成源程序*.cpp編輯連接編譯執(zhí)行1.4 C程序的上機(jī)步驟一.C程序的開發(fā)步驟語法分析查錯(cuò),翻譯生成目標(biāo)程序*.obj庫(kù)連接裝配,生成可執(zhí)行程序

12、*.exeC 語言上機(jī)過程源程序 test.cpp test.obj 可執(zhí)行代碼 test.exe編譯連接 運(yùn)行采用Visual C+集成開發(fā)環(huán)境 Visual C+6.0集成環(huán)境介紹見C程序設(shè)計(jì)(第四版)學(xué)習(xí)輔導(dǎo) P223頁(yè)。P15 習(xí)題5, 6, 7 作業(yè)32個(gè)關(guān)鍵字:(由系統(tǒng)定義,不能重作其它定義)auto break case char constcontinue default do double elseenum extern float for gotoif int long register returnshort signed sizeof static structswitch typedef unsigned union voidvolatile while9種控制語句:if( )elsefor( )while( )dowhile( )continuebreakswitchgotoreturn34種運(yùn)算符:算術(shù)運(yùn)算符:+ - * / % + -關(guān)系運(yùn)算符: = !=邏輯運(yùn)算符:! & |位運(yùn)算符 : | &賦值運(yùn)算

溫馨提示

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

評(píng)論

0/150

提交評(píng)論