C語言程序設計實例教程課件:程序設計概述_第1頁
C語言程序設計實例教程課件:程序設計概述_第2頁
C語言程序設計實例教程課件:程序設計概述_第3頁
C語言程序設計實例教程課件:程序設計概述_第4頁
C語言程序設計實例教程課件:程序設計概述_第5頁
已閱讀5頁,還剩20頁未讀, 繼續(xù)免費閱讀

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領

文檔簡介

程序設計概述程序和程序設計1.算法2.程序設計過程3.C語言簡介4.程序設計方法5.1.1.1程序程序——通常指完成某項事務的執(zhí)行過程,是一系列有序的工作步驟,它有方式、步驟等含義。步驟的順序一般不能顛倒。計算機程序——指為實現(xiàn)特定目標或解決特定問題而用計算機語言編寫的命令序列的集合。程序設計

——人們?yōu)榱送瓿赡稠椌唧w的任務而編寫一系列指令,并將這一系列指令交給計算機去執(zhí)行。程序=數(shù)據(jù)結構+算法+語言工具和環(huán)境

1.1.2程序設計語言程序設計語言是用計算機能夠理解的語言來表達所設計程序的含義,是人與計算機之間進行交流和通信的工具。

機器語言:以二進制代碼的形式來表示基本的指令集合,每條指令均為0和1組成的二進制代碼串。

匯編語言:用指令英文名稱的縮寫作為助記符代替機器的操作指令,用標號和符號來表示地址、常量和變量。

高級語言:采用類似人類自然語言中的自然詞匯,使得程序更容易閱讀和理解。1.2.1算法的概念

算法是解決一個具體問題而采取的方法和有限的步驟。計算機算法即計算機能執(zhí)行的算法。

數(shù)值運算算法:解決求數(shù)值的問題。例如,判斷閏年,求最大公約數(shù),求階乘,求數(shù)列之和等。

非數(shù)值運算算法:解決需要用分析推理、邏輯推理才能解決的問題。例如,博弈,查找和分類等。1.2.1算法的概念一個有效的算法應該具有以下特點:有窮性:一個算法應包含有限的操作步驟而不能是無限的。

確定性:算法中每一個步驟應當是確定的,而不能是含糊的、模棱兩可的。有零個或多個輸入。有一個或多個輸出。有效性:算法中每一個步驟應當能有效地執(zhí)行,并得到確定的結果。1.2.2算法的描述

算法的描述可使用自然語言方式、類似于高級程序設計語言的偽代碼、程序流程圖、N/S盒圖、PAD圖等方式。流程圖偽碼程序設計語言起止框處理框判斷框輸入/輸出框流程線起止框處理框判斷框輸入/輸出框流程線1.3.1解決問題的基本步驟一般來說,用計算機解決問題的過程可分為三步:第一步,是分析問題,設計一種解決方案;第二步,是通過程序語言嚴格描述這個解決方案;第三步,在計算機上調試這個程序,運行程序,看是否真能解決問題。如果在第三步發(fā)現(xiàn)錯誤,那么就需要仔細分析錯誤原因,弄清后退到前面步驟去糾正錯誤。1.3.2C語言程序的設計過程進行C語言程序設計的過程可以分解為:分析問題,確定程序目標設計程序編輯程序源文件.c編譯目標文件.obj連接可執(zhí)行文件.exe運行和調試維護和修改1.4C語言簡介C語言是國際上廣泛流行的計算機高級語言。C語言的發(fā)展:BCPL語言B語言C語言精練、接近硬件,但過于簡單,無數(shù)據(jù)類型具有多種數(shù)據(jù)類型1.4C語言簡介20世紀60年代,貝爾實驗室,KenThompson開始開發(fā)一個叫做UNIX的操作系統(tǒng)70年代,將BCPL語言改造成更適合開發(fā)UNIX的B語言1971年,DennisM.Ritchie開始和Thompson合作開發(fā)UNIX,將B語言改造成C語言C語言的設計者DennisM.RitchieRitchie漫畫像C語言的設計者DennisM.Ritchie和Unix的設計者KenThompson

