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

下載本文檔

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

文檔簡介

1、1.1 啥是統(tǒng)計機程序啥是統(tǒng)計機程序1.2 啥是統(tǒng)計機語言啥是統(tǒng)計機語言1.3 C語言的進展及其特點語言的進展及其特點1.4 最簡單的最簡單的C語言程序語言程序1.5 運行運行C程序的環(huán)節(jié)與方式程序的環(huán)節(jié)與方式1.6 程序設計的任務程序設計的任務1.1 啥是統(tǒng)計機程序啥是統(tǒng)計機程序程序程序:一組統(tǒng)計機能識不和履行的指令一組統(tǒng)計機能識不和履行的指令只要讓統(tǒng)計機履行那個程序只要讓統(tǒng)計機履行那個程序,統(tǒng)計機便會統(tǒng)計機便會自動地、有條不紊地履行任務自動地、有條不紊地履行任務統(tǒng)計機的統(tǒng)統(tǒng)操縱根基上由程序操縱的統(tǒng)計機的統(tǒng)統(tǒng)操縱根基上由程序操縱的,脫離程序脫離程序,統(tǒng)計機將一事無成統(tǒng)計機將一事無成1.2 啥

2、是統(tǒng)計機語言啥是統(tǒng)計機語言統(tǒng)計機語言統(tǒng)計機語言:人和統(tǒng)計機交流信息的、統(tǒng)人和統(tǒng)計機交流信息的、統(tǒng)計機和人都能識不的語言計機和人都能識不的語言1.2 啥是統(tǒng)計機語言啥是統(tǒng)計機語言統(tǒng)計機語言進展期間統(tǒng)計機語言進展期間:機器語言(由機器語言(由0和和1組成的指令)組成的指令)符號語言(用英文字母和數(shù)字示意指令)符號語言(用英文字母和數(shù)字示意指令)高級語言(接近于人的自然語言和數(shù)學語言高級語言(接近于人的自然語言和數(shù)學語言)面向環(huán)節(jié)的語言面向環(huán)節(jié)的語言 (非結構化的語言、結構化語言)(非結構化的語言、結構化語言)面向對象的語言面向對象的語言低級語言低級語言1.3 C語言的進展及其特點語言的進展及其特點

3、C語言是國際上廣泛盛行的統(tǒng)計機高級語言是國際上廣泛盛行的統(tǒng)計機高級語言語言.C語言的進展語言的進展:BCPL語言語言B語言語言C語言語言精練、接近硬件精練、接近硬件,但但過于簡單過于簡單, 無信息類型無信息類型具有多種信息類型具有多種信息類型1.3 C語言的進展及其特點語言的進展及其特點最初的最初的C語言只是為描述和實現(xiàn)語言只是為描述和實現(xiàn)UNIX操縱系統(tǒng)提供一種任務語言而設計的操縱系統(tǒng)提供一種任務語言而設計的.1.3 C語言的進展及其特點語言的進展及其特點1983年年,美國國家規(guī)格協(xié)會美國國家規(guī)格協(xié)會(ANSI)成成站了一個委員會站了一個委員會,依照依照C語言咨詢世以來語言咨詢世以來各種版本

4、對各種版本對C語言的進展和擴充語言的進展和擴充,擬定了擬定了第一個第一個C語言規(guī)格草案語言規(guī)格草案(83 ANSI C).1.3 C語言的進展及其特點語言的進展及其特點1989年年,ANSI發(fā)布了一個完整的發(fā)布了一個完整的C語語言規(guī)格言規(guī)格ANSI X3.159-1989(常稱常稱ANSI C,或或C89).1.3 C語言的進展及其特點語言的進展及其特點1990年年,國際規(guī)格化組織國際規(guī)格化組織ISO(International Standard Organization) 同意同意C89做為國際規(guī)做為國際規(guī)格格ISOIEC 9899:1990,它和它和ANSI的的C89根基上是一樣的根基上是

5、一樣的.1.3 C語言的進展及其特點語言的進展及其特點1995年年,ISO對對C90作了部分修訂作了部分修訂,1999年年,ISO又對又對C語言規(guī)格履行修訂語言規(guī)格履行修訂,在根基保留原來的在根基保留原來的C語言特點的根本上語言特點的根本上,面向應用的需要面向應用的需要,增加了部分功能增加了部分功能,特別特別是是C+中的部分功能中的部分功能,命名為命名為ISOIEC 9899:1999.1.3 C語言的進展及其特點語言的進展及其特點2001、2021年先后履行了兩次技術修年先后履行了兩次技術修正(正(TC1和和TC2). ISOIEC 9899:1999(及其技術修正及其技術修正)被稱為被稱為

6、 C99.C99是是C89(及及1995基準增補基準增補1)的擴的擴充充.1.3 C語言的進展及其特點語言的進展及其特點本書的敘述以本書的敘述以C99規(guī)格為依據(jù)(對規(guī)格為依據(jù)(對C99新增加的功能作特不的講明)新增加的功能作特不的講明).目前差別軟件公司提供的各目前差別軟件公司提供的各C語言編譯語言編譯系統(tǒng)多數(shù)同時未完全實現(xiàn)系統(tǒng)多數(shù)同時未完全實現(xiàn)C99定見的功定見的功能能本書中程序根基上都能夠在目前所用的本書中程序根基上都能夠在目前所用的編譯系統(tǒng)編譯系統(tǒng)(似似VC+ 6.0,Turbo C+ 3.0,GCC)上編譯和運行上編譯和運行.1.3 C語言的進展及其特點語言的進展及其特點C語言是一種用

7、途廣泛、功能強盛、使語言是一種用途廣泛、功能強盛、使用靈活的環(huán)節(jié)性用靈活的環(huán)節(jié)性(procedural)編程語編程語言言,既可用于編寫應用軟件既可用于編寫應用軟件,又能用于編又能用于編寫系統(tǒng)軟件寫系統(tǒng)軟件.所以所以C語言咨詢世往后獵取語言咨詢世往后獵取敏捷推廣敏捷推廣.1.3 C語言的進展及其特點語言的進展及其特點C語言關鍵特點語言關鍵特點:語言簡潔、緊湊語言簡潔、緊湊,使用方便、靈活使用方便、靈活.只有只有37個關鍵字、個關鍵字、9種操縱語句種操縱語句程序書寫形式自由程序書寫形式自由,源程序短源程序短1.3 C語言的進展及其特點語言的進展及其特點C語言關鍵特點語言關鍵特點:運算符富厚運算符富

8、厚.有有34種運算符種運算符把括號、賦值、強制類型變形等都做為把括號、賦值、強制類型變形等都做為運算符操作運算符操作表達式類型多樣化表達式類型多樣化1.3 C語言的進展及其特點語言的進展及其特點C語言關鍵特點語言關鍵特點:信息類型富厚信息類型富厚.包羅包羅:整型、浮點型、字符型、數(shù)組類型、整型、浮點型、字符型、數(shù)組類型、指針類型、結構體類型、共用體類型指針類型、結構體類型、共用體類型C99又擴充了復數(shù)浮點類型、超長整型又擴充了復數(shù)浮點類型、超長整型(long long)、布爾類型、布爾類型(bool)指針類型信息指針類型信息,能用來實現(xiàn)各種復雜的信息能用來實現(xiàn)各種復雜的信息結構結構(似鏈表、樹

9、、棧等似鏈表、樹、棧等)的運算的運算.1.3 C語言的進展及其特點語言的進展及其特點C語言關鍵特點語言關鍵特點:具有結構化的操縱語句具有結構化的操縱語句似似ifelse語句、語句、while語句、語句、dowhile語句、語句、switch語句、語句、for語句語句用函數(shù)做為程序的模塊單位用函數(shù)做為程序的模塊單位,便于實現(xiàn)程便于實現(xiàn)程序的模塊化序的模塊化C語言是完全模塊化和結構化的語言語言是完全模塊化和結構化的語言1.3 C語言的進展及其特點語言的進展及其特點C語言關鍵特點語言關鍵特點:語法限制不太嚴格語法限制不太嚴格,程序設計自由度大程序設計自由度大.對數(shù)組下標越界不做查抄對數(shù)組下標越界不做

10、查抄對變量的類型使用對比靈活對變量的類型使用對比靈活,例似例似,整型整型量與字符型信息能夠通用量與字符型信息能夠通用C語言許可程序編寫者有較大的自由度語言許可程序編寫者有較大的自由度,所以放寬了語法查抄所以放寬了語法查抄1.3 C語言的進展及其特點語言的進展及其特點C語言關鍵特點語言關鍵特點:許可直截了當會見物理地址許可直截了當會見物理地址,能履行位操能履行位操縱縱,能夠直截了當對硬件履行操縱能夠直截了當對硬件履行操縱C語言具有高級語言的功能和低級語言語言具有高級語言的功能和低級語言的很多功能的很多功能,可用來編寫系統(tǒng)軟件可用來編寫系統(tǒng)軟件這種雙重性這種雙重性,使它既是順遂的系統(tǒng)描述語使它既是

11、順遂的系統(tǒng)描述語言言,又是通用的程序設計語言又是通用的程序設計語言1.3 C語言的進展及其特點語言的進展及其特點C語言關鍵特點語言關鍵特點:用用C語言編寫的程序可移植性好語言編寫的程序可移植性好.C的編譯系統(tǒng)簡潔的編譯系統(tǒng)簡潔,非常簡單移植到新系統(tǒng)非常簡單移植到新系統(tǒng)在新系統(tǒng)上運行時在新系統(tǒng)上運行時,可直截了當編譯可直截了當編譯“規(guī)格鏈規(guī)格鏈接庫接庫”中的大部分功能中的大部分功能,不需要修改源代碼不需要修改源代碼幾乎全部統(tǒng)計機系統(tǒng)都能夠使用幾乎全部統(tǒng)計機系統(tǒng)都能夠使用C語言語言1.3 C語言的進展及其特點語言的進展及其特點C語言關鍵特點語言關鍵特點:生成意圖代碼質量高生成意圖代碼質量高,程序履

12、行功效高程序履行功效高. 1.4最簡單的最簡單的C語言程序語言程序1.4.1 最簡單的最簡單的C語言程序舉例語言程序舉例1.4.2 C語言程序的結構語言程序的結構1.4.1 最簡單的最簡單的C語言程序舉例語言程序舉例例例1.1 要求在屏幕上輸出以下一行信息要求在屏幕上輸出以下一行信息. This is a C program.解題思路解題思路: 在主函數(shù)中用在主函數(shù)中用printf函數(shù)原樣輸出函數(shù)原樣輸出以上文字以上文字.1.4.1 最簡單的最簡單的C語言程序舉例語言程序舉例#include int main( ) printf (”This is a C program.n”); retur

13、n 0; 函數(shù)的名字函數(shù)的名字,示意主函數(shù)示意主函數(shù)C程序必須有一個程序必須有一個 main 函數(shù)函數(shù)1.4.1 最簡單的最簡單的C語言程序舉例語言程序舉例#include int main( ) printf (”This is a C program.n”); return 0; 主函數(shù)類型主函數(shù)類型1.4.1 最簡單的最簡單的C語言程序舉例語言程序舉例#include int main( ) printf (”This is a C program.n”); return 0; 函數(shù)體函數(shù)體1.4.1 最簡單的最簡單的C語言程序舉例語言程序舉例#include int main( ) p

14、rintf (”This is a C program.n”); return 0; 輸出函數(shù)輸出函數(shù)輸出語句輸出語句1.4.1 最簡單的最簡單的C語言程序舉例語言程序舉例#include int main( ) printf (”This is a C program.n”); return 0; 輸出語句輸出語句1.4.1 最簡單的最簡單的C語言程序舉例語言程序舉例#include int main( ) printf (”This is a C program.n”); return 0; 換行符換行符1.4.1 最簡單的最簡單的C語言程序舉例語言程序舉例#include int mai

15、n( ) printf (”This is a C program.n”); return 0; 當當main函數(shù)履行結束前函數(shù)履行結束前將整數(shù)將整數(shù)0做為函數(shù)值做為函數(shù)值1.4.1 最簡單的最簡單的C語言程序舉例語言程序舉例#include int main( ) printf (”This is a C program.n”); return 0; 示意語句結束示意語句結束用到函數(shù)庫中的輸入輸出函數(shù)時用到函數(shù)庫中的輸入輸出函數(shù)時1.4.1 最簡單的最簡單的C語言程序舉例語言程序舉例C語言許可用兩種注釋方式語言許可用兩種注釋方式:單行注釋單行注釋可單獨占一行可單獨占一行可表此刻一行中其他內容

16、的右側可表此刻一行中其他內容的右側*:塊式注釋塊式注釋可見諒多行可見諒多行例例1.2 求兩個整數(shù)之和求兩個整數(shù)之和.解題思路解題思路:設置設置3個變量個變量a和和b用來存放兩個整數(shù)用來存放兩個整數(shù)sum用來存放和數(shù)用來存放和數(shù)用賦值運算符用賦值運算符“=”把結論傳送給把結論傳送給sum#include int main( ) int a,b,sum; a = 123; b = 456; sum = a + b; printf(”sum is %dn”,sum); return 0; 定義整型變量定義整型變量a,b,sum對變量對變量a,b賦值賦值將將a與與b的和賦給的和賦給sum#includ

17、e int main( ) int a,b,sum; a = 123; b = 456; sum = a + b; printf(”sum is %dn”,sum); return 0; 用用sum的值替代的值替代期望輸出的字符期望輸出的字符例例1.3求兩個整數(shù)中的較大者求兩個整數(shù)中的較大者.解題思路解題思路:用一個函數(shù)實現(xiàn)求兩個整數(shù)中的較大者用一個函數(shù)實現(xiàn)求兩個整數(shù)中的較大者在主函數(shù)中調用此函數(shù)同時輸出結論在主函數(shù)中調用此函數(shù)同時輸出結論#include int main( ) int max(int x,int y); int a,b,c; scanf(”%d,%d”,&a,&am

18、p;b); c = max(a,b); printf(max=%dn,c); return 0;int max(int x,int y) int z; if (x y) z = x; else z = y; return(z);主函數(shù)主函數(shù)max函數(shù)函數(shù)#include int main( ) int max(int x,int y); int a,b,c; scanf(”%d,%d”,&a,&b); c = max(a,b); printf(max=%dn,c); return 0;int max(int x,int y) int z; if (x y) z = x; els

19、e z = y; return(z);將將x和和y中較大者中較大者值返回給主函數(shù)值返回給主函數(shù)#include int main( ) int max(int x,int y); int a,b,c; scanf(”%d,%d”,&a,&b); c = max(a,b); printf(max=%dn,c); return 0;int max(int x,int y) int z; if (x y) z = x; else z = y; return(z);#include int main( ) int max(int x,int y); int a,b,c; scanf(”

20、%d,%d”,&a,&b); c = max(a,b); printf(max=%dn,c); return 0;int max(int x,int y) int z; if (x y) z = x; else z = y; return(z);因因max函數(shù)的定義在函數(shù)的定義在main函數(shù)之后函數(shù)之后,需表明需表明#include int main( ) int max(int x,int y); int a,b,c; scanf(”%d,%d”,&a,&b); c = max(a,b); printf(max=%dn,c); return 0;int max

