




版權說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權,請進行舉報或認領
文檔簡介
1、第1章c語言概述 1.1 程序設計語言與C語言1.2 C語言程序的開發(fā)環(huán)境1.3 C語言詞匯第1頁,共39頁。1.1.1程序設計語言的發(fā)展什么是計算機語言?為什么要使用計算機語言?過去,我們一提到語言自然就會想到像英語、漢語等這樣的自然語言,因為他是人與人互相交流信息不可缺少的工具。而今天,計算機遍布于我們生活的每一個角落,除了我們?nèi)伺c人之間互相交流外,我們還必須和計算機交流。用什么樣的方式和計算機做最直接的交流呢?人們自然1.1程序設計語言與C語言第2頁,共39頁。會想到用最古老和最便捷的方式語言。人和人交流用的是雙方都能聽懂的自然語言,同樣,人和計算機交流也要用人和計算機都容易接受和理解的
2、語言,這個語言就是計算機語言。我們使用計算機語言就是要把我們的意圖表達給計算機,其目的就是使用計算機。1.1程序設計語言與C語言第3頁,共39頁。程序既然要說程序設計語言,自然要說說“程序”這個詞。大家在計算機基礎科目中應該了解,計算機它是一種具有內(nèi)部存儲能力并且具有運算的能力,它的本質(zhì)就是執(zhí)行指令所規(guī)定的操作。比如說,我們想讓計算機完成什么工作,只要將完成的步驟用多條指令的形式描述出來,然后存儲到計算機的內(nèi)存儲1.1程序設計語言與C語言第4頁,共39頁。中,需要結(jié)果的時候,我們只要向計算機發(fā)出一個簡單的命令,計算機就會逐條按照順序,一條一條的執(zhí)行。當指令全部執(zhí)行完了,那么這件事也就完成了。就
3、像這樣,可以被連續(xù)執(zhí)行的一條條指令的集合稱為計算機的程序。(換句話說,程序就是計算機指令的序列)編制程序就是給計算機安排指令的序列。1.1程序設計語言與C語言第5頁,共39頁。程序語言的發(fā)展可以說,程序語言的產(chǎn)生和發(fā)展直接推動了計算機的普及和應用。當今人類就發(fā)明了上千種程序語言。這些語言之間有什么區(qū)別呢,我們應該學習哪一種呢?1.1程序設計語言與C語言第6頁,共39頁。1.1程序設計語言與C語言計算機語言按照使用的方式和功能可以分為低級語言和高級語言。低級語言(機器語言、匯編語言)機器語言是第一代計算機語言,它用0和1組成的各種二進制代碼表示各種指令。至于為什么用0和1呢,這是計算機中電路的兩
4、種狀態(tài),(通電狀態(tài)和關閉狀態(tài))優(yōu)勢:計算機能夠快速識別,但編寫程序的工作量大,效率低,可移植性差,這這臺電腦編寫的程序,不能再那臺運用。第7頁,共39頁。1.1程序設計語言與C語言匯編語言匯編語言是第二代語言,它是用符號來表示計算機的指令。如“add ax,ax”代表加法指令。缺點:對計算機硬件依賴性強,可移植性差,且難學難寫、難記憶。第8頁,共39頁。1.1程序設計語言與C語言高級語言它是采用完全符號化的描述過程,用自然語言的形式來描述問題的處理過程。用數(shù)學表達式的形式描述對數(shù)據(jù)的計算過程。優(yōu)點:高級語言只要求人們向計算機描述問題的求解步驟,而不需要關心計算機的內(nèi)部結(jié)構(gòu),所以容易被人們理解和
5、接受。目前普遍使用的有visual C+,visual basic等等,第9頁,共39頁。1.1.2 C語言簡介C語言是一種通用的、結(jié)構(gòu)化的程序設計語言。無論是系統(tǒng)軟件還是應用軟件都可以很方便地使用C語言。C語言是由美國貝爾實驗室的D.M.Ritchie于1972年在B語言的基礎上設計出來的。它既保持了B語言精練和接近硬件的特點,又克服了B語言過于簡單和數(shù)據(jù)無類型等不足。不過最初的C語言只是為描述和實現(xiàn)UNIX操作系統(tǒng)而提供的一種工具語言,并主要在貝爾實驗室內(nèi)部使用。1977年出現(xiàn)了不依賴于具體機器的C語言編譯文本可移植C語言編譯程序。C語言因此具有的良好的可移植性,使UNIX操作系統(tǒng)迅速在各
6、種機器上運行,并與此相輔相成,也使C語言得到了迅速推廣和廣泛應用。1978年以后,C語言已完全獨立于UNIX,先后移植到大、中、小和微型計算機上,成為計算機程序設計語言的主流語種。 下一頁返回第10頁,共39頁。1.1.2 C語言簡介C語言的特點C語言已成為國內(nèi)外廣泛使用的一種計算機語言,它具有很多突出的優(yōu)點。C語言的主要特點有以下幾個方面。1.C語言簡潔、緊湊C語言一共只有32個關鍵字,9種控制語句,程序書寫形式自由,主要用小寫字母表示,壓縮了一切不必要的成分。上一頁下一頁返回第11頁,共39頁。2. 數(shù)據(jù)類型豐富C語言具有現(xiàn)代語言的各種數(shù)據(jù)類型。C語言的基本數(shù)據(jù)類型有整型(int)、浮點型
7、(float)和字符型(char)。在此基礎上按層次可產(chǎn)生各種構(gòu)造類型,如數(shù)組、指針、結(jié)構(gòu)體和共用體等。同時還提供了用戶自定義數(shù)據(jù)類型。用這些數(shù)據(jù)類型可以實現(xiàn)復雜的數(shù)據(jù)結(jié)構(gòu),如棧、鏈表和樹等。第12頁,共39頁。1.1.2 C語言簡介3.提供了豐富的運算符和運算能力有34個運算符(書后有附錄部分),大家比較熟悉的有(+、-、*、/),而其他的,我們會在今后的學習紅陸陸續(xù)續(xù)的會講到。上一頁下一頁返回第13頁,共39頁。1. 1.1程序設計語言與C語言4.機器生成代碼質(zhì)量高,移植性好用C語言編寫的程序可移植性好,基本上不做修改就能用于各種型號的計算機和各種操作系統(tǒng)5.具有結(jié)構(gòu)化的控制語句。例如:i
8、felse語句。(這里簡要介紹下)If語句是用來判定鎖定的條件是否滿足,如果滿足就會.如果不滿足就會.上一頁返回第14頁,共39頁。例題:判斷 x和y值誰大if (xy) x大于y是否滿足?printf(“%d”,x); 滿足的話,打印x值elseprintf(“%d”,y); 不滿足的話,打印y值第15頁,共39頁。第16頁,共39頁。C語言的優(yōu)點很多,但也有一些不足。如語法限制不太嚴格、類型檢驗太弱和不同類型數(shù)據(jù)轉(zhuǎn)換比較隨便,這就要求程序員對程序設計的方法和技巧更熟練,以保證程序的正確性。第17頁,共39頁。5.可以直接對硬件進行操作C語言因為能進行位(bit)操作,所以能實現(xiàn)匯編語言的大
9、部分功能,可以直接對硬件進行操作。因此C語言既具有高級語言的功能,又具有低級語言的許多功能,可用來寫系統(tǒng)軟件。第18頁,共39頁?;仡櫽嬎銠C基礎知識“位”(bit)操作什么是位操作呢?講到位操作,大家可以回憶一下,我們原來學習的計算機基礎課中,曾提到關于計算機存儲方面的知識點?!拔弧保╞it)是計算機中數(shù)據(jù)的最小單位,它是指一個二進制數(shù)。(0或1)“字節(jié)”:而8個“位”,也就是8個二進制數(shù)組成一個字節(jié)。(byte)字節(jié)是存儲單元中的基本單位。第19頁,共39頁?;仡櫽嬎銠C基礎知識1MB=1024(byte)1GB=1024MB計算機中存儲單位是以1024為一個換算單位的。第20頁,共39頁。1
10、.1.2 C語言簡介用C語言編寫的源程序,簡稱C程序。C程序是一種函數(shù)結(jié)構(gòu),一般由一個或若干個函數(shù)組成,其中必有一個名為main()的主函數(shù),程序的執(zhí)行就是從這里開始的。例1-1編寫一求任意兩個整數(shù)的和的C程序。 main() /*主函數(shù)首部*/ Printf(“jiu jiang zhi ye da xue!”); /*輸出計算結(jié)果*/ /*函數(shù)體結(jié)束*/下一頁返回第21頁,共39頁。下面來分析本程序的結(jié)構(gòu):Mian()是主函數(shù),每一個C語言程序都必須,并且只有一個主函數(shù),程序的運行都是從主函數(shù)開始的?;ɡㄌ?它面的內(nèi)容是有許多語句構(gòu)成的函數(shù)體,“”代表函數(shù)體的開始,“”代表函數(shù)體的結(jié)束。1
11、.1.2 C語言簡介第22頁,共39頁。本程序的printf()是C語言的輸出函數(shù),其作用是把雙引號里面的字符串在電腦顯示屏上輸出。Printf(“jiu jiang zhi ye da xue!”)“/*”和“ */”之間的內(nèi)容是程序的注釋部分,它描述的是程序流程圖中注釋框中的內(nèi)容。這注釋僅僅是為程序設計人員對程序的說明信息,對程序的運行是不起作用的。第23頁,共39頁。閱讀分析例1.2求任意兩個整數(shù)的積#include /*調(diào)用輸入輸出函數(shù)時所需使用的文件,文件名為stdio.h*/Int mul(int a,int b);Main() /*主函數(shù)體說明*/Int x,y,z;printf
12、(“input two numbers:n”) ; /*輸出字符串后回車到下行*/Scanf(“%d%d,&x,&y); /*通過鍵盤輸入x,y的值*/z=mul(x,y); /*調(diào)用mul函數(shù),然后將調(diào)用得到的數(shù)值交給z*/printf(“mul=%d”,z); int mul(int a,int b) /*子函數(shù)體說明*/int c;c=a*b;return c; /*把C的數(shù)值返還給mul函數(shù)*/第24頁,共39頁。1.1.2簡單的C程序介紹下面來分析本程序的結(jié)構(gòu):#include是編譯預處理命令。由雙引號括起來的stdio.h稱做為“頭文件”,在“stdio.h”文件中定義了I/O庫所
13、用到的某些宏和變量,其作用是將由雙引號(或尖括號)括起來的文件中的內(nèi)容,讀入到此命令的位置處。在使用C語言的輸入/輸出庫函數(shù)時,一般需要使用#include命令將“stdio.h”包含到源文件中。上一頁下一頁返回第25頁,共39頁。1.1.2簡單的C程序介紹main()為主函數(shù)名,花括號 部分構(gòu)成主函數(shù)的函數(shù)體。語句int x,y,z;是變量的定義部分,說明變量x,y,z為3個整型變量,可以用來存放整型數(shù)據(jù)。 scanf功能是調(diào)用系統(tǒng)提供的標準庫函數(shù)讀入變量x和y的值。printf功能是調(diào)用系統(tǒng)提供的標準庫函數(shù)輸出計算結(jié)果z的值。第26頁,共39頁。1.1.2簡單的C程序介紹本程序由兩個函數(shù)組
14、成,主函數(shù)main()和mul函數(shù)。函數(shù)之間并列關系,主函數(shù)可以調(diào)用mul函數(shù)。mul函數(shù)為用戶自定義函數(shù)。7.每一個語句和數(shù)據(jù)聲明的最后必須有一個分號,分號是 C語言的必要組成部分。8. 函數(shù)由函數(shù)首部和函數(shù)體組成:函數(shù)首部:int mul(int a,int b)函數(shù)類型 函數(shù)名(函數(shù)參數(shù)類型 函數(shù)參數(shù)名,函數(shù)參數(shù)類型 函數(shù)參數(shù)名)函數(shù)體:(包括變量聲明部分、執(zhí)行語句部分)上一頁下一頁返回第27頁,共39頁。例1-3閱讀并分析下面的程序。main( ) /*主函數(shù)*/ int a,b; /*聲明部分,定義兩個整形變量a和b*/int sum; /*定義整形變量sum */ scanf(%d
15、,%d,&a,&b); /*輸入變量a和b的值*/sum=a+b; /*計算a和b的和,結(jié)果保存在變量sum中*/printf(%d,sum); /*輸出sum的值*/ 第28頁,共39頁。1.1.2簡單的C程序介紹 下面來分析一下本程序的程序結(jié)構(gòu):1.一個C程序由兩個部分組成,數(shù)據(jù)描述和步驟描述。數(shù)據(jù)描述是為了描述在程序中使用了哪些類型的數(shù)據(jù)。比如:int a,b; 定義a變量和b變量都是整型變量 int sum; 定義sum 為整型變量步驟描述是對數(shù)據(jù)進行操作部分比如:sum=a+b; a加b的值賦予sum scanf(“%d,%d”,&a,&b); 通過鍵盤輸入兩個整型數(shù)值,分別賦予a和
16、b。就如同做菜,數(shù)據(jù)描述就像做菜時準備原料階段。步驟描述就像做菜的順序和過程。上一頁下一頁返回第29頁,共39頁。1.1.2簡單的C程序介紹2.main()主函數(shù),上個例題說過,C語言中必須要有一個主函數(shù),并且也只能有一個主函數(shù);但可以有零個和多個其他分函數(shù)。3.main()主函數(shù)的位置可以放在c語言的任何地方,你可以放在開頭,也可以其他地方,但不論你放在哪個地方,程序都是先從主函數(shù)進行。4.“ ;” 分號,是表示一句話結(jié)束的標記,每句話結(jié)束都要有一個分號。上一頁下一頁返回第30頁,共39頁。1.2C程序的開發(fā)過程我們編寫C程序僅僅是程序設計工作中的一個環(huán)節(jié),寫出來的程序需要在計算機中運行,直
17、到得到正確的運行結(jié)果為止。C程序上機要經(jīng)過四個步驟:編輯、編譯、連結(jié)、運行。一、編輯:就是我們編寫C語言程序代碼的過程,編寫好后,通過文件存儲起來,文件名的后綴名為 “ .c” 我們稱這種文件為源文件。(比如file1.c等。)有時候我們要對我們的程序代碼進行修改和編輯的話,可以使用編輯的程序,如(windows的寫字板、記事本、word等都可以編輯) 上一頁下一頁返回第31頁,共39頁。1.2C程序的開發(fā)過程二、編譯編譯是把C語言的源程序翻譯成二進制代碼。(為什么要翻譯成二進制源代碼呢?)想想編譯程序在編譯過程中會檢查程序的語句和語法進行檢查,如果發(fā)現(xiàn)有問題,就會彈出錯誤對話框。編譯結(jié)束形成
18、二進制代碼后,C語言會生成一個文件在這些代碼存儲起來,這種文件稱為“目標文件”,文件的后綴名為“.obj”。第32頁,共39頁。1.2C程序的開發(fā)過程三、連結(jié)生成目標文件后,我們計算機還不能立馬開始執(zhí)行程序,還必須利用系統(tǒng)提供的連結(jié)程序?qū)⒛繕顺绦蚝拖到y(tǒng)庫函數(shù)連結(jié)組裝起來,形成可執(zhí)行程序,才能運行。這種可執(zhí)行程序文件名為“文件名.exe”.四、運行在運行階段的時候,可以脫離C程序,直接在系統(tǒng)中運行。但如果運行不正確,還必須重新回到第一步進行修改。第33頁,共39頁。圖1-1上機運行的步驟 返回第34頁,共39頁。1.2C程序的上機步驟在了解了C語言的初步知識后,大家最好上機運行一個C程序,以建立對C程序的初步認識。下面就visula C+6.0環(huán)境、 win-tc下如何運行一個C的源程序作具體介紹。上一頁下一頁返回第35頁,共39頁。1.3C語言詞匯標識符在程序中有許多需要命名的
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經(jīng)權益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
- 6. 下載文件中如有侵權或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 遼陽古建施工方案審批
- 2024年三季度報湖南地區(qū)A股銷售凈利率排名前十大上市公司
- 快船新球館施工方案
- (教研室)福建省寧德市2024-2025學年高二上學期期末考試語文試題
- 揚塵施工方案
- 預制濾板施工方案
- 2025年柳工營銷面試題及答案
- 6年級上冊20課青山不老課堂筆記
- 教育教學評價表
- 低空經(jīng)濟產(chǎn)業(yè)專項引導基金
- 《流程基本知識》考核試題(答案)
- 【知識解析】南昌起義主題圖集
- 中班安全活動 保護鼻子
- 板卡錯誤代碼對應的錯誤信息及解決方案
- 重大事故后果分析
- 武漢理工大學計算機網(wǎng)絡試題及答案
- 先學后教當堂訓練簡介
- “順豐杯”第三屆全國大學生物流設計大賽案例
- 灌區(qū)工程施工方案與技術措施
- 幼兒園繪本:《小蛇散步》 課件
- 華中師大版七年級心理 2走近老師 課件(共15張PPT)
評論
0/150
提交評論