freepeople性欧美熟妇, 色戒完整版无删减158分钟hd, 无码精品国产vα在线观看DVD, 丰满少妇伦精品无码专区在线观看,艾栗栗与纹身男宾馆3p50分钟,国产AV片在线观看,黑人与美女高潮,18岁女RAPPERDISSSUBS,国产手机在机看影片

正文內容

程序設計學習手冊(第一版)(編輯修改稿)

2024-08-23 23:48 本頁面
 

【文章內容簡介】 任何算法都是由前面介紹的三種結構組成,所以各基本結構之間的流程線就是多余的,因此,NS圖也是算法的一種結構化描述方法。NS圖中,一個算法就是一個大矩形框,框內又包含若干基本的框,三種基本結構的NS圖描述如下所示:4. 循環(huán)結構1)while型循環(huán)的NS圖如圖111所示,條件為真時一直循環(huán)執(zhí)行循環(huán)體A,直到條件為假時才跳出循環(huán)。2)dowhile型循環(huán)的NS圖如圖112,一直循環(huán)執(zhí)行循環(huán)體A,直到條件為假時才跳出循環(huán)。NS圖示例:NS圖的一個個框,就像一個個封閉的盒子。所以,NS圖又被形象地稱為“盒圖”。 NS圖比流程圖更直觀易懂,而且相對簡練一些。NS圖(盒圖)的特性就像盒子一樣,結構性很強。由于取消了流程線,象“goto”這樣亂跳的語句,也就沒有了表達的形式。所以,NS圖又被人稱為是“結構化流程圖”。也就是說,對于傳統(tǒng)的流程圖,結構化編程依賴于程序員的自覺自律;而對于NS圖,結構化編程則是由繪圖規(guī)則來強制保證的。你想不結構化都不行。NS圖除了表示幾種標準結構的符號之處,不再提供其他如“流程線”這樣的描述符號,這就有效地保證程序的質量。NS圖的另一個優(yōu)點是形象直觀。例如循環(huán)的范圍、條件語句的范圍都是一目了然的,所以容易理解設計意圖,為編程、排錯、調試、維護都帶來了便利。說了半天NS圖的花好稻好,那為什么在設計中,還是有許多人卻放棄使用NS圖,仍舊選擇了落后的帶箭頭的流程圖呢?這得說說NS圖的軟肋。要說這NS圖最大的缺點,就是手工畫圖時,修改起來沒有流程圖方便。尤其是在分支嵌套層次較多時,就比較難畫了。手工畫圖不便,計算機畫圖也不便。l 用PAD圖描述算法PAD (ProblemAnalysisDiagram),是近年來在軟件開發(fā)中被廣泛使用的一種算法的圖形表示法,與前述的流程圖、NS圖相比,流程圖、NS圖都是自上而下的順序描述,而PAD圖除了自上而下以外,還有自左向右的展開,所以,如果說流程圖、NS圖是一維的算法描述的話,則PAD圖就是二維的,它能展現(xiàn)算法的層次結構,更直觀易懂。下面是PAD圖的幾種基本符號:下面是PAD圖的幾種基本形態(tài):1.順序結構:如圖115所示。2.選擇結構(1)單分支選擇,條件為真執(zhí)行A,如圖116a)。(2)兩分支選擇,如圖116b),條件為真執(zhí)行A,為假執(zhí)行B。(3)多分支選擇,如圖116c),當I=I1時執(zhí)行A,I=I2時執(zhí)行B,I=I3時執(zhí)行c,I=I4時執(zhí)行D。3.循環(huán)結構如圖117所示。圖117a)為while型循環(huán),圖117b)為dowhile型循環(huán)。比較三個數(shù),輸出最大的數(shù) 遞推程序實例PAD圖的優(yōu)點  1. 使用表示結構優(yōu)化控制結構的PAD符號所設計出來的程序必然是程序化程序  2. PAD圖所描述的程序結構十分清晰。圖中最左邊的豎線是程序的主線,即第一層控制結構。隨著程序層次的增加,PAD圖逐漸向右延伸,每增加一個層次,圖形向右擴展一條豎線。PAD圖中豎線的總條數(shù)就是程序的層次數(shù);  3. 用PAD圖表現(xiàn)程序邏輯,易讀、易懂、易記。PAD圖是二維數(shù)型結構的圖形,程序從圖中最左邊上端的結點開始執(zhí)行,自上而下,從左到右順序執(zhí)行;  4. 很容易將PDA圖轉換成高級程序語言源程序,這種轉換可由軟件工具自動完成,從而可省去人工編碼的工作,有利于提高軟件可靠性和軟件生產(chǎn)率?! ?. 既可用于表示程序邏輯,也可用于描述數(shù)據(jù)結構  6. PAD圖的符號支持自頂向下、逐步求精方法的使用。開始時設計者可以定義一個抽象程序,隨著設計工作的深入而使用“def”符號逐步增加細節(jié),直至完成詳細設計?! AD是一種程序結構可見性好、結構唯一、易于編制、易于檢查和易于修改的詳細設計表現(xiàn)方法。用PAD可以消除軟件開發(fā)過程中設計與制作的分離,也可消除制作過程中的“屬人性”。雖然目前仍需要由人來編制程序,一旦開發(fā)的PAD編程自動化系統(tǒng)實現(xiàn)的話,計算機就能從PAD自動編程,到那時程序邏輯就是軟件開發(fā)過程中人工制作的最終產(chǎn)品。顯然在開發(fā)時間上大大節(jié)省,開發(fā)質量上將會大大提高。PAD圖的優(yōu)點如下:(1)結構化的算法描述方法,有效保證程序質量;(2)二維樹型結構,層次清晰,結構明顯,表達直觀;(3)既可用于表示程序流程,也可用于描述數(shù)據(jù)結構;(4)支持自頂向下、逐步求精方法的使用。程序設計語句語句是程序的基本成分,程序的執(zhí)行就是通過一條條語句的執(zhí)行而得以實現(xiàn)的,根據(jù)表現(xiàn)形式及功 能的不同,c 語言的基本語句可以分為五大類。   表達式語句由表達式加上分號“;”組成。   其一般形式為: 表達式;執(zhí)行表達式語句就是計算表達式的值。 其中最常用的是賦值語句;例如: x=y+z。 a=520。 賦值語句的一般格式是:變量名=表達式 其中=為賦值號  y+z。 加法運算語句,但計算結果不能保留,無實際意義;   i++。 自增1語句,i值增1。   i++; 是先運算i后再加1。 ++i; 是先把i值增1后運算。   由函數(shù)名、實際參數(shù)加上分號“;”組成。   其一般形式為: 函數(shù)名(實際參數(shù)表) ;   執(zhí)行函數(shù)語句就是調用函數(shù)體并把實際參數(shù)賦予函數(shù)定義中的形式參數(shù),然后執(zhí)行被調函數(shù)體中的語句,求取函數(shù)值。 還可以調用各種庫函數(shù)實現(xiàn)輸入輸出等功能,例如用printf函數(shù)輸出字符串等。   控制語句用于控制程序的流程, 以實現(xiàn)程序的各種結構方式。   它們由特定的語句定義符組成。c語言有九種控制語句。 可分成以下三類:   (1). 條件判斷語句   if語句、switch語句;   (2) .循環(huán)執(zhí)行語句   do while語句、while語句、for語句;   (3). 轉向語句 break語句、goto語句(此語句盡量少用,因為這不利結構化程序設計,濫用它會使程序流程無規(guī)律、可讀性差)、continue語句、return語句。 條件判斷  int a,b。   if(xy)    printf(x,\n)。   else    printf(y,\n)。 把多個語句用括號{}括起來組成的一個語句稱復合語句。復合語句從形式上看是多個語句的組合,但在語法意義上它只相當于一個語句,在任何單一語句存在的地方都可以是復合語句。復合語句是實現(xiàn)結構化程序設計的三種基本結構進行嵌套的重要工具。在程序中應把復合語句看成是單條語句,而不是多條語句,例如   {    x=y+z;    a=b+c;    printf(“%d%d”,x,a);   } 是一條復合語句。復合語句內的各條語句都必須以分號“;”結尾;此外,在括號“}”外不能加分號。   只有分號“;”組成的語句稱為空語句。 空語句是什么也不執(zhí)行的語句。在程序中空語句可用來作空循環(huán)體。   例如 while(getchar()!=39。\n39。); 本語句的功能是,只要從鍵盤輸入的字符不是回車則重新輸入。這里的循環(huán)體為空語句。除了以上的基本語句,編寫最簡單的程序還需要使用各種庫函數(shù),C語言的庫函數(shù)并不是C語言本身的一部分,它是由編譯程序根據(jù)一般用戶的需要編制并提供用戶使用的一組程序。C的庫函數(shù)極大地方便了用戶,同時也補充了C語言本身的不足。事實上,在編寫C語言程序時,應當盡可能多地使用庫函數(shù),這樣既可以提高程序的運行效率,又可以提高編程的質量。c語言的程序框架 盡管各個c 源程序的功能千變萬化,但框架是不變的,主要有:編譯預處理、主函數(shù)main()、函數(shù)n()等, 主函數(shù)的位置不一定在最前面,可以在程序的中部或后面,主函數(shù)的名字固定為main。 語言源程序的語法規(guī)則: (1)c 源程序是由一個主函數(shù)和若干個其它函數(shù)的定義組成的。 (2)定義函數(shù)必須有一個函數(shù)名,后面必須有一對小括號存放參數(shù),然后把函數(shù)體放在一對大括號內。 返回類型 函數(shù)名(形參表) { 函數(shù)體 } (3)一般c 程序用小寫字母書寫,大寫字母表示常量。 (4)每句的末尾加分號。 (5)可以一行多句。 (6)可以一句多行。 (7)可以在程序的任何位置加注釋。 c語言的數(shù)據(jù)類型數(shù)據(jù)類型有:整型、字符型、實型(單精度型、雙精度型)、構造類型如數(shù)組類型、結構體類型、共用體類型、枚舉類型,其他還有指針類型、空類型,其中整型、實型、字符型是c語言中的基本類型。各種類型數(shù)據(jù)變量的定義方法:定義形式:數(shù)據(jù)類型 變量名1,變量名2,......變量名n;變量名必須是合法的標識符,要求是由字母,數(shù)字,下劃線組成。有其它元素就錯了?! 〔⑶业谝粋€必須為字母或則是下劃線。第一個為數(shù)字就錯了。關鍵字不可以作為用戶標識符號。main define scanf printf 都不是關鍵字,但是由于在程序中已經(jīng)使用了所以不能重復使用。還用主要大小寫的區(qū)別,例如If是可以做為用戶標識符,因為If中的第一個字母大寫了,所以不是關鍵字?! 嵭蛿?shù)據(jù)的合法形式:   就是合法的,101?! 】荚嚳谠E:e前e后必有數(shù),e后必為整數(shù)。.  字符數(shù)據(jù)的合法形式:  39。139。 是字符占一個字節(jié),1是字符串占兩個字節(jié)(含有一個結束符號)。39。039。 的ASCII數(shù)值表示為48,39。a39。 的AScII數(shù)值是97,39。A39。的AScII數(shù)值是65。ASCII碼的0使用39。\039。表示,用途是表示一個字符串的結束。  整型占用的字節(jié)數(shù)根據(jù)計算機的字長不同,16位系統(tǒng)中一般是兩個字節(jié), 字符型是一個字節(jié),雙精度一般是4個字節(jié)。  考試時候一般會說,在16位編譯系統(tǒng),或者是32位系統(tǒng)。碰到這種情況,可以使用sizeof(int)來表示。  轉義字符的考查:  在程序中 int a = 0x6d,是把一個十六進制的數(shù)給變量a 注意這里的0x必須存在。  在程序中 int a = 06d, 是一個八進制的形式。  在轉義字符中,’\x6d’ 才是合法的,0不能寫,并且x是小寫?!  甛141’ 是合法的, 0是不能寫的?!  甛108’是非法的,因為不可以出現(xiàn)8。變量與常量1.常量——在程序執(zhí)行期間其值不變的量。它不能被賦值。2.變量——在程序運行期間其值可以改變的量。3.全局變量和局部變量局部變量:在函數(shù)內部定義的變量稱為局部變量,只在本函數(shù)中有效。全局變量:在函數(shù)外部定義的變量稱為全局變量,它的作用范圍是從定義開始到本文件結束。4.動態(tài)存儲與靜態(tài)存儲內存中的用戶數(shù)據(jù)區(qū)分為動態(tài)存儲區(qū)和靜態(tài)存儲區(qū),動態(tài)存儲區(qū)是指程序運行期間給變量臨時分配存儲單元,變量用完后立即釋放單元的區(qū)域,動態(tài)存儲區(qū)放的是函數(shù)的形參、自動變量、函數(shù)調用期間的形參、現(xiàn)場保護數(shù)據(jù)和返回值、返回地址等。靜態(tài)存儲區(qū)是指程序運行期間給變量分配固定的存儲單元,放的是全局變量和局部靜態(tài)變量。一個變量除了它的數(shù)據(jù)類型以外還有存儲類型,定義一個變量時應該說明這兩種類型。   指針變量的本質是用來放地址,而一般的變量是放數(shù)值的。   int *p 中 *p和p的差別:   *p可以當做變量來用。*的作用是取后面地址p里面的數(shù)值p是當作地址來使用?! ?*p++ 和 (*p)++的之間的區(qū)別:*p++是地址增一,表示指向下一個變量,一般是一個數(shù)組變量的下一個元素?! ?(*p)++ 是指針p指向的變量值增一?!? 數(shù)組名:表示數(shù)組中第一個元素的地址。數(shù)組名不可以自增,因為數(shù)組名是地址常量?! ?函數(shù)名:函數(shù)名也是一個地址常量,表示該函數(shù)的入口地址?! ?字符串名:也是一個地址常量,表示第一個字符的地址。 表達式求值運算符:用來表示數(shù)據(jù)各種操作的符號稱為運算符。運算符實際上代表了一種類型數(shù)據(jù)的運算規(guī)則。不同的 運算符具有不同的運算規(guī)則,其操作的數(shù)據(jù)類型必須符合該運算符的要求,運算結果的數(shù)據(jù)類型也是固定 的。 根據(jù)參加操作的數(shù)據(jù)個數(shù)多少,可以將c 語言的運算符分為單目運算符,雙目運算符和三目運算符(三 目運算符只有條件運算符一個)。 根據(jù)運算對象和運算結果的數(shù)據(jù)類型可分為算術運算符、關系運算符、邏輯運算符等。 %符號兩邊要求是整數(shù)。不是整數(shù)就錯了。 位運算先要把十進制數(shù)值化成二進制,再做位運算。在沒有舍去數(shù)據(jù)的時候,左移一位表示乘以2。右移一位表示除以2。 表達式:是由常量、變量、函數(shù),通過運算符連接起來而形成的一個算式。一個常量,一個變量或一 個函數(shù)都可以看成是一個表達式。 表達式的種類有: 算術表達式、關系表達式、邏輯表達式、賦值表達式、字位表達式、強制類型轉換表達式、逗號表達式(順序表達式)、條件表達式、指針表達式。 特別注意:c語言中是用非0表示邏輯真的,用0表示邏輯假的。1)關系表達式:  表達式的數(shù)值只能為1(表示為真),或0(表示假)  當關系的表達是為真的時候得到1。如 98這個是真的,表達式的數(shù)值就是1。2)邏輯表達式:  只能為1(表示為真),或0(表示假)  a) 共有amp。amp。 || ! 三種邏輯運算符號?!?b) !amp。amp。|| 優(yōu)先的級別。  c) 注意短路現(xiàn)象。當兩個表達式用amp。amp。連接時當?shù)谝粋€表達式值為假時第二個表達式不用計算,同理當兩個表達式用||連接時第一個表達式為真時第二個表達式不用計算。3)if 語句  else 是與最接近的if且沒有else的相組合的。4)條件表達式:  表達式1 ?表達式2 :表達式3  注意是當非0時候整個表達式的值是表達式2
點擊復制文檔內容
研究報告相關推薦
文庫吧 www.dybbs8.com
備案圖片鄂ICP備17016276號-1