21、(int x,int y) int z; if (x y) z = x; else z = y; return(z);輸入函數(shù)輸入函數(shù)#include int main( ) int max(int x,int y); int a,b,c; scanf(”%d,%d”,&a,&b); c = max(a,b); printf(max=%dn,c); return 0;int max(int x,int y) int z; if (x y) z = x; else z = y; return(z);輸入語句輸入語句#include int main( ) int max(int

22、x,int y); int a,b,c; scanf(”%d,%d”,&a,&b); c = max(a,b); printf(max=%dn,c); return 0;int max(int x,int y) int z; if (x y) z = x; else z = y; return(z);輸入的信息輸入的信息放到放到a,b中中輸入標準輸入標準a的地址的地址#include int main( ) int max(int x,int y); int a,b,c; scanf(”%d,%d”,&a,&b); c = max(a,b); printf(ma

23、x=%dn,c); return 0;int max(int x,int y) int z; if (x y) z = x; else z = y; return(z);調用調用max函數(shù)函數(shù)#include int main( ) int max(int x,int y); int a,b,c; scanf(”%d,%d”,&a,&b); c = max(a,b); printf(max=%dn,c); return 0;int max(int x,int y) int z; if (x y) z = x; else z = y; return(z);8588#include

24、 int main( ) int max(int x,int y); int a,b,c; scanf(”%d,%d”,&a,&b); c = max(a,b); printf(max=%dn,c); return 0;int max(int x,int y) int z; if (x y) z = x; else z = y; return(z);8588#include int main( ) int max(int x,int y); int a,b,c; scanf(”%d,%d”,&a,&b); c = max(a,b); printf(max=%dn

