程序設(shè)計和C語言譚浩強_第1頁
程序設(shè)計和C語言譚浩強_第2頁
程序設(shè)計和C語言譚浩強_第3頁
程序設(shè)計和C語言譚浩強_第4頁
程序設(shè)計和C語言譚浩強_第5頁
已閱讀5頁,還剩56頁未讀, 繼續(xù)免費閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)

文檔簡介

會計學(xué)1程序設(shè)計和C語言譚浩強1.1什么是計算機程序程序:一組計算機能識別和執(zhí)行的指令只要讓計算機執(zhí)行這個程序,計算機就會自動地、有條不紊地進行工作計算機的一切操作都是由程序控制的,離開程序,計算機將一事無成第1頁/共61頁1.2什么是計算機語言計算機語言:人和計算機交流信息的、計算機和人都能識別的語言第2頁/共61頁1.2什么是計算機語言計算機語言發(fā)展階段:機器語言(由0和1組成的指令)符號語言(用英文字母和數(shù)字表示指令)高級語言(接近于人的自然語言和數(shù)學(xué)語言)面向過程的語言

(非結(jié)構(gòu)化的語言、結(jié)構(gòu)化語言)面向?qū)ο蟮恼Z言低級語言第3頁/共61頁1.3C語言的發(fā)展及其特點C語言是國際上廣泛流行的計算機高級語言。C語言的發(fā)展:BCPL語言B語言C語言精練、接近硬件,但過于簡單,無數(shù)據(jù)類型具有多種數(shù)據(jù)類型第4頁/共61頁1.3C語言的發(fā)展及其特點最初的C語言只是為描述和實現(xiàn)UNIX操作系統(tǒng)提供一種工作語言而設(shè)計的。第5頁/共61頁1.3C語言的發(fā)展及其特點1983年,美國國家標(biāo)準(zhǔn)協(xié)會(ANSI)成立了一個委員會,根據(jù)C語言問世以來各種版本對C語言的發(fā)展和擴充,制定了第一個C語言標(biāo)準(zhǔn)草案(’83ANSIC)。第6頁/共61頁1.3C語言的發(fā)展及其特點1989年,ANSI公布了一個完整的C語言標(biāo)準(zhǔn)—ANSIX3.159-1989(常稱ANSIC,或C89)。第7頁/共61頁1.3C語言的發(fā)展及其特點1990年,國際標(biāo)準(zhǔn)化組織ISO(InternationalStandardOrganization)接受C89作為國際標(biāo)準(zhǔn)ISO/IEC9899:1990,它和ANSI的C89基本上是相同的。第8頁/共61頁1.3C語言的發(fā)展及其特點1995年,ISO對C90作了一些修訂,1999年,ISO又對C語言標(biāo)準(zhǔn)進行修訂,在基本保留原來的C語言特征的基礎(chǔ)上,針對應(yīng)用的需要,增加了一些功能,尤其是C++中的一些功能,命名為ISO/IEC9899:1999。第9頁/共61頁1.3C語言的發(fā)展及其特點2001、2004年先后進行了兩次技術(shù)修正(TC1和TC2)。

ISO/IEC9899:1999(及其技術(shù)修正)被稱為C99。C99是C89(及1995基準(zhǔn)增補1)的擴充。第10頁/共61頁1.3C語言的發(fā)展及其特點本書的敘述以C99標(biāo)準(zhǔn)為依據(jù)(對C99新增加的功能作特別的說明)。目前不同軟件公司提供的各C語言編譯系統(tǒng)多數(shù)并未完全實現(xiàn)C99建議的功能本書中程序基本上都可以在目前所用的編譯系統(tǒng)(如VC++6.0,TurboC++3.0,GCC)上編譯和運行。第11頁/共61頁1.3C語言的發(fā)展及其特點C語言是一種用途廣泛、功能強大、使用靈活的過程性(procedural)編程語言,既可用于編寫應(yīng)用軟件,又能用于編寫系統(tǒng)軟件。因此C語言問世以后得到迅速推廣。第12頁/共61頁1.3C語言的發(fā)展及其特點C語言主要特點:語言簡潔、緊湊,使用方便、靈活。只有37個關(guān)鍵字、9種控制語句程序書寫形式自由,源程序短第13頁/共61頁1.3C語言的發(fā)展及其特點C語言主要特點:運算符豐富。有34種運算符把括號、賦值、強制類型轉(zhuǎn)換等都作為運算符處理表達式類型多樣化第14頁/共61頁1.3C語言的發(fā)展及其特點C語言主要特點:數(shù)據(jù)類型豐富。包括:整型、浮點型、字符型、數(shù)組類型、指針類型、結(jié)構(gòu)體類型、共用體類型C99又擴充了復(fù)數(shù)浮點類型、超長整型(longlong)、布爾類型(bool)指針類型數(shù)據(jù),能用來實現(xiàn)各種復(fù)雜的數(shù)據(jù)結(jié)構(gòu)(如鏈表、樹、棧等)的運算。第15頁/共61頁1.3C語言的發(fā)展及其特點C語言主要特點:具有結(jié)構(gòu)化的控制語句如if…else語句、while語句、do…while語句、switch語句、for語句用函數(shù)作為程序的模塊單位,便于實現(xiàn)程序的模塊化C語言是完全模塊化和結(jié)構(gòu)化的語言第16頁/共61頁1.3C語言的發(fā)展及其特點C語言主要特點:語法限制不太嚴格,程序設(shè)計自由度大。對數(shù)組下標(biāo)越界不做檢查對變量的類型使用比較靈活,例如,整型量與字符型數(shù)據(jù)可以通用C語言允許程序編寫者有較大的自由度,因此放寬了語法檢查第17頁/共61頁1.3C語言的發(fā)展及其特點C語言主要特點:允許直接訪問物理地址,能進行位操作,可以直接對硬件進行操作C語言具有高級語言的功能和低級語言的許多功能,可用來編寫系統(tǒng)軟件這種雙重性,使它既是成功的系統(tǒng)描述語言,又是通用的程序設(shè)計語言第18頁/共61頁1.3C語言的發(fā)展及其特點C語言主要特點:用C語言編寫的程序可移植性好。C的編譯系統(tǒng)簡潔,很容易移植到新系統(tǒng)在新系統(tǒng)上運行時,可直接編譯“標(biāo)準(zhǔn)鏈接庫”中的大部分功能,不需要修改源代碼幾乎所有計算機系統(tǒng)都可以使用C語言第19頁/共61頁1.3C語言的發(fā)展及其特點C語言主要特點:生成目標(biāo)代碼質(zhì)量高,程序執(zhí)行效率高。第20頁/共61頁1.4最簡單的C語言程序1.4.1最簡單的C語言程序舉例1.4.2C語言程序的結(jié)構(gòu)第21頁/共61頁1.4.1最簡單的C語言程序舉例例1.1要求在屏幕上輸出以下一行信息。

