官术网_书友最值得收藏!

1.1 C語言概述

學習目標

1)了解C語言的發展歷史。

2)掌握C語言程序的基本構成及結構特點。

3)了解C語言程序的編譯與執行過程。

4)熟悉Dev-C++的運行環境。

實例1

實例1 C語言簡介——簡單的C語言應用程序

實例任務

輸出一個表達式“1+1”的結果,然后再輸出一個字符串“Hello World!”,輸出一串漢字“北京歡迎您!”。程序的運行結果如圖1-1所示。

圖1-1 程序運行結果

程序代碼

相關知識

1.C語言的發展歷程

上面的程序中,main、print、include等都是熟知的英文單詞,而計算機不能識別這些單詞。實際上,在C語言產生之前,人們編寫系統軟件主要使用匯編語言。由于用匯編語言編寫的程序依賴于計算機硬件,其可讀性和可移植性都比較差;而一般高級語言又不具備低級語言能夠直觀地對硬件實現控制和操作、程序執行速度快的特點。在這種情況下,人們迫切需要一種既有一般高級語言特性又有低級語言特性的語言,于是C語言便應運而生了。

C語言的產生和發展與UNIX操作系統有很大的關系,其發展歷程簡述如下。

1972—1973年,美國貝爾實驗室的D.M.Ritchie在B語言的基礎上設計出了C語言。當時的C語言只是為描述和實現UNIX操作系統的一種工作語言,且只在貝爾實驗室內部使用。

1973年,K.Thompson和D.M.Ritchie兩人合作,將UNIX操作系統90%以上的代碼用C語言改寫,即UNIX第5版。

1975年,UNIX第6版公布后,C語言突出的優點引起人們普遍關注。

1977年,出現了可移植的C語言。

1978年,UNIX第7版公布,K.Thompson和D.M.Ritchie以該版C編譯程序為基礎,合著The C Programming Language一書。該書所介紹的C語言,是后來廣泛使用的C語言版本的基礎,因而被稱為標準C語言。

1983年,美國國家標準化協會(ANSI)根據C語言問世以來的各種版本,對C語言進行發展和擴充,并制定了新的標準,稱為ANSI C。

1990年,國際標準化組織(ISO)制定了ISO C標準。

1972年以來,C語言幾經修改和發展,出現了多個版本。C語言是國際上廣泛流行的計算機高級語言,既可用來寫系統軟件,也可用來寫應用軟件。目前在計算機上廣泛使用的版本有多個,各有特點,但它們一般都是以ANSI C為基礎的,其中比較常用的版本有Microsoft C、Quick C、Turbo C、Win-TC、C-Free、Dev-C++等。

2.C語言程序的構成

C語言應用程序是由函數構成的,以main()函數作為入口開始執行應用程序。main()是C程序的入口函數,每個C程序都必須有main()函數,且每個C程序只能有一個main()函數。

{}括起來的部分稱為函數體,函數體是函數的執行部分。函數體中,每條以分號“;”結尾的元素,稱為語句。C語言的語句必須以分號結尾,可以一行寫一條,可以一行寫多條,一個單獨的“;”可以自成一條語句。

程序中的第一行語句:#include "stdio.h"或#include <stdio.h>,用于告訴編譯器在本程序中包含標準輸入/輸出庫的信息。函數體中的printf函數是一個用于打印輸出的庫函數,后面小括號中的內容為這個函數的參數。

函數體中,語句“int i;”定義變量i。變量是內存中用于存放數據的元素,必須先定義,后引用。

程序中,“/*…*/”符號中的內容是某語句或某段程序的注釋,為非執行語句,起到幫助讀者理解程序的作用。

3.程序的執行方式

計算機只能識別機器語言(即二進制代碼),如11011010。但用二進制代碼編程難以記憶、檢錯,故只能用高級語言編程。所以,計算機須完成一個翻譯過程,即將高級語言程序翻譯成機器代碼,如圖1-2所示。

圖1-2 程序翻譯過程

一般,編寫完的程序分為以下3種。第一種是匯編程序,其語言源程序代碼與機器指令一一對應。第二種是編譯程序,是按某種約定將源代碼翻譯為目標代碼,通過連接程序將目標程序與所調用的標準函數庫連接為一體,然后執行程序,如常用的Pascal、C語言等。第三種是解釋程序,與編譯程序思想相似,但是一條一條地翻譯,譯出一句執行一句,如早期的BASIC語言。

對于編譯程序,編譯執行是在編寫完程序后,通過特別的工具軟件將源程序編譯成目標程序進而轉換成機器代碼(即可執行程序),然后直接交給操作系統執行,也就是說,程序是作為一個整體來運行的。這類程序的優點是執行速度比較快,還有編譯連接之后可以獨立在操作系統上運行,不需要其他應用程序的支持;缺點是不利于調試,每次修改之后都要執行編譯連接等步驟才能看到其執行結果。此外,有些集成開發環境與操作系統之間存在一定的依賴性,不同操作系統需要的編譯器可能不相同,因此,在一個系統上編譯的程序在另一個系統上并不一定能夠運行。