25、,c); return 0;int max(int x,int y) int z; if (x y) z = x; else z = y; return(z);現(xiàn)實指標現(xiàn)實指標形式指標形式指標1.4.2 C語言程序的結構語言程序的結構C語言程序的結構特點語言程序的結構特點:1.一個程序由一個或多個源程序文件組成一個程序由一個或多個源程序文件組成小程序往往只包羅一個源程序文件小程序往往只包羅一個源程序文件例例1.1,例例1.2只有一個函數(shù)只有一個函數(shù)例例1.3有兩個函數(shù)有兩個函數(shù)只包羅一個源程序文件只包羅一個源程序文件1.4.2 C語言程序的結構語言程序的結構C語言程序的結構特點語言程序的結構特

26、點:一個源程序文件中能夠包羅三個部分一個源程序文件中能夠包羅三個部分:預操作指令預操作指令全局表明全局表明函數(shù)定義函數(shù)定義#include 等等在函數(shù)之外履行的信息表明在函數(shù)之外履行的信息表明每個函數(shù)用來實現(xiàn)必然的功能每個函數(shù)用來實現(xiàn)必然的功能1.4.2 C語言程序的結構語言程序的結構C語言程序的結構特點語言程序的結構特點:2.函數(shù)是函數(shù)是C程序的關鍵組成部分程序的關鍵組成部分一個一個C程序是由一個或多個函數(shù)組成的程序是由一個或多個函數(shù)組成的必須見諒一個必須見諒一個main函數(shù)(只能有一個)函數(shù)(只能有一個)每個函數(shù)都用來實現(xiàn)一個或幾個特定功能每個函數(shù)都用來實現(xiàn)一個或幾個特定功能被調用的函數(shù)能

