版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)
文檔簡介
主講教師:王國華學(xué)院:數(shù)學(xué)與信息學(xué)院C語言程序設(shè)計C語言的位置2編譯型語言在程序執(zhí)行之前,有一個單獨的編譯過程,將程序翻譯成機(jī)器語言,以后執(zhí)行這個程序的時候,就不用再進(jìn)行翻譯了。解釋型語言,是在運行的時候?qū)⒊绦蚍g成機(jī)器語言,所以運行速度相對于編譯型語言要慢。C/C++等都是編譯型語言,而Java,C#等都是解釋型語言。
31.1計算機(jī)語言與程序設(shè)計
1.2程序設(shè)計的基本過程
1.3C語言的發(fā)展及特點
1.4C語言程序的組成和結(jié)構(gòu)
1.5C語言的開發(fā)步驟第1章C語言程序設(shè)計概述4三個概念:人類語言、計算機(jī)語言、計算機(jī)程序人類語言:人與人之間交流的工具,通過自然語言實現(xiàn)人與人之間的溝通,使別人能夠明白的按照語言的表達(dá)來辦事、工作。如:漢語、英語、德語、法語、日語等……1.1計算機(jī)與程序設(shè)計什么是語言?5計算機(jī)語言:人與計算機(jī)之間交流的工具,通過計算機(jī)語言實現(xiàn)人與計算機(jī)之間的溝通,使計算機(jī)能夠按照人的意圖進(jìn)行工作。如:C語言、foxpro、basic、java、匯編語言、機(jī)器語言等……如何通過程序(代碼)跟計算機(jī)溝通?計算機(jī)硬件,只認(rèn)得高低電平(二進(jìn)制)!人類通過二進(jìn)制與指令的對應(yīng),實現(xiàn)與計算機(jī)的交流6什么是計算機(jī)程序?計算機(jī)程序也常稱為“代碼”,是用一系列指令編寫的,可以由計算機(jī)執(zhí)行的以完成某一特定任務(wù)的腳本。7人們常把編寫程序的過程稱為程序設(shè)計。
計算機(jī)可以直接識別和執(zhí)行的二進(jìn)制語言。如:加法指令:10000000
減法指令:10010000特點:計算機(jī)可以直接識別和執(zhí)行,效率高,
節(jié)省內(nèi)存;但難以閱讀和記憶。
程序設(shè)計語言
按照不同種計算機(jī)語言的語法編寫的程序,我們把它稱為某一種語言的程序。
例如用C語言編寫的程序,我們稱為C語言程序。類似的還有匯編語言程序、JAVA語言程序等。
程序設(shè)計語言的種類很多,從其發(fā)展歷史以及功能情況來劃分可以大致劃分成三大類:1、機(jī)器語言:82、符號語言(又稱匯編語言):用“助記符”來表示機(jī)器指令。如:ADDA,BSUBA,B計算機(jī)不能直接識別和執(zhí)行用匯編語言編寫的源程序,它必須經(jīng)過一個叫匯編程序的系統(tǒng)軟件翻譯成機(jī)器語言程序(即目標(biāo)程序)后才能執(zhí)行。93、高級語言不依賴于機(jī)器,降低了編程的難度。如:C、Java等,用‘+’和‘-’來表示加減運算。如:a=7+8;c=4*d+6;
計算機(jī)也不能直接執(zhí)行高級語言的源程序,必須先經(jīng)過編譯程序或解釋程序翻譯成目標(biāo)程序后,才能由計算機(jī)執(zhí)行。1.2.1程序設(shè)計的步驟
程序設(shè)計常被簡單稱為編碼,事實上編碼只是程序設(shè)計的一個步驟,過程如下:101.2程序設(shè)計的基本過程分析問題設(shè)計算法編寫程序編譯程序調(diào)試程序編寫程序文檔開始結(jié)束
值得指出的是,程序設(shè)計者如果認(rèn)為要解決的問題很熟悉,分析問題和設(shè)計算法這兩步常被快速跳過;另,編寫程序文檔不是必需的步驟,但對軟件工程很重要。111.2.2算法的常用描述方法
算法是程序的靈魂,能讀懂他人設(shè)計的算法和將自己設(shè)計的程序以易于理解的方式描述出來是必要的。
目前描述算法的方法有很多,如:自然語言、流程圖、N-S流程圖、PAD圖和偽代碼等(只需關(guān)注前兩種)。N-S流程圖幾種標(biāo)準(zhǔn)控制結(jié)構(gòu)PAD圖N-S流程圖示例自然語言例1-1:使用自然語言描述計算n!的算法。算法使用變量s表示計算n!的中間結(jié)果,即累乘的積;使用變量t表示乘數(shù),則算法步驟如下:步驟1:輸入n;步驟2:使s=1,t=1;步驟3:計算s×t,得到的積保存到s中;步驟4:使t的值增加1;步驟5:如果t≤n,則跳轉(zhuǎn)到步驟3執(zhí)行;否則計算結(jié)束,
繼續(xù)下一步驟;步驟6:此時s的值就是n!,輸出s的值。2.流程圖流程圖是使用一些幾何圖形、線條以及文字說明來描述算法的邏輯結(jié)構(gòu)。14例1-2:使用流程圖描述計算n!的算法。算法使用變量s表示計算n!的中間結(jié)果,即累乘的積;使用變量t表示乘數(shù)。15例1-3:遠(yuǎn)紅外行人檢測檢測結(jié)果示例:Video116檢測結(jié)果示例:圖1.不同季節(jié)下市區(qū)、郊區(qū)場景的遠(yuǎn)紅外行人檢測結(jié)果171.3C語言的發(fā)展與特點1.3.1C語言的發(fā)展歷程C語言的原型ALGOL60語言。(也稱為A語言,面向問題的高級語言,離硬件比較遠(yuǎn))
1963年,劍橋大學(xué)將ALGOL60語言發(fā)展成為CPL(CombinedProgrammingLanguage)語言。
1967年,劍橋大學(xué)的MatinRichards對CPL語言進(jìn)行了簡化,于是產(chǎn)生了BCPL語言。
1970年,美國貝爾實驗室的KenThompson將BCPL進(jìn)行了修改,并為它起了一個有趣的名字“B語言”。意思是將CPL語言煮干,提煉出它的精華。并且他用B語言寫了第一個UNIX操作系統(tǒng)。
而在1973年,B語言也給人“煮”了一下,美國貝爾實驗室的D.M.RITCHIE等人在B語言的基礎(chǔ)上最終設(shè)計出了一種新的語言,他取了BCPL的第二個字母作為這種語言的名字,這就是C語言。18C程序的特點:(1)短小精悍而且功能齊全。(2)結(jié)構(gòu)化的程序設(shè)計語言。(3)兼有高級語言和低級語言的特點。(4)程序執(zhí)行效率高。(5)程序可移植性好。1.3C語言的發(fā)展與特點程序如下:
1/*2本程序在屏幕上輸出一行字符串
3*/4#include<stdio.h>//編譯預(yù)處理
5intmain()//主函數(shù)頭部
6{//主函數(shù)體開始
7printf("WelcometoC!\n");//輸出字符串
8return0;//返回值為09}19例1-3:編寫一個C語言程序,其功能是顯示字符串“WelocometoC!”1.4C語言程序的組成和結(jié)構(gòu)20第1行到第3行是一個多行注釋,注釋不執(zhí)行,它能夠幫助程序員相互交流,理解程序和語句的作用。第4行是一個編譯預(yù)處理命令,通常寫在源程序的頭部。程序從第5行開始定義了主函數(shù)main。每一個C程序都必須有一個主函數(shù),C程序總是從主函數(shù)開始執(zhí)行。第5行定義了主函數(shù)的頭部,main是主函數(shù)的名稱,int表示主函數(shù)的類型,右邊的括號是必須的,它定義了函數(shù)的參數(shù)表。第6行到第9行是main函數(shù)的函數(shù)體的定義。函數(shù)體由一條或多條語句組成,這些語句按照順序被放在一對花括號{}中。程序如下:
第1行/*第2行
本程序在屏幕上輸出一行字符串第3行*/
第4行#include<stdio.h>//編譯預(yù)處理第5行intmain()//主函數(shù)頭部第6行{//主函數(shù)體開始第7行printf("WelcometoC!\n");//輸出字符串第8行return0;//返回值為0
第9行}程序如下:#include<stdio.h>intmain(){doubler,area;//聲明部分,定義變量
r=10.0;//賦值語句,讓r的值為10.0area=3.14*r*r;//計算面積,并將結(jié)果賦值給areaprintf("area=%f\n",area);//輸出area的值
return0;}21例1-4:根據(jù)半徑計算圓面積的C程序。22第4行是main函數(shù)的聲明部分,這里定義了兩個變量r和area,分別表示圓的半徑和面積。第5行是一條賦值語句,它把變量r的值設(shè)置為10.0。第6行也是一條賦值語句,但要復(fù)雜一點。首先計算賦值符號“=”右邊的式子的結(jié)果,然后將結(jié)果賦給變量area。第7行輸出了圓的面積area的值,這是程序的運算結(jié)果。程序如下:
第1行#include<stdio.h>
第2行intmain()
第3行{
第4行doubler,area;//聲明部分,定義變量
第5行r=10.0;//賦值語句,讓r的值為10.0
第6行area=3.14*r*r;//計算面積,并將結(jié)果賦值給area
第7行printf("area=%f\n",area);//輸出area的值第8行return0;
第9行}23C語言程序的結(jié)構(gòu):源程序文件1~n示例:24Main函數(shù)示例:25編譯預(yù)處理示例:全局變量聲明示例:26函數(shù)頭、函數(shù)體、聲明部分、執(zhí)行語句部分示例:27⑸在C語言中區(qū)分大小寫,如Main、MAIN、main、
maiN是不相同的。(1)一個完整的C程序由若干個函數(shù)組成,至少有且
僅有一個main函數(shù),每個函數(shù)包括:函數(shù)說明部分變量定義函數(shù)體語句部分⑵語句必須以分號(;)作結(jié)束標(biāo)志;⑶由“/*”與“*/”之間的內(nèi)容構(gòu)成C語言程序的注釋部分,也可以使用//;⑷用預(yù)處理命令#include可以包含有關(guān)文件的信息。C語言程序的基本結(jié)構(gòu):281.5C語言程序的開發(fā)步驟C語言程序的開發(fā)步驟:課后習(xí)題1.編寫一個程序輸出以下內(nèi)容:*****************Hello,CWorld!*****************292.選做練習(xí):用C語言輸出心形圖形303.什么是程序設(shè)計:
程序設(shè)計是給出解決特定問題程序的過程,是軟件構(gòu)造活動中的重要組成部分。程序設(shè)計往往以某種程序設(shè)計語言為工具,給出這種語言下的程序。程序設(shè)計過程應(yīng)當(dāng)包括分析、設(shè)計、編碼、測試、排錯、撰寫文檔等不同階段。專業(yè)的程序設(shè)計人員常被稱為程序員。314.什么是算法?算法(Algorithm)是指解題方案的準(zhǔn)確而完整的描述,是一系列解決問題的清晰指令,算法代表著用系統(tǒng)的方法描述解決問題的策略機(jī)制。也就是說,能夠?qū)σ欢ㄒ?guī)范的輸入,在有限時間內(nèi)獲得所要求的輸出。如果一個算法有缺陷,或不適合于某個問題,執(zhí)行這個算法將不會解決這個問題。不同的算法可能用不同的時間、空間或效率來完成同樣的任務(wù)。一個算法的優(yōu)劣可以用空間復(fù)雜度與時間復(fù)雜度來衡量。325.開發(fā)C語言程序有哪些步驟?寫代碼
溫馨提示
- 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)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 二零二五年度股權(quán)轉(zhuǎn)讓及技術(shù)服務(wù)合同2篇
- 二零二五版建筑門窗材料采購及安裝服務(wù)合同3篇
- 二零二五版?zhèn)€人信用擔(dān)保二手房購買貸款合同樣本3篇
- 武漢托管班2025年度教師招聘與素質(zhì)教育服務(wù)合同3篇
- 二零二五版智慧城市基礎(chǔ)設(shè)施勘察設(shè)計服務(wù)合同3篇
- 2025年度安全生產(chǎn)應(yīng)急救援預(yù)案合同范本3篇
- 二零二五版智能倉儲物流中心設(shè)施維護(hù)與安全管理合同3篇
- 二零二五年建筑水電安裝工程合同風(fēng)險評估合同2篇
- 深圳市2025年度房地產(chǎn)股權(quán)交易合同(含工業(yè)地產(chǎn))3篇
- 二零二五版二手房買賣合同補(bǔ)充協(xié)議(歷史遺留問題)范本3篇
- 西南師大版五年級上冊小數(shù)乘除法豎式計算題200道及答案
- 再生障礙性貧血課件
- AQ/T 2061-2018 金屬非金屬地下礦山防治水安全技術(shù)規(guī)范(正式版)
- 2024年湖北三江航天江河化工科技有限公司招聘筆試沖刺題(帶答案解析)
- 采購人員管理制度
- 礦卡司機(jī)安全教育考試卷(帶答案)
- SYT 6963-2013 大位移井鉆井設(shè)計指南
- 合同增項補(bǔ)充協(xié)議書范本
- 產(chǎn)后抑郁癥的護(hù)理查房
- 五年級上冊數(shù)學(xué)脫式計算300題及答案
- 循環(huán)系統(tǒng)練習(xí)試題(含答案)
評論
0/150
提交評論