C語言的編譯執行過程如圖1-3所示。

圖1-3 C語言的編譯執行過程

4.C語言的特點

C語言具有以下幾個特點。

1)語言簡潔,使用方便靈活。C語言的關鍵字少,ANSI C標準總共只有32個關鍵字、9種控制語句,壓縮了一切不必要的成分。C語言的書寫形式比較自由,表示方法簡潔。

2)可移植性好。相對于硬件依賴性很強的匯編語言而言,C語言通過編譯來得到可執行代碼。統計資料表明:C語言編譯程序中80%的代碼是公共的,故可以稍加修改即可用于其他的計算機。

3)表達能力強。表達方式靈活,可以進行結構化程序設計。

4)能直接操作計算機硬件。當今應用廣泛的嵌入式技術和單片機技術中控制硬件的代碼,很多都是由C語言開發的。

5)生成的目標代碼質量高。C語言生成的代碼僅比匯編語言效率低10%~20%,是其他高級語言無法匹敵的。

5.C語言程序結構的特點

由以上實例程序可以看出,C語言程序的結構有以下幾個特點。

1)C語言程序是由若干函數構成的,每個程序都必須有一個主函數,且main后的小括號不能省略。

2)C語言程序的函數體是用{ }括起來的多條語句,且函數體中每條語句均以分號結束。

3)C語言程序的書寫格式自由。一行可以寫多條語句,一條語句也可以寫在多行上。

4)C語言程序可以用/*…*/來對語句進行注釋。

實例2

實例2 C語言環境使用介紹——用“*”輸出字母A形

實例任務

用“*”符號組成筆畫,輸出字母“A”的形狀。程序運行結果如圖1-4所示。

程序代碼

圖1-4 程序運行結果

相關知識

1.Dev-C++簡介

Dev-C++是一個C&C++的開發工具,它是一款自由的軟件,遵守GPL(General Public License,通用公共許可證)協議。它集合了GCC、MinGW32等眾多自由軟件,也是不斷升級的免費軟件。它的開發環境包括多頁面窗口、工程編輯器及調試器等;在工程編輯器中集合了編輯器、編譯器、連接程序和執行程序;為減少編輯錯誤,提供了高亮語法顯示;有完善的調試功能,能滿足不同層次的用戶需求,但它難以勝任規模較大的軟件項目。由于Dev-C++具有完善的調試功能并支持中文輸出,因此本書選用Dev-C++為開發工具。

2.顯示運行結果

在使用Turbo C時,可以通過一步操作查看程序的運行結果,但在Dev-C++中編寫程序后,用戶找不到運行結果窗口。如果要查看結果,則需要在程序中進行代碼操作,分為以下3種情況。

● 在主函數最后添加語句“getch();”,它只適用于C程序。

● 在主函數最后添加語句“getchar();”,它適用于C/C++程序。

● 在主函數最后添加語句“system("pause");”,它適用于C/C++程序。

3.創建并運行C程序

打開Dev-C++,選擇“文件”→“新建”→“源代碼”菜單命令或按〈Ctrl+N〉組合鍵,可新建程序,此時光標位于窗口代碼編輯區,如圖1-5所示。

從圖1-5中的光標處開始添加代碼,如圖1-6所示。

圖1-5 新建程序

圖1-6 添加代碼

選擇“運行”→“編譯”菜單命令或按〈Ctrl+F9〉組合鍵進行編譯,然后選擇“運行”→“運行”菜單命令或按〈Ctrl+F10〉組合鍵運行并查看結果。也可以一步完成,選擇“運行”→“編譯運行”菜單命令或按〈F9〉鍵完成編譯運行。并編譯時如果文件尚未保存,系統會彈出“保存文件”對話框,此時輸入文件名后,在“保存類型”下拉列表框中選擇“C source files(*.c)”類型,如圖1-7所示。

如果選擇了“運行”命令或按〈F9〉鍵后,則可以看到如圖1-4所示的運行結果。如果程序運行過程中陷入死循環,則可以按〈Ctrl+C〉組合鍵結束程序的運行。

圖1-7 “保存文件”對話框

課堂精練

1)新建一個C語言程序,保存并運行之,程序運行結果如圖1-8所示。

程序代碼如下。

2)新建一個C語言程序,要求從鍵盤輸入兩個變量的值,求和并輸出。程序的運行結果如圖1-9所示。

圖1-8 程序運行結果(1)

圖1-9 程序運行結果(2)

程序代碼如下。

主站蜘蛛池模板: 尉氏县| 容城县| 银川市| 巨鹿县| 嘉黎县| 尉氏县| 秦安县| 广元市| 阜宁县| 满城县| 万安县| 清水县| 凤台县| 香格里拉县| 山东| 昂仁县| 横峰县| 凤城市| 广宁县| 吴忠市| 新沂市| 普宁市| 庄河市| 濉溪县| 福州市| 稷山县| 肥东县| 鄄城县| 延津县| 永城市| 松潘县| 渭源县| 望谟县| 石河子市| 安阳县| 汉川市| 明水县| 新巴尔虎右旗| 盐亭县| 华安县| 新民市|