




版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)
文檔簡介
1、我們先解決一個問題讓同學(xué)們要計算1+2+3+100前100個自然數(shù)的和,同學(xué)們討論一下有幾種方法? 同學(xué)們能例舉幾種日常生活中見到用程序編寫的東西嗎?這個東西稱為什么?用來編寫程序的東西稱之什么?程序設(shè)計語言又分為幾種?高級語言有那幾種? 這么多的高級語言中,為什么要學(xué)習(xí)語言?l教學(xué)目的:教學(xué)目的:l1、了解、了解C語言的產(chǎn)生過程語言的產(chǎn)生過程l2、掌握、掌握C程序結(jié)構(gòu)程序結(jié)構(gòu)l3、掌握算法概念及算法的表示法、掌握算法概念及算法的表示法l4、掌握用、掌握用VC運行一個運行一個C程序。程序。l重點:重點: l1、掌握、掌握C程序的基本結(jié)構(gòu)構(gòu)成程序的基本結(jié)構(gòu)構(gòu)成l2、學(xué)會用、學(xué)會用VC運行一個運行
2、一個C程序程序l難點:難點: l算法的算法的N-S圖表示方法圖表示方法l教學(xué)方法:教學(xué)方法:l講授法、演示法、舉例引導(dǎo)、提問講授法、演示法、舉例引導(dǎo)、提問程序設(shè)計概述程序設(shè)計概述lC C語言是在語言是在19721972年至年至19731973年間由美國的貝爾實驗室的年間由美國的貝爾實驗室的兩個學(xué)者以及英國劍橋大學(xué)的兩個學(xué)者以及英國劍橋大學(xué)的M.RichardsM.Richards學(xué)者等為學(xué)者等為描述和實現(xiàn)描述和實現(xiàn)UNIXUNIX操作系統(tǒng)而設(shè)計的操作系統(tǒng)而設(shè)計的l最初的最初的C C語言是附屬于語言是附屬于UNIXUNIX的操作系統(tǒng)環(huán)境,而它的的操作系統(tǒng)環(huán)境,而它的產(chǎn)生卻可以更好地描述產(chǎn)生卻可以
3、更好地描述UNIXUNIX操作系統(tǒng)。時至今日,操作系統(tǒng)。時至今日,C C語言已獨立于語言已獨立于UNIXUNIX操作系統(tǒng)。它已成為微型、小型操作系統(tǒng)。它已成為微型、小型、中型、大型和超大型(巨型)計算機通用的一種、中型、大型和超大型(巨型)計算機通用的一種程序設(shè)計語言。程序設(shè)計語言。 l由于由于C C語言自身的優(yōu)點,在其后的十幾年中得到了語言自身的優(yōu)點,在其后的十幾年中得到了廣泛的使用,適用于不同機種和不同操作系統(tǒng)的廣泛的使用,適用于不同機種和不同操作系統(tǒng)的C C編譯系統(tǒng)相繼問世。編譯系統(tǒng)相繼問世。l19831983年美國國家標準局(年美國國家標準局(ANSIANSI)制定了)制定了C C語言
4、標準,語言標準,這個標準不斷完善,并從這個標準不斷完善,并從19871987年開始實施年開始實施ANSIANSI的的標準標準C C。l19881988年,年,ANSIANSI公布了標準公布了標準ANSI CANSI C。l目前,目前,C C語言已經(jīng)能夠在多種操作系統(tǒng)下運行,實語言已經(jīng)能夠在多種操作系統(tǒng)下運行,實用的用的C C語言編譯系統(tǒng)種類繁多,如語言編譯系統(tǒng)種類繁多,如Microsoft CMicrosoft C、Turbo CTurbo C等等1. 程序設(shè)計的基本概念程序設(shè)計的基本概念1)程序)程序 用計算機語言描述的算法稱為計算機程序,或簡用計算機語言描述的算法稱為計算機程序,或簡稱程序
5、。稱程序。 2)程序設(shè)計及程序設(shè)計語言)程序設(shè)計及程序設(shè)計語言 人類社會中有多種語言交流工具,每種語言又都人類社會中有多種語言交流工具,每種語言又都有它的語法規(guī)則。人和計算機通信需要通過計算有它的語法規(guī)則。人和計算機通信需要通過計算機語言。計算機語言是面向計算機的人造語言,機語言。計算機語言是面向計算機的人造語言,是進行程序設(shè)計的工具,因此也稱程序設(shè)計語言是進行程序設(shè)計的工具,因此也稱程序設(shè)計語言. 程序設(shè)計語言可以分為機器語言、匯編語言、高程序設(shè)計語言可以分為機器語言、匯編語言、高級語言。級語言。返回到本章目錄程序設(shè)計一般包含以下幾個部分程序設(shè)計一般包含以下幾個部分 確定數(shù)據(jù)結(jié)構(gòu)確定數(shù)據(jù)結(jié)構(gòu)
6、 確定算法確定算法 編寫程序編寫程序 調(diào)試程序調(diào)試程序 整理文檔資料整理文檔資料返回到本章目錄l1.2.1 C程序的實例程序的實例l1.2.2 輸入輸出函數(shù)的簡單介紹輸入輸出函數(shù)的簡單介紹l1.2.3 C程序的基本結(jié)構(gòu)程序的基本結(jié)構(gòu)l1.2.4 C語言的詞匯語言的詞匯討論:通過剛才簡單的 C程序,同學(xué)們討論總結(jié) C程序的特點和結(jié)構(gòu)?(1 1)C C語言簡潔、緊湊,使用方便、靈活。語言簡潔、緊湊,使用方便、靈活。(2 2)C C語言是中級語言,同時具備了高級語言和低語言是中級語言,同時具備了高級語言和低級語言的特征。級語言的特征。 (3 3)C C語言是結(jié)構(gòu)化語言,具有結(jié)構(gòu)化的控制語句。語言是結(jié)
7、構(gòu)化語言,具有結(jié)構(gòu)化的控制語句。 (4 4)C C語言具有各種各樣的數(shù)據(jù)類型。語言具有各種各樣的數(shù)據(jù)類型。 (5 5)C C語言適用范圍廣。語言適用范圍廣。 (6 6)生成目標代碼質(zhì)量高,程序執(zhí)行效率高。)生成目標代碼質(zhì)量高,程序執(zhí)行效率高。 l函數(shù)是函數(shù)是C C程序的基本結(jié)構(gòu),一個程序的基本結(jié)構(gòu),一個C C程序由一個或多程序由一個或多個函數(shù)組成,一個個函數(shù)組成,一個C C函數(shù)由若干條函數(shù)由若干條C C語句構(gòu)成,一語句構(gòu)成,一條條C C語句由若干基本單詞組成。語句由若干基本單詞組成。lC C函數(shù)是完成某個整體功能的最小單位,是相對獨函數(shù)是完成某個整體功能的最小單位,是相對獨立的模塊。簡單的立的
8、模塊。簡單的C C程序可能只有一個主函數(shù),而程序可能只有一個主函數(shù),而復(fù)雜的復(fù)雜的C C程序則可能包含一個主函數(shù)和任意多個其程序則可能包含一個主函數(shù)和任意多個其他函數(shù),所有他函數(shù),所有C C函數(shù)的結(jié)構(gòu)都包括三部分:函數(shù)名、函數(shù)的結(jié)構(gòu)都包括三部分:函數(shù)名、形式參數(shù)和函數(shù)體。圖形式參數(shù)和函數(shù)體。圖1-11-1為為C C程序的一般格式。程序的一般格式。 包含文件包含文件 子函數(shù)類型說明子函數(shù)類型說明 全局變量定義全局變量定義 main()main() 局部變量定義局部變量定義 語句序列語句序列 sub1( sub1(形式參數(shù)表形式參數(shù)表) 局部變量定義局部變量定義 語句序列語句序列 . . . .
9、. . . . . . . . subn( subn(形式參數(shù)表形式參數(shù)表) 局部變量定義局部變量定義 語句序列語句序列 圖1-1 C程序的一般格式對上述程序說明如下:對上述程序說明如下:(1 1)mainmain是主函數(shù)的函數(shù)名,表示這是一個主函是主函數(shù)的函數(shù)名,表示這是一個主函數(shù)。每一個數(shù)。每一個C C源程序都必須有且只有一個主函數(shù)源程序都必須有且只有一個主函數(shù)mainmain。(2 2)函數(shù)體由大括號)函數(shù)體由大括號括起來。上面例子中的程括起來。上面例子中的程序體只有一個序體只有一個printfprintf輸出語句。輸出語句。printfprintf是是C C語言語言中的輸出函數(shù),其功能
10、是把要輸出的內(nèi)容送到中的輸出函數(shù),其功能是把要輸出的內(nèi)容送到顯示器去顯示。語句中的雙引號用來顯示一個顯示器去顯示。語句中的雙引號用來顯示一個字符串,雙引號內(nèi)的字符串將按原樣輸出;字符串,雙引號內(nèi)的字符串將按原樣輸出;“n”n”是換行符,即在輸出是換行符,即在輸出“Hello,HumanHello,Human!”后回車換行。后回車換行。 練習(xí):如何在練習(xí):如何在TC中調(diào)試程序中調(diào)試程序例例1.2一個復(fù)雜的一個復(fù)雜的C程序。程序。#include/*include為文件包含命令為文件包含命令 */#includevoid main() /*主函數(shù)主函數(shù)*/ double x,y; /*定義變量定義
11、變量 */ printf(input number:); /*輸出字符串輸出字符串“ input number:”*/ scanf(%lf,&x); /*輸入變量輸入變量x的值的值 */ y=cos(x); /* 求求x的余弦,并把它賦給變量的余弦,并把它賦給變量y*/ printf(cosine of %lf is %lfn,x,y); /*顯示程序運算結(jié)果顯示程序運算結(jié)果*/ 程序的運行情況為:程序的運行情況為:input number:1.2 cosine of 1.200000 is 0.362358本書用本書用 代表回車代表回車l上述程序中:上述程序中:(1)/*/表示注釋部
12、分。注釋對編譯和運行不起表示注釋部分。注釋對編譯和運行不起作用。注釋可以加在程序中的任何位置。作用。注釋可以加在程序中的任何位置。(2)在)在main()之前的兩行語句稱為預(yù)處理命令,這里之前的兩行語句稱為預(yù)處理命令,這里的的include 稱為文件包含命令,其意義是把尖括號稱為文件包含命令,其意義是把尖括號或引號或引號“ ”內(nèi)指定的文件包含到本程序來,成為本內(nèi)指定的文件包含到本程序來,成為本程序的一部分。被包含的文件通常是由系統(tǒng)提供的,程序的一部分。被包含的文件通常是由系統(tǒng)提供的,其擴展名為其擴展名為.h,因此也稱為頭文件或首部文件。,因此也稱為頭文件或首部文件。(3)在本例中,使用了三個庫
13、函數(shù):輸入函數(shù))在本例中,使用了三個庫函數(shù):輸入函數(shù)scanf、余弦函數(shù)余弦函數(shù)cos、輸出函數(shù)、輸出函數(shù)printf。cos函數(shù)是數(shù)學(xué)函數(shù),函數(shù)是數(shù)學(xué)函數(shù),其頭文件為其頭文件為math.h文件,因此在程序的主函數(shù)前用文件,因此在程序的主函數(shù)前用include命令包含了命令包含了math.h。 說明:說明:scanfscanf和和printfprintf是標準輸入輸出函數(shù),其頭文是標準輸入輸出函數(shù),其頭文件為件為stdio.hstdio.h,在主函數(shù)前也用,在主函數(shù)前也用includeinclude命令包含了命令包含了stdio.hstdio.h文件。語言的頭文件中包括了各個標準文件。語言的頭
14、文件中包括了各個標準庫函數(shù)的函數(shù)原型。因此,凡是在程序中調(diào)用一個庫函數(shù)的函數(shù)原型。因此,凡是在程序中調(diào)用一個庫函數(shù)時,都必須包含該函數(shù)原型所在的頭文件。庫函數(shù)時,都必須包含該函數(shù)原型所在的頭文件。(4)在例題中的主函數(shù)體又分為兩部分:說明部分在例題中的主函數(shù)體又分為兩部分:說明部分和執(zhí)行部分。和執(zhí)行部分。說明部分完成變量的類型說明。語言規(guī)定,源程說明部分完成變量的類型說明。語言規(guī)定,源程序中所有用到的變量都必須先說明,后使用,否則序中所有用到的變量都必須先說明,后使用,否則將會出錯。本例中使用了兩個變量將會出錯。本例中使用了兩個變量x x,y y,用來表示,用來表示輸入的自變量和輸入的自變量和
15、coscos函數(shù)值。由于函數(shù)值。由于coscos函數(shù)要求這兩函數(shù)要求這兩個量必須是雙精度浮點型,故用類型說明符個量必須是雙精度浮點型,故用類型說明符doubledouble來說明這兩個變量。來說明這兩個變量。說明部分后的四行為執(zhí)行部分或稱為執(zhí)行語句部說明部分后的四行為執(zhí)行部分或稱為執(zhí)行語句部分,用以完成程序的功能。分,用以完成程序的功能。l執(zhí)行部分的第一行是輸出語句,調(diào)用執(zhí)行部分的第一行是輸出語句,調(diào)用printfprintf函數(shù)函數(shù)在顯示器上輸出提示字符串,提示用戶輸入自變在顯示器上輸出提示字符串,提示用戶輸入自變量量x x的值。的值。l第二行為輸入語句,調(diào)用第二行為輸入語句,調(diào)用scanf
16、scanf函數(shù),接受鍵盤上函數(shù),接受鍵盤上輸入的數(shù)并存入變量輸入的數(shù)并存入變量x x中。中。l第三行是調(diào)用第三行是調(diào)用coscos函數(shù)并把函數(shù)值送到變量函數(shù)并把函數(shù)值送到變量y y中。中。l第四行是用第四行是用printfprintf函數(shù)輸出變量函數(shù)輸出變量y y的值,即的值,即x x的余的余弦值。到此程序全部結(jié)束。弦值。到此程序全部結(jié)束。1格式輸出函數(shù)格式輸出函數(shù)printf2格式輸入函數(shù)格式輸入函數(shù)scanfl格式輸出函數(shù)格式輸出函數(shù)printf()printf()的功能是按指定的格式輸?shù)墓δ苁前粗付ǖ母袷捷敵鰯?shù)據(jù),其一般的調(diào)用格式為:出數(shù)據(jù),其一般的調(diào)用格式為: printf(“格式控制
17、字符串格式控制字符串”,參數(shù)表參數(shù)表);l其中,其中,printfprintf是函數(shù)名,其后括號中的內(nèi)容為該是函數(shù)名,其后括號中的內(nèi)容為該函數(shù)的參數(shù);格式控制字符串用雙引號括起來,函數(shù)的參數(shù);格式控制字符串用雙引號括起來,用來規(guī)定輸出格式,如用來規(guī)定輸出格式,如%f%f用來輸出實數(shù),用來輸出實數(shù),%c%c用來用來輸出字符;參數(shù)表中包含零個或多個輸出項,這輸出字符;參數(shù)表中包含零個或多個輸出項,這些輸出項可以是實數(shù)、變量或表達式,多個輸出些輸出項可以是實數(shù)、變量或表達式,多個輸出項之間用逗號隔開。項之間用逗號隔開。l例如例如: :printf(%d,%d,a,b);l用來按十進制整數(shù)形式輸出變量
18、用來按十進制整數(shù)形式輸出變量a a和和b bl格式輸入函數(shù)格式輸入函數(shù)scanfscanf的功能是按指定的格式輸入數(shù)據(jù),其的功能是按指定的格式輸入數(shù)據(jù),其一般的調(diào)用格式為:一般的調(diào)用格式為: scanf(格式控制字符串格式控制字符串,參數(shù)表參數(shù)表);l其中,其中,printfprintf是函數(shù)名,其后括號中的內(nèi)容為該函數(shù)的參是函數(shù)名,其后括號中的內(nèi)容為該函數(shù)的參數(shù):格式控制字符串用雙引號括起來,用來規(guī)定輸入格式,數(shù):格式控制字符串用雙引號括起來,用來規(guī)定輸入格式,其用法和其用法和printfprintf函數(shù)中規(guī)定的相同;參數(shù)表中至少包含一函數(shù)中規(guī)定的相同;參數(shù)表中至少包含一個輸入項,且必須是變
19、量的地址(變量地址的表示形式是個輸入項,且必須是變量的地址(變量地址的表示形式是在變量名前加上一個在變量名前加上一個“&”),多個輸入項之間用逗號隔),多個輸入項之間用逗號隔開。開。l例如:例如:scanf(%d%d,&a,&b);l用來接收從鍵盤輸入的兩個十進制整數(shù),并分別存放在變用來接收從鍵盤輸入的兩個十進制整數(shù),并分別存放在變量量a a和和b b中。中。l圖圖1-11-1中,中,mainmain為主函數(shù)名,為主函數(shù)名,sub1()sub1()到到sunbn()sunbn()為子為子函數(shù)名,在函數(shù)名,在C C程序中,主函數(shù)名字是固定的,其他程序中,主函數(shù)名字是固定的
20、,其他的函數(shù)名則可以根據(jù)標識符的命名方法任意取名;的函數(shù)名則可以根據(jù)標識符的命名方法任意取名;形式參數(shù)是函數(shù)調(diào)用時進行數(shù)據(jù)傳遞的主要途徑,形式參數(shù)是函數(shù)調(diào)用時進行數(shù)據(jù)傳遞的主要途徑,當形式參數(shù)表中有多個參數(shù)時,相互之間用逗號隔當形式參數(shù)表中有多個參數(shù)時,相互之間用逗號隔開。有的函數(shù)可能沒有形式參數(shù);花括號開。有的函數(shù)可能沒有形式參數(shù);花括號擴起來擴起來的部分為函數(shù)體,用來描述函數(shù)的功能,一般函數(shù)的部分為函數(shù)體,用來描述函數(shù)的功能,一般函數(shù)體由變量定義和完成本函數(shù)功能的語句序列組成。體由變量定義和完成本函數(shù)功能的語句序列組成。l程序在執(zhí)行時,無論各個函數(shù)的書寫位置如何,總程序在執(zhí)行時,無論各個函
21、數(shù)的書寫位置如何,總是先執(zhí)行是先執(zhí)行main()main()函數(shù),再由函數(shù),再由main()main()函數(shù)調(diào)用其他函函數(shù)調(diào)用其他函數(shù),最終終止于數(shù),最終終止于main()main()函數(shù)。函數(shù)。 l1.1.標識符標識符l2.關(guān)鍵字關(guān)鍵字l3.運算符運算符l4.分隔符分隔符l5.常量常量l6.注視符注視符l標識符用來表示程序中使用的變量名、函數(shù)名、標識符用來表示程序中使用的變量名、函數(shù)名、標號、數(shù)組名、指針名、結(jié)構(gòu)體名、共用體名、標號、數(shù)組名、指針名、結(jié)構(gòu)體名、共用體名、枚舉常量名以及用戶定義的數(shù)據(jù)類型名等,除庫枚舉常量名以及用戶定義的數(shù)據(jù)類型名等,除庫函數(shù)的函數(shù)名由系統(tǒng)定義外,其余都由用戶自
22、定函數(shù)的函數(shù)名由系統(tǒng)定義外,其余都由用戶自定義。義。lC C語言規(guī)定,標識符由字母語言規(guī)定,標識符由字母(A(AZ Z,a az)z)、數(shù)字、數(shù)字(0(09)9)、下劃線、下劃線(_)(_)組成的字符串,并且其第一個組成的字符串,并且其第一個字符必須是字母或下劃線。字符必須是字母或下劃線。l例如例如: :標識符標識符a, x, x3,BOOK_1,sum5a, x, x3,BOOK_1,sum5是合法的。是合法的。而以下標識符是非法的:而以下標識符是非法的: 3s 3s 以數(shù)字開頭。以數(shù)字開頭。 s s* *T T 出現(xiàn)非法字符出現(xiàn)非法字符* *。 -3x -3x 以減號開頭。以減號開頭。 b
23、owy-1 bowy-1 出現(xiàn)非法字符出現(xiàn)非法字符-(-(減號減號) )。l在使用標識符時還必須注意以下幾點:在使用標識符時還必須注意以下幾點:(1)(1)標準標準C C不限制標識符的長度,但它受各種版本的不限制標識符的長度,但它受各種版本的C C語言編譯系統(tǒng)限制,同時也受到具體機器的限制。語言編譯系統(tǒng)限制,同時也受到具體機器的限制。例如在某版本例如在某版本C C中規(guī)定標識符前八位有效,當兩個中規(guī)定標識符前八位有效,當兩個標識符前八位相同時,則被認為是同一個標識符。標識符前八位相同時,則被認為是同一個標識符。 (2)(2)在標識符中,大小寫是有區(qū)別的。例如在標識符中,大小寫是有區(qū)別的。例如BO
24、OKBOOK和和book book 是兩個不同的標識符。是兩個不同的標識符。(3)(3)標識符雖然可由程序員隨意定義,但標識符是用標識符雖然可由程序員隨意定義,但標識符是用于標識某個量的符號。因此,命名應(yīng)盡量有相應(yīng)的于標識某個量的符號。因此,命名應(yīng)盡量有相應(yīng)的意義,以便于閱讀理解,作到意義,以便于閱讀理解,作到“顧名思義顧名思義”。 l關(guān)鍵字是由語言規(guī)定的具有特定意義的字符串,關(guān)鍵字是由語言規(guī)定的具有特定意義的字符串,通常也稱為保留字。通常也稱為保留字。l用戶定義的標識符不應(yīng)與關(guān)鍵字相同。用戶定義的標識符不應(yīng)與關(guān)鍵字相同。l語言的關(guān)鍵字分為以下幾類:語言的關(guān)鍵字分為以下幾類:(1)(1)類型說
25、明符。用于定義和說明變量、函數(shù)或其他類型說明符。用于定義和說明變量、函數(shù)或其他數(shù)據(jù)結(jié)構(gòu)的類型。數(shù)據(jù)結(jié)構(gòu)的類型。(2)(2)語句定義符。用于表示一個語句的功能。語句定義符。用于表示一個語句的功能。(3)(3)預(yù)處理命令字。用于表示一個預(yù)處理命令。預(yù)處理命令字。用于表示一個預(yù)處理命令。autovolatileswitchsignedshortsizeofdefaultbreakwhiletypedefunionunsignedfloatdocasecharconstcontinueregisterfordoubleelseenum externstructreturngotoifintlongst
26、aticvoid 表1-1 ANSI C標準規(guī)定的關(guān)鍵字 ANSI C標準規(guī)定的關(guān)鍵字有標準規(guī)定的關(guān)鍵字有32個,如表個,如表1-1所示。所示。l語言中的運算符由一個或多個字符組成。語言中的運算符由一個或多個字符組成。l運算符與變量、函數(shù)一起組成表達式,表示各運算符與變量、函數(shù)一起組成表達式,表示各種運算功能。種運算功能。l分隔符用來分隔相鄰的標識符、關(guān)鍵字和變量等。分隔符用來分隔相鄰的標識符、關(guān)鍵字和變量等。l語言中常用的分隔符有逗號、空格、制表符等語言中常用的分隔符有逗號、空格、制表符等lC C 語言中使用的常量可分為數(shù)值常量(如語言中使用的常量可分為數(shù)值常量(如1212,1.2E21.2
27、E2等)、字符常量(如等)、字符常量(如m m)、字符串常)、字符串常量量( (如如”HumanHuman”) )、符號常量和轉(zhuǎn)義常量等多種。、符號常量和轉(zhuǎn)義常量等多種。l以以“/ /* *”開頭并以開頭并以“* */”/”結(jié)尾的字符串為結(jié)尾的字符串為C C語語言的注釋符。言的注釋符。l注釋可出現(xiàn)在程序中的任何位置,用來提示用注釋可出現(xiàn)在程序中的任何位置,用來提示用戶或解釋程序的意義。戶或解釋程序的意義。l程序編譯時,不對注釋作任何處理。程序編譯時,不對注釋作任何處理。l1.編輯編輯l2.編譯編譯l3.連接連接l4.運行運行l(wèi) 一般來說,編輯是指一般來說,編輯是指C語言源程序的輸入和修改。語言
28、源程序的輸入和修改。l使用文本編輯器來創(chuàng)建源代碼的文件,最后以文使用文本編輯器來創(chuàng)建源代碼的文件,最后以文本文件的形式存放在磁盤上,文件名由用戶自行本文件的形式存放在磁盤上,文件名由用戶自行定義,擴展名一般為定義,擴展名一般為.c,例如,例如hello.c,b.c等。等。l許多文本編輯器都可以用來編輯源程序,例如許多文本編輯器都可以用來編輯源程序,例如Windows記事本、記事本、DOS的的EDIT等。等。l編譯是編譯器把編譯是編譯器把C語言源程序翻譯成二進制目標語言源程序翻譯成二進制目標程序。程序。l目標程序文件的主文件名與源程序的主文件名相目標程序文件的主文件名與源程序的主文件名相同,擴展
29、名為同,擴展名為.obj。l如果在編譯的過程中出現(xiàn)錯誤,系統(tǒng)會給出如果在編譯的過程中出現(xiàn)錯誤,系統(tǒng)會給出“出出錯信息錯信息”,此時用戶需要回到編輯階段進行修改,此時用戶需要回到編輯階段進行修改,直到編譯通過為止。直到編譯通過為止。 l編譯成功后的目標程序仍然不能運行,需要用編譯成功后的目標程序仍然不能運行,需要用連接程序?qū)⒕幾g過的目標程序和程序中用到的連接程序?qū)⒕幾g過的目標程序和程序中用到的庫函數(shù)連接裝配在一起,形成可執(zhí)行的目標程庫函數(shù)連接裝配在一起,形成可執(zhí)行的目標程序。序。l可執(zhí)行文件的主文件名與源程序的主文件名相可執(zhí)行文件的主文件名與源程序的主文件名相同,其擴展名為同,其擴展名為.exe
30、。l 連接后生成的可執(zhí)行文件裝入內(nèi)存后即可以運行,連接后生成的可執(zhí)行文件裝入內(nèi)存后即可以運行,并輸出運行結(jié)果。并輸出運行結(jié)果。l在很多公用環(huán)境,如:在很多公用環(huán)境,如:MS-DOS、UNIX和和Linux操作操作平臺中,只要鍵入相應(yīng)的可執(zhí)行文件名即可運行一個平臺中,只要鍵入相應(yīng)的可執(zhí)行文件名即可運行一個程序。程序。 l在其他環(huán)境下,例如在其他環(huán)境下,例如Windows環(huán)境下可以通過選擇菜環(huán)境下可以通過選擇菜單中的選項或按下特殊鍵來編輯并執(zhí)行單中的選項或按下特殊鍵來編輯并執(zhí)行C程序。所產(chǎn)程序。所產(chǎn)生的程序還可以通過雙擊文件名或圖標直接從操作系生的程序還可以通過雙擊文件名或圖標直接從操作系統(tǒng)運行。
31、統(tǒng)運行。l如果在運行程序的過程中得不到預(yù)期的結(jié)果,就要重如果在運行程序的過程中得不到預(yù)期的結(jié)果,就要重復(fù)進行編輯、編譯、連接、運行四個步驟,如圖復(fù)進行編輯、編譯、連接、運行四個步驟,如圖1-2所示。所示。 圖圖1-2 C程序的開發(fā)過程程序的開發(fā)過程l1.4.1Turbo C 2.0的啟動的啟動l1.4.2 Turbo C的集成開發(fā)環(huán)境的集成開發(fā)環(huán)境l1.4.3 確立確立TC工作環(huán)境工作環(huán)境l1.4.4 調(diào)試調(diào)試C程序的步驟程序的步驟l假定已經(jīng)將假定已經(jīng)將Turbo C 2.0安裝到了計算機中,位置安裝到了計算機中,位置在在C盤的盤的TC目錄下;同時采用目錄下;同時采用Windows XP操作系
32、操作系統(tǒng)(對統(tǒng)(對Windows98和和Windows2000的用戶也同樣的用戶也同樣適用)。適用)。l啟動啟動Turbo C 2.0的步驟如下:的步驟如下:(1)在)在Windows XP窗口左下角選擇窗口左下角選擇【開始開始】|【所所有程序有程序】|【附件附件】|【命令提示符命令提示符】命令,打開命令,打開【命令提示符命令提示符】窗口。窗口。 圖1-3 【命令提示符】窗口(2)在提示光標處輸入:)在提示光標處輸入:cd ,回車后將回到,回車后將回到C盤的根盤的根目錄,如圖目錄,如圖1-3所示。所示。(3)在窗口中輸入:)在窗口中輸入: c:cd tc c: tctc 打開打開C程序的開發(fā)環(huán)
33、境程序的開發(fā)環(huán)境Turbo C 2.0,如圖,如圖1-4所示。所示。 圖圖1-4 Turbo C 2.0開始界面開始界面l進入進入Turbo C 2.0集成開發(fā)環(huán)境后,屏幕中間顯示了集成開發(fā)環(huán)境后,屏幕中間顯示了一些版本等方面的信息,按鍵盤上的一些版本等方面的信息,按鍵盤上的ESC鍵可以關(guān)閉鍵可以關(guān)閉該窗口。該窗口。l圖圖1-4所示的集成環(huán)境分為四個部分:最頂行為所示的集成環(huán)境分為四個部分:最頂行為“主主菜單菜單”,中間是編輯窗口和編譯信息窗口,最底行為,中間是編輯窗口和編譯信息窗口,最底行為功能鍵提示行。功能鍵提示行。l這四個窗口構(gòu)成了這四個窗口構(gòu)成了Turbo C 2.0的主屏幕,程序的編
34、的主屏幕,程序的編輯、編譯、調(diào)試、連接以及運行都將在這個主屏幕中輯、編譯、調(diào)試、連接以及運行都將在這個主屏幕中進行。進行。l通過主菜單可以選擇通過主菜單可以選擇Turbo C集成環(huán)境所提供的各項集成環(huán)境所提供的各項功能。同時,使用鍵盤上的功能。同時,使用鍵盤上的、(上、下、(上、下、左、右)鍵可以選擇菜單條中所需要的菜單項,被選左、右)鍵可以選擇菜單條中所需要的菜單項,被選中的項反向顯示。中的項反向顯示。l下面對經(jīng)常使用的幾個菜單進行簡單的介紹。下面對經(jīng)常使用的幾個菜單進行簡單的介紹。 文件菜單提供存取文件的功能,含有文件菜單提供存取文件的功能,含有9個下拉子菜單,個下拉子菜單,分別如下:分別
35、如下:Load 裝入文件裝入文件Pick 顯示最近裝入過的最后顯示最近裝入過的最后9個文件的列表個文件的列表New 編輯新文件,文件名為編輯新文件,文件名為NONAME.CSave 將正在編輯的文件存盤將正在編輯的文件存盤 Write to 將正在編輯的文件改名存盤將正在編輯的文件改名存盤Directory 顯示當前工作目錄的內(nèi)容顯示當前工作目錄的內(nèi)容Change dir 顯示當前工作目錄的路徑名,允許把顯示當前工作目錄的路徑名,允許把它改為另一個名字它改為另一個名字OS shell 暫時退回到暫時退回到DOS環(huán)境,鍵入環(huán)境,鍵入EXIT命令返命令返回回Turbo CQuit 退出退出Turb
36、o C,返回,返回DOS系統(tǒng)系統(tǒng)l編輯菜單提供輸入和編輯程序的功能,編輯菜單提供輸入和編輯程序的功能,不含下拉子菜單。不含下拉子菜單。l運行菜單提供運行和調(diào)試程序的功能,含有運行菜單提供運行和調(diào)試程序的功能,含有6個下拉個下拉子菜單,常用的有:子菜單,常用的有:Run 編譯、連接和運行正在編輯的源程序編譯、連接和運行正在編輯的源程序User screen 查看程序運行時所產(chǎn)生的輸出屏幕查看程序運行時所產(chǎn)生的輸出屏幕l編譯菜單提供編譯和連接目標程序的功能,含編譯菜單提供編譯和連接目標程序的功能,含有有6個下拉子菜單,常用的有:個下拉子菜單,常用的有:Make EXE file 直接將源程序編譯和
37、連接成直接將源程序編譯和連接成可執(zhí)行文件可執(zhí)行文件 Link EXE file 連接當前的連接當前的OBJ文件和庫文文件和庫文件件 Primary C file 指定待編譯的主文件,而不是指定待編譯的主文件,而不是當前編輯的文件當前編輯的文件 Get info 顯示當前對話框的信息顯示當前對話框的信息l可選項菜單提供設(shè)定集成環(huán)境操作方式的功能,可選項菜單提供設(shè)定集成環(huán)境操作方式的功能,包含包含7個下拉子菜單,常用的有:個下拉子菜單,常用的有:Compiler 選擇編譯程序的存儲模式選擇編譯程序的存儲模式Environment 更改集成環(huán)境的存儲模式更改集成環(huán)境的存儲模式Directories
38、設(shè)定標題文件、庫文件、可執(zhí)設(shè)定標題文件、庫文件、可執(zhí)行文件所在的目錄行文件所在的目錄l一般在安裝一般在安裝Turbo C時,如果用戶不作另外的指定,系時,如果用戶不作另外的指定,系統(tǒng)會按照默認的方案建立一個目錄統(tǒng)會按照默認的方案建立一個目錄C:TC用來存放用來存放Turbo C的系統(tǒng)文件,同時在的系統(tǒng)文件,同時在TC目錄下建立一個目錄下建立一個INCLUDE子目錄用來存放子目錄用來存放“包含文件包含文件”,另外建立一,另外建立一個個LIB子目錄用來存放庫函數(shù)。子目錄用來存放庫函數(shù)。 l安裝安裝Turbo C時,如果用戶不采用系統(tǒng)提示的子目錄名,時,如果用戶不采用系統(tǒng)提示的子目錄名,而想自己另外
39、指定子目錄名,則應(yīng)當通知而想自己另外指定子目錄名,則應(yīng)當通知Turbo C系統(tǒng),系統(tǒng),否則在調(diào)試程序時會提示找不到指定的文件。當這種否則在調(diào)試程序時會提示找不到指定的文件。當這種情況發(fā)生時,可以采用如下的操作解決這個問題:情況發(fā)生時,可以采用如下的操作解決這個問題:圖圖1-5 設(shè)置設(shè)置Turbo C系統(tǒng)的工作環(huán)境(系統(tǒng)的工作環(huán)境(1) (1)打開)打開Turbo C的主界面后,按鍵盤上的快捷鍵的主界面后,按鍵盤上的快捷鍵Alt+O,在出現(xiàn)的,在出現(xiàn)的Options下拉菜單中,用下拉菜單中,用和和鍵鍵選擇選擇【Directories】項,如圖項,如圖1-5所示。所示。圖圖1-6 設(shè)置設(shè)置Turb
40、o C系統(tǒng)的工作環(huán)境(系統(tǒng)的工作環(huán)境(2)(2)按回車后彈出如圖)按回車后彈出如圖1-6所示的窗口。所示的窗口。 下面對圖下面對圖1-6所示窗口中的各項含義進行介紹:所示窗口中的各項含義進行介紹: Include directories:CTCINCLUDE Install建立的建立的“包含文件包含文件”默認目錄。默認目錄。 Library directories:CTCLIB Install建立的庫文件默認目錄。建立的庫文件默認目錄。 Output directory: 存放存放*.exe和和*.obj文件的目錄。文件的目錄。 Turbo C directory:CTC Install建立的
41、默認目錄。建立的默認目錄。 l從圖從圖1-6可以看出并未指定某一具體的目錄,需要可以看出并未指定某一具體的目錄,需要我們來指定。我們來指定。l如果不指定,系統(tǒng)就會將它保存在當前工作目錄如果不指定,系統(tǒng)就會將它保存在當前工作目錄中中。l此時選中第此時選中第3行行【Output directory:】后,按回車后,按回車鍵,將彈出一個鍵,將彈出一個“輸出文件目錄輸出文件目錄”對話框,在此對話框,在此框內(nèi)輸入框內(nèi)輸入“C:TCC_OUT”,如圖,如圖1-7所示,它表所示,它表示要將示要將.obj文件和文件和.exe文件保存在文件保存在“C:TCC_OUT”子目錄中。子目錄中。 圖圖1-7 保存文件到
42、指定頂目錄保存文件到指定頂目錄 l按回車鍵后,對話框消失,此時發(fā)現(xiàn)按回車鍵后,對話框消失,此時發(fā)現(xiàn)“C:TCC_OUT”已經(jīng)加入到第已經(jīng)加入到第3行中,表示已經(jīng)行中,表示已經(jīng)進行了該項的設(shè)置。進行了該項的設(shè)置。l(4)進行了以上設(shè)置后,需要將這些信息保存起)進行了以上設(shè)置后,需要將這些信息保存起來。具體操作為:來。具體操作為:在上述設(shè)置完畢后按在上述設(shè)置完畢后按Esc鍵返回鍵返回【Options】菜菜單,然后選擇單,然后選擇【Save Options】菜單項,并按菜單項,并按回車鍵,在彈出的如圖回車鍵,在彈出的如圖1-8所示的所示的“配置文件配置文件”對話框內(nèi)輸入對話框內(nèi)輸入“C:TCTCCO
43、NFIG.TC”,按,按回車鍵后建立配置文件完成?;剀囨I后建立配置文件完成。 圖圖1-8保存所做設(shè)置保存所做設(shè)置 l以以“編寫一個程序,用于在屏幕上輸出兩個數(shù)之和編寫一個程序,用于在屏幕上輸出兩個數(shù)之和”為例,講解調(diào)試程序的步驟。為例,講解調(diào)試程序的步驟。 (1 1)編輯源文件。進入)編輯源文件。進入Turbo C 2.0Turbo C 2.0集成開發(fā)環(huán)境集成開發(fā)環(huán)境后,在后,在【FileFile】菜單下選擇菜單下選擇【NewNew】,系統(tǒng)的光標,系統(tǒng)的光標處于等待輸入處于等待輸入C C源程序狀態(tài)源程序狀態(tài), , 輸入如下的程序:輸入如下的程序:main() int x,y,sum; prin
44、tf(input two numbers:n); scanf(%d,%d,&x,&y); sum=x+y; printf(sum is %dn,sum); 圖圖1-9 在在Turbo C2.0主窗口中輸入源程序主窗口中輸入源程序輸入源程序后的屏幕如圖輸入源程序后的屏幕如圖1-9所示。所示。說明:源程序輸入后必須進行保存,保存的方法是在說明:源程序輸入后必須進行保存,保存的方法是在【File】菜單下選擇菜單下選擇【Save】選項,并在彈出的保存文件對話框中輸入選項,并在彈出的保存文件對話框中輸入文件名文件名“sum.c”,選擇,選擇【OK】命令按鈕即可。按鍵盤上的命令按鈕即可。按
45、鍵盤上的F2鍵鍵也可以對文件進行保存。也可以對文件進行保存。(2)編譯源程序。)編譯源程序。l編譯源程序的方法有兩種:編譯源程序的方法有兩種:方法一:通過菜單實現(xiàn)。方法一:通過菜單實現(xiàn)。 具體是:按快捷鍵具體是:按快捷鍵Alt+c打開打開【Compile】菜單,在其下拉菜單中選擇菜單,在其下拉菜單中選擇【Compile to OBJ】選項,則進行編譯,得到一選項,則進行編譯,得到一個后綴為個后綴為.obj的目標程序。的目標程序。方法二:直接按方法二:直接按Alt+F9快捷鍵,同樣可以得到一快捷鍵,同樣可以得到一個目標程序。個目標程序。l對源程序進行編譯以后,在屏幕上會出現(xiàn)一對話對源程序進行編譯以后,在屏幕上會出現(xiàn)一對話框,顯示編譯或連接時有無錯誤和有幾個錯誤,框,顯示編譯或連接時有無錯誤和有幾個錯誤,如圖如圖1-10
溫馨提示
- 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)容負責。
- 6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025年綠色節(jié)能型辦公室裝修及配套路燈采購合同
- 二零二五年度干股合作協(xié)議及管理細則
- 2025年度茶葉加工廠租賃及茶葉質(zhì)量安全監(jiān)控合同
- 二零二五年度汽車事故私了賠償協(xié)議書(含交通違法處理)
- 2025年鈾及其轉(zhuǎn)化物合作協(xié)議書
- 二零二五年度窗簾行業(yè)市場推廣合作協(xié)議
- 二零二五年度地下車位租賃與車位預(yù)約管理系統(tǒng)合同
- 二零二五年度墻紙墻布品牌授權(quán)代理合同
- 2025年機關(guān)單位餐飲合作協(xié)議書
- 二零二五年度手摩托俱樂部賽事冠名權(quán)買賣合同
- 文創(chuàng)產(chǎn)品設(shè)計:文創(chuàng)產(chǎn)品設(shè)計與創(chuàng)新
- 醫(yī)藥銷售月總結(jié)匯報
- 地質(zhì)勘探行業(yè)復(fù)工安全培訓(xùn)課件
- 小學(xué)語文《文學(xué)閱讀與創(chuàng)意表達》
- 醫(yī)保定點納入預(yù)測性研究的報告
- 大學(xué)體育-武術(shù)散打-教案
- 年終獎計算方案
- 模擬藥房實訓(xùn)總結(jié)報告
- 人工智能在智能運維中的應(yīng)用
- 《腦科學(xué)基礎(chǔ)知識》課件
- 成人四肢血壓測量的中國專家共識
評論
0/150
提交評論