版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領
文檔簡介
1、C語言程序設計主講:陶海軍主講:陶海軍教材、參考書與課時安排l教材教材C C語言程序設計語言程序設計 賈宗璞賈宗璞 許合利編許合利編 中國礦業(yè)大中國礦業(yè)大學出版社;學出版社;l參考書參考書C C程序設計程序設計. . 譚浩強譚浩強著著. .清華大學出版社;清華大學出版社;C C程序設計題解與上機指導程序設計題解與上機指導. .譚浩強譚浩強編著編著. .清華大學清華大學出版社;出版社;l課時安排課時安排授課:授課:第第1-131-13教學周周二、周五,教學周周二、周五,5252學時學時 實驗上機安排:1-4班:班: 上機時間:上機時間:第第2、3、515周周一下午周周一下午3、4節(jié),節(jié), 第第
2、14周周周二上午周二上午1、2節(jié)節(jié) 地點:地點:計算機中心微機室計算機中心微機室(1)、()、(2前)前)5-8班:班: 上機時間:上機時間:第第2、3、515周周三下午周周三下午3、4節(jié),第節(jié),第 15周周周四上午周四上午1、2節(jié)節(jié) 地點:地點:計算機中心微機室計算機中心微機室(1)、()、(2前)前)l上機內(nèi)容:上機內(nèi)容: 隨教學進度的習題和實驗以及課堂布置作業(yè)隨教學進度的習題和實驗以及課堂布置作業(yè)l要求要求: :l有問題有問題及時及時向老師或其他同學請教向老師或其他同學請教l作業(yè)必須經(jīng)作業(yè)必須經(jīng)上機調(diào)試通過,上機調(diào)試通過,所有作業(yè)必須所有作業(yè)必須獨立獨立完成完成l上機考勤上機考勤4 4次
3、次缺席,平時成績不及格處理缺席,平時成績不及格處理l發(fā)現(xiàn)上機時間發(fā)現(xiàn)上機時間上網(wǎng),聊天,打游戲上網(wǎng),聊天,打游戲,平時成績按不及格,平時成績按不及格處理。處理。課程要求l課前請做好預習課前請做好預習l保持課堂安靜,頭腦清醒,思維活躍保持課堂安靜,頭腦清醒,思維活躍l認真、獨立、按時完成作業(yè)認真、獨立、按時完成作業(yè)l重視上機實踐,有效利用寶貴的上機時間重視上機實踐,有效利用寶貴的上機時間1 C語言概述重點、難點l本章重點:本章重點:lC C語言的特點語言的特點lC C語言程序的基本結(jié)構(gòu)語言程序的基本結(jié)構(gòu)l算法及其描述方法算法及其描述方法l結(jié)構(gòu)化程序設計方法結(jié)構(gòu)化程序設計方法l本章難點:本章難點:
4、lC C語言與其他高級語言的區(qū)別語言與其他高級語言的區(qū)別l算法的流程圖、算法的流程圖、N-SN-S圖描述方法圖描述方法 內(nèi)容提要l1.1 C1.1 C語言的發(fā)展及特點語言的發(fā)展及特點l1.1.1 C1.1.1 C語言的發(fā)展語言的發(fā)展l1.1.2 C1.1.2 C語言的特點語言的特點l1.2 C1.2 C語言程序的基本結(jié)構(gòu)語言程序的基本結(jié)構(gòu)l1.3 1.3 算法及其描述算法及其描述l1.3.1 1.3.1 算法的概念算法的概念l1.3.2 1.3.2 算法的描述方法算法的描述方法l1.4 1.4 程序設計方法程序設計方法l1.4.1 1.4.1 程序設計的一般步驟程序設計的一般步驟l1.4.2
5、1.4.2 結(jié)構(gòu)化程序設計方法結(jié)構(gòu)化程序設計方法1.1 C語言的發(fā)展及特點l1.1.1 C1.1.1 C語言的發(fā)展語言的發(fā)展 在在C C語言誕生以前,系統(tǒng)軟件主要是用語言誕生以前,系統(tǒng)軟件主要是用匯編語言匯編語言編編寫的。由于匯編語言程序依賴于計算機硬件,所以其寫的。由于匯編語言程序依賴于計算機硬件,所以其可可讀性和可移植性讀性和可移植性都很差;而一般的高級語言又都很差;而一般的高級語言又難以實現(xiàn)難以實現(xiàn)對計算機硬件的直接操作對計算機硬件的直接操作( (這正是匯編語言的優(yōu)勢這正是匯編語言的優(yōu)勢) ),于,于是人們盼望能有一種兼有匯編語言和高級語言特性的新是人們盼望能有一種兼有匯編語言和高級語言
6、特性的新語言。語言。lC C語言就是在這種背景下于語言就是在這種背景下于2020世紀世紀7070年代年代初問世的,當初問世的,當時主要是用于時主要是用于UNIXUNIX系統(tǒng)系統(tǒng)的開發(fā)。的開發(fā)。l19781978年由美國電話電報公司年由美國電話電報公司(AT&T)(AT&T)貝爾實驗室貝爾實驗室正式發(fā)表正式發(fā)表了了C C語言。語言。l同時由同時由B.W.KernighanB.W.Kernighan和和D.M.RitchieD.M.Ritchie合著了著名的合著了著名的The C Programming LanguageThe C Programming Language一書,通常
7、簡稱為一書,通常簡稱為K&RK&R,也有人稱之為,也有人稱之為K&RK&R標準。標準。l美國國家標準化協(xié)會美國國家標準化協(xié)會ANSI(American National ANSI(American National Standards Institute)Standards Institute)在此基礎上制定了一個在此基礎上制定了一個C C語言標語言標準,于準,于19831983年發(fā)表,通常稱之為年發(fā)表,通常稱之為ANSI CANSI C。l在微機上使用的在微機上使用的C C編譯系統(tǒng)主要有編譯系統(tǒng)主要有Microsoft CMicrosoft C、Turbo T
8、urbo C C、Quick CQuick C、Borland CBorland C等,它們不僅實現(xiàn)了等,它們不僅實現(xiàn)了ANSI CANSI C標標準,而且還各自作了一些擴充,使之更加方便、完美。準,而且還各自作了一些擴充,使之更加方便、完美。l如今如今C+C+又成為了高級語言的主流,又成為了高級語言的主流,C+C+是面向?qū)ο蟮某淌敲嫦驅(qū)ο蟮某绦蛟O計語言,但它的基礎是序設計語言,但它的基礎是C C 語言,且二者在很多方面語言,且二者在很多方面是兼容的。因此,掌握了是兼容的。因此,掌握了C C語言,再去學習語言,再去學習C+C+,就會達,就會達到事半功倍的效果。到事半功倍的效果。l本書敘述以本書
9、敘述以ANSI CANSI C為基礎,為基礎, C C語言上機實驗時用的是語言上機實驗時用的是VC+ 6.0VC+ 6.0。 1.1.2 C語言的特點(1) (1) 與自然語言比較與自然語言比較異同點異同點自然語言自然語言C C語言語言信息交流信息交流交流雙方地位平等交流雙方地位平等且均有思維、推理能力且均有思維、推理能力人機對話人機對話( (采取命令方式采取命令方式) )計算機一般無思維、推理能力,具有計計算機一般無思維、推理能力,具有計算與邏輯判斷能力算與邏輯判斷能力語法規(guī)則語法規(guī)則句法規(guī)則句法規(guī)則靈活靈活( (可省略、顛倒部分內(nèi)可省略、顛倒部分內(nèi)容容) )如:如:“走,上課去!走,上課去
10、!”“上課去,走!上課去,走!”( (上面兩句話意思相同,且上面兩句話意思相同,且都省略了主語都省略了主語) )固定固定( (一般不可省略、顛倒,必須按部一般不可省略、顛倒,必須按部就班就班) )如:如:scanf(%d%d,&a,&b);scanf(%d%d,&a,&b);x=a+b;x=a+b;( (上面兩條上面兩條C C語句顛倒后將可能得不到正語句顛倒后將可能得不到正確結(jié)果確結(jié)果) )表達方式表達方式多樣多樣算法多樣算法多樣例 C語言與Pascal語言比較C語言 Pascal語言 含義 BEGIN.END 復合語句if(e) s; IF(e) THEN s
11、 條件語句int i ; VAR i:INTEGER 定義i為整型變量 int a10; VAR a:ARRAY1.10 OF INTEGER 定義整型數(shù)組aint f(); FUNCTION f():INTEGER 定義f為返值整型的函數(shù)int *p; VAR p:INTEGER 定義p為指向整型變量的指針i+= 2; i=i+2 賦值i+2ii+,+i; i=i+1 i自增值l(2) C(2) C語言的主要特點:語言的主要特點:l1) C1) C語言簡潔、緊湊,使用方便、靈活。語言簡潔、緊湊,使用方便、靈活。ANSI CANSI C一共只有一共只有3232個個關(guān)鍵字關(guān)鍵字( (見附錄見附錄
12、),如,如intint、longlong、floatfloat、ifif、whilewhile、dodo等;等;9 9種控制語句,程序書寫自由,種控制語句,程序書寫自由,主要用小寫字母表示主要用小寫字母表示。l2) 2) 運算符豐富。共有運算符豐富。共有3434種運算符種運算符( (見附錄見附錄)。C C語言把括號、語言把括號、賦值、逗號等都作為運算符處理,從而使賦值、逗號等都作為運算符處理,從而使C C語言的運算類型極語言的運算類型極為豐富,可以方便地實現(xiàn)其他高級語言難以實現(xiàn)的功能。為豐富,可以方便地實現(xiàn)其他高級語言難以實現(xiàn)的功能。l3) 3) 數(shù)據(jù)結(jié)構(gòu)類型豐富,具有現(xiàn)代語言的各種數(shù)據(jù)結(jié)構(gòu)。
13、數(shù)據(jù)結(jié)構(gòu)類型豐富,具有現(xiàn)代語言的各種數(shù)據(jù)結(jié)構(gòu)。C C語言語言的數(shù)據(jù)類型有整型、實型、字符型、數(shù)組類型、指針類型、結(jié)的數(shù)據(jù)類型有整型、實型、字符型、數(shù)組類型、指針類型、結(jié)構(gòu)體類型、共用體類型等。能實現(xiàn)各種復雜數(shù)據(jù)結(jié)構(gòu)構(gòu)體類型、共用體類型等。能實現(xiàn)各種復雜數(shù)據(jù)結(jié)構(gòu)( (如鏈表、如鏈表、樹、棧等樹、棧等) )的運算。尤其是指針類型數(shù)據(jù),使用起來更為靈活、的運算。尤其是指針類型數(shù)據(jù),使用起來更為靈活、多樣。多樣。l4) 4) 具有結(jié)構(gòu)化的控制語句。用具有結(jié)構(gòu)化的控制語句。用函數(shù)作為程序的基本單位函數(shù)作為程序的基本單位,便,便于實現(xiàn)程序的模塊化。于實現(xiàn)程序的模塊化。C C語言是良好的結(jié)構(gòu)化語言,符合現(xiàn)代
14、語言是良好的結(jié)構(gòu)化語言,符合現(xiàn)代編程風格的要求。編程風格的要求。l5) 5) 語法限制不太嚴格,程序設計自由度大。如對數(shù)組下標越語法限制不太嚴格,程序設計自由度大。如對數(shù)組下標越界不做檢查;對變量的類型使用比較靈活,如整型數(shù)據(jù)與字符界不做檢查;對變量的類型使用比較靈活,如整型數(shù)據(jù)與字符型數(shù)據(jù)可以通用。型數(shù)據(jù)可以通用。l6) 6) C C語言允許直接訪問物理地址,能進行位語言允許直接訪問物理地址,能進行位(bit)(bit)操作操作,能實,能實現(xiàn)匯編語言的大部分功能,可以直接對硬件進行操作。因此有現(xiàn)匯編語言的大部分功能,可以直接對硬件進行操作。因此有人把它稱為中級語言。人把它稱為中級語言。l7)
15、 7) 生成目標代碼質(zhì)量高,程序執(zhí)行效率高,可達到匯編語言生成目標代碼質(zhì)量高,程序執(zhí)行效率高,可達到匯編語言程序的程序的80%80%。l8) 8) 與匯編語言相比,用與匯編語言相比,用C C語言寫的程序可移植性好。語言寫的程序可移植性好。 1.2 C語言程序的基本結(jié)構(gòu)語言程序的基本結(jié)構(gòu)l程序程序(programprogram)是)是為實現(xiàn)特定目標或解為實現(xiàn)特定目標或解決特定問題而用計算機語言編寫的命令序決特定問題而用計算機語言編寫的命令序列的集合列的集合。l使用使用C C語言編寫的程序稱為語言編寫的程序稱為C C語言源程序語言源程序( (簡稱簡稱C C語言程序或語言程序或C C程序程序) )。
16、 例1-1 求兩個整數(shù)之和void main() /*函數(shù)首部*/ int a,b,sum; /*定義整型變量a,b,sum */ printf(Please input two integers:n); /*輸出提示信息,增強交互性*/ scanf(%d%d,&a,&b); /*輸入兩個整數(shù),并賦給a,b */ sum=a+b; /*計算a與b的和,并賦給sum */ printf(%d+%d=%dn,a,b,sum); /*輸出a、b、sum*/ 程序運行情況如下:程序運行情況如下:Please input two integers:68 (表示空格, 表示按Enter鍵)
17、 6+8=14例1-2 求兩個整數(shù)中的較大者#include /*編譯預處理*/void main( ) /*主函數(shù)首部*/ int x,y,z; /*定義整型變量x、y、z */ int max(int a,int b); /*聲明函數(shù)max*/ printf(Please input two integers:n); /*輸出提示信息*/ scanf(%d,%d,&x,&y); /*輸入x,y值*/ z=max(x,y); /*調(diào)用max函數(shù)*/ printf(The maximum number is %d.n,z); /*輸出結(jié)果*/int max(int a,int
18、b) /*max函數(shù)首部*/ if(ab) return a; /*條件語句,實現(xiàn)選擇結(jié)構(gòu)*/ else return b; /*把結(jié)果返回主調(diào)函數(shù)*/程序運行情況如下:Please input two integers:6,8The maximum number is 8.C程序的基本結(jié)構(gòu)(1) C(1) C程序可由一個或多個函數(shù)構(gòu)成,程序可由一個或多個函數(shù)構(gòu)成,函數(shù)是函數(shù)是C C程序的基本程序的基本單位單位。(2) (2) C C程序必須有一個且只能有一個程序必須有一個且只能有一個mainmain函數(shù)函數(shù),即主函數(shù)。,即主函數(shù)。(3) (3) 一個一個C C程序總是從主函數(shù)開始執(zhí)行程序總是
19、從主函數(shù)開始執(zhí)行,而不論主函數(shù)在,而不論主函數(shù)在整個程序中位置如何。主函數(shù)執(zhí)行完了,整個程序也就整個程序中位置如何。主函數(shù)執(zhí)行完了,整個程序也就執(zhí)行完了。執(zhí)行完了。(4) C(4) C程序中可以有程序中可以有編譯預處理命令編譯預處理命令( (如如includeinclude命令命令) )。(5) (5) 每一個語句都必須以分號結(jié)尾。每一個語句都必須以分號結(jié)尾。但編譯預處理命令、但編譯預處理命令、函數(shù)首部函數(shù)首部( (即函數(shù)的起始行即函數(shù)的起始行) )和花括號和花括號“ ”之后不能加分之后不能加分號。號。(6) C(6) C語言本身沒有輸入輸出語句,語言本身沒有輸入輸出語句,輸入輸出功能是用輸輸
20、入輸出功能是用輸入輸出庫函數(shù)來實現(xiàn)的。入輸出庫函數(shù)來實現(xiàn)的。(7) (7) “/ /* *”和和“* */ /”為注釋符為注釋符,二者之間的部分為注釋。,二者之間的部分為注釋。C程序的書寫規(guī)則(1) (1) 一個聲明或一條語句占一行。一個聲明或一條語句占一行。當然當然C C程序允許一行寫程序允許一行寫多條語句,也允許一條語句寫在多行上,且無需續(xù)行符。多條語句,也允許一條語句寫在多行上,且無需續(xù)行符。(2) (2) 用用 括起來的部分,通常表示程序的某一層次結(jié)構(gòu)。括起來的部分,通常表示程序的某一層次結(jié)構(gòu)。 一般與該結(jié)構(gòu)語句的第一個字母對齊,一般與該結(jié)構(gòu)語句的第一個字母對齊,“ ”最好單最好單獨占
21、一行。獨占一行。(3) (3) 低一層次的語句或聲明可比高一層次的語句或聲明縮低一層次的語句或聲明可比高一層次的語句或聲明縮進若干格后書寫。進若干格后書寫。以便看起來更加清晰,增加程序的可以便看起來更加清晰,增加程序的可讀性。讀性。在編程時應力求遵循這些規(guī)則,以養(yǎng)成良好的編程風格。在編程時應力求遵循這些規(guī)則,以養(yǎng)成良好的編程風格。l格式特點l習慣用小寫字母,大小寫敏感l(wèi)不使用行號,無程序行概念l可使用空行和空格l常用鋸齒形書寫格式 C語言程序設計 第一章第一章 C C語言概述語言概述main( ) . . . . . . .main( ) int i , j , sum; sum=0; for
22、(i=1; i10;i+) for(j=1;j100結(jié)束NY圖1-6 例1-3的流程圖l對于順序、分支和循環(huán)這三種基本結(jié)構(gòu),有以下共同特對于順序、分支和循環(huán)這三種基本結(jié)構(gòu),有以下共同特點:點:l1) 1) 雖然結(jié)構(gòu)內(nèi)部的某些基本框并不是也不可能是單入雖然結(jié)構(gòu)內(nèi)部的某些基本框并不是也不可能是單入口和單出口口和單出口( (比如選擇結(jié)構(gòu)和循環(huán)結(jié)構(gòu)中的判斷框有兩比如選擇結(jié)構(gòu)和循環(huán)結(jié)構(gòu)中的判斷框有兩個出口個出口) ),但,但整個結(jié)構(gòu)只有一個入口和一個出口整個結(jié)構(gòu)只有一個入口和一個出口。l2) 2) 結(jié)構(gòu)內(nèi)的每一部分都有機會被執(zhí)行到結(jié)構(gòu)內(nèi)的每一部分都有機會被執(zhí)行到。也就是說,。也就是說,對每一個基本框來說
23、,都應當有一條從入口到出口的路對每一個基本框來說,都應當有一條從入口到出口的路徑通過它。徑通過它。l3) 3) 結(jié)構(gòu)內(nèi)不存在結(jié)構(gòu)內(nèi)不存在“死循環(huán)死循環(huán)”( (無終止的循環(huán)無終止的循環(huán)) ),在有限,在有限時間內(nèi)必能結(jié)束執(zhí)行過程。時間內(nèi)必能結(jié)束執(zhí)行過程。l已經(jīng)證明,由以上三種基本結(jié)構(gòu)順序組成的算法結(jié)構(gòu),已經(jīng)證明,由以上三種基本結(jié)構(gòu)順序組成的算法結(jié)構(gòu),可以解決任何復雜的問題。可以解決任何復雜的問題。由這三種基本結(jié)構(gòu)所構(gòu)成的由這三種基本結(jié)構(gòu)所構(gòu)成的算法屬于算法屬于“結(jié)構(gòu)化結(jié)構(gòu)化”的算法,這種設計方法也稱為結(jié)構(gòu)的算法,這種設計方法也稱為結(jié)構(gòu)化程序設計方法,化程序設計方法,主要有以下三個要求:主要有以下
24、三個要求:l1) 1) 結(jié)構(gòu)化程序的控制結(jié)構(gòu)只能由順序、分支和循環(huán)三結(jié)構(gòu)化程序的控制結(jié)構(gòu)只能由順序、分支和循環(huán)三種基本結(jié)構(gòu)構(gòu)成種基本結(jié)構(gòu)構(gòu)成( (當然也可以由這三種基本結(jié)構(gòu)進行組當然也可以由這三種基本結(jié)構(gòu)進行組合形成新的結(jié)構(gòu),但必須要滿足基本結(jié)構(gòu)所要求的三個合形成新的結(jié)構(gòu),但必須要滿足基本結(jié)構(gòu)所要求的三個條件條件) )。l2) 2) 整個程序是由許多個這三種結(jié)構(gòu)的程序塊串聯(lián)起來整個程序是由許多個這三種結(jié)構(gòu)的程序塊串聯(lián)起來的。的。因為這三種結(jié)構(gòu)都只有一個入口和一個出口,所以因為這三種結(jié)構(gòu)都只有一個入口和一個出口,所以是可以把它們串聯(lián)起來的。是可以把它們串聯(lián)起來的。l3) 3) 整個程序只有一個入
25、口和出口整個程序只有一個入口和出口。 結(jié)構(gòu)化的流程圖描述算法的特點l用這種結(jié)構(gòu)化的流程圖描述算法用這種結(jié)構(gòu)化的流程圖描述算法直觀形象直觀形象,比,比較清楚地顯示出各個框之間的邏輯關(guān)系。較清楚地顯示出各個框之間的邏輯關(guān)系。l但是這種流程圖但是這種流程圖占用篇幅較多占用篇幅較多,尤其當算法比,尤其當算法比較復雜時,畫流程圖既費時又不方便。較復雜時,畫流程圖既費時又不方便。l基本結(jié)構(gòu)的順序組合可以表示任何復雜的算法,基本結(jié)構(gòu)的順序組合可以表示任何復雜的算法,這樣我們可以這樣我們可以省去基本結(jié)構(gòu)之間的流程線。省去基本結(jié)構(gòu)之間的流程線。(3) 用N-S流程圖描述算法l19731973年美國學者年美國學者
26、I.I.N Nassiassi和和B.B.S Shneidermanhneiderman提出提出了一種新的流程圖形式。在這種流程圖中,完了一種新的流程圖形式。在這種流程圖中,完全去掉了帶箭頭的流程線。全去掉了帶箭頭的流程線。全部算法寫在一個全部算法寫在一個矩形框內(nèi),在該框內(nèi)還可以包含其他的從屬于矩形框內(nèi),在該框內(nèi)還可以包含其他的從屬于它的框,它的框,或者說,由一些基本的框組成一個大或者說,由一些基本的框組成一個大的框。這種流程圖稱為的框。這種流程圖稱為N-SN-S結(jié)構(gòu)化流程圖,適用結(jié)構(gòu)化流程圖,適用于結(jié)構(gòu)化程序設計,而且所用篇幅較少,因而于結(jié)構(gòu)化程序設計,而且所用篇幅較少,因而很受歡迎。很受歡
27、迎。l1) 順序結(jié)構(gòu):l2) 選擇結(jié)構(gòu):l3) 循環(huán)結(jié)構(gòu): 例1-3的N-S圖 打印sum1sum2deno1sign( 1)signsignsign(1/deno)termsumtermsumdeno1deno 直到deno100圖1-11 例1-3的N-S圖N-S圖描述算法的特點l用傳統(tǒng)的流程圖和用傳統(tǒng)的流程圖和N-SN-S圖描述算法,圖描述算法,直觀直觀易懂易懂l但但畫起來比較費事畫起來比較費事。 (4) 用偽代碼描述算法l偽代碼偽代碼(pseudo code)(pseudo code)是用介于是用介于自然語言自然語言和計算機語言之間的文字和符號來描述算和計算機語言之間的文字和符號來描述
28、算法。法。 l它它不用圖形符號不用圖形符號,因此書寫方便、格式緊,因此書寫方便、格式緊湊,也比較好懂,湊,也比較好懂,便于向計算機語言描述便于向計算機語言描述的算法的算法( (即程序即程序) )過渡過渡。 例1-3的算法可以用偽代碼描述如下 BEGIN (算法開始) 1sum 2deno 1sign while deno 100 (-1)signsign sign1/denoterm sumtermsum deno1deno print sumEND (算法結(jié)束)偽代碼描述算法的特點l偽代碼書寫格式比較自由,容易表達出設偽代碼書寫格式比較自由,容易表達出設計者的思想。計者的思想。同時,用偽代碼
29、很容易寫出同時,用偽代碼很容易寫出結(jié)構(gòu)化的算法,并且寫出的算法也很容易結(jié)構(gòu)化的算法,并且寫出的算法也很容易修改。修改。l用偽代碼描述算法不如流程圖直觀用偽代碼描述算法不如流程圖直觀,可能,可能會出現(xiàn)邏輯上的錯誤會出現(xiàn)邏輯上的錯誤( (例如循環(huán)或選擇結(jié)例如循環(huán)或選擇結(jié)構(gòu)的范圍搞錯等構(gòu)的范圍搞錯等) )。 (5) 用計算機語言描述算法l要完成一件工作,包括要完成一件工作,包括設計算法設計算法和和實現(xiàn)算法實現(xiàn)算法兩兩個部分。個部分。 l我們的任務是用計算機解題,也就是要用計算我們的任務是用計算機解題,也就是要用計算機實現(xiàn)算法。機實現(xiàn)算法。計算機是無法識別自然語言、流計算機是無法識別自然語言、流程圖和
30、偽代碼的。程圖和偽代碼的。只有用計算機語言編寫的程只有用計算機語言編寫的程序才能被計算機執(zhí)行序才能被計算機執(zhí)行( (當然還要編譯成二進制目當然還要編譯成二進制目標程序標程序) )。因此,在用流程圖或偽代碼描述出一因此,在用流程圖或偽代碼描述出一個算法后,還要將它轉(zhuǎn)換成計算機語言程序。個算法后,還要將它轉(zhuǎn)換成計算機語言程序。 例1-3的算法可以用C語言描述如下 main() int sign=1; float deno=2.0,sum=1.0,term; while(deno=100) sign=-sign; term=sign/deno; sum=sum+term; deno=deno+1;
31、printf(The sum is %f.n,sum);程序運行結(jié)果為:The sum is 0.688172.1.4 程序設計方法程序設計方法l1.4.1 1.4.1 程序設計的一般步驟程序設計的一般步驟(1) (1) 分析問題并確定數(shù)據(jù)結(jié)構(gòu)分析問題并確定數(shù)據(jù)結(jié)構(gòu) (2) (2) 算法設計算法設計(3) (3) 編寫程序編寫程序(4) (4) 上機調(diào)試上機調(diào)試(5) (5) 整理寫出文檔資料整理寫出文檔資料 1.4.2 結(jié)構(gòu)化程序設計方法(1) (1) 自頂向下,逐步細化自頂向下,逐步細化(2) (2) 模塊化設計模塊化設計(3) (3) 結(jié)構(gòu)化編碼結(jié)構(gòu)化編碼1.4.1 運行程序的步驟上機輸
32、入與編輯源程序?qū)υ闯绦蜻M行編譯與庫函數(shù)連接運行目標程序 運行程序的步驟和方法Visual C+ 6.0 上機操作上機操作第一步,啟動第一步,啟動 Microsoft Visual C+ 6.0第二步,創(chuàng)建一個工程第二步,創(chuàng)建一個工程第三步,修改新工程的配置第三步,修改新工程的配置 第四步,確認創(chuàng)建新工程第四步,確認創(chuàng)建新工程 第五步,創(chuàng)建新工程完畢第五步,創(chuàng)建新工程完畢 添加一個文件到一個空的工程中添加一個文件到一個空的工程中第一步,創(chuàng)建新的第一步,創(chuàng)建新的 .c 源文件源文件第二步,查看源文件第二步,查看源文件編寫程序編寫程序第一步,編寫源代碼第一步,編寫源代碼 第二步,打開第二步,打開“編譯編譯”工具欄工具欄第三步,編譯第三步,編譯第四步,除錯第四步,除錯運行程序運行程序l單擊 Build 工具欄中的紅色感嘆號按鈕,就可以運行一個編譯好的程序:l上機作業(yè):1.編寫一個C程序,輸出下列信息: * Very good! *2.編寫一個C程序,輸出一個幾何圖形,如三角形: * * * * * *3.
溫馨提示
- 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. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025海南省安全員-B證(項目經(jīng)理)考試題庫
- 2025年-遼寧省安全員知識題庫
- 2025青海省安全員B證考試題庫及答案
- 2025年湖北省安全員A證考試題庫附答案
- 2025遼寧建筑安全員考試題庫及答案
- 建筑用花崗巖開采及建筑用碎石、機制砂加工項目可行性研究報告模板-備案拿地
- 英語英語時態(tài)課件
- 一年級語文《-jqx》課件
- 單位管理制度展示匯編【人事管理】
- 單位管理制度展示大全職員管理篇十篇
- 北師大版五年級數(shù)學下冊第3單元第2課時分數(shù)乘法(二)課件
- 教育部中國特色學徒制課題:中國特色學徒制制度設計與運行機制研究
- 城市規(guī)劃思想史
- 山東師范大學新聞采訪期末復習題
- 讓與擔保合同協(xié)議范本
- 住宅設計效果圖協(xié)議書
- 新版中國食物成分表
- 2024河南鄭州市金水區(qū)事業(yè)單位招聘45人歷年高頻難、易錯點500題模擬試題附帶答案詳解
- 食物損失和浪費控制程序
- TCI 373-2024 中老年人免散瞳眼底疾病篩查規(guī)范
- 2024四川太陽能輻射量數(shù)據(jù)
評論
0/150
提交評論