C語(yǔ)言入門(mén)基礎(chǔ)_第1頁(yè)
C語(yǔ)言入門(mén)基礎(chǔ)_第2頁(yè)
C語(yǔ)言入門(mén)基礎(chǔ)_第3頁(yè)
C語(yǔ)言入門(mén)基礎(chǔ)_第4頁(yè)
C語(yǔ)言入門(mén)基礎(chǔ)_第5頁(yè)
已閱讀5頁(yè),還剩29頁(yè)未讀 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡(jiǎn)介

會(huì)計(jì)學(xué)1C語(yǔ)言入門(mén)基礎(chǔ)第1章C語(yǔ)言入門(mén)基礎(chǔ)C語(yǔ)言作為國(guó)際上流行的計(jì)算機(jī)高級(jí)語(yǔ)言,能實(shí)現(xiàn)多種功能。為使讀者能夠?qū)語(yǔ)言有一個(gè)全面的認(rèn)識(shí),本章在介紹C語(yǔ)言之前,還簡(jiǎn)單的介紹了很多其他的相關(guān)知識(shí)。計(jì)算機(jī)語(yǔ)言的演變;數(shù)制、數(shù)制轉(zhuǎn)換與存儲(chǔ);程序設(shè)計(jì)思想—算法;C語(yǔ)言的發(fā)展簡(jiǎn)史和特點(diǎn);認(rèn)識(shí)C語(yǔ)言程序;TurboCV2.0的運(yùn)行環(huán)境及基本操作。第1頁(yè)/共34頁(yè)1.1計(jì)算機(jī)語(yǔ)言的演變機(jī)器語(yǔ)言匯編語(yǔ)言到高級(jí)語(yǔ)言面向?qū)ο蠡蛎嫦騿?wèn)題的高級(jí)語(yǔ)言第2頁(yè)/共34頁(yè)1.1.1機(jī)器語(yǔ)言機(jī)器語(yǔ)言是第一代計(jì)算機(jī)語(yǔ)言。計(jì)算機(jī)所使用的是由“0”和“1”組成的二進(jìn)制數(shù),二進(jìn)制是計(jì)算機(jī)的語(yǔ)言的基礎(chǔ),所以也稱(chēng)為二進(jìn)制語(yǔ)言。機(jī)器語(yǔ)言指用機(jī)器碼書(shū)寫(xiě)程序,不易被人們識(shí)別和讀寫(xiě),所以使用機(jī)器語(yǔ)言是十分痛苦的,特別是在程序有錯(cuò)需要修改時(shí),更是如此。而且,由于每臺(tái)計(jì)算機(jī)的指令系統(tǒng)往往各不相同,所以在一臺(tái)計(jì)算機(jī)上執(zhí)行的程序,要想在另一臺(tái)計(jì)算機(jī)上執(zhí)行,必須另編程序,造成了重復(fù)工作。但由于計(jì)算機(jī)能夠直接識(shí)別程序中的指令,故而運(yùn)算效率是所有語(yǔ)言中最高的,這種用二進(jìn)制編寫(xiě)的程序也叫“目標(biāo)程序”。第3頁(yè)/共34頁(yè)1.1.2匯編語(yǔ)言匯編語(yǔ)言又稱(chēng)符號(hào)語(yǔ)言,對(duì)機(jī)器指令進(jìn)行簡(jiǎn)單的符號(hào)化,它也是利用計(jì)算機(jī)所有硬件特性并能直接控制硬件語(yǔ)言。人們?yōu)榱藴p輕使用機(jī)器語(yǔ)言編程的痛苦,對(duì)機(jī)器語(yǔ)言進(jìn)行了一種有益的改進(jìn):用一些簡(jiǎn)潔的英文字母、符號(hào)串來(lái)替代一個(gè)特定的指令的二進(jìn)制串,比如,用“ADD”表示加法,“MOV”表示數(shù)據(jù)傳遞等等,因此,人們就能理解程序所進(jìn)行的操作,方便用戶(hù)對(duì)程序進(jìn)行糾錯(cuò)及維護(hù)。第4頁(yè)/共34頁(yè)1.1.3高級(jí)語(yǔ)言用高級(jí)語(yǔ)言編寫(xiě)的程序稱(chēng)為“源程序”,源程序不能在計(jì)算機(jī)上直接運(yùn)行,必須將其翻譯成二進(jìn)制程序后才能執(zhí)行。翻譯有兩種方式:解釋程序和編譯程序。解釋程序是將一次只讀一行源程序,并執(zhí)行該行語(yǔ)言指定的操作,每次運(yùn)行用戶(hù)程序時(shí),必須要用解釋程序。在程序的開(kāi)發(fā)過(guò)程中,運(yùn)用解釋的方式執(zhí)行程序,便于程序員對(duì)程序進(jìn)行調(diào)試。編譯程序是將源程序全部翻譯成目標(biāo)代碼即二進(jìn)制程序后再執(zhí)行,只讀取一次,節(jié)省了大量的時(shí)間。第5頁(yè)/共34頁(yè)1.1.4面向?qū)ο蠡蛎嫦騿?wèn)題的高級(jí)語(yǔ)言第四代語(yǔ)言是使用第二代第三代語(yǔ)言編制而成的。面向?qū)ο蟮恼Z(yǔ)言是在面向過(guò)程的計(jì)算機(jī)語(yǔ)言的基礎(chǔ)上發(fā)展面來(lái)的,如C++語(yǔ)言就是由C語(yǔ)言發(fā)展面來(lái)的。所謂面向?qū)ο?,就是基于?duì)象的概念,以對(duì)象為中心,類(lèi)和繼承為構(gòu)造機(jī)制,認(rèn)識(shí)了解刻畫(huà)客觀世界以及開(kāi)發(fā)出相應(yīng)的軟件系統(tǒng)。它是把構(gòu)成問(wèn)題事務(wù)分解成各個(gè)對(duì)象,建立對(duì)象的目的不是為了完成一個(gè)步驟,而是為了描述某個(gè)事物在整個(gè)解決問(wèn)題的步驟中的行為。比較典型代表的面向?qū)辰{蟶杓樸镅雜C++、VirtualBasic、Delphi等。第6頁(yè)/共34頁(yè)1.2數(shù)制、數(shù)制轉(zhuǎn)換與存儲(chǔ)數(shù)制數(shù)制轉(zhuǎn)換計(jì)算機(jī)中數(shù)據(jù)的存儲(chǔ)第7頁(yè)/共34頁(yè)1.2.1數(shù)制1.二進(jìn)制數(shù)二進(jìn)制數(shù)由兩個(gè)基本數(shù)字0、1組成,二進(jìn)制數(shù)的運(yùn)算規(guī)律是逢二進(jìn)一。例如:

100101可以寫(xiě)成(100101)2或?qū)懗?00101B。二進(jìn)制數(shù)的加法和乘法運(yùn)算如下:0+0=00+1=1+0=11+1=100*0=00*1=1*0=01×1=1101101100101011000110+第8頁(yè)/共34頁(yè)1.2.1數(shù)制2.八進(jìn)制數(shù)八進(jìn)制是由0~7八個(gè)數(shù)字組成,運(yùn)算規(guī)則是逢8進(jìn)一。例如:八進(jìn)制261寫(xiě)成(261)8、(261)O。第9頁(yè)/共34頁(yè)1.2.1數(shù)制3.十進(jìn)制數(shù)十進(jìn)制數(shù)是我們常用的數(shù)據(jù)表示方法,由0~9十個(gè)數(shù)字組成,運(yùn)算規(guī)則是逢10進(jìn)一。例如:十進(jìn)制126可表示為(126)10、126D、126。第10頁(yè)/共34頁(yè)1.2.1數(shù)制4.十六進(jìn)制數(shù)十六進(jìn)制數(shù)由0~9以及A~F十六個(gè)數(shù)字組成,A~F分別表示十進(jìn)制數(shù)10~15,運(yùn)算規(guī)則是逢16進(jìn)一。通常在表示進(jìn)用例如:(1FA)16、(1FA)H第11頁(yè)/共34頁(yè)注意在C語(yǔ)言程序中十六進(jìn)制需要以0x開(kāi)頭八進(jìn)制需要以0開(kāi)頭,例如:

0123表示八進(jìn)制的1230x123表示十六進(jìn)制的123第12頁(yè)/共34頁(yè)1.2.2數(shù)制的轉(zhuǎn)換1.二進(jìn)制、八進(jìn)制、十六進(jìn)制轉(zhuǎn)換成十進(jìn)制規(guī)則:數(shù)碼乘以各自的權(quán)的累加【例1-1】其他進(jìn)制轉(zhuǎn)換成十進(jìn)制。(10001)B=24+20=16+1=17(101.01)B=22+20+2-2=4+1+0.25=5.25(011)O=81+80=8+1=9(72)O=7*81+2*80=7*8+2*1=58(112A)H=1*163+1*162+2*161+10*160=4394第13頁(yè)/共34頁(yè)1.2.2數(shù)制的轉(zhuǎn)換2.十進(jìn)制轉(zhuǎn)換成二進(jìn)制、八進(jìn)制、十六進(jìn)制規(guī)則:整數(shù)部分:除以進(jìn)制取余數(shù),直到商為0,余數(shù)從下到上排列。小數(shù)部分:乘以進(jìn)制取整數(shù),得到的整數(shù)從上到下排列。第14頁(yè)/共34頁(yè)【例1-2】十進(jìn)制轉(zhuǎn)換成其他進(jìn)制。(1)十進(jìn)制20.345轉(zhuǎn)換成二進(jìn)制20.345D=10100.01011B整數(shù)部分:20/2=10----余010/2=5----余05/2=2----余12/2=1----余01/2=0----余1小數(shù)部分:0.345*2=0.69----取整數(shù)00.69*2=1.38----取整數(shù)10.38*2=0.76----取整數(shù)00.76*2=1.52----取整數(shù)10.52*2=1.04----取整數(shù)1第15頁(yè)/共34頁(yè)【例1-2】十進(jìn)制轉(zhuǎn)換成其他進(jìn)制。(2)十進(jìn)制100轉(zhuǎn)換成八進(jìn)制、十六進(jìn)制100/8=12----余412/8=1----余41/8=0----余1100D=144O100/16=6----余46/16=0----余6100D=64H第16頁(yè)/共34頁(yè)1.2.2數(shù)制的轉(zhuǎn)換3.二進(jìn)制轉(zhuǎn)換八進(jìn)制規(guī)則:整數(shù)部分:從右向左按三位進(jìn)行分組,不足補(bǔ)零。小數(shù)部分:從左向右按三位進(jìn)行分組,不足補(bǔ)零?!纠?-3】將二進(jìn)制數(shù)(1101101110.110101)2轉(zhuǎn)換成八進(jìn)制數(shù)。001

