版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)
文檔簡介
1C語言概述第章在現(xiàn)實生活中,人與人之間的交流用的是語言,如漢語、英語、法語等。那么,人與計算機之間交流用的是什么呢?答案是編程語言。比方,要讓計算機幫助人們做一些事情,此時可利用編程語言編寫程序來告訴它怎么做,而C語言就是一種通用的、過程式的編程語言。本章首先介紹了C語言的開展和特點,然后通過一個簡單的C語言程序?qū)嵗?,讓讀者了解C語言程序結(jié)構(gòu)及其格式特點,最后介紹了C程序的開發(fā)步驟及開發(fā)環(huán)境,其目的是使讀者能夠通過編寫一個簡單的C語言程序練習(xí)使用開發(fā)環(huán)境。學(xué)習(xí)目標了解C語言的開展了解C語言的特點熟悉C語言程序結(jié)構(gòu)及格式特點熟悉C程序的開發(fā)步驟了解使用Dev-C++編譯器開發(fā)C程序的方法C語言的開展C語言的特點第一個C語言程序C程序的開發(fā)步驟開發(fā)環(huán)境常見錯誤分析目錄CONTENTSPARTC語言的開展在介紹C語言的開展之前,我們先來看一下計算機語言經(jīng)歷的幾個開展階段。1.1
C語言的開展—
5
—機器語言是低級語言,是用二進制代碼表示的一種機器指令的集合。其特點是計算機可以直接識別和執(zhí)行,不需要進行任何的解釋和翻譯。機器語言階段匯編語言是機器語言的升級版,它用英文字母或符號串代替了機器語言中的二進制碼,因此,匯編語言也稱符號語言,它比機器語言程序便于閱讀和理解。匯編語言階段1.1
C語言的開展—
6
—高級語言是為了使程序語言能更貼近人類的自然語言,同時又不依賴于計算機硬件而產(chǎn)生的。這種語言的語法形式類似英文,易于被人們理解和使用。早期使用較多的高級語言主要有FORTRAN、ALGOL、BASIC、COBOL、LISP、Pascal、VB等,當(dāng)然也包括C語言。不過,隨著時代的開展,早期流行的很多語言〔如FORTRAN、COBOL等〕都已被淘汰。目前,C語言主要用于教學(xué)及嵌入式系統(tǒng)的應(yīng)用程序開發(fā),實際開發(fā)中使用較多的編程語言主要有Java、C++、C#、PHP、Javascript、Python等。高級語言階段1.1
C語言的開展—
7
—C語言的原型是ALGOL
60語言〔也稱為A語言〕。1963年,劍橋大學(xué)將ALGOL
60語言開展成為CPL〔Combined
Programming
Language〕語言。1967年,劍橋大學(xué)的MartinRichards對CPL語言進行了簡化,于是產(chǎn)生了BCPL〔Basic
Combined
ProgrammingLanguage〕語言。1970年,美國AT&T貝爾實驗室的Ken
Thompson以BCPL語言為根底,設(shè)
計出了簡單且接近硬件的B語言〔取BCPL的第一個字母〕。但B語言過于簡單,功能有限。1972~1973年間,美國貝爾實驗室的D.M.Ritchie在B語言的根底上設(shè)計出了一種新的語言,他取了BCPL的第二個字母作為這種語言的名字,這就是C語言。C語言與UNIX操作系統(tǒng)有著密切的聯(lián)系,開發(fā)C語言的最初目的是為了更好地描述UNIX操作系統(tǒng)。C語言的出現(xiàn),促進了UNIX操作系統(tǒng)的開發(fā),同時隨著UNIX的日益廣泛使用,C語言也迅速得到推廣。1.1
C語言的開展—
8
—1983年,美國國家標準協(xié)會〔ANSI〕對C語言進行了標準化,經(jīng)過屢次修訂,C語言標準于1988年完成并在1989年12月正式通過,我們把這一C語言版本稱為C89。最新的C語言標準C99于1999年公布,并在2000年3月被ANSI采用。C語言對現(xiàn)代編程語言有著巨大的影響,許多現(xiàn)代編程語言都借鑒了大量的C語言特性。如C++包括了所有C特性,但增加了類和其他特性以支持面向?qū)ο缶幊?;又如,Java是基于C++的,所以也繼承了許多C語言的特性;而C#是由C++和Java開展起來的一種語言,所以它也繼承了C語言的許多特性。PARTC語言的特點C語言之所以能夠流行起來,歸功于它有以下一些主要特點。1.2
C語言的特點簡潔C語言是現(xiàn)有程序設(shè)計語言中規(guī)模最小的語言之一。C語言只有37個關(guān)鍵字〔見附錄3〕、9種控制語句,壓縮了一切不必要的成份。C語言表達方法簡潔,使用一些簡單的方法就可以構(gòu)造出相當(dāng)復(fù)雜的數(shù)據(jù)類型和程序結(jié)構(gòu)。靈活—
10
—C語言的語法限制不太嚴格,程序設(shè)計的自由度比較大,程序的書寫格式與變量的類型使用都很靈活,如整型數(shù)據(jù)、字符型數(shù)據(jù)和邏輯型數(shù)據(jù)可以通用。1.2C語功言能的豐特富點C語言具有豐富的數(shù)據(jù)類型,包括整型、實型、字符型、數(shù)組類型、指針類型、結(jié)構(gòu)體類型、共用體類型、枚舉類型等。C語言還具有多種運算符〔共34種,見附錄4〕,靈活使用各種運算符可以實現(xiàn)其他高級語言難以實現(xiàn)的運算。模塊化和結(jié)構(gòu)化—
11
—C語言用函數(shù)作為程序模塊,以實現(xiàn)程序的模塊化;C語言具有結(jié)構(gòu)化的控制語句,如
if…else語句、while語句、do…while語句、switch語句和for語句等。1.2
C語言的特點具有低級語言的功能—
12
—C語言允許直接訪問物理地址,能進行位操作,能實現(xiàn)匯編語言的大局部功能,可以直接對硬件進行操作。因此,C語言既具有高級語言的功能,又具有低級語言的功能,故有人把C語言稱為“高級語言中的低級語言〞或“中級語言〞。由于C語言的雙重性,所以它既可以用來編寫應(yīng)用軟件,又可以用來編寫系統(tǒng)軟件。1.2
C語言的特點執(zhí)行效率高C語言生成的目標代碼質(zhì)量高,程序執(zhí)行效率高。C語言一般只比匯編程序生成的目標代碼效率低10%~20%??梢浦残院肅語言是通過編譯和連接來得到可執(zhí)行代碼的,由于C語言的編譯系統(tǒng)相當(dāng)簡潔,因此很容易移植到新的系統(tǒng)。提示—
13
—這一節(jié)的內(nèi)容相比照較抽象和不好理解,讀者待學(xué)習(xí)完這本教材后再來回憶一下,會有更好的領(lǐng)悟。PART第一個C語言程序與用其他語言編寫的程序相比,C語言較少要求“形式化的內(nèi)容〞。一個完整的C程序可以只有寥寥數(shù)行。1.3第一個C語言程序1.3.1 最簡單的C語言程序結(jié)構(gòu)由于讀者剛開始接觸C語言,在這里我們先不長篇論述C程序的全部組成局部,只介紹C程序的根本組成局部。在讀者會寫簡單的C程序之后上,通過后面章節(jié)的學(xué)習(xí)再逐步深入掌握C程序的完整結(jié)構(gòu)。下面以一個簡單的例子說明C程序的根本結(jié)構(gòu)。只有一行輸出的C程序。#include
<stdio.h>int
main(){printf("你好,C語言!\n");return
0;}—
15
—/*編譯預(yù)處理指令*//*主函數(shù)的函數(shù)頭*//*函數(shù)體的開始標記*//*輸出要顯示的字符串*//*程序返回值0*//*函數(shù)的結(jié)束標記*/1.3第一個C語言程序1.3.1 最簡單的C語言程序結(jié)構(gòu)程序運行結(jié)果如下圖?!?/p>
16
—該程序運行結(jié)果的第1行是程序運行后輸出的結(jié)果,第2行是任何一個C程序在VisualC++6.0環(huán)境下運行都會自動輸出的一行信息,告訴用戶:“如果想繼續(xù),請按任意鍵〞。當(dāng)用戶按任意鍵后,屏幕上不再顯示運行結(jié)果,返回程序窗口。1.3第一個C語言程序1.3.1 最簡單的C語言程序結(jié)構(gòu)小技巧運行界面默認情況下顯示的是黑底白字,為了美觀可以進行設(shè)置。方法如下:〔1〕右擊運行窗口的標題欄,在彈出的快捷菜單中選擇“屬性〞選項,如下圖?!?〕這時會彈出“屬性〞對話框,在屬性對話框中選擇最后一個選項卡“顏
色〞,在這里可以根據(jù)需求設(shè)置“屏幕文字〞和“屏幕背景〞的顏色,如下圖。在本書中所有運行結(jié)果截圖均采用白底黑字模式?!?/p>
17
—1.3第一個C語言程序—
18
—1.3.1 最簡單的C語言程序結(jié)構(gòu)例1-1的程序是一個由頭文件和主函數(shù)組成的簡單C語言程序,下面分別解釋一下各行程序的意義。第1行:#include
<stdio.h>這是一個預(yù)處理操作。include稱為文件包含命令,后面尖括號中的內(nèi)容稱為頭文件,stdio.h是C語言的系統(tǒng)文件,stdio是“standard
input
&
output〔標準輸入輸出〕〞的縮寫,.h是文件的擴展名。由于程序的第4行使用了庫函數(shù)printf,編譯系統(tǒng)要求程序提供有關(guān)此函數(shù)的信息〔例如對這些輸入輸出函數(shù)的聲明和宏的定義、全局變量的定義等〕,所以此處需要這條命令。第2行:
int
main()這一行代碼是函數(shù)頭,其中main是函數(shù)的名字,表示“主函數(shù)〞,main前面的int表示函數(shù)的返回值是int類型〔整型〕。每個C語言程序都必須有一個main函數(shù)。第3行到第6行:{printf("你好,C語言!\n");return
0;}1.3第一個C語言程序—
19
—1.3.1 最簡單的C語言程序結(jié)構(gòu)由花括號{}括起來的局部是函數(shù)體,該程序主函數(shù)的函數(shù)體由兩條語句構(gòu)成,每條語句后都要加分號,表示語句結(jié)束。其中printf是C編譯系統(tǒng)提供的函數(shù)庫中的輸出函數(shù),用來在屏幕輸出內(nèi)容,輸出語句中雙引號中間可以是字母、符號及中文字符等;“return
0;〞的作用是當(dāng)main函數(shù)執(zhí)行結(jié)束前將整數(shù)0作為函數(shù)值,返回到調(diào)用函數(shù)處。在程序各行的右側(cè)都可以看到一段關(guān)于這行代碼的文字描述〔用/*
*/括起來〕,稱為代碼注釋。其作用是對代碼進行解釋說明,為日后自己閱讀或者他人閱讀源程序時方便理解程序代碼含義和程序設(shè)計思路。0201—
20
—1.3第一個C語言程序1.3.1 最簡單的C語言程序結(jié)構(gòu)通過對例1-1的介紹,我們可以看到一個C語言程序的結(jié)構(gòu)主要有以下特點:一個C程序由一個或多個源程序文件組成。一個規(guī)模較小的程序,往往只包括一個程序文件。本書中的例子都是基于一個源程序文件的。C程序是由函數(shù)構(gòu)成的,函數(shù)是C程序的根本單位。任何一個C語言源程序必須包含一個且僅包含一個main函數(shù),可以包含零個或多個其他函數(shù)。1.3第一個C語言程序1.3.1 最簡單的C語言程序結(jié)構(gòu)03一個函數(shù)由兩局部組成:函數(shù)頭和函數(shù)體。函數(shù)頭如例1-1中的int
main()。函數(shù)體為函數(shù)頭下面花括號{}內(nèi)
的局部。假設(shè)一個函數(shù)內(nèi)有多個大括號,那么最外層的一對{}為函數(shù)體的范圍〔關(guān)于函數(shù)的組成可參見第8章〕。04—
21
—一個C程序總是從main函數(shù)開始執(zhí)行,到main函數(shù)結(jié)束,與main函數(shù)所處的位置無關(guān)〔main函數(shù)可以位于程序的開始位置,也可以位于程序的末尾,還可以位于一些自定義函數(shù)的中間〕。0605—
22
—1.3第一個C語言程序1.3.1 最簡單的C語言程序結(jié)構(gòu)C程序的每個語句和數(shù)據(jù)定義的最后必須有一個分號。分號是C語句的必要組成局部,必不可少。一個好的、有使用價值的源程序都應(yīng)當(dāng)加上必要的注釋,以增加程序的可讀性。1.3第一個C語言程序1.3.1 最簡單的C語言程序結(jié)構(gòu)知識庫—
23
—C語言允許用兩種注釋方式:①以//開始的單行注釋。這種注釋可以單獨占一行,也可以出現(xiàn)在一行中其他內(nèi)容的右側(cè)。此種注釋的范圍從//開始,以換行符結(jié)束,即這種注
釋不能跨行。假設(shè)注釋內(nèi)容一行內(nèi)寫不下,可以用多個單行注釋。如:printf("你好,C語言!\n");
//輸出要//顯示的字符串②以/*開始,以*/結(jié)束的塊式注釋。這種注釋可以單獨占一行,也可以包含多行。編譯系統(tǒng)在發(fā)現(xiàn)一個/*后,會開始找注釋結(jié)束符*/,把二者間的內(nèi)容作為注釋,如例1-1中的注釋。1.3第一個C語言程序1.3.2
C語言程序的格式特點通過上面的實例可以看出,C語言編寫有一定的格式特點,具體如下:1函數(shù)體中的大括號用來表示程序的結(jié)構(gòu)層次,需要注意的是:左右大括號要成對使用。2在程序中,可以使用英文的大寫字母,也可以使用小寫字母。但要注意的是,在C語言中是區(qū)分字母大小寫的,也就是說,大寫字母和小寫字母代表不同的字符,如‘a(chǎn)’和‘A’是兩個完全不同的字符。一般情況下,C語言程序中使用小寫字母較多,但在定義常量時會使用大寫字母。小技巧—
24
—在編寫程序時,為了防止對應(yīng)大括號的遺漏,建議先將兩個對應(yīng)的大括號輸入程序中,再往括號中添加代碼。1.3第一個C語言程序1.3.2
C語言程序的格式特點3在程序中的空格、空行、跳格并不會影響程序的執(zhí)行。合理地使用這些空格、空行,可以使編寫出來的程序更加標準,有助于日后的閱讀和整理。4C程序書寫格式自由,一行內(nèi)可以寫多個語句,一個語句可以分寫在多行上。但為了有良好的編程風(fēng)格,最好將一條語句寫在一行。5—
25
—代碼縮進統(tǒng)一為4個字符。建議不使用空格,而用【Tab】鍵,如例1-1中的第4行和第5行。例如,以下程序完全是正確的,但是由于書寫格式不標準,因而不利于閱讀和理解,應(yīng)參照例1-1的格式來進行書寫。#include
<stdio.h>int
main(){printf("你好,C語言!\n");return
0;}PARTC程序的開發(fā)步驟學(xué)習(xí)C語言就是學(xué)習(xí)C語言編程的過程。C程序的開發(fā)從確定任務(wù)到得到結(jié)果一般要經(jīng)歷以下幾個步驟。需求分析是指對要解決的問題進行詳細的分析,弄清楚問題的要求,包括需要輸入什么數(shù)據(jù),要得到什么結(jié)果,最后應(yīng)輸出什么等。這個過程好比是考試時候的審題,一定要領(lǐng)會題目的要求,如假設(shè)不然解題過程再漂亮也是無濟于事的。1.4
C程序的開發(fā)步驟算法設(shè)計是指對要解決的問題設(shè)計出解決問題的方法和具體步驟。例如,要求解—
27
—一個1到100的累加問題,首先要選擇用什么方法求解〔直接累加計算還是用等差數(shù)列的求和公式進行計算〕;然后把求解的每一步清晰地描述出來。描述算法有多種方式,詳見第2章。需求分1析算法設(shè)2計編寫程序是把算法設(shè)計的結(jié)果變成一行行代碼,輸入到程序編輯器中,然后將此源程序以文件形式保存到自己指定的文件夾內(nèi)。文件用.c作為后綴,如file.c。1.4
C程序的開發(fā)步驟編譯程序需要利用編譯器把送入的源程序翻譯成機器語言,也就是編譯器對源程序進行語法檢查并將符合語法規(guī)那么的源程序語句翻譯成計算機能識別的語言。如果經(jīng)編譯器檢查,發(fā)現(xiàn)有語法錯誤,那就必須修改源程序中的語法錯誤,然后再編譯,直至沒有語法錯誤為止。這時,會在源程序所在的目錄中自動生成一個目標文件。在Visual
C++6.0中,目標文件的后綴為.obj,如file.obj?!?/p>
28
—編寫程3序編譯程4序1.4
C程序的開發(fā)步驟經(jīng)過編譯得到的目標文件還不能供計算機直接執(zhí)行。前面已經(jīng)介紹過,一個程序可能包含假設(shè)干個源程序文件,而編譯是以源程序文件為對象的,一次編譯只能得到一個與源程序文件相對應(yīng)的目標文件,所以我們必須把所有的目標文件連接裝配起來,再與函數(shù)庫相連接,生成一個可供計算機直接執(zhí)行的文件,稱為可執(zhí)行文件〔在Visual
C++6.0中,可執(zhí)行文件的后綴為.exe,如file.exe〕。提示—
29
—編譯程序時顯示的錯誤信息是尋找錯誤原因的重要信息來源,讀者要學(xué)會看這些錯誤信息,并且每一次碰到錯誤并且最終解決了錯誤時,要記錄錯誤信息以及相應(yīng)的解決方法,這樣以后再看到類似的提示信息就能夠熟練反響出是源程序哪里出現(xiàn)了問題,從而提高程序調(diào)試效率。連接程5序1.4
C程序的開發(fā)步驟提示即使一個程序只包含一個源程序文件,編譯后得到的目標文件也不能直接運行,也需要經(jīng)過連接階段,這是因為要與函數(shù)庫進行連接,才能生成可執(zhí)行文件。小技巧—
30
—在連接過程中,一般不會出現(xiàn)連接錯誤,如果出現(xiàn)了連接錯誤,說明源程序中存在子程序調(diào)用混亂或參數(shù)傳遞錯誤等問題。這時需要對源程序進行修改,再進行編譯和連接,如此反復(fù)進行,直至沒有連接錯誤為止。1.4
C程序的開發(fā)步驟運行可執(zhí)行文件,得到運行結(jié)果。能得到運行結(jié)果并不能說明程序是正確的,要對運行結(jié)果進行分析,分析其是否合理。而且不能只看到某一次結(jié)果正確,就認為程序沒有問題,需要多設(shè)計幾組數(shù)據(jù),檢查程序?qū)Σ煌瑪?shù)據(jù)的運行情況。如發(fā)現(xiàn)某一組的運行結(jié)果與預(yù)期的結(jié)果不同,就說明計算機的程序存在有邏輯錯誤,此時就需要重新去修改源程序直至沒有錯誤為止?!?/p>
31
—運行程6序知識庫程序調(diào)試是指將編寫的程序投入實際運行前,通過編譯或運行程序等方法對程序進行測試,以修正程序語法錯誤和邏輯錯誤的過程。查找邏輯錯誤時,如果程序不大,可以用人工方法模擬計算機對源程序的執(zhí)行過程,分析出邏輯錯誤,并對錯誤進行修改處理;如果程序比較大,人工模擬顯然行不通,這時可通過單步執(zhí)行程序,一步步跟蹤程序的運行。一旦找到問題所在,可修改源程序并重新編譯、連接和執(zhí)行程序,直至程序無邏輯錯誤為止。1.4
C程序的開發(fā)步驟如同正式的產(chǎn)品都有產(chǎn)品說明書一樣,正式提供給用戶使用的程序,也必須向用戶提供程序說明書。程序說明書也稱為用戶文檔,應(yīng)包含程序名稱、程序功能、運行環(huán)境、程序的裝入和啟動、需要輸入的數(shù)據(jù),以及使用本卷須知等內(nèi)容?!?/p>
32
—編寫程序7文檔PART開發(fā)環(huán)境如前所述,用C語言編寫的源程序必須經(jīng)過編譯和連接才能運行,這就需要用到C編譯系統(tǒng)。目前使用的大多數(shù)C編譯系統(tǒng)都被集成在某個集成環(huán)境〔IDE〕中,即把程序的編輯、編譯、連接和運行等操作全部集中在一個界面中進行。C語言開發(fā)環(huán)境有很多,如Linux操作系統(tǒng)下的GCC;Windows操作系統(tǒng)下常用的有、、Dev-C++、C-Free和等。1.5開發(fā)環(huán)境VisualC++6.0是一個功能強大的可視化軟件開發(fā)工具,它集合了程序的代碼編輯、程序編譯、連接、運行和調(diào)試等功能。VisualC++6.0也是全國計算機二級考試中指定的編譯器。本書中所有程序的編寫都是基于Visual
C++6.0開發(fā)環(huán)境的。下面結(jié)合一個實例介紹其用法。1安裝完成Visual
C++6.0后,執(zhí)
行“開始〞菜單中的Microsoft
VisualC++6.0命令,或者雙擊桌面上的Visual
C++6.0圖標,可啟動VisualC++6.0開發(fā)環(huán)境,得到如下圖操作
界面。調(diào)試信息窗口程序編輯窗口主菜單項目工作區(qū)窗口工具欄—
34
—1.5開發(fā)環(huán)境如上圖所示,主窗口的頂部為主菜單欄,主菜單欄下面是工具欄,工具欄中包含常用的工具按鈕,如編輯程序相關(guān)的按鈕和調(diào)試程序相關(guān)的按鈕等。主窗口的左側(cè)是工程工作區(qū)窗口,用來顯示所設(shè)定的工作區(qū)信息;主窗口的右側(cè)是程序編輯窗口,用來輸入和編輯源程序〔這時不能輸入程序,需要新建文件前方可進行輸入〕;主窗口的下部是調(diào)試信息窗口,用來將編譯、連接等結(jié)果信息進行顯示。提示—
35
—在Visual
C++6.0中,各菜單項名稱后都有一對括弧,括弧中有一個帶下劃線的字母,如“文件〔F〕〞,它表示用戶可以通過按【Alt+F】組合鍵翻開下拉菜單。1.5開發(fā)環(huán)境2〔1〕在Visual
C++6.0主窗口的主菜單欄中選擇“文件〞選項,
然后在其下拉菜單中單擊“新建〞按鈕,如下圖。創(chuàng)建一個新文件—
36
—1.5開發(fā)環(huán)境〔2〕此時會彈出“新建〞對話框,如下圖。選擇此對話框左上角的“文件〞選項卡,選擇其中的“C++Source
File〞選項;在右半局部的“文件名〔N〕〞文本框中輸入源程序文件的名字,如圖中輸入為“1-1.c〞;“位置〔C〕〞文本框中是源文件的保存地址,可以通過單擊右邊的按鈕修改源文件存儲路徑。選擇文件類型輸入文件名稱文件的保存地址修改地址按鈕選擇“文件”選項卡—
37
—1.5開發(fā)環(huán)境〔3〕單擊上圖中的“確定〞按鈕后,回到Visual
C++6.0主窗口,此時光標在程序編輯窗口閃爍,表示程序編輯窗口已激活,可以編輯源程序了。輸入例1-1程序,如下圖。在圖最下面一行的矩形框中顯示了“行6,列49〞,表示光標的當(dāng)前位置是第6行第49列。當(dāng)光標位置改變時,顯示的數(shù)字也隨之改變。顯示行和列—
38
—1.5開發(fā)環(huán)境〔4〕在主菜單欄中選擇“文件〞選項,在其下拉菜單中選擇“保
存〞菜單項,保存文件,如下圖。也可以單擊工具欄中的“保存〞
工具按鈕
,或者直接按【Ctrl+S】快捷鍵來保存文件。保存文件—
39
—1.5開發(fā)環(huán)境小技巧在Visual
C++6.0環(huán)境中,編
寫C程序時有時可能會出現(xiàn)中文亂
碼,如注釋中的中文變成了亂碼。具體的解決方法是:選擇“工具〞>“選項〞菜單,翻開“選項〞對話框,如下圖。翻開“格式〞選項卡,在“類別〞中選擇“所有窗口〞,在“字體〞中選擇“Fixedsys〞,
然后單擊“確定〞按鈕即可。—
40
—1.5開發(fā)環(huán)境3〔1〕在Visual
C++6.0環(huán)境中,要編譯源程序可單擊主菜單欄中的“組建〞按鈕,在其下拉菜單中選擇“編譯[1-1.c]〞菜單項,如下圖。也可以單擊工具欄中的“編譯〞工具按鈕 ,或者直接按【Ctrl+F7】快捷鍵來編譯程序文件?!?/p>
41
—1.5開發(fā)環(huán)境〔2〕在選擇編譯命令后,屏幕上出
現(xiàn)一個對話框如圖,該對話框的意思
是詢問是否同意建立一個默認的工程
工作區(qū)。單擊“是〔Y〕〞按鈕,表
示同意由系統(tǒng)建立默認的工程工作區(qū),然后開始編譯程序?!?/p>
42
—1.5開發(fā)環(huán)境〔3〕編譯時,編譯系統(tǒng)會詳盡檢查源程序中有無語法錯誤,然后在主
窗口下部的調(diào)試信息窗口輸出編譯
信息,如下圖。例1-1的編譯結(jié)果為“0
error(s),0
warning(s)〞,且產(chǎn)生了一個名為“1-1.obj〞的目標文件?!?/p>
43
—1.5開發(fā)環(huán)境如果程序中存在語法錯誤,那么會在調(diào)試信息窗口中輸出錯誤提示信息,如下圖。編譯結(jié)果為“1error(s),0warning(s)〞,說明有一個錯誤,雙擊錯誤提示語就會有箭頭指向?qū)?yīng)的有錯誤的代碼行。修改錯誤再編譯,直到?jīng)]有錯誤為止?!?/p>
44
—1.5開發(fā)環(huán)境4在得到目標程序“1-1.obj〞后,還需要進行連接方可生成可執(zhí)行文件。此時選擇“組建〞>“組建[1-1.exe]〞選項,如下圖。也可以單擊工具欄中的“組建〞工具按鈕,或者直接按【F7】快捷鍵來組建程序文件?!?/p>
45
—1.5開發(fā)環(huán)境組建程序后得到可執(zhí)行文件,如下圖。在主窗口下部的調(diào)試信息窗口輸出連接信息“1-1.exe-0error(s),0
warning(s)〞,意思是生成可執(zhí)行文件“1-1.exe〞,零個錯誤和零個警告?!?/p>
46
—1.5開發(fā)環(huán)境5在得到可執(zhí)行文件后,就可以直接
運行“1-1.exe〞了。為此,可選擇“組建〞>“執(zhí)行[1-1.exe]〞菜單,如下圖。也可以單擊工具欄中的“運行〞工具按
鈕
,或者直接按【Ctrl+F5】快捷鍵來執(zhí)行程序。—
47
—1.5開發(fā)環(huán)境程序運行后,屏幕切換到輸出結(jié)果窗口,顯示運行結(jié)果,如下圖。—
48
—1.5開發(fā)環(huán)境1.5.2
Dev-C++Dev-C++是一個Windows下的C和C++程序的集成開發(fā)環(huán)境,使用MingW32/GCC編譯器,遵循C/C++標準。由于Dev-C++本身較為小巧和快速,所以很多初學(xué)者選擇該環(huán)境。如同介紹Visual
C++6.0一樣,在介紹Dev-C++時,還是通過例1-1來講解如何使用該開發(fā)工具來進行C程序的開發(fā)。1安裝Dev-C++之后,執(zhí)行“開始〞菜單中的Dev-C++命令,或雙擊桌面上的Dev-C++圖標,可啟動開發(fā)環(huán)境,進入到Dev-C++界面,如下圖。由圖可以看出,Dev-C++的界面與Visual
C++6.0大體類似?!?/p>
49
—1.5開發(fā)環(huán)境1.5.2
Dev-C++小技巧Dev-C++界面支持多種語言,要顯示中文版界面,可在主菜單“Tools〞中選擇“EnvironmentOptions〞選項,在彈出的對話框中選擇“General〞選項卡,在
“Language〞下拉列表中選擇
“簡體中文/Chinese〞選項,然后單擊“OK〞按鈕即可,如下圖?!?/p>
50
—1.5開發(fā)環(huán)境1.5.2
Dev-C++2〔1〕在編寫程序前,首先要創(chuàng)立一個新的文件,具體方法為:在Dev-C++界面中選擇“文件〞>“新建〞>“源代碼〞菜單項,或者按【Ctrl+N】快捷鍵,這樣就可以創(chuàng)立一個新的文件,如下圖。接下來就可以在編輯區(qū)域編寫C語言程序了?!?/p>
51
—1.5開發(fā)環(huán)境1.5.2
Dev-C++〔2〕如下圖,輸入例1-1的C語言源程序。將程序代碼輸入其中—
52
—1.5開發(fā)環(huán)境1.5.2
Dev-C++〔3〕選擇“文件〞>“保存〞菜單項,彈出“保存為〞對話框,如下圖。選擇要保存文件的路徑,在保存類型中
選擇“Csourcefiles(*.c)〞選項,在文件名中輸入源程序的名字,然后單
擊“保存〞按鈕?!?/p>
53
—1.5開發(fā)環(huán)境1.5.2
Dev-C++3選擇“運行〞>“編譯〞菜單項,或者按快捷鍵【F9】,也可單擊工具欄中的“編譯〞工具按鈕,都可以一次性完成程序的預(yù)處理、編譯和連接過程,如下圖。—
54
—1.5開發(fā)環(huán)境1.5.2
Dev-C++編譯結(jié)束后,如果編譯正確,編譯器將會在屏幕下半局部的“編譯日志〞標簽頁中顯示編譯結(jié)果,如下圖?!?/p>
55
—1.5開發(fā)環(huán)境1.5.2
Dev-C++如果程序中存在語法等錯誤,那么編譯過程失敗,編譯器將會在屏幕下半局部的“編譯器〞標簽頁中顯示錯誤信息,并且將源程序相應(yīng)的錯誤行標成紅色底色,如下圖。—
56
—1.5開發(fā)環(huán)境1.5.2
Dev-C++4程序編譯通過后即可運行程序,為此,可選擇“運行〞>“運行〞菜單項,或者
按【F10】快捷鍵,也可在工具欄中單擊
“運行〞工具按鈕 ,如下圖?!?/p>
57
—1.5開發(fā)環(huán)境1.5.2
Dev-C++Dev-C++還支持編譯運行一鍵完成,為此,可選擇“運行〞>“編譯運行〞菜單項,或者按快捷鍵【F11】,也可單擊工具欄中的“編譯運行〞工具按鈕,如下圖?!?/p>
58
—1.5開發(fā)環(huán)境1.5.2
Dev-C++程序執(zhí)行后,會彈出輸出結(jié)果窗口,如下圖。第一行為程序的輸出,下面幾行都是Dev-C++默認輸出,包括分割線、程序運行時間與返回值等提示信息。此時可按任意鍵結(jié)束程序運行并關(guān)閉該窗口?!?/p>
59
—PART常見錯誤分析1.6常見錯誤分析1分號是C語言程序語句的重要組成局部,每條語句及數(shù)據(jù)定義末尾必須有分號。很多初學(xué)者在編寫程序時很容易漏寫。例如:#include
<stdio.h>int
main(){printf("Hello
World!\n")
/*語句后少了分號*/return
0;}編譯報錯信息如下圖?!?/p>
61
—1.6常見錯誤分析提示語法錯誤,第5行“return〞前缺少分號。上述程序在編譯時,編譯器在“printf("HelloWorld!/n")〞語句后沒有發(fā)現(xiàn)分號,會接著檢查下一行是否有分號,編譯器會認為“return
0〞也是上一行語句的一局部,直到分號結(jié)束。由于編譯器在第5行才判斷出語句有錯,所以系統(tǒng)提示的是
第5行有錯誤。—
62
—小技巧在調(diào)試程序時,如果在編譯器指出有
溫馨提示
- 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. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 農(nóng)夫山泉品牌故事傳播方案
- 地下室污水處理方案及設(shè)備選型
- 購物中心租賃管理及策略方案
- 康復(fù)治療信息服務(wù)平臺方案
- 隧道消防水池施工方案
- 中學(xué)課程改革實施效果統(tǒng)計方案
- 河南省頂尖聯(lián)盟2023-2024學(xué)年高二上學(xué)期期中檢測生物試題(解析版)
- 青少年宗教活動監(jiān)管實施方案
- 安徽省廬巢聯(lián)盟2024-2025學(xué)年高一上學(xué)期第一次月考生物試題(解析版)
- 2024年真空電子器件及零件項目評價分析報告
- 城鄉(xiāng)生活污水處理環(huán)境影響與風(fēng)險評估
- 廠房租賃合同范本版(18篇)
- DB22T 5165-2024 建設(shè)工程消防驗收現(xiàn)場評定標準
- 浙江省嵊州市三界片2024-2025學(xué)年七年級上學(xué)期期中科學(xué)測試卷
- 能源中國學(xué)習(xí)通超星期末考試答案章節(jié)答案2024年
- 2024廣東省云浮市郁南縣財政局工程造價類專業(yè)人員招聘4人高頻難、易錯點500題模擬試題附帶答案詳解
- 軍隊文職考試《公共科目》試題及答案指導(dǎo)(2024年)
- 山東省青島市2023-2024學(xué)年七年級上學(xué)期期末考試數(shù)學(xué)試題(含答案)
- 2024下半年江蘇蘇州城市學(xué)院招聘管理崗位工作人員27人歷年高頻難、易錯點500題模擬試題附帶答案詳解
- 小學(xué)心理健康課教案分享-《身體“紅綠燈”》
- 2022年信息科技課程新課標義務(wù)教育信息科技課程標準2022版解讀課件
評論
0/150
提交評論