第1章 C語言程序設計概述_第1頁
第1章 C語言程序設計概述_第2頁
第1章 C語言程序設計概述_第3頁
第1章 C語言程序設計概述_第4頁
第1章 C語言程序設計概述_第5頁
已閱讀5頁,還剩29頁未讀 繼續免費閱讀

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領

文檔簡介

主講教師:王國華學院:數學與信息學院C語言程序設計C語言的位置2編譯型語言在程序執行之前,有一個單獨的編譯過程,將程序翻譯成機器語言,以后執行這個程序的時候,就不用再進行翻譯了。解釋型語言,是在運行的時候將程序翻譯成機器語言,所以運行速度相對于編譯型語言要慢。C/C++等都是編譯型語言,而Java,C#等都是解釋型語言。

31.1計算機語言與程序設計

1.2程序設計的基本過程

1.3C語言的發展及特點

1.4C語言程序的組成和結構

1.5C語言的開發步驟第1章C語言程序設計概述4三個概念:人類語言、計算機語言、計算機程序人類語言:人與人之間交流的工具,通過自然語言實現人與人之間的溝通,使別人能夠明白的按照語言的表達來辦事、工作。如:漢語、英語、德語、法語、日語等……1.1計算機與程序設計什么是語言?5計算機語言:人與計算機之間交流的工具,通過計算機語言實現人與計算機之間的溝通,使計算機能夠按照人的意圖進行工作。如:C語言、foxpro、basic、java、匯編語言、機器語言等……如何通過程序(代碼)跟計算機溝通?計算機硬件,只認得高低電平(二進制)!人類通過二進制與指令的對應,實現與計算機的交流6什么是計算機程序?計算機程序也常稱為“代碼”,是用一系列指令編寫的,可以由計算機執行的以完成某一特定任務的腳本。7人們常把編寫程序的過程稱為程序設計。

計算機可以直接識別和執行的二進制語言。如:加法指令:10000000

減法指令:10010000特點:計算機可以直接識別和執行,效率高,

節省內存;但難以閱讀和記憶。

程序設計語言

按照不同種計算機語言的語法編寫的程序,我們把它稱為某一種語言的程序。

例如用C語言編寫的程序,我們稱為C語言程序。類似的還有匯編語言程序、JAVA語言程序等。

程序設計語言的種類很多,從其發展歷史以及功能情況來劃分可以大致劃分成三大類:1、機器語言:82、符號語言(又稱匯編語言):用“助記符”來表示機器指令。如:ADDA,BSUBA,B計算機不能直接識別和執行用匯編語言編寫的源程序,它必須經過一個叫匯編程序的系統軟件翻譯成機器語言程序(即目標程序)后才能執行。93、高級語言不依賴于機器,降低了編程的難度。如:C、Java等,用‘+’和‘-’來表示加減運算。如:a=7+8;c=4*d+6;

計算機也不能直接執行高級語言的源程序,必須先經過編譯程序或解釋程序翻譯成目標程序后,才能由計算機執行。1.2.1程序設計的步驟

程序設計常被簡單稱為編碼,事實上編碼只是程序設計的一個步驟,過程如下:101.2程序設計的基本過程分析問題設計算法編寫程序編譯程序調試程序編寫程序文檔開始結束

值得指出的是,程序設計者如果認為要解決的問題很熟悉,分析問題和設計算法這兩步常被快速跳過;另,編寫程序文檔不是必需的步驟,但對軟件工程很重要。111.2.2算法的常用描述方法

算法是程序的靈魂,能讀懂他人設計的算法和將自己設計的程序以易于理解的方式描述出來是必要的。

目前描述算法的方法有很多,如:自然語言、流程圖、N-S流程圖、PAD圖和偽代碼等(只需關注前兩種)。N-S流程圖幾種標準控制結構PAD圖N-S流程圖示例自然語言例1-1:使用自然語言描述計算n!的算法。算法使用變量s表示計算n!的中間結果,即累乘的積;使用變量t表示乘數,則算法步驟如下:步驟1:輸入n;步驟2:使s=1,t=1;步驟3:計算s×t,得到的積保存到s中;步驟4:使t的值增加1;步驟5:如果t≤n,則跳轉到步驟3執行;否則計算結束,

繼續下一步驟;步驟6:此時s的值就是n!,輸出s的值。2.流程圖流程圖是使用一些幾何圖形、線條以及文字說明來描述算法的邏輯結構。14例1-2:使用流程圖描述計算n!的算法。算法使用變量s表示計算n!的中間結果,即累乘的積;使用變量t表示乘數。15例1-3:遠紅外行人檢測檢測結果示例:Video116檢測結果示例:圖1.不同季節下市區、郊區場景的遠紅外行人檢測結果171.3C語言的發展與特點1.3.1C語言的發展歷程C語言的原型ALGOL60語言。(也稱為A語言,面向問題的高級語言,離硬件比較遠)

1963年,劍橋大學將ALGOL60語言發展成為CPL(CombinedProgrammingLanguage)語言。