101

101

110.110

101155665(1101101110.110101)2=(1555.65)8第17頁(yè)/共34頁(yè)1.2.2數(shù)制的轉(zhuǎn)換4.二進(jìn)制轉(zhuǎn)換成十六進(jìn)制規(guī)則:整數(shù)部分:從右向左按四位進(jìn)行分組,不足補(bǔ)零。小數(shù)部分:從左向右按四位進(jìn)行分組,不足補(bǔ)零。【例1-4】將二進(jìn)制數(shù)(001101101110.110101)2轉(zhuǎn)換成十六進(jìn)制數(shù)。0011

0110

1110.1101

010036ED4(001101101110.110101)2=(36.ED4)16第18頁(yè)/共34頁(yè)1.2.2數(shù)制的轉(zhuǎn)換5.八進(jìn)制、十六進(jìn)制轉(zhuǎn)換成二進(jìn)制規(guī)則:一位八進(jìn)制對(duì)應(yīng)三位二進(jìn)制。一位十六進(jìn)制對(duì)應(yīng)四位二進(jìn)制?!纠?-5】八進(jìn)制、十六進(jìn)制轉(zhuǎn)換成二進(jìn)制。(136)8=(001

011

110)2(17A)16=(0001

0111

1010)2

13617A第19頁(yè)/共34頁(yè)1.2.3計(jì)算機(jī)中數(shù)據(jù)的存儲(chǔ)如表示:比較一下1與-1的原碼、反碼和補(bǔ)碼。第20頁(yè)/共34頁(yè)

1.3程序設(shè)計(jì)思想—算法在我們遇到問(wèn)題的時(shí)候,我們首先在大腦中形成一種解題思路,然后再根據(jù)可行的思路運(yùn)用具體的步驟解決問(wèn)題。在程序設(shè)計(jì)中,也需要有一種編程思路,這就是算法。第21頁(yè)/共34頁(yè)1.3.1算法的概念在程序設(shè)計(jì)中,算法應(yīng)該能夠離散成具體的若干個(gè)操作步驟,而且每一個(gè)步驟都是能夠用程序設(shè)計(jì)語(yǔ)言提供的語(yǔ)句或者語(yǔ)句串來(lái)完成的。例如,求二個(gè)整數(shù)中的最大的數(shù)。解決這個(gè)問(wèn)題的算法如下:第1步開(kāi)始。第2步輸入二個(gè)整數(shù)a、b。第3步比較a、b的大小,如果a>b時(shí),輸出a,否則輸出b。第4步結(jié)束。需要注意的是,程序是有開(kāi)始和結(jié)束的,所以算法必須有“開(kāi)始”和“結(jié)束”這兩個(gè)步驟。第22頁(yè)/共34頁(yè)1.3.2算法的特點(diǎn)算法具有以下五個(gè)重要的特征:1.有窮性2.確定性3。有效性4.輸入5.輸出第23頁(yè)/共34頁(yè)1.3.3算法的表示方法1.自然語(yǔ)言【例1-6】用自然語(yǔ)言描述100以?xún)?nèi)正整數(shù)的和。1.設(shè)S代表總和,N代表正整數(shù);2.S=0,N=1;3.S=S+N,原來(lái)的和加上一個(gè)正整數(shù);4.N=N+1,把下一個(gè)正整數(shù)賦給N;5.判斷N是否小于100,如果是跳轉(zhuǎn)到步驟3,否則跳轉(zhuǎn)到步驟6;6.輸出S的值。第24頁(yè)/共34頁(yè)1.3.3算法的表示方法2.流程圖

