




版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)
文檔簡介
第1章-C語言概述2教材、參考書與課時安排教材《C語言程序設(shè)計能力教程》(第二版)趙鳳芝中國鐵道出版社參考書《C語言程序設(shè)計》:
總學時:52學時理論授課:24學時上機實驗:30學時3課程要求三個能力的培養(yǎng)(讀、編、上機調(diào)試)如何才能學好C程序設(shè)計呢?課前請做好預習保持課堂安靜,頭腦清醒,思維活躍認真、獨立、按時完成并提交作業(yè)重視上機實踐,有效利用寶貴的上機時間4
課程的特點和學習方法2.加強對基本概念和基本語法元素單位的理解3.重視基本概念和語法規(guī)則的記憶4.多加練習,多動腦子1.調(diào)整學習心態(tài),不要鉆牛角尖5
考核方法1、形式成績:平時作業(yè)成績、平時實驗(實訓)成績、考前上機測試成績,其中上機測試成績占總成績的20%,測試內(nèi)容為編寫程序。2、期末成績:期末考試題型包括:程序改錯、寫程序的運行結(jié)果、寫程序的功能6第一章C語言概述本章主要內(nèi)容:
閱讀簡單的C程序設(shè)計簡單的C語言
C程序的調(diào)試和運行計算機語言的發(fā)展
C語言程序設(shè)計7機器語言匯編語言高級語言面向過程面向?qū)ο驝PU指令系統(tǒng),由0、1序列構(gòu)成的指令碼組成如:10000000加
10010000減用助記符號描述的指令系統(tǒng)如ADDA,B面向機器的語言程序設(shè)計是數(shù)據(jù)被加工的過程客觀世界可以分類,對象是類的實例對象是數(shù)據(jù)和方法的封裝對象間通過發(fā)送和接受消息發(fā)生聯(lián)系程序設(shè)計關(guān)鍵是定義類,并由類派生對象馮.諾依曼結(jié)構(gòu):計算機運算器控制器存儲器主機:I/O設(shè)備:鍵盤、顯示器等中央處理器CPU>>
C語言程序設(shè)計
第一章C語言概述
第一節(jié)閱讀簡單的C程序8
第一節(jié)閱讀簡單的C程序一、幾個概念:計算機:是程序式電子數(shù)字計算機的簡稱。程序:即執(zhí)行的先后順序。如“開會”有大會程序,第一項:宣布大會開始,第二項:奏國歌……“課程”有課程程序程序設(shè)計:通俗地講,設(shè)計一個程序就叫程序設(shè)計。就像設(shè)計一個橋梁叫“橋梁設(shè)計”一樣。C語言程序設(shè)計:用C語言進行的程序設(shè)計9二、了解C語言程序的結(jié)構(gòu)/*example1.1ThefirstCProgram*/#include<stdio.h>main(){printf(“Hello,World!”);}
C語言程序設(shè)計
第一章C語言概述>注釋編譯預處理函數(shù)語句輸出:Hello,World!例1.1第一個程序Hello,World!10例1.2僅由main()函數(shù)構(gòu)成的C語言程序
#include“stdio.h”main()/*主函數(shù)*/{inta,b;/*聲明定義兩個整型變量*/
a=1;b=a+1;/*給兩個變量賦初值*/
printf("%d",b);/*輸出b的值*/}二、了解C語言程序的結(jié)構(gòu)11例1.3由main()函數(shù)和其他函數(shù)構(gòu)成的C語言程序
myoutput()/*自定義函數(shù)*/{
printf("\n**Hello!Howdoyoudo?**\n");/*輸出字符串*/}main()/*主函數(shù)*/{myoutput();/*調(diào)用函數(shù)*/
printf("*************************\n");}121.C程序的格式特點習慣用小寫字母,大小寫敏感不使用行號,無程序行概念
C語言程序設(shè)計
第一章C語言概述main(){……………….…………………………..…………..……………….………………………….……………….………………..}main(){inti,j,sum;sum=0;for(i=1;i<10;i++){for(j=1;j<10;j++){sum+=i*j;}}printf(“%d\n”,sum);}優(yōu)秀程序員的素質(zhì)之一:使用TAB縮進{}對齊有足夠的注釋有合適的空行132、C語言的程序結(jié)構(gòu)
所有C程序都是由一個或多個文件組成,一個文件又由一個或多個函數(shù)組成。一個函數(shù)由函數(shù)頭和函數(shù)體組成。
一個C程序有且僅有一個主(main)函數(shù)。一個C程序總是從main函數(shù)開始執(zhí)行,不管main函數(shù)出現(xiàn)在任何位置。142、C語言的程序結(jié)構(gòu)C程序使用“;”作為語句的終止符或分隔符。C程序中用“{}”表示程序的結(jié)構(gòu)層次范圍??梢詫程序作注釋,主要是對程序功能的必要說明和解釋。15第二節(jié)設(shè)計簡單C程序例1.4設(shè)計程序:已知a=3,b=5;
求sum=2*a+b;運行程序main(){inta,b,sum;a=3;b=5;sum=2*a+b;printf("sum=%d",sum);}一、編程示例16第二節(jié)設(shè)計簡單C程序運行程序a.拿到題目后首先要認真分析題目要求,已知什么?求解什么?不要急于下筆編程序。b.認真注意C語言的格式:主函數(shù)main()是必須有的;{}必須成對出現(xiàn);一個語句完成之后必須用;結(jié)束;C語言嚴格區(qū)分大小寫。c.程序編完之后不要急于運行,先認真檢查,看程序有沒有明顯錯誤,然后再運行,發(fā)現(xiàn)錯誤先自行檢查。d.運行結(jié)果準確無誤后,再回頭去分析自己編寫的程序,看是否有改進的地方??傊?,多練習,多動腦子想,不要急于去看運行結(jié)果。1、編程過程中要注意的問題172、C程序的書寫格式每行通常寫一條語句每條語句結(jié)束時加分號“;”作為語句結(jié)束符花括號內(nèi)的語句通常向右縮進兩個字符或一個水平制表符適當采取縮進格式在程序中盡量使用注釋信息18習題:閱讀程序?qū)懗鼋Y(jié)果main(){printf("**************\n");printf("\n");printf("Verygood!\n");pintf("\n");printf("**************\n");}19C語言的特點簡潔.靈活功能強可移植性好效率高運算符豐富數(shù)據(jù)結(jié)構(gòu)豐富具有結(jié)構(gòu)化的控制語句C語言的特點220整型實型字符型數(shù)組類型指針類型結(jié)構(gòu)體類型共用體類型簡潔.靈活功能強共有32個關(guān)鍵字,9種控制語句。程序書寫形式自由,主要用小寫字母表示。運算符豐富數(shù)據(jù)結(jié)構(gòu)豐富具有結(jié)構(gòu)化的控制語句21可移植性好效率高用C語言編寫的程序生成的目標代碼質(zhì)量高,一般比匯編程序生成的目標代碼低20%左右,比其它高級語言書寫的程序效率高基本上不作修改就能用于各種型號的計算機和各種操作系統(tǒng)二、算法及算法表示1、算法的概念程序=算法+數(shù)據(jù)結(jié)構(gòu)所謂算法,就是一個有窮規(guī)則的集合,其中的規(guī)則確定了一個解決某個特定類型問題的運算序列。簡單說:就是為解決某一特定問題而采取的具體的有限的操作步驟。2、算法的兩大要素:操作、控制結(jié)構(gòu)說明:每一個算法是由一系列的操作組成??刂平Y(jié)構(gòu)即控制組成算法的各操作的執(zhí)行順序。例如:求出兩個整數(shù)的和的算法描述如下:
(1)定義3個變量如:a,b,c,并給3個變量分別分配內(nèi)存空間,用于存放整數(shù)值;(2)給2個變量分別賦給26、16兩個整數(shù),a=26,b=16;(3)求出兩個整數(shù)和的數(shù)值,賦給第三個變量:c=a+b;(4)輸出第三個變量c的值;(5)運行結(jié)束。24
3、
算法的特性(5個規(guī)則)(1)算法的有窮性算法中執(zhí)行步驟在執(zhí)行有窮步后結(jié)束,是有限的,每一條指令執(zhí)行次數(shù)都是有限的。(2)算法的有效性(可行性)算法中每一個步驟都應當能有效地執(zhí)行,并得到確定的結(jié)果。
(3)輸入
一個算法應當有若干個輸入量,所謂輸入是指在執(zhí)行算法時需要從外界取得必要的信息。(4)輸出一個算法有一個或多個輸出的量,它們是與輸入有某種關(guān)系的量。(5)算法的確定性算法中的每一個操作的含義必須明確,無二義性。一定條件下執(zhí)行路徑也是唯一的。
4、算法分析的原則
算法分析的4條原則:
(1)一個算法必須是正確的,符合計算機所要求解的題目,能得到預期的結(jié)果。(2)求解一個問題,執(zhí)行算法所需要化費的時間。(3)求解一個問題,執(zhí)行算法所需要占用的存儲空間。(4)編制的算法要求條理清晰、易于理解、易于編碼、易于調(diào)試。
5、結(jié)構(gòu)化程序的3種基本結(jié)構(gòu)
(1)順序結(jié)構(gòu)順序結(jié)構(gòu)中的各個模塊是按照它們出現(xiàn)的先后順序執(zhí)行的。(2)選擇結(jié)構(gòu)選擇結(jié)構(gòu)先判斷選擇條件,根據(jù)判斷的邏輯值,確定執(zhí)行其中的某一個模塊。(3)循環(huán)結(jié)構(gòu)循環(huán)結(jié)構(gòu)先判斷循環(huán)條件,滿足條件重復執(zhí)行循環(huán)體包含的執(zhí)行塊,直到循環(huán)條件不滿足,終止循環(huán)。
(1)自然語言表示法
6.結(jié)構(gòu)化程序算法描述自然語言表示法是用自然語言敘述一個問題的求解過程。自然語言描述的算法明確、詳細,是人們常用的描述解決問題的步驟的一般方法。前面的例題在描述其算法結(jié)構(gòu)的時候,用到了自然語言的描述方法。(2)程序流程圖
程序流程圖是用規(guī)定的圖形、指向線和文字說明來表示算法的一種圖形。程序流程圖的基本符號:
1)橢圓形圖框:終端框表示算法的開始與結(jié)束2)矩型圖框:處理框表示算法的各種處理功能3)菱形圖框:判斷框表示算法的條件轉(zhuǎn)移操作4)平形四邊形:表示算法的輸入/輸出操作5)圓點圖框:引入引出連接符表示流程圖的延續(xù)6)指向線:指向線指引流程圖中的方向30算法的表示--流程圖起止框輸入/出框判斷框處理框流程線連接點7、程序流程圖的基本結(jié)構(gòu)
A
B順序結(jié)構(gòu)流程圖
ABT
F條件P分支結(jié)構(gòu)流程圖當循環(huán)結(jié)構(gòu)流程圖
A
條件PTF直到循環(huán)結(jié)構(gòu)流程圖
ATF條件P
8、N-S圖
N-S圖用層層嵌套的方框圖形來描述程序算法,避免了流程圖中出現(xiàn)的流程線,有效控制了無條件轉(zhuǎn)移,體現(xiàn)了結(jié)構(gòu)化描述方法。N-S圖的基本結(jié)構(gòu)框圖
條件P
T
F
AB選擇結(jié)構(gòu)流程圖
偽代碼表示算法
偽代碼表示算法是用介于自然語言和計算機語言之間的文字和符號表示算法。
當條件P為真
A
當循環(huán)結(jié)構(gòu)流程圖
A
直到條件P為真直到循環(huán)結(jié)構(gòu)流程圖35偽碼描述偽碼表示的拼詞檢查程序如下:PROCEDUREspellcheckISBEGINsplitdocumentintosinglewordslookupwordsindictionarydisplaywordswhicharenotindictionarycreateanewdictionaryENDspellcheck36第三節(jié)C程序的調(diào)試與運行一、C語言程序的實現(xiàn)
C語言采用編譯方式將源程序轉(zhuǎn)換為二進制目標代碼。編寫好一個C程序到完成運行一般經(jīng)過以下幾個步驟:編輯、編譯、連接和執(zhí)行編輯從鍵盤輸入源程序.C編譯.obj連接.exe執(zhí)行輸出結(jié)果37C語言上機源程序
test.ctest.obj
可執(zhí)行代碼
test.exe
運行編譯連接38C語言上機上機環(huán)境:TurboC
這是一個集編輯,編譯,連接,執(zhí)行和調(diào)試為一體的全屏幕語言工具。優(yōu)點:系統(tǒng)小 缺點:不支持鼠標(MS-dos方式)啟動TurboC:
MS-dos方式TC
Windows98/2000雙擊相應文件夾下tc
應用程序。如:c:\turboc2\tc39C語言上機步驟:使用TC編輯輸入、修改程序調(diào)入程序F3保存文件F2編譯+連接+執(zhí)行ctrl+F9(可能要修改錯誤)查看運行結(jié)果Alt+F5中斷程序執(zhí)行ctrl+Break或ctrl+C菜單Alt+字母或F10再
選擇退出Alt+X40C語言上機使用BorlandC3.1執(zhí)行bc.exe程序調(diào)入程序F3保存文件F2編譯+連接+執(zhí)行ctrl+F9查看運行結(jié)果Alt+F5菜單Alt+字母(或F10再
選擇)中斷程序執(zhí)行ctrl+Break或ctrl+C窗口切換Alt+窗口號退出BCAlt+X41C程序的上機報告要求:C程序的上機報告班級:姓名:學號:指導教師:上機日期:————————————————————————題號(1.1)C程序清單:...運行結(jié)果:分析總結(jié):42在VisualC++環(huán)境中實現(xiàn)C程序:上機演示43第四節(jié)計算機語言的發(fā)展過程1、第一代語言——機器語言(低級語言):面向機器由0,1組成的機器指令的集合如:1011011000000000讓計算機進行一次加法1011010100000000讓計算機進行一次減法機器只認這些0,1組成的二進制代碼。優(yōu)點:缺點:2、第二代語言——匯編語言(仍為低級語言),也叫符號語言:面向機器用符號代替機器語言中的二進制代碼。44例如:
LDA A 取出A(LDA=LoadAccumulate) ADDB 加B STA C 存入C (STA=StoreAccumulate) PRINTC 打印C STOP 停止優(yōu)點:缺點:
匯編語言匯編程序機器語言執(zhí)行結(jié)果源程序系統(tǒng)軟件目標程序匯編
C程序設(shè)計453、第三代語言——算法語言(高級語言)按照算法書寫的,符合人們的習慣,表達式接近人們的會話(英語)和數(shù)學表達式。易于掌握書寫,且不依賴于具體機器。故稱為高級語言。常用的有BASIC、FORTRAN、COBOL、PASCAL、C語言等。需要翻譯系統(tǒng),執(zhí)行過程如下:高級語言高級語言機器語言執(zhí)行結(jié)果源程序系統(tǒng)軟件目標程序編譯兩大特點:簡單、易于書寫
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
- 6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 二零二五年度專業(yè)游泳池租賃與水質(zhì)改善服務協(xié)議
- 二零二五年度農(nóng)村土地經(jīng)營權(quán)流轉(zhuǎn)與農(nóng)業(yè)人才培養(yǎng)合同
- 勞務派遣公司協(xié)議書(二零二五年度)餐飲服務領(lǐng)域
- 二零二五年度教育機構(gòu)勞動合同模板(含教師職稱)
- 隧道工程綜合維護保養(yǎng)2025年度承包合同
- 二零二五年度金融行業(yè)勞務派遣服務合同
- 2025年度桉樹砍伐與林業(yè)科技推廣應用合同
- 浙江國企招聘2024麗水經(jīng)濟技術(shù)開發(fā)區(qū)國有企業(yè)公開招聘19人筆試參考題庫附帶答案詳解
- 平法識圖周宏業(yè)66課件
- 2025遼寧省能源控股集團所屬遼能股份公司招聘665人筆試參考題庫附帶答案詳解
- 產(chǎn)后腹直肌分離治療
- 2025年中國郵政招聘筆試參考題庫含答案解析
- 人教版(2024)七年級英語上冊新教材的變化及教學建議課件
- 2025年新聞部工作計劃
- 合同 水電押金條款
- 開題報告:重大突發(fā)事件中大學生志愿服務行為的認知機制及引導策略研究
- 高效農(nóng)業(yè)種植自動化解決方案
- 2023年工程質(zhì)量監(jiān)督人員考試真題模擬匯編(共957題)
- 2025中考英語作文19個熱點話題及范文
- 基于人工智能的農(nóng)產(chǎn)品追溯系統(tǒng)解決方案
- 鐵路典型事故案例分析
評論
0/150
提交評論