1967年,劍橋大學的MatinRichards對CPL語言進行了簡化,于是產生了BCPL語言。

1970年,美國貝爾實驗室的KenThompson將BCPL進行了修改,并為它起了一個有趣的名字“B語言”。意思是將CPL語言煮干,提煉出它的精華。并且他用B語言寫了第一個UNIX操作系統。

而在1973年,B語言也給人“煮”了一下,美國貝爾實驗室的D.M.RITCHIE等人在B語言的基礎上最終設計出了一種新的語言,他取了BCPL的第二個字母作為這種語言的名字,這就是C語言。18C程序的特點:(1)短小精悍而且功能齊全。(2)結構化的程序設計語言。(3)兼有高級語言和低級語言的特點。(4)程序執行效率高。(5)程序可移植性好。1.3C語言的發展與特點程序如下:

1/*2本程序在屏幕上輸出一行字符串

3*/4#include<stdio.h>//編譯預處理

5intmain()//主函數頭部

6{//主函數體開始

7printf("WelcometoC!\n");//輸出字符串

8return0;//返回值為09}19例1-3:編寫一個C語言程序,其功能是顯示字符串“WelocometoC!”1.4C語言程序的組成和結構20第1行到第3行是一個多行注釋,注釋不執行,它能夠幫助程序員相互交流,理解程序和語句的作用。第4行是一個編譯預處理命令,通常寫在源程序的頭部。程序從第5行開始定義了主函數main。每一個C程序都必須有一個主函數,C程序總是從主函數開始執行。第5行定義了主函數的頭部,main是主函數的名稱,int表示主函數的類型,右邊的括號是必須的,它定義了函數的參數表。第6行到第9行是main函數的函數體的定義。函數體由一條或多條語句組成,這些語句按照順序被放在一對花括號{}中。程序如下:

第1行/*第2行

本程序在屏幕上輸出一行字符串第3行*/

第4行#include<stdio.h>//編譯預處理第5行intmain()//主函數頭部第6行{//主函數體開始第7行printf("WelcometoC!\n");//輸出字符串第8行return0;//返回值為0

第9行}程序如下:#include<stdio.h>intmain(){doubler,area;//聲明部分,定義變量

r=10.0;//賦值語句,讓r的值為10.0area=3.14*r*r;//計算面積,并將結果賦值給areaprintf("area=%f\n",area);//輸出area的值

return0;}21例1-4:根據半徑計算圓面積的C程序。22第4行是main函數的聲明部分,這里定義了兩個變量r和area,分別表示圓的半徑和面積。第5行是一條賦值語句,它把變量r的值設置為10.0。第6行也是一條賦值語句,但要復雜一點。首先計算賦值符號“=”右邊的式子的結果,然后將結果賦給變量area。第7行輸出了圓的面積area的值,這是程序的運算結果。程序如下:

第1行#include<stdio.h>

第2行intmain()

第3行{

第4行doubler,area;//聲明部分,定義變量

第5行r=10.0;//賦值語句,讓r的值為10.0

第6行area=3.14*r*r;//計算面積,并將結果賦值給area

第7行printf("area=%f\n",area);//輸出area的值第8行return0;

第9行}23C語言程序的結構:源程序文件1~n示例:24Main函數示例:25編譯預處理示例:全局變量聲明示例:26函數頭、函數體、聲明部分、執行語句部分示例:27⑸在C語言中區分大小寫,如Main、MAIN、main、

maiN是不相同的。(1)一個完整的C程序由若干個函數組成,至少有且

僅有一個main函數,每個函數包括:函數說明部分變量定義函數體語句部分⑵語句必須以分號(;)作結束標志;⑶由“/*”與“*/”之間的內容構成C語言程序的注釋部分,也可以使用//;⑷用預處理命令#include可以包含有關文件的信息。C語言程序的基本結構:281.5C語言程序的開發步驟C語言程序的開發步驟:課后習題1.編寫一個程序輸出以下內容:*****************Hello,CWorld!*****************292.選做練習:用C語言輸出心形圖形303.什么是程序設計:

程序設計是給出解決特定問題程序的過程,是軟件構造活動中的重要組成部分。程序設計往往以某種程序設計語言為工具,給出這種語言下的程序。程序設計過程應當包括分析、設計、編碼、測試、排錯、撰寫文檔等不同階段。專業的程序設計人員常被稱為程序員。314.什么是算法?算法(Algorithm)是指解題方案的準確而完整的描述,是一系列解決問題的清晰指令,算法代表著用系統的方法描述解決問題的策略機制。也就是說,能夠對一定規范的輸入,在有限時間內獲得所要求的輸出。如果一個算法有缺陷,或不適合于某個問題,執行這個算法將不會解決這個問題。不同的算法可能用不同的時間、空間或效率來完成同樣的任務。一個算法的優劣可以用空間復雜度與時間復雜度來衡量。325.開發C語言程序有哪些步驟?寫代碼

溫馨提示

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

評論

0/150

提交評論