常用流程圖構(gòu)件第25頁(yè)/共34頁(yè)第26頁(yè)/共34頁(yè)1.3.3算法的表示方法3.偽代碼將上述【例1-6】用偽代碼描述表示如下:①N←1;②S←0;③dowhileN≤100④{S←S+N;N←N+1;}⑤printS第27頁(yè)/共34頁(yè)1.3.3算法的表示方法4.N-S圖(1)順序結(jié)構(gòu)N-S圖(2)選擇結(jié)構(gòu)N-S圖(3)循環(huán)結(jié)構(gòu)N-S圖第28頁(yè)/共34頁(yè)第29頁(yè)/共34頁(yè)1.3.4算法分析什么樣的算法才是一個(gè)好的算法呢?通常從下列幾個(gè)方面衡量算法的優(yōu)劣:1.正確性2.可讀性3.健壯性4.時(shí)間復(fù)雜度與空間復(fù)雜度T(n)=O(f(n))S(n)=O(f(n))第30頁(yè)/共34頁(yè)1.4C語(yǔ)言的發(fā)展簡(jiǎn)史和特點(diǎn)C語(yǔ)言能夠快速發(fā)展成為最受歡迎的語(yǔ)言之一,主要是因?yàn)樗哂袕?qiáng)大的功能。它既有高級(jí)語(yǔ)言的特點(diǎn),又具有匯編語(yǔ)言的特點(diǎn),它可以作為工作系統(tǒng)設(shè)計(jì)語(yǔ)言,編寫(xiě)系統(tǒng)應(yīng)用程序,也可以作為應(yīng)用程序設(shè)計(jì)語(yǔ)言,編寫(xiě)不依賴(lài)計(jì)算機(jī)硬件的應(yīng)用程序。第31頁(yè)/共34頁(yè)1.4.1C語(yǔ)言的誕生與發(fā)展1972年,貝爾實(shí)驗(yàn)室D.M.Ritchie設(shè)計(jì)出C語(yǔ)言,當(dāng)時(shí)KenThompson剛剛使用匯編語(yǔ)言和B語(yǔ)言開(kāi)發(fā)出UNIX操作系統(tǒng),但用匯編語(yǔ)言開(kāi)發(fā)系統(tǒng)非常煩瑣,于是D.M.Ritchie用C語(yǔ)言改寫(xiě)UNIX系統(tǒng)的內(nèi)核。1977年DennisM.Ritchie發(fā)表了不依賴(lài)于具體機(jī)器系統(tǒng)的C語(yǔ)言編譯文本《可移植的C語(yǔ)言編譯程序》。1978年由美國(guó)電話(huà)電報(bào)公司(AT&T)貝爾實(shí)驗(yàn)室正式發(fā)布C語(yǔ)言。同由B.W.Kernighan和D.M.Ritchie共同完成的了著名的《TheCProgrammingLanguage》一書(shū),通常簡(jiǎn)稱(chēng)為《K&R》1983年,美國(guó)國(guó)家標(biāo)準(zhǔn)化協(xié)會(huì)(ANSI)根據(jù)C語(yǔ)言問(wèn)世以來(lái)各種版本對(duì)C語(yǔ)言的發(fā)展和擴(kuò)充,制定了ANSIC標(biāo)準(zhǔn)。1990年,國(guó)際標(biāo)準(zhǔn)化組織ISO(InternationalOrganizationforStandards)接受了89ANSIC為ISOC的標(biāo)準(zhǔn)(ISO9899-1990)。目前c語(yǔ)言在世界范圍內(nèi)都是相當(dāng)流行的高級(jí)語(yǔ)言。C語(yǔ)言最初是為了描述和實(shí)現(xiàn)unix系統(tǒng)的,但隨著c語(yǔ)

溫馨提示

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

評(píng)論

0/150

提交評(píng)論