




已閱讀5頁(yè),還剩43頁(yè)未讀, 繼續(xù)免費(fèi)閱讀
版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
C語(yǔ)言程序設(shè)計(jì),主講:傅清平 TelEmil:,C語(yǔ)言程序設(shè)計(jì)(第3版),中國(guó)鐵道出版社 China Railway Publishing House,普通高等教育“十一五”國(guó)家級(jí)規(guī)劃教材,教材、參考書(shū)與課時(shí)安排,主 教 材:C語(yǔ)言程序設(shè)計(jì)(第三版) 書(shū) 號(hào):ISBN 978-7-113-09512-3 中國(guó)鐵道出版社 2009年2月 第3版 配套教材:C語(yǔ)言程序設(shè)計(jì)實(shí)驗(yàn)教程 書(shū) 號(hào):ISBN 978-7-113-09513-0 中國(guó)鐵道出版社 2009年2月 第1版 作者電子郵箱: L ,課時(shí)安排,課時(shí)安排 授課 :3學(xué)時(shí)/周 C綜合編程訓(xùn)練:2學(xué)時(shí)/周,上機(jī)安排 上機(jī)地點(diǎn):現(xiàn)代教育技術(shù)中心機(jī)房(x2407) 上機(jī)時(shí)間:周二上午1、2、3節(jié)。 上機(jī)內(nèi)容: 隨教學(xué)進(jìn)度的基礎(chǔ)訓(xùn)練(上機(jī)調(diào)試每次課堂作業(yè)及書(shū)后作業(yè)) 要求: 所有作業(yè)必須獨(dú)立完成 作業(yè)必須經(jīng)上機(jī)調(diào)試通過(guò),課程要求,課前請(qǐng)做好預(yù)習(xí) 保持課堂安靜,頭腦清醒,思維活躍 認(rèn)真、獨(dú)立、按時(shí)完成并提交作業(yè) 重視上機(jī)實(shí)踐,有效利用寶貴的上機(jī)時(shí)間,第1章 C程序設(shè)計(jì)入門(mén),1.1 簡(jiǎn)單的C程序,1.3 C語(yǔ)言程序的上機(jī)調(diào)試步驟,1.2 C語(yǔ)言常用符號(hào),1.4 Visual C+開(kāi)發(fā)工具,1.5 C語(yǔ)言概況,結(jié)束放映,1.1 幾個(gè)簡(jiǎn)單的 C 程序,【例1.1】要求在命令提示符窗口中顯示“hello, world!”這一行文字。 /* 第一個(gè) C 語(yǔ)言程序舉例 */ /* 包含有關(guān)標(biāo)準(zhǔn)庫(kù)的信息 */ #include /* 定義名為main 的函數(shù),它不接收實(shí)參值*/ main() /* main 的語(yǔ)句括在花括號(hào)中 */ printf(“hello ,world!n“); /* 調(diào)用庫(kù)函數(shù)printf() ,在命令提示符窗口中顯示 hello ,world!*/ ,【例1.1】分析: 程序代碼中介于/*與*/之間的字符序列稱為注釋,它可以是一行文字或者連續(xù)的多行文字。使用注釋能增強(qiáng)程序的可閱讀性,注釋可以在程序中自由地使用,但在程序編譯時(shí)被自動(dòng)忽略。 C語(yǔ)言是函數(shù)式的語(yǔ)言,函數(shù)是組成C程序的基本單位,每個(gè)C程序不論大與小,都是由一個(gè)(或者多個(gè))函數(shù)組成的。 函數(shù)是一個(gè)單獨(dú)的程序模塊,完成指定的功能。一個(gè) C 程序不論由多少個(gè)文件組成,有且只有一個(gè)main()函數(shù),通常稱為主函數(shù),而且任何一個(gè)C程序的執(zhí)行都是從main()函數(shù)開(kāi)始的。 主函數(shù)main( )的一般格式: 函數(shù)返回值的類(lèi)型 main( 形式參數(shù)表 ) /* 函數(shù)首部 */ 語(yǔ)句; /* 函數(shù)體 */ ,【例1.1】繼續(xù)分析: 用雙引號(hào)括住的字符序列稱為字符串,printf()函數(shù)是一個(gè)格式化輸出庫(kù)函數(shù),本例通過(guò)它在命令提示符窗口中照原樣顯示雙引號(hào)內(nèi)的字符序列hello,world!。 具有這種特征的字符稱為轉(zhuǎn)義字符,除n之外,還有表示制表符的t、表示退格符的b、表示雙引號(hào)的、表示反斜杠符本身的,在第2章中有介紹。 文件包含命令:#include 這里的“#include”稱為文件包含命令,其意義是把尖括號(hào)()內(nèi)指定的文件包含到本程序中,成為本程序的一部分。被包含的文件通常是由系統(tǒng)提供的,其擴(kuò)展名為“.h”,常稱為頭文件或首部文件。 如果使用了系統(tǒng)提供的庫(kù)函數(shù),一般應(yīng)在文件的開(kāi)始用 #include 命令,將被調(diào)用的庫(kù)函數(shù)信息包含到本文件中。本例中使用#include 是因?yàn)檎{(diào)用了標(biāo)準(zhǔn)輸入/輸出庫(kù)中的printf()函數(shù)。,【例1.2】數(shù)值計(jì)算:編寫(xiě)程序,計(jì)算t的值。 #include main() int sum; /*說(shuō)明整型變量sum*/ sum=1+1/2+1/3+1/4+1/5; /*計(jì)算累加和*/ printf(“The sum is %dn“,sum); /*按整型數(shù)格式顯示計(jì)算結(jié)果*/ ,【例1.2】程序分析: (1)變量說(shuō)明: 本例的主函數(shù)由兩部分組成:一是說(shuō)明部分,二是執(zhí)行部分。在主函數(shù)的說(shuō)明部分中,定義了本例所使用的變量名,通常它是放在函數(shù)開(kāi)始處、且位于可執(zhí)行語(yǔ)句之前。 C語(yǔ)言規(guī)定,程序中所有用到的變量都必須“先定義,后使用”。說(shuō)明語(yǔ)句由一個(gè)類(lèi)型名與若干所要說(shuō)明的變量名組成: int sum; 其中int是類(lèi)型名,sum是變量名。int類(lèi)型表示所列變量為整型變量,整數(shù)不能包含小數(shù);float型表示所列變量為浮點(diǎn)變量或稱實(shí)型變量,浮點(diǎn)數(shù)可以包含小數(shù)。 除int與float之外,C語(yǔ)言還提供了其他的基本數(shù)據(jù)類(lèi)型,包括char(字符型)、short(短整型)、long(長(zhǎng)整型)和double(雙精度浮點(diǎn)型)等。 另外,由上述這些基本數(shù)據(jù)類(lèi)型還可以構(gòu)成數(shù)組類(lèi)型、結(jié)構(gòu)類(lèi)型、聯(lián)合類(lèi)型和指針類(lèi)型,這些將在以后的章節(jié)中介紹。,【例1.2】程序繼續(xù)分析: (2)賦值表達(dá)式: 與Basic、Pascal、Fortran等計(jì)算機(jī)高級(jí)程序設(shè)計(jì)語(yǔ)言類(lèi)似,C語(yǔ)言程序中也使用賦值表達(dá)式。 在C語(yǔ)言中,賦值表達(dá)式格式如下: 變量名 = 表達(dá)式 其中,“=”稱為賦值號(hào),與數(shù)學(xué)中的等號(hào)不一樣,它是將其右邊的表達(dá)式的值賦給左邊的變量。 (3)算術(shù)表達(dá)式: 編程時(shí)需把傳統(tǒng)的數(shù)學(xué)式子轉(zhuǎn)換為C語(yǔ)言中等價(jià)的表達(dá)式。C語(yǔ)言中的算術(shù)運(yùn)算符包括加法+、減法-、乘法*、除法/和求模運(yùn)算符%。 求模運(yùn)算%只適用于兩個(gè)整數(shù)之間的運(yùn)算。表達(dá)式x%y表示x除以y所得的余數(shù)。這里的x和y均為整數(shù),結(jié)果符號(hào)與被除數(shù)x的相同。,【例1.2】程序繼續(xù)分析: 在C語(yǔ)言中,整數(shù)中的除法與實(shí)數(shù)中的除法雖然運(yùn)算符相同,都是/,但除法的結(jié)果不同:整數(shù)中除法的結(jié)果仍為整數(shù),只保留商的整數(shù)部分而拋棄小數(shù)部分(即截尾取整);而實(shí)數(shù)除法與數(shù)學(xué)中所講的除法是一致的,可能會(huì)出現(xiàn)小數(shù)部分。 例如: 5%3 = 2, (-5)%3=-2, 5%(-3)=2, 3%5 = 3 5/2 = 2 , 5.0/2.0 = 5/2.0 = 5.0/2 = 2.5 (4)格式輸出: printf()函數(shù)是一個(gè)通用格式化輸出函數(shù),詳細(xì)內(nèi)容將在第2章中詳細(xì)介紹。 printf(“The sum is %dn“,sum); 在上述語(yǔ)句中,字符串”The sum is”照原樣輸出;“%d” 與最右邊的變量名sum相呼應(yīng),表示把sum的值計(jì)算出來(lái)之后,按照十進(jìn)制int類(lèi)型(整數(shù))的格式輸出。,【例1.2】程序繼續(xù)分析: (5)程序運(yùn)行結(jié)果: 本例程序運(yùn)行之后,在命令提示符窗口(或者稱MS-DOS窗口)中顯示: The sum is 1 結(jié)果顯然是不精確的,為什么呢? 對(duì)源程序代碼進(jìn)行分析,發(fā)現(xiàn)在對(duì)1/2、1/3、1/4和1/5這些表達(dá)式進(jìn)行求值時(shí),C語(yǔ)言程序中的計(jì)算結(jié)果全部都為0。 在這里,由于1/2、1/3、1/4和1/5中的被除數(shù)與除數(shù)都是整數(shù),因此在C程序中實(shí)際上進(jìn)行的是整數(shù)范圍內(nèi)的除法,而不是我們想象中的實(shí)數(shù)除法。前面已經(jīng)介紹過(guò),整數(shù)除法的結(jié)果是截尾取整,因此上述幾個(gè)表達(dá)式的結(jié)果就是0。 為了得到更加精確的計(jì)算結(jié)果,必須用浮點(diǎn)數(shù)代替上面的整型數(shù)。,【例1.3】對(duì)例1.2進(jìn)行修改后的程序。 #include main() float sum; /*定義單精度浮點(diǎn)型變量*/ sum=1.0f+1.0f/2.0f+1.0f/3.0f+1.0f/4.0f+1.0f/5.0f; /* 求累加和sum */ printf(“The sum is %fn“,sum); /*按浮點(diǎn)型數(shù)格式顯示計(jì)算結(jié)果*/ 程序運(yùn)行結(jié)果如下: The sum is 2.283333,【例1.3】程序分析: (1)程序中1.0f/2.0f是兩個(gè)單精度浮點(diǎn)數(shù)的除法,與數(shù)學(xué)中的實(shí)數(shù)除數(shù)是一致的。在C程序中,浮點(diǎn)數(shù)最好寫(xiě)成帶小數(shù)點(diǎn)的形式,即使該浮點(diǎn)數(shù)取的是整數(shù)值,因?yàn)檫@樣可以使程序更加清晰; (2)printf()語(yǔ)句中的“%f”對(duì)應(yīng)于單精度的浮點(diǎn)變量sum,它表示按單精度浮點(diǎn)數(shù)格式顯示計(jì)算結(jié)果。 在printf()函數(shù)中可以指定顯示寬度的格式舉例如下: “%8d” 顯示十進(jìn)制整數(shù),至少8個(gè)字符寬; “%8f” 顯示浮點(diǎn)數(shù),至少8個(gè)字符寬; “%.2f” 顯示浮點(diǎn)數(shù),小數(shù)點(diǎn)后有兩位小數(shù); “%8.2f” 顯示浮點(diǎn)數(shù),小數(shù)點(diǎn)后有2位小數(shù)(注:從小數(shù)點(diǎn)后 第3位向小數(shù)點(diǎn)后第2位進(jìn)行四舍五入取整)。最后 顯示的實(shí)數(shù),至少有8個(gè)字符寬。 此外,printf()函數(shù)還可以識(shí)別如下格式說(shuō)明:表示八進(jìn)制數(shù)的“%o”、表示十六進(jìn)制數(shù)的“%x”、表示字符的“%c”等,在第2章中有介紹。,【例1.4】解決例1.3問(wèn)題的另一種程序。 #include main() int i; float sum; sum=1.0; for(i=2;i6;i+) /* 采用循環(huán)結(jié)構(gòu)來(lái)實(shí)現(xiàn) */ sum=sum+1.0f/i; printf(“The sum is %fn“,sum); 程序運(yùn)行結(jié)果如下: The sum is 2.283333,【例1.4】程序分析: (1)for循環(huán)語(yǔ)句: 本例采用了循環(huán)結(jié)構(gòu)來(lái)編程,代碼中的for語(yǔ)句是一種循環(huán)語(yǔ)句,for后面的圓括號(hào)共包含了三個(gè)部分,彼此之間用分號(hào)隔開(kāi): 第一部分i=2是初始化部分,此處的i稱為循環(huán)變量 第二部分i)、小于等于(=)、等于(=)和不等于(!=)等關(guān)系運(yùn)算符。,【例1.4】程序繼續(xù)分析: 數(shù)學(xué)里的a=3在C語(yǔ)言中應(yīng)改寫(xiě)為a=3,而數(shù)學(xué)里的b10在C語(yǔ)言中應(yīng)改寫(xiě)為b!=10,C語(yǔ)言中的a=3是賦值表達(dá)式。 前面第(1)點(diǎn)中介紹的for循環(huán)語(yǔ)句,以及第(2)點(diǎn)中介紹的關(guān)系表達(dá)式,這些內(nèi)容在第3章中有詳細(xì)的介紹。 (3)如果某個(gè)算術(shù)運(yùn)算符的運(yùn)算分量都是整數(shù)類(lèi)型,那么將執(zhí)行整數(shù)運(yùn)算。 如果某個(gè)算術(shù)運(yùn)算符的運(yùn)算分量有一個(gè)是浮點(diǎn)運(yùn)算分量,另一個(gè)是整數(shù)類(lèi)型分量,那么這個(gè)整數(shù)類(lèi)型分量在開(kāi)始運(yùn)算之前會(huì)被轉(zhuǎn)換成浮點(diǎn)類(lèi)型,表達(dá)式1.0f/i不會(huì)影響結(jié)果的精度。,【例1.5】擴(kuò)充例1.3功能的又一個(gè)C程序。從鍵盤(pán)上輸入數(shù)列的項(xiàng)數(shù)m,此處要求m5,要求編程計(jì)算下列數(shù)列的和。 #include float func(int x); /*函數(shù)聲明*/ main() int m; /*說(shuō)明部分,定義變量m和c*/ float c; printf(“n Please enter an integer number m (m5):“); scanf(“%d“, ,/*定義函數(shù)func(),函數(shù)值為浮點(diǎn)型,參數(shù)x為整型*/ float func(int x) int i; /*func()函數(shù)中的說(shuō)明部分 */ float sum=1.0; for(i=2; i5):10 屏幕提示輸入m的值,這里輸入10 The sum=2.928968 顯示最后的運(yùn)行結(jié)果 ,【例1.5】程序分析: (1)按功能來(lái)劃分函數(shù)。本例程序的執(zhí)行過(guò)程是:首先在屏幕上顯示提示字符串,請(qǐng)用戶輸入一個(gè)整數(shù)。輸入數(shù)據(jù)之后按回車(chē)鍵,程序計(jì)算出累加和并在屏幕上顯示。 本程序需要處理三件事情: 從鍵盤(pán)接收輸入的m、若m5則計(jì)算累加和、輸出計(jì)算結(jié)果 在程序中除了主函數(shù)main()之外,還包含了用于計(jì)算累加和的函數(shù)func(x)、鍵盤(pán)輸入函數(shù)scanf()、結(jié)果輸出函數(shù)printf()。其中,scanf()和printf()都是系統(tǒng)庫(kù)函數(shù),由C編譯系統(tǒng)庫(kù)提供,用戶可以直接使用,但是累加和計(jì)算函數(shù)func(x)則是一個(gè)由用戶自己編寫(xiě)的自定義函數(shù),需要自己編寫(xiě)。 (2)鍵盤(pán)輸入函數(shù)scanf():本程序中的scanf語(yǔ)句的作用是從鍵盤(pán)上輸入一個(gè)整型數(shù)給整型變量m。%d 的含義與前面介紹的printf語(yǔ)句中的用法一致,表示按十進(jìn)制整型數(shù)輸入,&m的含義是將輸入的數(shù)賦給變量m,注意不要漏寫(xiě)“&”。,【例1.5】程序繼續(xù)分析: (3)if選擇語(yǔ)句 在求解過(guò)程中,往往需要根據(jù)輸入的數(shù)據(jù)作出邏輯判斷,對(duì)不同的結(jié)果作出不同的處理。本題如果輸入的m值大于5,則作累加和計(jì)算,否則不會(huì)計(jì)算。 簡(jiǎn)單的if語(yǔ)句的格式如下: if(表達(dá)式) 語(yǔ)句或語(yǔ)句組 if語(yǔ)句的執(zhí)行過(guò)程是: 如果if處的表達(dá)式的值不為0,則表示結(jié)果為真,將執(zhí)行花括號(hào)內(nèi)的語(yǔ)句;如果表達(dá)式的值為0,則花括號(hào)內(nèi)的語(yǔ)句將不執(zhí)行。 有關(guān)選擇結(jié)構(gòu)程序設(shè)計(jì)的內(nèi)容將在第3章中介紹。,【例1.5】程序繼續(xù)分析: (4)自定義函數(shù)func()。 用戶自定義函數(shù)的一般定義形式為: /* 函數(shù)首部 */ 函數(shù)返回值類(lèi)型 函數(shù)名(形參類(lèi)型名 形參1, 形參類(lèi)型名 形參2, ) /* 以下是函數(shù)體的內(nèi)容 */ 函數(shù)的說(shuō)明部分 函數(shù)的執(zhí)行部分 本例中自定義函數(shù)fun(x)的具體形式為: float func(int x) int i; float sum=1.0; for(i=2; i=x; i+) sum=sum+1.0f/i; return sum; ,【例1.5】程序繼續(xù)分析: 自定義函數(shù)必須先定義后使用。在定義一個(gè)自定義函數(shù)時(shí),函數(shù)名的后面必須跟上一對(duì)圓括號(hào),這是函數(shù)結(jié)構(gòu)的特有標(biāo)志。圓括號(hào)中的形參可以是一個(gè)或多個(gè),也可以一個(gè)都沒(méi)有,當(dāng)沒(méi)有形參時(shí),此時(shí)的圓括號(hào)也必須加上,不能省略不寫(xiě)。 函數(shù)體一般包括說(shuō)明部分和執(zhí)行部分: (1)說(shuō)明部分:在此定義函數(shù)內(nèi)部所要使用到的變量。 對(duì)照上面的例子為: int i; float sum=1.0; 另外,對(duì)被調(diào)用的函數(shù)也需要進(jìn)行說(shuō)明。 (2)執(zhí)行部分:由若干條語(yǔ)句組成。 對(duì)照上面的例子為: for(i=2; i=m; i+) sum=sum+1.0f/i; return sum;,【例1.5】程序繼續(xù)分析: (5)如何調(diào)用函數(shù)func(x) 本例中main()函數(shù)前的說(shuō)明語(yǔ)句: #include float func(int x); /*函數(shù)聲明*/ main() 表明自定義函數(shù)func(x)包含了一個(gè)int類(lèi)型變?cè)ɑ蚍Q形式參數(shù)),返回值為float類(lèi)型函數(shù)值的函數(shù),這個(gè)說(shuō)明稱為函數(shù)原型,要與函數(shù)的定義和使用相一致。 本例中main()函數(shù)通過(guò)下述賦值語(yǔ)句 c=func(m); 調(diào)用時(shí)將實(shí)際參數(shù)m的值傳送給func(x)的形式參數(shù)x,通過(guò)執(zhí)行func(x)函數(shù)后得到一個(gè)返回值,把這個(gè)值賦給變量c。,(6)一個(gè)C程序的主函數(shù)main()可以放在程序的任何位置,例如本程序的main()函數(shù)也可以放在func(x)函數(shù)的后面,寫(xiě)成下面這種形式: #include float func(int x) int i; float sum=1.0; for(i=2;i5):“); scanf(“%d“, ,書(shū)寫(xiě)C程序時(shí)應(yīng)注意的幾點(diǎn): (1)在C程序中,雖然一行可以寫(xiě)多條語(yǔ)句,而且一條語(yǔ)句可以分寫(xiě)在多行上,但是為了代碼的清晰起見(jiàn),一般一條語(yǔ)句單獨(dú)占一行; (2)用一對(duì)花括號(hào)與括起來(lái)的部分,通常表示了程序的某一層次結(jié)構(gòu)。一般與該結(jié)構(gòu)語(yǔ)句的第一個(gè)字母對(duì)齊,并單獨(dú)占一行; (3)源程序代碼應(yīng)該采用縮格的方式書(shū)寫(xiě),在閱讀時(shí)顯得程序結(jié)構(gòu)層次會(huì)更清晰,增加了程序的可讀性; (4)標(biāo)識(shí)符、關(guān)鍵字之間必須至少加一個(gè)空格以示間隔。若已有明顯的間隔符,雖然也可不再加空格來(lái)間隔,但也可以加一個(gè)空格來(lái)增加清晰度。,1.2 C語(yǔ)言常用符號(hào),在C語(yǔ)言中使用的符號(hào)分為6類(lèi): 標(biāo)識(shí)符、關(guān)鍵字、常量、字符串字面值、運(yùn)算符、分隔符。 其中,空格符、制表符、換行符、換頁(yè)符和注釋等統(tǒng)稱為空白符,空白符在程序中僅起間隔作用,編譯程序?qū)λ鼈兒雎圆挥?jì)。因此在程序中使用空白符與否,對(duì)程序的編譯不發(fā)生影響,但在程序中適當(dāng)?shù)牡胤绞褂每瞻追麑⒃黾映绦虻那逦院涂勺x性。,1.2.1 C語(yǔ)言的關(guān)鍵字,在標(biāo)準(zhǔn)C中規(guī)定了32個(gè)符號(hào),它們具有特定含義,必須用小寫(xiě)字母表示,不能另作他用,稱為關(guān)鍵字。這32個(gè)關(guān)鍵字分別是: auto,break,case,char,const,continue,default,do,double,else,enum,extern,float,for,goto,if,int,long,register,return,short,signed,sizeof,static,struct,switch,typedef,union,unsigned,void,volatile,while 請(qǐng)注意,不同版本的C語(yǔ)言編譯系統(tǒng)對(duì)關(guān)鍵字會(huì)作適當(dāng)?shù)脑鰷p。,1.2.2 標(biāo)識(shí)符,C 語(yǔ)言規(guī)定:標(biāo)識(shí)符是以字母或者下劃線開(kāi)頭,后面跟若干個(gè)字母、數(shù)字或者下劃線。在標(biāo)識(shí)符的組成中,英文字母大寫(xiě)與小寫(xiě)字母所組成的標(biāo)識(shí)符是不同的。 C程序中的標(biāo)識(shí)符常用于標(biāo)識(shí)區(qū)分不同的變量名、函數(shù)名、符號(hào)常量名和類(lèi)型名。 例如,下述的標(biāo)識(shí)符是合法的: a,x,x3,BOOK_1,sum5 而下述的標(biāo)識(shí)符則是非法的: 3s(以數(shù)字開(kāi)頭),s*T(出現(xiàn)非法字符*),-3x(以減號(hào)開(kāi)頭),bowy-1(出現(xiàn)非法字符-) 需要強(qiáng)調(diào)的是,C語(yǔ)言中系統(tǒng)規(guī)定的標(biāo)識(shí)符,例如main、scanf、printf等,在語(yǔ)法規(guī)定上允許用戶改變它們?cè)瓉?lái)的含義,但這樣容易引起混淆,通常不把它們挪作它用。,在使用標(biāo)識(shí)符時(shí)須注意以下幾點(diǎn): (1)標(biāo)準(zhǔn)C不限制標(biāo)識(shí)符的長(zhǎng)度,但它受到各種版本的C語(yǔ)言編譯系統(tǒng)限制,同時(shí)也受到具體機(jī)器的限制。例如:Microsoft C規(guī)定標(biāo)識(shí)符前8位有效。當(dāng)兩個(gè)標(biāo)識(shí)符的前8個(gè)字符相同時(shí),則被認(rèn)為是同一個(gè)標(biāo)識(shí)符;而Turbo C則允許使用包含32個(gè)字符的標(biāo)識(shí)符; (2)標(biāo)識(shí)符雖然可由程序員隨意定義,但標(biāo)識(shí)符是用于標(biāo)識(shí)某個(gè)數(shù)據(jù)量的符號(hào),因此,在命名時(shí)應(yīng)盡量做到“見(jiàn)名知義”,便于閱讀理解; (3)書(shū)寫(xiě)程序時(shí),在關(guān)鍵字與標(biāo)識(shí)符之間必須要有一個(gè)以上的空格符作為間隔,否則將會(huì)出現(xiàn)語(yǔ)法錯(cuò)誤。 例如,把int a;寫(xiě)成inta;時(shí),C編譯器會(huì)把inta當(dāng)成一個(gè)標(biāo)識(shí)符處理,其結(jié)果必然出錯(cuò)。,1.2.3 其它符號(hào),C語(yǔ)言還規(guī)定了其他一些符號(hào),譬如各種運(yùn)算符(如算術(shù)運(yùn)算中的+、-、*、/和%等),或者分隔符,這些符號(hào)的使用將在以后的章節(jié)中作介紹。,1. 3 C語(yǔ)言程序的上機(jī)調(diào)試步驟,C語(yǔ)言是一種編譯型的高級(jí)程序設(shè)計(jì)語(yǔ)言。 當(dāng)一個(gè)用于描述解決問(wèn)題算法的C 語(yǔ)言源程序文件(擴(kuò)展名為.c)編寫(xiě)完成之后,必須先用C語(yǔ)言編譯程序(Compiler)將其編譯,形成中間目標(biāo)程序文件(擴(kuò)展名為.obj),然后再用連接程序(Linker)將該目標(biāo)程序文件與相關(guān)的庫(kù)文件(擴(kuò)展名為.lib),以及其他有關(guān)的中間目標(biāo)程序文件連接起來(lái),最終形成一個(gè)可以在操作系統(tǒng)平臺(tái)上運(yùn)行的、二進(jìn)制形式的可執(zhí)行程序文件(擴(kuò)展名為.exe)。,一個(gè)完整的C語(yǔ)言源程序代碼,最終轉(zhuǎn)換為能夠運(yùn)行的可執(zhí)行程序文件,一般需要經(jīng)過(guò)以下幾個(gè)步驟:,1. 4 Visual C+開(kāi)發(fā)工具,有關(guān)C語(yǔ)言程序的編譯系統(tǒng)有許多種,早期非常流行的編譯系統(tǒng)有 Turbo C,它是美國(guó) Borland 公司生產(chǎn)的一套DOS平臺(tái)上的C語(yǔ)言編譯系統(tǒng)。隨著面向?qū)ο蠹夹g(shù)的飛速發(fā)展,面向?qū)ο蠹夹g(shù)的C+、C#陸續(xù)面世,在Windows 程序和大型軟件開(kāi)發(fā)中得到廣泛的使用。C+是C語(yǔ)言的超集,用C寫(xiě)的程序也能夠在C+中運(yùn)行。 本書(shū)采用Microsoft Visual C+6.0作為C程序開(kāi)發(fā)工具,書(shū)中所有的例題源程序均在Visual C+ 6.0中調(diào)試運(yùn)行。,1.4.1 Visual C+ 6.0 的安裝,將Microsoft Visual Studio 6.0 安裝盤(pán)插入光驅(qū),運(yùn)行Setup執(zhí)行文件,根據(jù)屏幕提示進(jìn)行安裝。,VC+6.0安裝完成后,可以選擇安裝 MSDN(Microsoft Developer Network,簡(jiǎn)稱SDN),在MSDN中含有許多Visual Studio 6.0的幫助信息,對(duì)學(xué)習(xí)編程幫助很大,不過(guò)它需要單獨(dú)的安裝光盤(pán)。,上機(jī)運(yùn)行VC+6.0的過(guò)程: 任務(wù)欄“開(kāi)始”按鈕“所有程序”“Microsoft Visual Studio 6.0” “Microsoft Visual Studio C+ 6.0”,選“Microsoft Visual Studio C+ 6.0” 。,1.4.2 Visual C+ 6.0 的IDE操作界面,VC+6.0的運(yùn)行界面如下圖所示。,1.4.3 Visual C+ 6.0 的基本操作,C語(yǔ)言程序的主要上機(jī)過(guò)程包括編輯、編譯、連接、調(diào)試和運(yùn)行這幾個(gè)連續(xù)的過(guò)程,本教程主要介紹如何在VC+6.0環(huán)境下運(yùn)行一個(gè)C語(yǔ)言程序,這與在Turbo C(或者在Win-TC)環(huán)境下運(yùn)行C程序的操作有所不同。 關(guān)于如何在Turbo C環(huán)境下運(yùn)行C語(yǔ)言程序的內(nèi)容,在與本書(shū)配套的C語(yǔ)言程序設(shè)計(jì)實(shí)驗(yàn)教程(ISBN 978-7-113-09513-0/TP.3114)中有詳細(xì)介紹,歡迎參考。,在VC+6.0下運(yùn)行C程序的一般過(guò)程: 1.啟動(dòng)VC+6.0; 2.新建一個(gè)用來(lái)保存源程序文件的文件夾(譬如D:mydir); 3.選擇 FileNew 命令,在彈出的New對(duì)話框中選擇Files選項(xiàng)卡下的C/C+ Source File選項(xiàng),輸入源文件名first.c及文件夾名D:mydir;,4.在正文編輯窗口中輸入C語(yǔ)言程序源代碼。 在輸入源代碼時(shí),要求采用縮格形式(或者稱為嵌入式)來(lái)輸入源程序,注意上下行程序之前的層次關(guān)系,增加程序的可讀性。另外,在編輯過(guò)程中所涉及的操作,與在Microsoft Word中編輯文檔的過(guò)程相類(lèi)似; 5. 選擇 File Save 命令保存源程序文件,當(dāng)源程序代碼較多時(shí),在編輯時(shí)更要注意要多次保存; 6.選擇 Build Compile first.c 命令來(lái)編譯源程序。如果出現(xiàn)編譯錯(cuò)誤,則返回編輯窗口對(duì)程序進(jìn)行針對(duì)性的修改,然
溫馨提示
- 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 企業(yè)數(shù)字化轉(zhuǎn)型中的數(shù)據(jù)安全-探討利用區(qū)塊鏈技術(shù)的策略和前景
- 兒童營(yíng)養(yǎng)新篇章跨學(xué)科合作推動(dòng)補(bǔ)鈣發(fā)展
- 企業(yè)社會(huì)責(zé)任在醫(yī)美行業(yè)中的體現(xiàn)
- 全面認(rèn)識(shí)并運(yùn)用為辦公內(nèi)容加上區(qū)塊鏈版權(quán)的保障
- 共享經(jīng)濟(jì)下的區(qū)塊鏈技術(shù)應(yīng)用研究
- 磨具磨料企業(yè)數(shù)字化轉(zhuǎn)型與智慧升級(jí)戰(zhàn)略研究報(bào)告
- 節(jié)能型工業(yè)用通風(fēng)罩企業(yè)ESG實(shí)踐與創(chuàng)新戰(zhàn)略研究報(bào)告
- 直接還原鐵企業(yè)數(shù)字化轉(zhuǎn)型與智慧升級(jí)戰(zhàn)略研究報(bào)告
- 直流數(shù)字電壓表企業(yè)ESG實(shí)踐與創(chuàng)新戰(zhàn)略研究報(bào)告
- 精密箱體系統(tǒng)企業(yè)數(shù)字化轉(zhuǎn)型與智慧升級(jí)戰(zhàn)略研究報(bào)告
- 2024年大學(xué)生心理健康教育考試題庫(kù)及答案(含各題型)
- 比亞迪銷(xiāo)售模式分析報(bào)告
- 2024年魚(yú)子醬項(xiàng)目營(yíng)銷(xiāo)策劃方案
- 非洲自然災(zāi)害
- 2023詩(shī)詞大會(huì)知識(shí)競(jìng)賽200題題庫(kù)(含答案)
- TL226 大眾試驗(yàn)測(cè)試標(biāo)準(zhǔn)
- 2023借款協(xié)議書(shū)Word模板
- 生產(chǎn)設(shè)備拆除工程施工方案
- (完整版)年產(chǎn)30萬(wàn)噸合成氨合成工段工藝設(shè)計(jì)畢業(yè)論文
- 無(wú)障礙公共設(shè)施建設(shè)的問(wèn)題及其對(duì)策研究
- 臨床醫(yī)學(xué)(專科)畢業(yè)綜合考復(fù)習(xí)題
評(píng)論
0/150
提交評(píng)論