接受美國國家技術勛章C語言的發(fā)展最初的C語言只是為描述和實現(xiàn)UNIX操作系統(tǒng)提供一種工作語言而設計的。1983年,美國國家標準協(xié)會(ANSI)成立了一個委員會,根據(jù)C語言問世以來各種版本對C語言的發(fā)展和擴充,制定了第一個C語言標準草案(’83ANSIC)。1989年,ANSI公布了一個完整的C語言標準—ANSIX3.159-1989(常稱ANSIC,或C89)。1990年,國際標準化組織ISO(InternationalStandardOrganization)接受C89作為國際標準ISO/IEC9899:1990,它和ANSI的C89基本上是相同的。C語言的發(fā)展1995年,ISO對C90作了一些修訂,1999年,ISO又對C語言標準進行修訂,在基本保留原來的C語言特征的基礎上,針對應用的需要,增加了一些功能,尤其是C++中的一些功能,命名為ISO/IEC9899:19992001、2004年先后進行了兩次技術修正(TC1和TC2)。

ISO/IEC9899:1999(及其技術修正)被稱為C99。C99是C89(及1995基準增補1)的擴充。1.4C語言簡介C語言是應用最廣泛的語言之一。它具有以下特點:簡潔緊湊、方便靈活運算符豐富數(shù)據(jù)類型豐富C語言是結構化程序設計語言語法限制不太嚴格,程序設計自由度大可直接對硬件進行操作生成目標代碼質量高,程序執(zhí)行效率高可移植性好1.4.1C語言的字符集

字符是組成語言的最基本的元素。C語言字符集是書寫程序時允許出現(xiàn)的所有字符的集合,由字母、數(shù)字、空白符和特殊符號組成。字母:小寫字母a~z,大寫字母A~Z。數(shù)字:0~9共10個??瞻追嚎崭穹?、制表符、換行符等。特殊符號:運算符、標點、括號和一些特殊字符。1.4.1C語言的詞法符號在C語言中使用的詞匯分為:標識符,關鍵字,運算符,分隔符,常量,注釋符等。(1)標識符標識符是用來標識程序中的變量、常量、數(shù)據(jù)類型、數(shù)組、函數(shù)等的名稱,是合法的字符序列。C語言中的標識符必須滿足以下語法規(guī)則:只能由字母、數(shù)字和下劃線組成。第一個字符必須是字母或下劃線。區(qū)分大小寫字母。不能與語言的關鍵字相同,也不能和系統(tǒng)標準庫函數(shù)同名。1.4.1C語言的詞法符號(3)運算符與變量,函數(shù)一起組成表達式,實現(xiàn)各種運算功能。(4)分隔符逗號:主要用在類型說明和函數(shù)參數(shù)表中,分隔各個變量??崭瘢憾嘤糜谡Z句中各單詞之間,作間隔符。(5)常量C語言中直接使用符號標記的數(shù)據(jù),它本身就是數(shù)據(jù)。如128、’A’、”hello”。(6)注釋符對程序代碼的說明,有如下兩種:

/*注釋內容

*///注釋內容1.4.2C語言程序的基本結構【例1.4】一個簡單的C語言程序示例。

#include<stdio.h> /*以#號開頭預處理*/voidmain() /*主函數(shù)*/{printf(“Welcometoyou!\n”); }1.4.2C語言程序的基本結構C語言程序的結構具有以下特點:一個C語言程序可以由一個或多個文件組成。程序中可以有預處理命令(如include命令),預處理命令通常放在程序的最前面。C語言程序是由一個或多個獨立的函數(shù)構成的,函數(shù)是構成C語言程序的基本單位。一個C語言程序必須包含一個主函數(shù)main(),也只能有一個主函數(shù)。程序從main()函數(shù)開始執(zhí)行,也在main()結束。函數(shù)包含兩部分,一個是函數(shù)的首部;另一個是函數(shù)體。函數(shù)的首部包括函數(shù)名、函數(shù)類型和用圓括號“()”括起來形參說明;函數(shù)體是用花括號“{}”括起來的函數(shù)執(zhí)行部分。函數(shù)體中是各種語句,語句是程序的基本執(zhí)行單位。每一個語句都以分號“;”作為結束。但預處理命令,函數(shù)頭和花括號“}”后不能加分號。1.4.3C語言程序的書寫規(guī)則為了便于閱讀和維護程序,更好的體現(xiàn)程序的層次結構,書寫所采用的通用規(guī)則是:程序一般用小寫字母書寫。一行一般寫一條語句。在程序里適當加入空行,分隔程序的不同部分。同層次不同部分對齊排列,下一層次的內容通過適當退格(在一行開始加空格),使程序結構更清晰。在程序里增加一些說明性信息即添加注釋。1.5程序設計方法(1)結構化程序設計

面向過程

基于模塊化、自頂向下、逐步細化和結構化編碼主要使用順序、選擇和循環(huán)三種基本的

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
  • 4. 未經權益所有人同意不得將文件中的內容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
  • 6. 下載文件中如有侵權或不適當內容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論