




版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)
文檔簡介
1、C語言程序設(shè)計C語言程序設(shè)計第二章 程序設(shè)計和程序結(jié)構(gòu)本章概述2.4流程圖及程序例子2.2流程圖2.1程序設(shè)計與算法2.3程序結(jié)構(gòu)第二章 程序設(shè)計和程序結(jié)構(gòu)本章概述2.4流程圖及程序例子2本章概述本章主要介紹了C語言的程序結(jié)構(gòu)、流程圖的繪制和程序設(shè)計的過程。學(xué)習(xí)目標:1、理解程序的開發(fā)、設(shè)計過程2、掌握C語言程序結(jié)構(gòu) C語言程序設(shè)計 第二章 程序設(shè)計和程序結(jié)構(gòu)本章概述本章主要介紹了C語言的程序結(jié)構(gòu)、流程圖的繪制和程序設(shè)3、掌握程序流程圖的繪制方法4、了解三種程序結(jié)構(gòu):順序、選擇與 循環(huán)5、熟練C語言程序的開發(fā)過程6、逐步建立程序的概念7、了解良好的程序設(shè)計風(fēng)格 3、掌握程序流程圖的繪制方法內(nèi)容
2、框架: C語言程序設(shè)計 第二章 程序設(shè)計和程序結(jié)構(gòu)內(nèi)容框架: C語言程序設(shè)計 2.1.1程序設(shè)計的概念1. 程序包括對數(shù)據(jù)的描述和對數(shù)據(jù)處理的描述數(shù)據(jù)處理數(shù)據(jù)程序包括 C語言程序設(shè)計 第二章 程序設(shè)計和程序結(jié)構(gòu)2.1 程序設(shè)計與算法2.1.1程序設(shè)計的概念1. 程序包括對數(shù)據(jù)的描述和對數(shù)據(jù)處(2)對數(shù)據(jù)處理方法的明確描述,即算法,是程序的靈魂,是程序設(shè)計的核心。著名計算機科學(xué)家數(shù)據(jù)結(jié)構(gòu)算法 =+程序沃思(Nikiklaus Wirth) C語言程序設(shè)計 第二章 程序設(shè)計和程序結(jié)構(gòu)(2)對數(shù)據(jù)處理方法的明確描述,即算法,是程序的靈魂,是程序 實際上,一個程序除了數(shù)據(jù)結(jié)構(gòu)和算法外,還必須使用一種計
3、算機語言來實現(xiàn),C語言就是這樣的一種計算機語言。 C語言程序設(shè)計 第二章 程序設(shè)計和程序結(jié)構(gòu) 實際上,一個程序除了數(shù)據(jù)結(jié)構(gòu)和算 C語言程2. 程序設(shè)計過程 C語言程序設(shè)計 第二章 程序設(shè)計和程序結(jié)構(gòu)問題描述準確認真分析明確系統(tǒng)目標條件內(nèi)容分析詳盡力求似是而非簡單化避免2. 程序設(shè)計過程 C語言程序設(shè)計 (2)設(shè)計算法:根據(jù)題目要求,設(shè)計合理 的算法。對于復(fù)雜的問題,一般都需經(jīng)過 抽象后再建立數(shù)學(xué)模型,即對問題進行數(shù) 學(xué)上 的描述,使問題變得簡明而有效。(3)選擇合適的程序結(jié)構(gòu):根據(jù)算法和所 用的計算機語言特點,確定程序結(jié)構(gòu)。 C語言程序設(shè)計 第二章 程序設(shè)計和程序結(jié)構(gòu)(2)設(shè)計算法:根據(jù)題目要
4、求,設(shè)計合理 C語言程序設(shè)計 (4)確定變量及其數(shù)據(jù)類型: 一般的程序都會用到變量,根據(jù)問題的條件 、處理過程、結(jié)果要求所涉及到的所需的各種數(shù)據(jù),選用適當?shù)淖兞啃问絹砻枋?、處理。正確 、合理、經(jīng)濟地處理所需的變量,是計算機應(yīng) 用技術(shù)的基本功之一。 C語言程序設(shè)計 第二章 程序設(shè)計和程序結(jié)構(gòu) (4)確定變量及其數(shù)據(jù)類型: C語言程序設(shè)計 (5)畫流程圖(7)調(diào)試程序結(jié)構(gòu)變量類型算法確定流程圖詳細思路畫出體現(xiàn)編寫程序語句調(diào)試(6)編寫代碼 C語言程序設(shè)計 第二章 程序設(shè)計和程序結(jié)構(gòu)(5)畫流程圖(7)調(diào)試程序結(jié)構(gòu)變量類型算法確定流程圖詳細思 良好的程序編寫風(fēng)格會大大縮短調(diào)試過程,附錄4介紹了C語言
5、程序的一般書寫風(fēng)格,附錄11介紹了一些常見的錯誤。 C語言程序設(shè)計 第二章 程序設(shè)計和程序結(jié)構(gòu) 良好的程序編寫風(fēng)格會大大縮短調(diào)試過程2.1.2 算法 在實際的編程過程中要注意: 1、避免拿起題目就開始寫程序的 2、應(yīng)該先設(shè)計出合適的算法 C語言程序設(shè)計 第二章 程序設(shè)計和程序結(jié)構(gòu)2.1.2 算法 在實際的編程過程中要注用程序?qū)崿F(xiàn)對一個具體問題的處理,往往基于手工處理的方式,也就是設(shè)計人員對實際問題的分析。在算法設(shè)計之前 首先,要認真考慮和設(shè)計數(shù)據(jù)的組織方式 然后,再針對此數(shù)據(jù)結(jié)構(gòu)設(shè)計相應(yīng)的操作步驟計算機中的算法可以更簡潔地表示繁瑣的手工操作過程。 C語言程序設(shè)計 第二章 程序設(shè)計和程序結(jié)構(gòu)用程
6、序?qū)崿F(xiàn)對一個具體問題的處理,往往基于手工處理的方式,也就 算法具有如下性質(zhì):(1)有窮性 (2)確定性 (3)有效性 (4)有0個或多個輸入 (5)有一個或多個輸出另外,算法還應(yīng)有清晰、直觀的表示方式,以利于算法的理解、維護。 C語言程序設(shè)計 第二章 程序設(shè)計和程序結(jié)構(gòu) C語言程序設(shè)計 描述算法的方法初學(xué)者可以從流程圖開始(1)自然語言(2)N-S圖(3)結(jié)構(gòu)化流程圖應(yīng)先分析題意畫出流程圖再進行編程在實際編程過程中 C語言程序設(shè)計 第二章 程序設(shè)計和程序結(jié)構(gòu)描述算法的方法初學(xué)者可以從流程圖開始(1)自然語言(2)N-2.2流程圖流程圖是用幾何圖形、箭頭和文字說明來表示算法的框圖。直觀形象描述算
7、法清楚的表達設(shè)計者的思路 C語言程序設(shè)計 第二章 程序設(shè)計和程序結(jié)構(gòu)2.2流程圖流程圖是用幾何圖形、箭頭和文字說明來表示算法的框 圖形符號 名稱 操作起止流程的起點與終點處理各種形式的數(shù)據(jù)處理輸入輸出數(shù)據(jù)的輸入與輸出判斷根據(jù)條件選擇相應(yīng)的分支預(yù)定義過程一個定義過的過程,如函數(shù)連接點與流程圖其它部分連接流程線連接各圖框,表執(zhí)行順序表2-1 程序流程圖符號 圖形符號 名稱 操作起止流程的起點與終點處理 在長期的程序設(shè)計實踐中,人們提出了結(jié)構(gòu)化的流程圖,即一個流程圖都可以由三種基本的結(jié)構(gòu)(順序、選擇、循環(huán))組成,程序設(shè)計語言對這三種結(jié)構(gòu)都可以實現(xiàn),而且計算機都能夠執(zhí)行。 C語言程序設(shè)計 第二章 程序
8、設(shè)計和程序結(jié)構(gòu) 在長期的程序設(shè)計實踐中,人們提 C語言程順序、選擇、循環(huán)這三種基本結(jié)構(gòu)可以相互嵌套,從而組成復(fù)雜的算法。根據(jù)結(jié)構(gòu)化流程圖寫出的程序就是結(jié)構(gòu)化的程序。順序、選擇、循環(huán)這三種基本結(jié)構(gòu)可以相互嵌套,從而組成復(fù)雜的算三種基本結(jié)構(gòu)的流程如圖2-1所示。三種基本結(jié)構(gòu)的流程如圖2-1所示。它們的特點是:順序結(jié)構(gòu):按語句書寫順序執(zhí)行。選擇結(jié)構(gòu):根據(jù)條件判斷選擇執(zhí)行的分支。循環(huán)結(jié)構(gòu):根據(jù)給定條件反復(fù)執(zhí)行某程序段。C是一種結(jié)構(gòu)化程序設(shè)計語言,其任何程序都可由這三種基本邏輯結(jié)構(gòu)來描述。 C語言程序設(shè)計 第二章 程序設(shè)計和程序結(jié)構(gòu)它們的特點是: C語言程序設(shè)計 2.3 程序結(jié)構(gòu)一個完整的C語言程序的組
9、成若干個其它函數(shù)一個main()函數(shù)一個main()函數(shù)或 C語言程序設(shè)計 第二章 程序設(shè)計和程序結(jié)構(gòu)2.3 程序結(jié)構(gòu)一個完整的C語言程序的組成若干個其它函數(shù)如果一個程序中有多個源文件,則 只能在一個 源文件中存在 。在第二章至第五章的例題中,主要以只有一個 函數(shù)的程序進行講解 ;第六章開始 ,我們將介紹由多個函數(shù)構(gòu)成的程序。 C語言程序設(shè)計 第二章 程序設(shè)計和程序結(jié)構(gòu)main()main()如果一個程序中有多個源文件,則 只能在一2.3.1 C語言程序總體結(jié)構(gòu) C語言程序設(shè)計 第二章 程序設(shè)計和程序結(jié)構(gòu)編程思路:這是第一個程序例子,通過這一例子,我們來了解源程序的結(jié)構(gòu):首先是對源程序的一些說
10、明 例2-1 由main()函數(shù)構(gòu)成的語言程序。包括文件名、程序功能,放在由“/*”和“*/”對構(gòu)成的注釋部分中 2.3.1 C語言程序總體結(jié)構(gòu) C語言程序設(shè)計 指定程序中要調(diào)用的函數(shù)printf()所在的頭文件;接下來給出以“#include”開始的預(yù)處理命令行接下來是main()函數(shù),將所有需要程序完成的語句均放在以、括起來的函數(shù)體內(nèi),本程序中只有一條語句,用來在屏幕顯示信息。指定程序中要調(diào)用的函數(shù)printf()所在的頭文件;接下來給 C語言程序設(shè)計 第二章 程序設(shè)計和程序結(jié)構(gòu)程序源代碼如下: /*代碼文件名:E2_1.C*/*功能:由main()函數(shù)構(gòu)成的程序示例*/#include
11、stdio.hmain( )printf(Wonderful, this is my first C program.nn);程序運行結(jié)果: C語言程序設(shè)計 C語言程序設(shè)計 第二章 程序設(shè)計和程序結(jié)構(gòu)其中最后一行的“Press any key to continue”是VC6.0自動添加在每個程序運行結(jié)果后面的一句提示信息,它表示當程序執(zhí)行結(jié)束時,操作者可以按任意鍵返回到編輯界面。在后面的程序運行結(jié)果中,將不再給出這一信息。 C語言程序設(shè)計 C語言程序設(shè)計 第二章 程序設(shè)計和程序結(jié)構(gòu)例2-2 求兩個整數(shù)的和。 編程思路:要求兩個整數(shù)的和,首先必須存在兩個整數(shù),因此先定義兩個整數(shù) :程序中用整型
12、變量來表示 再從鍵盤輸入兩個整數(shù),然后將兩個數(shù)相加,最后在輸出兩個數(shù)的和 如果沒有輸出,就不知道結(jié)果在main()函數(shù)中,對變量的定義要放在輸入、相加、輸出等可以執(zhí)行的語句前面。 當然,還得定義一個整型變量存放兩數(shù)之和。 C語言程序設(shè)計 C語言程序設(shè)計 第二章 程序設(shè)計和程序結(jié)構(gòu)程序源代碼如下: /*代碼文件名:E2_2.C*/*程序功能:實現(xiàn)兩個整數(shù)的相加*/#include stdio.h main( ) int num1,num2,sum; printf(Input the 1st integer number: ); scanf(%d, &num1); printf(Input the
13、 2nd integer number: ); scanf(%d, &num2); sum=num1+num2; printf(sum=%dn,sum); C語言程序設(shè)計 C語言程序設(shè)計 第二章 程序設(shè)計和程序結(jié)構(gòu)程序運行結(jié)果:通過以上兩個程序,我們來了解一下C語言程序結(jié)構(gòu)的特點:1、程序的前兩行是用一對/*、*/括 起的描述性語句,這是程序中的注釋 部分,對程序的功能作了簡要的說明 ,在編譯過程中將忽略。 C語言程序設(shè)計 C語言程序設(shè)計 第二章 程序設(shè)計和程序結(jié)構(gòu)2. 有一行命令:#include stdio.h 其中的“stdio.h”是C提供的一個頭文件,在其中定義了多個函數(shù);當后面的程
14、序要調(diào)用一些已經(jīng)定義過的庫函數(shù) (如printf()、scanf()函數(shù))時,就要先用 include命令對包含被調(diào)用函數(shù)的頭文件( 如stdio.h)進行預(yù)定義說明。 C語言程序設(shè)計 3. 程序中有一個main(),在其后面有一對、,在、中有多行以;結(jié)尾的語句。main()函數(shù)是C語言程序的主函數(shù),一個程序有且只有一個main()主函數(shù)。3. 程序中有一個main(),在其后面有一對、 C語言程序設(shè)計 第二章 程序設(shè)計和程序結(jié)構(gòu)不論它在程序前面還是后面,整個程序總是從 函數(shù)開始執(zhí)行; 執(zhí)行完畢時,程序也執(zhí)行完畢。 一般放在一個源文件的最前頭。main()main()main() C語言程序設(shè)
15、計 如果在程序中還有其它函數(shù),它們也是直接或間接地被main()調(diào)用。 函數(shù)是C語言程序的基本單位。如果在程序中還有其它函數(shù),它們也是函數(shù)是C語言程序的基本單位2.3.2 函數(shù)的一般結(jié)構(gòu) C語言程序設(shè)計 第二章 程序設(shè)計和程序結(jié)構(gòu)任何函數(shù)(包括主函數(shù)main())都是由函數(shù)頭和函數(shù)體兩部分組成。其一般結(jié)構(gòu)如下: 函數(shù)類型 函數(shù)名(函數(shù)參數(shù)表) /* 函數(shù)頭部分*/ /* 函數(shù)體部分*/說明語句部分;執(zhí)行語句部分; 2.3.2 函數(shù)的一般結(jié)構(gòu) C語言程序設(shè)計 C語言程序設(shè)計 第二章 程序設(shè)計和程序結(jié)構(gòu)1、函數(shù)頭 函數(shù)頭由函數(shù)類型(可缺?。⒑瘮?shù)名 和函數(shù)參數(shù)表(可缺?。┤糠纸M成。2、函數(shù)體 在
16、函數(shù)說明部分的下面、大括號(必須配對 使用)內(nèi)的部分。函數(shù)體一般由說明 語句 和可執(zhí)行語句構(gòu)成: C語言程序設(shè)計 C語言程序設(shè)計 第二章 程序設(shè)計和程序結(jié)構(gòu)(1)說明語句部分 由變量定義、自定義類型說明、外部變 量說明等組成。如果不需要,也可以缺 省變量定義語句。(2)可執(zhí)行語句 一般由若干條可執(zhí)行語句構(gòu)成,所有可 執(zhí)行語句必須在說明語句部分之后。 C語言程序設(shè)計 C語言程序設(shè)計 第二章 程序設(shè)計和程序結(jié)構(gòu)下面是例2-2中main()函數(shù)的結(jié)構(gòu)說明: /*主函數(shù)main()*/#include stdio.h /*頭文件說明*/main( ) /*函數(shù)頭部分*/ /*下面為函數(shù)體部分*/ in
17、t num1,num2,sum; /*變量定義部分*/ /*下面是可執(zhí)行語句部分*/ printf(Input the 1st integer number: ); scanf(%d,&num1); printf(Input the 2nd integer number: ); scanf(%d,&num2); sum=num1+num2; printf(sum=%dn,sum); C語言程序設(shè)計 C語言程序設(shè)計 第二章 程序設(shè)計和程序結(jié)構(gòu)函數(shù)體內(nèi)的說明語句不能放在可執(zhí)行語句中間,在下面的例2-3中,定義語句“int max;”的位置就是非法的:例2-3 一個位置錯誤的定義語句。編程思路:函數(shù)
18、中的說明語句只能放在可執(zhí)行語句之前,本程序給出了一個位置錯誤的定義語句。 C語言程序設(shè)計 C語言程序設(shè)計 第二章 程序設(shè)計和程序結(jié)構(gòu)程序源代碼如下: /*代碼文件名:E2_3.C*/*主函數(shù)main()*/#include stdio.h main() int x,y; x=3; y=6; int max;max=xy?x:y;printf(max=%dn,max);/*頭文件說明*/ /*說明語句:定義2個整型變量x、y*/ /*可執(zhí)行的賦值語句:將3賦值給x*/ /*可執(zhí)行的賦值語句:將6賦值給y*/ /*說明語句:定義一個整型變量 max */ C語言程序設(shè)計 C語言程序設(shè)計 第二章 程
19、序設(shè)計和程序結(jié)構(gòu)在main()函數(shù)中,第4條語 出現(xiàn)在可執(zhí)行語句后面,是非法的,應(yīng)該將其移到第2條語句 的前面。int max ;x=3; C語言程序設(shè)計 C語言程序設(shè)計 第二章 程序設(shè)計和程序結(jié)構(gòu)下面給出C源程序的結(jié)構(gòu)特點:1. 一個C語言源程序可以由一個或多個源文件組成。2. 每個源文件可由一個或多個函數(shù)組成。 C語言程序設(shè)計 C語言程序設(shè)計 第二章 程序設(shè)計和程序結(jié)構(gòu)3. 一個源程序不論由多少個文件組成,都有一個且只能有一個main()函數(shù),即主函數(shù)。4. 源程序中可以有預(yù)處理命令(include 命令僅為其中的一種),預(yù)處理命令通常應(yīng)放在源文件或源程序的最前面。 C語言程序設(shè)計 5.
20、每一個說明、每一個語句都必須以分號結(jié)尾,但預(yù)處理命令,函數(shù)頭和花括號之后不能加分號。6. 標識符與關(guān)鍵字之間必須至少加一個空格以示間隔。若已有明顯的間隔符,也可不再加空格來間隔。5. 每一個說明、每一個語句都必須以分號結(jié)尾,但預(yù)處理命令,2.4 流程圖及程序例子說明:在這一節(jié) 中,給出了本教材中涉及到的各類數(shù)據(jù)類型和控制結(jié)構(gòu)的例子 ,學(xué)習(xí)時主要領(lǐng)會編程的思路和流程圖的繪制;而對于程序代碼, 可以在上機練習(xí)時參考調(diào)試, 以建立程序的概念。 C語言程序設(shè)計 第二章 程序設(shè)計和程序結(jié)構(gòu)2.4 流程圖及程序例子說明:在這一節(jié) 中,給出了本教材中 C語言程序設(shè)計 第二章 程序設(shè)計和程序結(jié)構(gòu)例2-4 用*
21、號輸出字母C的圖案。 編程思路:可先用*號在紙上寫出字母C ,再分行輸出。 流程圖如右圖2-2所示。開始結(jié)束輸出 “*”輸出 “*”輸出 “*”輸出 “*” C語言程序設(shè)計 C語言程序設(shè)計 第二章 程序設(shè)計和程序結(jié)構(gòu)程序源代碼如下: 程序運行結(jié)果: /*代碼文件名:E2_4.C*/*輸出練習(xí)*/#include stdio.hmain()printf( *n);printf( *n);printf( *n);printf( *n); C語言程序設(shè)計 C語言程序設(shè)計 第二章 程序設(shè)計和程序結(jié)構(gòu)例2-5 輸入三個整數(shù)x,y,z,并將這三個數(shù)由小到大輸出。 編程思路:我們先來看一個熟悉的環(huán)境 :學(xué)校
22、是一個進行教學(xué)活動的場所 :每個班級都有不同的名稱思考題:如果希望輸出的圖案效果更好一點,該如何調(diào)整程序? C語言程序設(shè)計 C語言程序設(shè)計 第二章 程序設(shè)計和程序結(jié)構(gòu)如06軟件(1)班、05機電(2)班等 每個班級都有一定數(shù)量的學(xué)生,學(xué)校為每個班級分配了一個大小合適的教室以進行各種活動,如圖2-3 (a)所示,我們知道,如果沒有學(xué)生,這些班級就沒有意義,教室浪費了,也不存在教學(xué)活動;而且一個教室只能安排一個班級 C語言程序設(shè)計 C語言程序設(shè)計 第二章 程序設(shè)計和程序結(jié)構(gòu)比如 3203教室原來是分配給06軟件(1)班,而如果現(xiàn)在要安排 05機電(2)班在3203教室上課那么就必須給06軟件 (1
23、) 班另外安排一個足夠容得下該班所有學(xué)生的教室,否則該班就無法上課了。在教學(xué)活動的各種場合,通常以班級名稱來安排各種活動。 C語言程序設(shè)計 類似的,計算機中的程序要運行,完成一定的功能,就要進行各種數(shù)據(jù)處理。我們可以用x、y、z 等來表示這些要處理的數(shù)據(jù) ,在程序執(zhí)行時,x、y、z 均有具體的數(shù)值 ,而且這它們的值是存放在系統(tǒng)為它們分配的各個存儲單元(每存儲單元均有編號)中 ,如圖2-3(b)所示。 C語言程序設(shè)計 第二章 程序設(shè)計和程序結(jié)構(gòu)類似的,計算機中的程序要運行,完成一定的功能,就要進行各種數(shù)同樣,一個存儲單元只能存放一個數(shù)值,比如x的值存儲在編號為 12000 的單元中,值為300;
24、現(xiàn)在如果要使x的值為z的值 ,那么就必須為x原來的數(shù)值(300)分配另外一個存儲單元,否則 x原來的值就會丟失,因此我們可以將它另存到編號為12006的單元中,并以t來表示。 C語言程序設(shè)計 第二章 程序設(shè)計和程序結(jié)構(gòu)同樣,一個存儲單元只能存放一個數(shù)值,比如x的值存儲在編號為 在程序運行中,各數(shù)據(jù)量(如x)的存儲單元是在數(shù)據(jù)處理之前就由系統(tǒng)分配好的,如果它沒有具體的數(shù)值,那么就沒有意義,系統(tǒng)為其分配的存儲單元也浪費了。而且,在程序中,通常以數(shù)據(jù)的名稱(如x)參與數(shù)據(jù)處理,對于存儲單元可以不必關(guān)心(一般由系統(tǒng)自動分配)。 C語言程序設(shè)計 第二章 程序設(shè)計和程序結(jié)構(gòu)在程序運行中,各數(shù)據(jù)量(如x)的
25、存儲單元是在數(shù)據(jù)處理之前就由 C語言程序設(shè)計 第二章 程序設(shè)計和程序結(jié)構(gòu)圖2-3 學(xué)校中的班級安排與程序中的數(shù)據(jù)存儲 C語言程序設(shè)計 C語言程序設(shè)計 第二章 程序設(shè)計和程序結(jié)構(gòu)下面,我們分析本例的題目要求:要實現(xiàn)將三個數(shù)x、y、z由小到大輸出,可以: (1)先把最小的數(shù)放到x上:先將x與y進行比 較,如果xy,則將x與y的值進行交換;然 后再用x與z進行比較,如果xz,則將x與z 的值進行交換,這樣能使x最小;(2)將剩下y、z進行比較,如果yz,則交換 y與z的值。這樣,z 的值最大,y 的值居于 中間; C語言程序設(shè)計 C語言程序設(shè)計 第二章 程序設(shè)計和程序結(jié)構(gòu)(3)要交換兩個變量x、y的
26、值,如果直 接使用: x=y; y=x; 由前面的分析可知,當進行 x=y 處理時(x的存儲單元存入了y的值),x的值就 會丟失,無法實現(xiàn)交換兩個數(shù)的目的 C語言程序設(shè)計 C語言程序設(shè)計 第二章 程序設(shè)計和程序結(jié)構(gòu)因此需借助另外的一個變量(設(shè)為t),先將x的值給t(x的值存于t所對應(yīng)的存儲單元中)再把y的值給x(y的值存于x的存儲單元),最后將t的值(即x原來的值)賦給y(t的值存于y所對應(yīng)的存儲單元中),這樣就完成了交換x與y的值。 C語言程序設(shè)計 開始A結(jié)束流程圖如圖2-4所示。 輸入 x、y、z交換 x、y:t-x,x-y,y-t交換x、z:t=x,x=z,z=t交換y、z:t=y,y=
27、z,z=t輸出:x、y、zA定義:三個整數(shù)x、y、z,一個臨時變量tNyzYNNXzYXyY開始A結(jié)束流程圖如圖2-4所示。 輸入 x、y、z交換 x、 C語言程序設(shè)計 第二章 程序設(shè)計和程序結(jié)構(gòu)說明:在流程圖中的 A是連接點,表示右邊的流程圖連接在左邊的流程圖之后,這在流程圖較大或較長時可以使用。程序源代碼如下: /*代碼文件名:E2_5.C*/*選擇程序設(shè)計例題*/#include stdio.hmain()int x,y,z,t;printf(請輸入三個整數(shù):n);scanf(%d%d%d,&x,&y,&z); C語言程序設(shè)計 C語言程序設(shè)計 第二章 程序設(shè)計和程序結(jié)構(gòu)if (xy) /
28、*如果xy,則交換x、y的值*/t=x; x=y;y=t; if(xz) /*交換x,z的值*/t=z;z=x;x=t;if(yz) /*交換z,y的值*/t=y;y=z;z=t;printf(這三個數(shù)從小到大排列順序為: %d %d %dn,x,y,z); C語言程序設(shè)計 C語言程序設(shè)計 第二章 程序設(shè)計和程序結(jié)構(gòu)程序運行結(jié)果: C語言程序設(shè)計 C語言程序設(shè)計 第二章 程序設(shè)計和程序結(jié)構(gòu)例2-6 打印輸出個位數(shù)為6且能被3整除的所有正的5位數(shù)。 編程思路:程序處理對象用整型變量i來表示,i是個位數(shù)為6的5位數(shù),即范圍是10006-99996,在 VC6.0環(huán)境下,int 型數(shù)據(jù)的寬度為4個字節(jié),可用整型 int 或長整型long int 來定義i(在TC2.0環(huán)境下,int 型數(shù)據(jù)的寬度為2個字節(jié) C語言程序設(shè)計 C語言程序設(shè)計 第二章 程序設(shè)計和程序結(jié)構(gòu)所能表示的整數(shù)范圍是-3276832767,就要用長整型long int 來定義i);接下來判斷i是否能被3整除,如果整除就輸出,否則就不輸出。一個數(shù)判斷完畢后,再判斷下一個數(shù),直到將這一范圍符合條件的數(shù)全部輸出,因此要用循環(huán)的方法來處理。 C語言程序設(shè)計 結(jié)束定義一個整型變量:i=1000
溫馨提示
- 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)容負責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 合金材料購銷合同模板匯編
- 四年級上冊語文知識搶答
- 人力資源公司工作總結(jié)
- 2024年四年級英語上冊 Unit 5 Our School教學(xué)實錄 陜旅版(三起)
- Module 7 Unit 1 There is a horse in this photo.(教學(xué)設(shè)計)-2024-2025外研版(三起)英語四年級上冊
- 安防監(jiān)控錄像培訓(xùn)課件
- 呼吸機操作及保養(yǎng)
- 2025企業(yè)借款合同協(xié)議書范本(合同版本)
- 2024秋八年級英語上冊 Unit 9 Can you come to my party Section A (1a-2d)教學(xué)實錄(新版)人教新目標版
- Module2 Unit1 (教學(xué)設(shè)計)-2024-2025學(xué)年外研版英語八年級上冊
- 銷售話術(shù)900句順口溜
- 工程量確認單范本
- 曲臂車安全協(xié)議模板
- 腰椎間盤的診斷證明書
- 英語精讀與寫作(一)知到章節(jié)答案智慧樹2023年長春工程學(xué)院
- DB31 SW-Z 017-2021 上海市排水檢測井圖集
- 農(nóng)業(yè)機械學(xué)育苗移栽機械
- 澳大利亞PSC檢查經(jīng)過
- 01-14江蘇大學(xué)車輛工程考研復(fù)試真題答案
- TMYZX 001-2021 釀酒專用小麥原糧
- 2023年湖北國土資源職業(yè)學(xué)院高職單招(數(shù)學(xué))試題庫含答案解析
評論
0/150
提交評論