ThisisaCprogram.解題思路:

在主函數(shù)中用printf函數(shù)原樣輸出以上文字。第22頁/共61頁1.4.1最簡單的C語言程序舉例#include<stdio.h>intmain(){

printf(”ThisisaCprogram.\n”);return0;}函數(shù)的名字,表示主函數(shù)C程序必須有一個main函數(shù)第23頁/共61頁1.4.1最簡單的C語言程序舉例#include<stdio.h>intmain(){

printf(”ThisisaCprogram.\n”);return0;}

主函數(shù)類型第24頁/共61頁1.4.1最簡單的C語言程序舉例#include<stdio.h>intmain(){

printf(”ThisisaCprogram.\n”);return0;}

函數(shù)體第25頁/共61頁1.4.1最簡單的C語言程序舉例#include<stdio.h>intmain(){

printf(”ThisisaCprogram.\n”);return0;}

輸出函數(shù)輸出語句第26頁/共61頁1.4.1最簡單的C語言程序舉例#include<stdio.h>intmain(){

printf(”ThisisaCprogram.\n”);return0;}

輸出語句第27頁/共61頁1.4.1最簡單的C語言程序舉例#include<stdio.h>intmain(){

printf(”ThisisaCprogram.\n”);return0;}

換行符第28頁/共61頁1.4.1最簡單的C語言程序舉例#include<stdio.h>intmain(){

printf(”ThisisaCprogram.\n”);return0;}

當(dāng)main函數(shù)執(zhí)行結(jié)束前將整數(shù)0作為函數(shù)值第29頁/共61頁1.4.1最簡單的C語言程序舉例#include<stdio.h>intmain(){

printf(”ThisisaCprogram.\n”);return0;}

