姓名:楊鈞翔 學號:20138110254 區隊:四
(注 《C語言程序設計》所涉及到的重要知識點及對這些知識點的理解)
一、程序設計
1、計算機語言
(1)機器語言
用二進制表示的,能被計算機識別、接受的代碼稱爲機器指令。機器指令的集合就是 計算機語言(如:10110110000000)
(2)彙編語言
爲客服機器語言的缺點,用符號語言來表示指令(英文字母、數字)的符號語言爲符號彙編語言(又稱低級語言)。 一條符號語言指令對應轉換爲一條機器指令;轉換的過程稱爲“代真”或“彙編”
(3)高級語言
客服低級語言的缺點,接近人們習慣用的自然語言和數學語言;用英語單詞表示的指令及語句。功能性強,不依賴於具體機器,對任何型號計算機都適用(或做很少修改)。〔C語言、FORTRAN、QBASIC…〕
C語言特點①語言簡潔、緊湊,使用方便、靈活②運算符豐富③數據類型豐富④具有結構化的控制語句⑤語法限制不太嚴格,程序設計自由度大⑥C語言允許直接訪問物理地址,能進行位(bit)操作,能實現彙編語言的大部分功能,可以直接對硬件進行操作⑦用C語言編寫的程序可移植性好⑧生成目標代碼質量高,程序執行效率高
2、運行C程序的步驟及方法
①上機輸入和編輯源程序,以文件形式存檔。 .c作爲後綴,生成源程序文件f.c
②對源程序進行編譯。進行預處理,連接其它部分組成完整的、可進行正式編譯的源程序 (檢查、轉換)
③進行連接處理。把所有編譯後得到的目標模塊連接裝配,與函數庫想連接成一個整體,生成一個可供計算機執行的目標程序
④運行可執行程序,得到運行結果。
二、算法
1、算法的概念
廣義的說是 解決一個問題所採用的方法和步驟(太極拳動作圖解、樂譜)
計算機算法分爲兩大類:1.數值運算算法(求數值解)
2.非數值運算算法(常用於事務管理領域)
2、算法的特性
①有窮性:一個算法應包含有限的操作步驟
②確定性:算法中的每一個步驟都應當是確定的,而不是含糊的、模棱兩可的(算法的含義應當是唯一的,而不應當產生“歧義性”)
③有零個或多個輸入:在執行算法時需要從外界取得必要的信息
④有一個或多個輸出:
⑤有效性:算法中的每一個步驟都應當有效的執行,並得到確定的結果
3、算法描述
(1)自然語言
即人們日常使用的語言。用自然語言表示通俗易懂,但文字冗長,有歧義。在描述包含分支和循環時不方便
(2)流程圖
流程圖是用一些圖框來表示各種操作。用圖形法表示算法,直觀形象,易於理解。 流程圖包括:①表示操作的框②帶剪頭的流程線(流程線不要忘記畫箭頭,反應流程的先後)③框內外必要的文字說明
流程圖三種基本結構:
①順序結構
②選擇結構
③循環結構:{ⅰ當型(while)循環; ⅱ直到(until)型循環}
N-S流程圖 表示算法:全部算法寫在一個矩形框內
特點:比文字描述直觀、形象、易於理解;比傳統流程圖緊湊易畫,廢除了流程線,算法由各個基本結構按順序組成;流程圖中的上下順序就是執行時的順序;
表示的算法都是結構化的算法。
結構化的算法是由一些基本結構順序組成的`;在基本結構之間不存在向前或
向後的跳轉,流程的轉移只存在於一個基本結構範圍之內
三種基本結構的圖示:
順序結構選擇結構
循環結構的圖示:
當型(While型)
循環結構直到型(Until型)循環
(3)僞代碼:介於自然語言和計算機語言之間的文字和符號來描述算法。它不用圖形符號,書寫方便,格式緊湊,修改方便,容易看懂,便於向計算機語言算法過渡。
僞代碼寫算法並無固定的、嚴格的語法規則,可以用多種語言。只需把意思表達清楚,便於書寫和閱讀,書寫的格式要寫成清晰易讀的格式
用僞代碼寫的算法易於修改
設計算法的目的是爲了實現算法,所以不僅要考慮如何設計一個算法,也要考慮如何實現一個算法。在用流程圖或僞代碼描述一個算法後還要轉換成C語句。
三、基本數據類型及C語句