




版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認(rèn)領(lǐng)
文檔簡介
第1章程序設(shè)計ABCC語言計算機專業(yè)教研室王永會yonghuiwang@126.com
戊2-30624690666計算機專業(yè)學(xué)什么?什么是“會計算機”?會打字?會編程?會DIY?會上網(wǎng)?會“黑客”?……懂原理、能應(yīng)用、有創(chuàng)新計算機計算機是用來延伸人的能力的工具,需要人來駕馭我們的職責(zé)是讓非計算機專業(yè)的人更容易駕馭它完成這一目標(biāo)的主要手段之一就是
“編程(Programming)”計算機未來發(fā)展趨勢巨型化-Supercomputer微型化-Microcomputer,NanotechComputer,embeddedsystem網(wǎng)絡(luò)化-WebInternet智能化-AIdataminingHardware:electronicandelectricalsystem,automation,
programmingSoftware:softwareengineering,programmingComputing:DataIntensiveComputing,cloudComputing,datawarehouse,programming
Application-oriented:sciencecomputing,socialcomputing,GIS,programming計算機與人工智能計算機行業(yè)的夢想讓計算機(Computer)能像人一樣地思考,與人自然交流,人工智能(ArtificialIntelligence)圖靈測試
計算機與人工智能1997年,IBM公司研制的深藍超級計算機在一場“人機大戰(zhàn)”中打敗了國際象棋大師卡斯帕羅夫被譽為“人工智能的一大勝利”
深藍的主要研制者之一許峰雄博士:勝利靠的只是不知疲倦地高速運算,并不是什么智能
計算機基本工作過程整個過程的執(zhí)行者是硬件,但硬件是受軟件控制的編程,就是編寫軟件,使硬件按照人的意圖工作計算機基本工作過程輸入/輸出設(shè)備存儲器運算器控制器源程序和輸入數(shù)據(jù)輸出結(jié)果取出數(shù)據(jù)存入數(shù)據(jù)操作命令存取命令取出程序指令輸入輸出命令計算結(jié)果CPU“馮·諾依曼機”結(jié)構(gòu)
大腦記憶裝置眼睛和耳朵程序和數(shù)據(jù)硬盤CPU內(nèi)存執(zhí)行結(jié)果軟件的形成軟件(Software)的形成程序員(Programmer)編寫程序源代碼(SourceCode)編譯器(Compiler)把源代碼轉(zhuǎn)換為可被計算機理解的機器代碼(MachineCode)并把機器代碼以可執(zhí)行文件(ExecutableFile)的形式保存在磁盤上軟件運行過程的簡單描述軟件的運行計算機把機器代碼讀入到內(nèi)存(Memory)由CPU運行這些代碼讀取輸入(Input)產(chǎn)生輸出(Output)完成程序員預(yù)定的功能計算機專業(yè)后續(xù)課程計算機原理編譯原理操作系統(tǒng)人與計算機的對話兩個說不同母語的人的對話方式:一方學(xué)另一方的語言雙方都學(xué)習(xí)一種第三方語言人與計算機的對話方式:計算機學(xué)習(xí)人的語言(自然語言理解)人學(xué)習(xí)計算機的語言學(xué)習(xí)第三方語言程序設(shè)計語言與人類語言自然語言:人類為了交流思想、表達感情、交換信息,逐步發(fā)明了語言。
程序設(shè)計語言:人類為了能夠更好地與計算機進行交流與通訊,發(fā)明了專門與 計算機打交道的交流工具。
篇、章句子或段落=詞或詞組+語法詞或詞組=字+語法自然語言的構(gòu)成字文章構(gòu)造單元程序設(shè)計語言的構(gòu)成基本單元詞:標(biāo)識符關(guān)鍵字常量運算符句子:語句篇章:程序編程并不神秘,與從小母語或自然語言如一門外語的學(xué)習(xí)有許多相似之處。語法規(guī)則程序設(shè)計規(guī)則計算機語言是一種跨國界的世界通用的語言,通過編程可以表達自己的思想,互相交流!程序設(shè)計語言(ProgrammingLanguage)是人與計算機進行交流的語言計算機直接能讀懂的語言機器語言(MachineCode),也叫機器代碼一種純粹的二進制語言程序設(shè)計語言的故事程序設(shè)計語言的故事計算機為什么用二進制呢?為什么不用我們?nèi)粘J煜さ氖M制呢?二進制在在電器元件中容易實現(xiàn)計算機進行二進制運算比進行十進制運算要簡單得多
程序設(shè)計語言的故事機器語言編寫的1+1程序匯編語言(AssembleLanguage)編寫的1+1程序101110000000000100000000000001010000000100000000MOVAX,1ADDAX,1程序設(shè)計語言的故事BASIC語言編寫的1+1程序C語言編寫的1+1程序PRINT1+1#include<stdio.h>main(){ printf("%d\n",1+1);}C語言的創(chuàng)世紀(jì)一切從一個叫“SpaceTravel”的電子游戲開始……為了讓他的游戲能在PDP-7上運行,KenThompson用匯編語言給PDP-7寫了一個操作系統(tǒng)——UNIX匯編太不好用了,Thompson需要高級語言試驗了一些高級語言,包括Fortran,都不理想他在BCPL基礎(chǔ)上,自己設(shè)計了一個B語言UNIX開始發(fā)展,B也不夠用了DennisRitchie加入,把B改造成C開始用C重寫UNIXC程序設(shè)計語言是一種高級語言高級語言并不是“高級”,只是相對低級語言,在一個高的級別上進行編程歷史悠久,戰(zhàn)勛卓著誕生于上世紀(jì)70年代初,成熟于80年代(C89),修訂與90年代(C99)很多重量級軟件都是用C寫的上天入地,無所不能幾乎沒有不能用C寫出來的軟件,沒有不支持C的系統(tǒng)很多流行語言、新生語言都借鑒了它的思想、語法從C++,到Java,再到C#,還有php等C程序設(shè)計語言硬件(Hardware)操作系統(tǒng)(OS)應(yīng)用程序
(Application)應(yīng)用
平臺基于
平臺的
應(yīng)用
程序低級語言的地盤高級語言的地盤C語言的地盤C語言的設(shè)計者
DennisM.RitchieCisquirky,flawed,andanenormoussuccess.和Unix的設(shè)計者KenThompson
接受美國國家技術(shù)勛章Ritchie和Thompson在開發(fā)UNIX程序設(shè)計語言編輯(Edit)擴展名為.c的文件
編譯(Compile)擴展名為.obj的文件
鏈接(Link)形成最后的可執(zhí)行文件擴展名為.exe的文件
運行(Run)編譯語言一種編譯語言對應(yīng)一種編譯器程序員按照該語言的語法編寫程序源代碼,把自己的意圖融入到代碼中編譯器讀入源代碼,把程序員的意圖轉(zhuǎn)換成可執(zhí)行程序,供他人使用C語言可執(zhí)行程序編譯器解釋運行解釋運行過程程序員編寫程序源代碼解釋器讀入源代碼,并執(zhí)行源代碼解釋運行的語言特點執(zhí)行速度慢好學(xué)易用先編譯、后解釋把源代碼編譯成更容易解釋的中間代碼,然后再解釋運行流行語言應(yīng)用編程語言機器語言匯編語言BasicPascalCC++JavaC#專項編程語言LotusNotesPowerBuilderWeb編程語言HTMLXMLPHPASPJSPJavaScriptVBScript其他perlpythonVBA對一門計算機語言的深入掌握意味著:學(xué)習(xí)計算機程序設(shè)計的思想、方法+經(jīng)驗+興趣=能力和成功!學(xué)習(xí)C語言目的及方法期末考試;等級考試;后續(xù)有關(guān)課程的學(xué)習(xí)打基礎(chǔ);為學(xué)習(xí)其它的高級語言或開發(fā)工具基礎(chǔ);工作;快樂;預(yù)習(xí)!+課堂教學(xué)+實踐!
調(diào)試并去除錯誤學(xué)習(xí)編程唯一有效途徑!Debugandremoveerrorsisanonlyeffectivewayforlearningprogramming.例1:
Hello,World#include<stdio.h>main(){ printf("hello,world\n");}hello.c簡單的C程序介紹考考你:
如何把“hello”和“world”分別打印在兩行?包含標(biāo)準(zhǔn)輸入輸出庫(standardinput/outputlibrary)無參數(shù)的主函數(shù)(mainfuctionwithoutargumentvalues)Maincallslibraryfunctionprintftoprintthissequenceofcharacters.\n換行符Newlinecharacter#include<stdio.h>main(){inta,b,c;//變量聲明整型(integer)variabledeclaration
a=100;//變量賦值,assignment b=50; c=a+b;//計算,computeandassign.printf(“\nc=%d”,c);//output“c”toscreen}例2:求兩數(shù)之和。
例3:求兩個數(shù)的和(函數(shù))前面使用了系統(tǒng)提供的函數(shù)printf。不用知道這個函數(shù)內(nèi)部是如何運作的,只按照參數(shù)形式調(diào)用它即可;C程序由函數(shù)構(gòu)成;我們也可以定義自己的函數(shù);“一個程序應(yīng)該是輕靈自由的,它的函數(shù)就象串在一根線上的珍珠。”(《編程之道》)#include<stdio.h>/*函數(shù)功能:計算兩個整數(shù)相加之和
入口參數(shù):整型數(shù)據(jù)a和b
返回值:整型數(shù)a和b之和*/int
Add(inta,intb){
return(a+b);}/*主函數(shù)*/main(){
intx,y,sum=0; printf("Inputtwointegers:"); scanf("%d%d",&x,&y);/*輸入兩個整型數(shù)x和y*/ sum=Add(x,y);/*調(diào)用函數(shù)Add計算x和y相加之和*/ printf("sum=%d\n",sum);/*輸出x和y相加之和*/}例3:求兩個數(shù)的和(函數(shù))(1)函數(shù)由兩部分組成:函數(shù)說明部分:函數(shù)名、函數(shù)類型、形參名、形參類型。函數(shù)體:實現(xiàn)函數(shù)的具體操作;由語句構(gòu)成。(2)程序總是從main函數(shù)開始執(zhí)行。sum.c例4:打印華氏溫度與攝氏溫度對照表計算公式:
C=(5/9)(F-32)打印華氏溫度與攝氏溫度對照表#include<stdio.h>/*對fahr=0,20,...,300
打印華氏溫度與攝氏溫度對照表*/main(){
int
fahr,celsius;
int
lower,upper,step;
lower=0;/*溫度表的下限*/
upper=300;
/*溫度表的上限*/
step=20;/*步長*/
fahr
=lower;
while(fahr<=upper){
celsius=5*(fahr-32)/9;
printf("%d\t%d\n",fahr,celsius);
fahr=fahr+step;
}}fc1.cWhile(){}代碼風(fēng)格#include<stdio.h>/*對fahr=0,20,...,300
打印華氏溫度與攝氏溫度對照表*/main(){
int
fahr,celsius;
int
lower,upper,step;
lower=0;/*溫度表的下限*/
upper=300;
/*溫度表的上限*/
step=20;/*步長*/
fahr
=lower;
while(fahr<=upper){
celsius=5*(fahr-32)/9;
printf("%d\t%d\n",fahr,celsius);
fahr=fahr+step;
}}fc1.c沒有代碼風(fēng)格#include<stdio.h>main(){int
fahr,celsius;int
lower,upper,step;lower=0;upper=300;step=20;fahr=lower;while(fahr<=upper){celsius=5*(fahr-32)/9;pr
溫馨提示
- 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)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 《稅收合規(guī)性補充申報智能管理系統(tǒng)》介紹課件
- 計算機一級試題及參考答案解析
- 5月消防設(shè)施操作員試題(含參考答案)解析
- 毛織造企業(yè)組織結(jié)構(gòu)與人力資源管理考核試卷
- 班主任家長會課件下載
- 紙容器生產(chǎn)過程中的能耗監(jiān)測與優(yōu)化考核試卷
- 2025年印刷品、記錄媒介復(fù)制品項目合作計劃書
- 空調(diào)器智能濕度控制系統(tǒng)考核試卷
- 《秋天的落葉》課件
- 網(wǎng)絡(luò)安全防護在智慧城市的智能垃圾分類系統(tǒng)中評估考核試卷
- 售后維修服務(wù)單
- 《實數(shù)》單元作業(yè)設(shè)計
- GB/T 9128.2-2023鋼制管法蘭用金屬環(huán)墊第2部分:Class系列
- 北師大版八年級數(shù)學(xué)下冊 (一元一次不等式)一元一次不等式和一元一次不等式組課件(第2課時)
- 干濕法脫硫運行經(jīng)濟成本對比(自動計算)
- 運輸與配送管理選擇題復(fù)習(xí)題庫
- 清華大學(xué)工商管理專業(yè)課程設(shè)置
- 兒科護理學(xué)智慧樹知到答案章節(jié)測試2023年石河子大學(xué)
- MT 285-1992縫管錨桿
- GB/T 19634-2021體外診斷檢驗系統(tǒng)自測用血糖監(jiān)測系統(tǒng)通用技術(shù)條件
- XK6125數(shù)控銑床總體及縱向進給傳動機構(gòu)設(shè)計
評論
0/150
提交評論