表示語句結(jié)束用到函數(shù)庫中的輸入輸出函數(shù)時第30頁/共61頁1.4.1最簡單的C語言程序舉例C語言允許用兩種注釋方式://:單行注釋可單獨占一行可出現(xiàn)在一行中其他內(nèi)容的右側(cè)/*……*/:塊式注釋可包含多行第31頁/共61頁例1.2求兩個整數(shù)之和。解題思路:設(shè)置3個變量a和b用來存放兩個整數(shù)sum用來存放和數(shù)用賦值運算符“=”把結(jié)果傳送給sum第32頁/共61頁#include<stdio.h>intmain(){inta,b,sum;a=123;b=456;sum=a+b;printf(”sumis%d\n”,sum);return0;}定義整型變量a,b,sum對變量a,b賦值將a與b的和賦給sum第33頁/共61頁#include<stdio.h>intmain(){inta,b,sum;a=123;b=456;sum=a+b;printf(”sumis%d\n”,sum);return0;}用sum的值替代希望輸出的字符第34頁/共61頁例1.3求兩個整數(shù)中的較大者。解題思路:用一個函數(shù)實現(xiàn)求兩個整數(shù)中的較大者在主函數(shù)中調(diào)用此函數(shù)并輸出結(jié)果第35頁/共61頁#include<stdio.h>intmain(){intmax(intx,inty);inta,b,c;scanf(”%d,%d”,&a,&b);c=max(a,b);printf("max=%d\n",c);return0;}intmax(intx,inty){intz;if(x>y)z=x;elsez=y;return(z);}主函數(shù)max函數(shù)第36頁/共61頁#include<stdio.h>intmain(){intmax(intx,inty);inta,b,c;scanf(”%d,%d”,&a,&b);c=max(a,b);printf("max=%d\n",c);return0;}intmax(intx,inty){intz;if(x>y)z=x;elsez=y;return(z);}將x和y中較大者值返回給主函數(shù)第37頁/共61頁#include<stdio.h>intmain(){intmax(intx,inty);inta,b,c;scanf(”%d,%d”,&a,&b);c=max(a,b);printf("max=%d\n",c);return0;}intmax(intx,inty){intz;if(x>y)z=x;elsez=y;return(z);}第38頁/共61頁#include<stdio.h>intmain(){intmax(intx,inty);inta,b,c;scanf(”%d,%d”,&a,&b);c=max(a,b);printf("max=%d\n",c);return0;}intmax(intx,inty){intz;if(x>y)z=x;elsez=y;return(z);}因max函數(shù)的定義在main函數(shù)之后,需聲明第39頁/共61頁#include<stdio.h>intmain(){intmax(intx,inty);inta,b,c;scanf(”%d,%d”,&a,&b);c=max(a,b);printf("max=%d\n",c);return0;}intmax(intx,inty){intz;if(x>y)z=x;elsez=y;return(z);}輸入函數(shù)第40頁/共61頁#include<stdio.h>intmain(){intmax(intx,inty);inta,b,c;scanf(”%d,%d”,&a,&b);c=max(a,b);printf("max=%d\n",c);return0;}intmax(intx,inty){intz;if(x>y)z=x;elsez=y;return(z);}輸入語句第41頁/共61頁#include<stdio.h>intmain(){intmax(intx,inty);inta,b,c;scanf(”%d,%d”,&a,&b);c=max(a,b);printf("max=%d\n",c);return0;}intmax(intx,inty){intz;if(x>y)z=x;elsez=y;return(z);}輸入的數(shù)據(jù)放到a,b中輸入格式a的地址第42頁/共61頁#include<stdio.h>intmain(){intmax(intx,inty);inta,b,c;scanf(”%d,%d”,&a,&b);c=max(a,b);printf("max=%d\n",c);return0;}intmax(intx,inty){intz;if(x>y)z=x;elsez=y;return(z);}調(diào)用max函數(shù)第43頁/共61頁#include<stdio.h>intmain(){intmax(intx,inty);inta,b,c;scanf(”%d,%d”,&a,&b);c=max(a,b);printf("max=%d\n",c);return0;}intmax(intx,inty){intz;if(x>y)z=x;elsez=y;return(z);}8588第44頁/共61頁#include<stdio.h>intmain(){intmax(intx,inty);inta,b,c;scanf(”%d,%d”,&a,&b);c=max(a,b);printf("max=%d\n",c);return0;}intmax(intx,inty){intz;if(x>y)z=x;elsez=y;return(z);}8588第45頁/共61頁#include<stdio.h>intmain(){intmax(intx,inty);inta,b,c;scanf(”%d,%d”,&a,&b);c=max(a,b);printf("max=%d\n",c);return0;}intmax(intx,inty){intz;if(x>y)z=x;elsez=y;return(z);}實際參數(shù)形式參數(shù)第46頁/共61頁1.4.2C語言程序的結(jié)構(gòu)C語言程序的結(jié)構(gòu)特點:1.一個程序由一個或多個源程序文件組成小程序往往只包括一個源程序文件例1.1,例1.2只有一個函數(shù)例1.3有兩個函數(shù)只包括一個源程序文件第47頁/共61頁1.4.2C語言程序的結(jié)構(gòu)C語言程序的結(jié)構(gòu)特點:一個源程序文件中可以包括三個部分:預(yù)處理指令全局聲明函數(shù)定義#include<stdio.h>等在函數(shù)之外進行的數(shù)據(jù)聲明每個函數(shù)用來實現(xiàn)一定的功能第48頁/共61頁1.4.2C語言程序的結(jié)構(gòu)C語言程序的結(jié)構(gòu)特點:2.函數(shù)是C程序的主要組成部分一個C程序是由一個或多個函數(shù)組成的必須包含一個main函數(shù)(只能有一個)每個函數(shù)都用來實現(xiàn)一個或幾個特定功能被調(diào)用的函數(shù)可以是庫函數(shù),也可以是自己編制設(shè)計的函數(shù)第49頁/共61頁1.4.2C語言程序的結(jié)構(gòu)C語言程序的結(jié)構(gòu)特點:3.一個函數(shù)包括兩個部分:函數(shù)首部intmax(intx,inty)函數(shù)的第1行函數(shù)類型函數(shù)名參數(shù)類型參數(shù)名第50頁/共61頁1.4.2C語言程序的結(jié)構(gòu)C語言程序的結(jié)構(gòu)特點:3.一個函數(shù)包括兩個部分:函數(shù)首部intmax(intx,inty)若函數(shù)無參,在括弧中寫voi

溫馨提示

  • 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)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

最新文檔

評論

0/150

提交評論