c语言程序ppt课件,c语言ppt课件
PPT內(nèi)容
這是c語言ppt課件,包括了一個C語言程序,程序與程序設(shè)計語言,C語言的發(fā)展歷史與特點,實現(xiàn)問題求解的過程等內(nèi)容,歡迎點擊下載。
C語言程序設(shè)計
2008版
C語言程序設(shè)計
教學要求
掌握程序設(shè)計語言的基本知識
常用算法
初步的程序設(shè)計能力
學習方法
自主學習
重視上機實踐
如何盡快學會用C語言進行程序設(shè)計
了解程序設(shè)計語言(C語言)
模仿、改寫、編寫
通過不斷的編程實踐,逐步領(lǐng)會和掌握程序設(shè)計的基本思想和方法。
教材和參考書
C語言程序設(shè)計,何欽銘、顏暉主編,高等教育出版社,2008
C語言編程(第3版),[美]Stephen, G.Kochan,張小潘譯,電子工業(yè)出版社,2006
C語言教程(第4版),[美]Al Kelley, Ira Pohl,徐波譯,機械工業(yè)出版社,2007
標準C語言基礎(chǔ)教程(第4版),[美]Gary J. Bronson,單先余等譯,電子工業(yè)出版社,2006
C程序設(shè)計語言,[美]Brian W. Kernighan, Dennis M. Ritchie,徐寶文等譯,機械工業(yè)出版社,2006
Chap 1? 引? 言
一個C語言程序
程序與程序設(shè)計語言
C語言的發(fā)展歷史與特點
實現(xiàn)問題求解的過程
本章要點
什么是程序?程序設(shè)計語言包含哪些功能?
程序設(shè)計語言在語法上包含哪些內(nèi)容?
結(jié)構(gòu)化程序設(shè)計有哪些基本的控制結(jié)構(gòu)?
C語言有哪些特點?
C語言程序的基本框架如何?
形成一個可運行的C語言程序需要經(jīng)過哪些步驟?
如何用流程圖描述簡單的算法?
1.1? 一個C語言程序
例1-1求階乘問題。輸入一個正整數(shù)n,輸出n!。
#include ???????????????????? /* 編譯預處理命令 */
int main(void)???????????????????????????? /* 主函數(shù) */
{
int n;????????????????? ??????????????????? /* 變量定義 */
int factorial(int n);??????????????????? /* 函數(shù)聲明 */
scanf("%d", &n);????????????????????? /* 輸入一個整數(shù) */
printf(“%d\n”, factorial(n));??????? /* 調(diào)用函數(shù)計算階乘 */
return 0;
}
int factorial(int n)????? ??????? /* 定義計算 n! 的函數(shù) */
{
int i, fact = 1;
for(i = 1; i <= n; i++)???????????????? /* 循環(huán) */
fact = fact * i;
return fact;
}
1.2 程序與程序設(shè)計語言
程序
人們?yōu)榻鉀Q某種問題用計算機可以識別的代碼編排的一系列加工步驟。
程序的執(zhí)行過程實際上是對程序所表達的數(shù)據(jù)進行處理的過程。
程序設(shè)計語言
提供了一種表達數(shù)據(jù)與處理數(shù)據(jù)的功能
要求程序員按照語言的規(guī)范編程
1.2 程序與程序設(shè)計語言
程序與指令
程序設(shè)計語言的功能
程序設(shè)計語言的語法
程序的編譯與編程環(huán)境
程序與指令
指令:計算機的一個最基本的功能
如實現(xiàn)一次加法運算或?qū)崿F(xiàn)一次大小的判別
計算機的指令系統(tǒng):計算機所能實現(xiàn)的指令的集合
程序:一系列計算機指令的有序組合
程序與指令
例1-2? 編寫程序,分別求和與乘積
虛擬的計算機指令系統(tǒng)(7條指令 )
指令1:Input X???? 將當前輸入數(shù)據(jù)存儲到內(nèi)存的X單元
指令2:Output X?? 將內(nèi)存X單元的數(shù)據(jù)輸出。
指令3:Add X Y Z??? 將內(nèi)存X單元的數(shù)據(jù)與Y單元的數(shù)據(jù)相加并將結(jié)果存儲到Z單元。
指令4:Sub X Y Z??? 將內(nèi)存X單元的數(shù)據(jù)與Y單元的數(shù)據(jù)相減并將結(jié)果存儲到Z單元。
指令5:BranchEq X Y P??? 比較X與Y,若相等則程序跳轉(zhuǎn)到P處執(zhí)行,否則繼續(xù)執(zhí)行下一條指令。
指令6:Jump P??? 程序跳轉(zhuǎn)到P處執(zhí)行。
指令7:Set X Y??? 將內(nèi)存Y單元的值設(shè)為X。
程序與指令
輸入輸入3個數(shù)A, B和C,求A+B+C的結(jié)果
Input A;??????????? 輸入第1個數(shù)據(jù)到存儲單元A中
Input B;??????????? 輸入第2個數(shù)據(jù)到存儲單元B中
Input C;??????????? 輸入第3個數(shù)據(jù)到存儲單元C中
Add A B D;?????? 將A、B相加并將結(jié)果存在D中
Add C D D;?????? 將C、D相加并將結(jié)果存在D中
Output D;???????? 輸出D的內(nèi)容
程序與指令
輸入2個數(shù)A和B,求A*B的結(jié)果
1.Input A;????? 輸入第1個數(shù)據(jù)到存儲單元A中
2.Input B;????? 輸入第2個數(shù)據(jù)到存儲單元B中
3.Set 0 X;????? 將X設(shè)為0,此處X用以統(tǒng)計A累加的次數(shù)
4.Set 0 Z;????? 將Z設(shè)為0,此處Z用以存放A*B的結(jié)果
5.BranchEq X B 9;??? 判別X與B是否相等;若相等說明A已累加了B次,程序跳轉(zhuǎn)到第9條指令,輸出結(jié)果
6.Add Z A Z;?????? Z = Z + A
7.Add 1 X X;?????? X = X + 1
8.Jump 5;?????????? 程序跳轉(zhuǎn)到第5條指令,繼續(xù)循環(huán)執(zhí)行第6條、7條指令
9.Output Z;???????? 輸出Z的值,該值等于A*B
程序設(shè)計語言的功能
數(shù)據(jù)表達:表達所要處理的數(shù)據(jù)
流程控制:表達數(shù)據(jù)處理的流程
數(shù)據(jù)表達
數(shù)據(jù)表達:一般將數(shù)據(jù)抽象為若干類型
數(shù)據(jù)類型:對某些具有共同特點的數(shù)據(jù)集合的總稱
代表的數(shù)據(jù)(數(shù)據(jù)類型的定義域)
在這些數(shù)據(jù)上做些什么(即操作或稱運算)
例如:整數(shù)類型
包含的數(shù)據(jù):{…,-2,-1,0,1,2,…}
作用在整數(shù)上的運算:+ 、 - 、 * 、 /等
數(shù)據(jù)表達
C語言提供的數(shù)據(jù)類型
基本數(shù)據(jù)類型:程序設(shè)計語言事先定義好,供程序員直接使用,如整型、實型(浮點型)、字符型等。
構(gòu)造類型:由程序員構(gòu)造,如數(shù)組、結(jié)構(gòu)、文件、指針等。
各種數(shù)據(jù)類型的常量與變量形式
常量(常數(shù))與變量
流程控制
結(jié)構(gòu)化程序設(shè)計方法
將復雜程序劃分為若干個相互獨立的模塊
模塊:一條語句(Statement)、一段程序或一個函數(shù)(子程序)等
單入口、單出口
流程控制
任何程序都可以將模塊通過3種基本的控制結(jié)構(gòu)進行組合來實現(xiàn)
流程控制
語句級控制:3種基本的控制結(jié)構(gòu)
順序控制結(jié)構(gòu):自然順序執(zhí)行
分支控制結(jié)構(gòu)(選擇結(jié)構(gòu)):根據(jù)不同的條件來選擇所要執(zhí)行的模塊
循環(huán)控制結(jié)構(gòu):重復執(zhí)行某個模塊
單位級控制:函數(shù)的定義與調(diào)用
處理復雜問題時, 將程序分為若干個相對獨立的子程序(函數(shù))
程序設(shè)計語言的語法
用程序設(shè)計語言所寫的程序必須符合相應語言的語法
源程序(源代碼)是一個字符序列,這些字符序列按順序組成了一系列“單詞”,“單詞”的組合就形成了語言有意義的語法單位,一些簡單語法單位的組合又形成了更復雜的語法單位,最后一系列語法單位組合成程序。
程序設(shè)計語言的語法
C語言的主要“單詞”
(1)標識符: C語言的標識符規(guī)定由字母、數(shù)字以及下劃線組成,且第一個字符必須是字母或下劃線。
(2)保留字(關(guān)鍵字): 它們是C語言規(guī)定的、賦予它們以特定含義、有專門用途的標識符。
(3)自定義標識符: 包括在程序中定義的變量名、數(shù)據(jù)類型名、函數(shù)名以及符號常量名。有意義的英文單詞
(4)常量: 常量是有數(shù)據(jù)類型的,如,123、12.34
(5)運算符。代表對各種數(shù)據(jù)類型實際數(shù)據(jù)對象的運算。如,+(加)、-(減)、*(乘)、/(除)、%(求余)、>(大于)
程序設(shè)計語言的語法
C語言的主要語法單位
(1)表達式: 運算符與運算對象組合就形成了表達試。如,2 + 3 * 4
(2)變量定義: 變量也有數(shù)據(jù)類型,所以在定義變量時要說明相應變量的類型。如: int? i;
(3)語句: 語句是程序最基本的執(zhí)行單位,程序的功能就是通過對一系列語句的執(zhí)行來實現(xiàn)的。
(4)函數(shù)定義與調(diào)用
程序設(shè)計語言的語法
其中,(3)語句:
表達式語句:表達式加分號“;”
分支語句:實現(xiàn)分支控制過程
if (a > b)? x = a;
else?? x = b;
循環(huán)語句:實現(xiàn)循環(huán)控制的過程
sum = 0;????????? ??????? /* 初始化sum和i */
i = 1;
while (i <= 100) {??????? /* while循環(huán)語句 */
sum = sum + i;
i = i + 1;
}
復合語句:用一對“{ }”,將若干語句順序組合在一起就形成了一個程序段。
程序設(shè)計語言的語法
其中,(4)函數(shù)定義與調(diào)用
函數(shù)是完成特定任務的獨立模塊,函數(shù)的使用最主要涉及到函數(shù)的定義與調(diào)用。
輸入輸出:
C語言沒有輸入輸出語句,用庫函數(shù)printf、scanf等實現(xiàn)。
程序的編譯與編程環(huán)境
程序的編譯
編譯器
程序 ————》計算機直接能理解的指令序列
編譯器:對源程序進行詞法分析、語法與語義分析,生成可執(zhí)行的代碼。
直接指出程序中的語法錯誤
編程環(huán)境
包括編輯程序(Edit)、編譯(Compile)、調(diào)試(Debug)等過程。
掌握程序設(shè)計語言:根據(jù)語言的語法,用語言表達數(shù)據(jù)、實現(xiàn)程序的控制,并會使用編程環(huán)境。
C 語言上機過程
源程序
test.cpp??????????????????????????? test.obj
可執(zhí)行代碼
test.exe
1.3? C語言的發(fā)展歷史與特點
歷史
1972年:貝爾實驗室的Dennis Ritchie在B語言的基礎(chǔ)上設(shè)計并實現(xiàn)了C語言。
1978年:B.W.Kernighan和D.Ritchie(簡稱K & R)合著的《The C Programming Language》是各種C語言版本的基礎(chǔ),稱之為舊標準C語言。
1983年:美國國家標準化協(xié)會(ANSI)制定了新的C語言標準,稱ANSI C。
C語言的特點
1.C語言是一種結(jié)構(gòu)化語言
2.C語言語句簡潔、緊湊,使用方便、靈活
32個關(guān)鍵字,9種控制語句,程序書寫形式自由。
3.C語言程序易于移植
C語言將與硬件有關(guān)的因素從語言主體中分離出來,通過庫函數(shù)或其他實用程序?qū)崿F(xiàn)它們。
4.C語言有強大的處理能力
5.生成的目標代碼質(zhì)量高,運行效率高
C語言的特點
6.數(shù)據(jù)類型檢查不嚴格,表達式出現(xiàn)二義性,不具備數(shù)據(jù)越界自動檢查功能,運算符的優(yōu)先級與結(jié)合性對初學者難于掌握。
C 語言中大小寫字母代表不同含義
1.4? 實現(xiàn)問題求解的過程
問題:求1~100間所有偶數(shù)的和。
1.問題分析與算法設(shè)計
求在一定范圍內(nèi)(1~100)、滿足一定條件(偶數(shù))的若干整數(shù)的和,求累加和。
思路:設(shè)置一個變量(sum),其初值為0,然后在1~100的數(shù)中(i)尋找偶數(shù),將它們一個一個累加到sum中。
一步累加:sum = sum + i;
重復累加,用循環(huán)語句實現(xiàn),在循環(huán)過程中:
(1) 判別 i 是不是偶數(shù):用分支控制語句來實現(xiàn)。
(2) 對循環(huán)次數(shù)進行控制:通過 i 值的變化
問題分析與算法設(shè)計
思路 ——》確定算法
算法:一組明確的解決問題的步驟,它產(chǎn)生結(jié)果并可在有限的時間內(nèi)終止。
算法的描述:
自然語言
偽代碼
流程圖:算法的圖形表示法
實現(xiàn)問題求解的過程
2.編輯程序
生成程序的源文件,C語言源文件的后綴為 .c / .cpp
#include
int main(void)
{
int i, sum = 0;
for(i = 1; i <= 100; i++)
if (i%2 == 0)
sum = sum + i;
printf("%d", sum);
return 0;
}
實現(xiàn)問題求解的過程
3.程序編譯連接
編輯程序后,用該語言的編譯程序?qū)ζ溥M行編譯,以生成二進制代碼表示的目標程序(.obj),與編程環(huán)境提供的庫函數(shù)進行連接(Link)形成可執(zhí)行的程序(.exe)。
編譯程序指出語法錯誤
語法錯誤VS邏輯錯誤
實現(xiàn)問題求解的過程
4.運行與調(diào)試
經(jīng)過編輯、編譯、連接,生成執(zhí)行文件后,就可以在編程環(huán)境或操作系統(tǒng)環(huán)境中運行該程序。
如果程序運行所產(chǎn)生的結(jié)果不是你想要的結(jié)果,這是程序的語義錯誤(邏輯錯誤)。
調(diào)試:在程序中查找錯誤并修改錯誤的過程。
調(diào)試的方法
設(shè)置斷點
單步跟蹤
調(diào)試是一個需要耐心和經(jīng)驗的工作,也是程序設(shè)計最基本的技能之一。
C語言程序的調(diào)試、運行步驟
相關(guān)PPT
Visual C++培訓教程3ppt:這是一個關(guān)于Visual C++培訓教程3ppt,主要介紹了設(shè)備環(huán)境類和圖形對象;Windows 應用程序資源;庫存圖形對象;畫筆與畫刷等內(nèi)容,歡迎點擊下載!
數(shù)據(jù)結(jié)構(gòu)c語言版課件:這是數(shù)據(jù)結(jié)構(gòu)c語言版課件,包括了數(shù)據(jù)結(jié)構(gòu)討論的范疇,與數(shù)據(jù)結(jié)構(gòu)相關(guān)的概念,算法和算法的量度等內(nèi)容,歡迎點擊下載。
51單片機課件c語言ppt:這是51單片機課件c語言ppt,包括了C51與標準C的差異,C語言與匯編語言,C51的數(shù)據(jù)類型,新增存貯類型,存儲模式,絕對地址訪問等內(nèi)容,歡迎點擊下載。
《c語言ppt課件》是由用戶Etc person于2017-06-25上傳,屬于課件PPT。
總結(jié)
以上是生活随笔為你收集整理的c语言程序ppt课件,c语言ppt课件的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: dm数据库命令
- 下一篇: 微信小程序实现datamatrix(dm