27、夠是庫函數(shù)被調用的函數(shù)能夠是庫函數(shù),也能夠是自也能夠是自已編制設計的函數(shù)已編制設計的函數(shù)1.4.2 C語言程序的結構語言程序的結構C語言程序的結構特點語言程序的結構特點:3.一個函數(shù)包羅兩個部分一個函數(shù)包羅兩個部分:函數(shù)首部函數(shù)首部int max ( int x, int y )函數(shù)的第函數(shù)的第1行行函數(shù)類型函數(shù)類型函數(shù)名函數(shù)名指標類型指標類型指標名指標名1.4.2 C語言程序的結構語言程序的結構C語言程序的結構特點語言程序的結構特點:3.一個函數(shù)包羅兩個部分一個函數(shù)包羅兩個部分:函數(shù)首部函數(shù)首部int max ( int x, int y )如果函數(shù)無參如果函數(shù)無參,在括弧中寫在括弧中寫vo

28、id或空括弧或空括弧int main( void) 或或 int main()1.4.2 C語言程序的結構語言程序的結構C語言程序的結構特點語言程序的結構特點:3.一個函數(shù)包羅兩個部分一個函數(shù)包羅兩個部分:函數(shù)體函數(shù)體表明部分表明部分定義在本函數(shù)中所用到的變量定義在本函數(shù)中所用到的變量對本函數(shù)所調用函數(shù)履行表明對本函數(shù)所調用函數(shù)履行表明履行部分履行部分:由如果干個語句組成由如果干個語句組成,指定在函指定在函數(shù)中所履行的操縱數(shù)中所履行的操縱能夠沒有表明部分能夠沒有表明部分1.4.2 C語言程序的結構語言程序的結構C語言程序的結構特點語言程序的結構特點:3.一個函數(shù)包羅兩個部分一個函數(shù)包羅兩個部分:函數(shù)體函數(shù)體void dump ( ) 能夠是空函數(shù)能夠是空函數(shù)1.4.2 C語言程序的結構語言程序的結構C語言程序的結構特點語言程序的結構特點:4. 程序老是從程序老是從main函數(shù)最先履行函數(shù)最先履行5. C程序對統(tǒng)計機的操縱由程序對統(tǒng)計機的操縱由C語句完成語句完成C程序書寫標準是對比自由的程序書寫標準

溫馨提示

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

評論

0/150

提交評論