- C語言從入門到精通(第2版)
- 龍馬高新教育策劃 國家863中部軟件孵化器編著
- 1037字
- 2019-01-02 04:49:28
第1篇 基礎(chǔ)知識
萬丈高樓平地起,打好基礎(chǔ)不費(fèi)力!
本篇是學(xué)習(xí)C語言的基礎(chǔ)。通過本篇的學(xué)習(xí),讀者將了解到C程序設(shè)計(jì)的初步知識,為后面深入學(xué)習(xí)C語言奠定根基。
下面,就讓我們進(jìn)入精彩的C語言編程世界吧!
第1章 步入C的世界—Hello C
本章視頻教學(xué)錄像:44分鐘
C語言是國際上廣泛流行的計(jì)算機(jī)高級程序設(shè)計(jì)語言,從誕生就注定了會受到世界的關(guān)注,它是世界上最受歡迎的語言之一,具有強(qiáng)大的功能,許多著名的軟件都是用C語言編寫的。學(xué)習(xí)好C語言,可以為以后的程序開發(fā)之路打下堅(jiān)實(shí)的基礎(chǔ)。現(xiàn)在就跟我一起步入C的世界吧。
本章要點(diǎn)(已掌握的在方框中打鉤)
□ C常用開發(fā)環(huán)境
□ 認(rèn)識常用開發(fā)環(huán)境
□ 編寫第1個(gè) C 程序
1.1 C語言的開發(fā)環(huán)境
本節(jié)視頻教學(xué)錄像:7分鐘
學(xué)習(xí)一門編程語言之前,首先要做的就是:熟悉這門語言所使用的開發(fā)軟件—開發(fā)環(huán)境。下面介紹一下C語言常用的開發(fā)環(huán)境。
1.1.1 C常用開發(fā)環(huán)境
C語言常用的集成開發(fā)環(huán)境有Microsoft Visual C++ 6.0、Microsoft Visual C++.NET、Turbo C以及Borland C++ Builder等。
1. Microsoft Visual C++
Microsoft Visual C++ 不僅是一個(gè)C++編譯器,而且是一個(gè)基于Windows操作系統(tǒng)的可視化集成開發(fā)環(huán)境。Microsoft Visual C++目前最新的版本為2013版,但業(yè)界比較流行的為Microsoft Visual C++ 6.0。
2. Microsoft Visual C++.NET
Microsoft Visual Studio.NET是Microsoft Visual Studio 6.0的后續(xù)版本,是一套完整的開發(fā)工具集。在.NET平臺下調(diào)用Framework的類庫,功能強(qiáng)大,其中包含了Visual C++開發(fā)組件。
3. Turbo C
Turbo C 是美國Borland 公司的產(chǎn)品,目前最新的版本為Turbo C 3.0,不過最常用的版本是Turbo C 2.0。
4. Borland C++ Builder
Borland C++ Builder是由Borland公司繼Delphi之后推出的一款高性能集成開發(fā)工具,具有可視化的開發(fā)環(huán)境。
不同版本的C編譯系統(tǒng),所實(shí)現(xiàn)的語言功能和語法規(guī)則又略有差別,因此讀者應(yīng)了解所用的C語言編譯系統(tǒng)的特點(diǎn),可以參閱有關(guān)手冊。本書的內(nèi)容基本上是以ANSI C 為基礎(chǔ)。
本書主要是以Microsoft Visual C++ 6.0為C語言開發(fā)環(huán)境,因?yàn)樗δ芡晟疲僮骱啽悖缑嬗押茫m合初學(xué)者開發(fā)使用。考慮到大家存在的多種需求,本章也將簡要介紹較為常用的Turbo C 2.0開發(fā)環(huán)境。
1.1.2 VC++開發(fā)環(huán)境的安裝
VC++ 6.0可以在百度上免費(fèi)下載,具體安裝過程如下。
⑴ 打開VC++ 6.0的安裝目錄,單擊運(yùn)行【AUTORUN.EXE】,彈出如下界面。VC++ 6.0有中文版和英文版兩種安裝方式,本書使用的是英文版操作界面,所以建議選擇英文版安裝。單擊【英文版】按鈕。

⑵ 單擊【Next】按鈕,選擇“I accept the agreement”,然后單擊【Next】按鈕,在打開的界面中,輸入產(chǎn)品序列號、ID及賬戶信息,單擊【Next】按鈕。

⑶ 選擇第一個(gè)選項(xiàng)“Install Visual C++6.0 Enterprise Edition”,然后單擊【Next】按鈕,進(jìn)入下一界面。

⑷ 安裝路徑選擇默認(rèn)位置,單擊【Next】按鈕,進(jìn)入下一界面。

⑸ 開始啟動安裝程序,單擊【繼續(xù)】按鈕,進(jìn)入下一界面。

⑹ 單擊【繼續(xù)】按鈕,進(jìn)入下一界面。

⑺ 單擊【確定】按鈕,進(jìn)入下一界面。安裝程序提示是否替換VSS 6.0源代碼管理工具的安裝環(huán)境,根據(jù)實(shí)際需要選擇,然后進(jìn)入下一個(gè)界面。


⑻ 單擊【OK】按鈕,進(jìn)入下一界面,等待Visual C++ 6.0 Enterprise Setup安裝到100%時(shí),出現(xiàn)如下界面,單擊【確定】按鈕,開發(fā)環(huán)境安裝完成。



1.1.3 Turbo C 2.0開發(fā)環(huán)境的安裝
TC 2.0可以在百度上免費(fèi)下載,具體安裝過程如下。
⑴ 打開TC 2.0的安裝目錄,單擊運(yùn)行【TC 2.0.EXE】,彈出如下界面。

⑵ 單擊【下一步】按鈕,進(jìn)入下一界面。

⑶ 默認(rèn)以上的選項(xiàng),單擊【下一步】按鈕,進(jìn)入下一界面。

⑷ 在指定位置選擇安裝路徑,單擊【下一步】按鈕,進(jìn)入下一界面。
⑸ 程序安裝完成,進(jìn)入下一界面。

⑹ 單擊【確定】按鈕,開發(fā)環(huán)境安裝完成。
1.2 認(rèn)識常用開發(fā)環(huán)境
本節(jié)視頻教學(xué)錄像:14分鐘
C語言集成開發(fā)環(huán)境比較多,沒有必要對每一種開發(fā)環(huán)境都熟練地掌握,只需要精通一種開發(fā)環(huán)境即可。下面分別來認(rèn)識一下最常用的兩種開發(fā)環(huán)境:Visual C++ 6.0和TC 2.0。
1.2.1 認(rèn)識VC++開發(fā)環(huán)境
安裝Visual C++ 6.0之后,選擇【開始】 【程序】 【Microsoft Visual Studio 6.0】 【Microsoft Visual C++ 6.0】菜單命令,即可啟動Visual C++ 6.0。
啟動Visual C++ 6.0并新建程序,新建程序的步驟可參照1.3.2節(jié),新建程序后的界面如下圖所示。

1. 菜單欄
通過菜單欄中的菜單命令,讀者可以輕松地完成編輯程序和資源、編譯、鏈接及調(diào)試程序等各項(xiàng)工作。常用菜單如下圖所示。

⑴ 【File】文件菜單:File菜單包含了各種對文件進(jìn)行操作的選項(xiàng),如加載、保存、打印和退出等。
⑵ 【Edit】編輯菜單:Edit菜單中的命令用來使用戶便捷地編輯文件內(nèi)容,如進(jìn)行刪除、復(fù)制等操作,其中的大多數(shù)命令的功能與Windows中的標(biāo)準(zhǔn)字處理程序的編輯命令一致。
⑶ 【View】查看菜單:View菜單中的命令主要用來改變窗口和工具欄的顯示方式,激活調(diào)試時(shí)所用的各個(gè)窗口等。
⑷ 【Insert】插入菜單:Insert菜單中的命令主要用于項(xiàng)目及資源的創(chuàng)建和添加。
⑸ 【Project】工程菜單:Project菜單中的命令主要用于項(xiàng)目的操作,如項(xiàng)目中添加源文件等。
⑹ 【Build】編譯菜單:Build菜單中的命令主要用于應(yīng)用程序的編譯、連接、調(diào)試和運(yùn)行。
⑺ 【Tools】工具菜單:Tools菜單中的命令主要用于選擇或制定開發(fā)環(huán)境中的一些實(shí)用工具。
⑻ 【W(wǎng)indow】窗口菜單:Window菜單中的命令主要用于文檔窗口的操作,如排列文檔、打開或關(guān)閉一個(gè)文檔窗口、重組或切分文檔窗口等。
⑼ 【Help】幫助菜單:Visual C++ 6.0同大多數(shù)其他的Windows 應(yīng)用軟件一樣,能夠提供大量詳細(xì)的幫助信息,而Help菜單便是得到這些幫助信息的最有效和最主要的途徑。
2. 工具欄
工具欄中提供了大部分常用的操作命令,通過單擊工具欄中相應(yīng)的按鈕,可以快捷地進(jìn)行各種操作。在工具欄中的空白處單擊鼠標(biāo)右鍵,在彈出的快捷菜單中選擇相應(yīng)的菜單項(xiàng)可以定制(添加或刪除)工具欄。
3. Workspace(工作區(qū))窗口
工作區(qū)窗口共有以下3個(gè)標(biāo)簽,分別代表3種視圖形式。
⑴ 【ClassView(類視圖)】:顯示項(xiàng)目中所有的類信息。
⑵ 【ResourceView(資源視圖)】:包含了項(xiàng)目中所有資源的層次列表。每一種資源都有自己的圖標(biāo)。在字符界面或者控制臺界面中沒有該項(xiàng),只有在Windows程序下才出現(xiàn)。
⑶ 【FileView(文件視圖)】:可將項(xiàng)目中的所有文件分類顯示,每一類文件在【FileView】頁面中都有自己的目錄項(xiàng)。可以在目錄項(xiàng)中移動文件,還可以創(chuàng)建新的目錄項(xiàng),以及將一些特殊類型的文件放在該目錄項(xiàng)中。
提示
這里只是從概念上對工作區(qū)窗口進(jìn)行簡單的介紹,在后面的章節(jié)中會詳細(xì)地介紹工作區(qū)窗口。讀者不必在這里花費(fèi)太多的時(shí)間。
4. Output(輸出)窗口
輸出窗口顯示程序編譯和連接錯(cuò)誤與警告。
5. 編輯窗口
編輯窗口可進(jìn)行輸入、修改以及刪除代碼等操作。
1.2.2 認(rèn)識Turbo開發(fā)環(huán)境
相比現(xiàn)今的有漂亮視窗界面、功能強(qiáng)大的開發(fā)軟件,Turbo C略顯單薄,但是即使面對這樣強(qiáng)大的對手,Turbo C依然擁有較為廣泛的使用群體,這是因?yàn)門urbo C不僅是一個(gè)快捷、高效的編譯程序,同時(shí)還有一個(gè)易學(xué)、易用的集成開發(fā)環(huán)境。
使用Turbo C 2.0開發(fā)程序,不用獨(dú)立地新建工程,直接可以在開發(fā)環(huán)境的編輯區(qū)輸入所需的程序,然后編譯運(yùn)行程序就可以了,操作簡單快捷,具體的程序開發(fā)過程請參照1.3.3節(jié)。
1. 啟動Turbo C 2.0
安裝Turbo C 2.0之后,可以通過以下方式啟動Turbo C 2.0。
⑴ 命令行方式啟動。
選擇【開始】 【程序】 【附件】 【命令提示符】,在打開的命令行中輸入Turbo C 2.0的路徑,如“C:\TURBOC2\TC”,按【Enter】鍵,即可進(jìn)入TC集成環(huán)境的主菜單窗口。
⑵ 從Windows環(huán)境進(jìn)入。
在Windows XP環(huán)境中,如果本機(jī)中已安裝了Turbo C,可以在桌面上建立一個(gè)快捷方式,雙擊該快捷方式即可進(jìn)入C語言開發(fā)環(huán)境。或者選擇【開始】 【運(yùn)行】,在運(yùn)行對話框中輸入程序的路徑,單擊【確定】按鈕即可。
2. Turbo C 2.0開發(fā)環(huán)境介紹
Turbo C 2.0的主界面分為4個(gè)部分,由上至下分別為:菜單欄、編輯區(qū)、信息區(qū)和功能鍵索引。

⑴ 菜單欄:包括【File】(文件)菜單、【Edit】(編輯)菜單、【Run】(運(yùn)行)菜單、【Compile】(編譯)菜單、【Project】(項(xiàng)目)菜單、【Options】(選擇)菜單、【Debug】(調(diào)試)菜單和【Break/watch】(斷點(diǎn)及監(jiān)視)菜單等。
⑵ 編輯區(qū):編輯區(qū)的第1行為編輯狀態(tài)行,用來指示游標(biāo)所在位置、文件名稱以及編輯相關(guān)的狀態(tài)信息。其他為代碼編輯區(qū)域。
⑶ 信息區(qū):顯示程序編譯和連接錯(cuò)誤與警告。
⑷ 功能鍵索引:Turbo C 2.0不支持鼠標(biāo)操作,功能鍵索引給出了功能按鍵的索引號。
1.3 開始C編程——我的第1個(gè)C程序
本節(jié)視頻教學(xué)錄像:19分鐘
我們已經(jīng)大致了解了Visual C++ 6.0和Turbo C 2.0的界面,本節(jié)引入第1個(gè)C程序 “Hello C!”,開始我們的C編程之旅。
1.3.1 程序編寫及運(yùn)行流程
匯編程序要轉(zhuǎn)換成可執(zhí)行文件(可以理解為能夠“單獨(dú)運(yùn)行”的文件,一般在Windows操作系統(tǒng)中常見的可執(zhí)行文件為*.exe/*.sys/*.com文件等),需要通過匯編器來實(shí)現(xiàn)。那么,對于用C語言編寫的代碼,是如何把它轉(zhuǎn)換為可執(zhí)行文件的呢?
要轉(zhuǎn)換C語言為可執(zhí)行文件,需要借助的工具是編譯器(Compiler),轉(zhuǎn)換的過程叫做編譯。經(jīng)過編譯,生成目標(biāo)程序,目標(biāo)文件是機(jī)器代碼,是不能夠直接執(zhí)行的,它需要有其他文件或者其他函數(shù)庫輔助,才能生成最終的可執(zhí)行文件,這個(gè)過程稱之為連接,使用的工具叫做連接器。
C程序的編寫和運(yùn)行流程如圖所示。

我們把編寫的代碼稱為源文件或者源代碼,輸入修改源文件的過程稱為編輯,在這個(gè)過程中還要對源代碼進(jìn)行布局排版,使之美觀有層次,并輔以一些說明的文字,幫助我們理解代碼的含義,這些文字稱為注釋,它們僅起到說明的作用,不是代碼,不會被執(zhí)行;經(jīng)過編輯的源代碼經(jīng)過保存,生成后綴名為“.c”的文件,這些源文件并不能夠直接運(yùn)行,而需要經(jīng)過編譯,把源文件轉(zhuǎn)換為以“.obj”為后綴名的目標(biāo)文件;此時(shí)目標(biāo)文件再經(jīng)過一個(gè)連接的環(huán)節(jié),最終生成以“.exe”為后綴名的可執(zhí)行文件。能夠運(yùn)行的是可執(zhí)行文件。
1.3.2 在Visual C++ 6.0中開發(fā)C程序
本小節(jié)介紹使用Visual C++ 6.0開發(fā)C程序的過程。本書的所有例程都是在VC++ 6.0中開發(fā)的。
【范例1-1】 使用Visual C++ 6.0創(chuàng)建C程序并運(yùn)行。
第1步:創(chuàng)建空工程。
⑴ 在Visual C++ 6.0中,選擇【Flie】 【New】菜單,在彈出的對話框中選擇【Projects】選項(xiàng)卡,在左側(cè)列表框中選擇【W(wǎng)in32 Console Application】,在【Project name】文本框中輸入工程名“Hello”,單擊【Location】文本框右側(cè)的按鈕,選擇工程要存放的文件夾。

⑵ 單擊【OK】按鈕,選中【An empty project】單選按鈕,單擊【Finish】按鈕,顯示工程信息,然后單擊【OK】按鈕,即可完成空工程的創(chuàng)建。


第2步:添加C源程序。
⑴ 選擇【Flie】 【New】菜單,在彈出的對話框中選擇【Files】選項(xiàng)卡,在左側(cè)列表框中選擇【Text File】,新建一個(gè)程序文檔,在【File】文本框中輸入“Hello.c”,單擊【Location】文本框右側(cè)的按鈕,可瀏覽到程序存放的文件夾(這個(gè)文件夾要和工程文件夾保持一致)。

⑵ 單擊【OK】按鈕,在編輯窗口輸入以下代碼(代碼1-1.txt)。
01 #include<stdio.h> /*包含標(biāo)準(zhǔn)輸入輸出頭文件*/ 02 int main(void) /*主函數(shù)*/ 03 { /*函數(shù)體開始*/ 04 printf(“Hello C!\n”); /*函數(shù)體*/ 05 return 0; /*返回值*/ 06 } /*函數(shù)體結(jié)束*/
第3步:運(yùn)行程序。
⑴ 單擊工具欄中的【Compile】按鈕,或選擇【Build】 【Compile Hello.c】菜單命令,程序開始編譯,并在輸出窗口顯示編譯信息。

⑵ 單擊工具欄中的【Build】按鈕,或選擇【Build】 【Build Hello.exe】菜單命令,開始連接程序,并在輸出窗口顯示連接信息。

⑶ 單擊工具欄中的【Execute Programe】按鈕,或選擇【Build】 【Execute Hello.exe】菜單命令,即可在命令行中輸出程序的結(jié)果。

提示
可以省略第1步創(chuàng)建空工程的步驟,直接從第2步開始。但是在程序編譯時(shí),會要求確認(rèn)是否為C程序創(chuàng)建默認(rèn)的工作空間,單擊【是】按鈕即可,如下圖所示。

1.3.3 在Turbo C中開發(fā)C程序
因?yàn)門urbo C 也是開發(fā)C程序常用的開發(fā)環(huán)境,所以結(jié)合【范例1-1】,下面分步驟詳細(xì)講解如何使用Turbo C 2.0創(chuàng)建C程序,但本書的所有例程都是在VC++ 6.0中開發(fā)的。
第1步:設(shè)置環(huán)境。
⑴ 在Turbo C 2.0中,按【ALT+O】組合鍵,彈出【Options】菜單,使用方向鍵選擇【Directories】菜單命令,按【Enter】鍵,選擇【Output directory】項(xiàng),按【Enter】鍵,輸入已存在的路徑,如“d:\Final”。
⑵ 按【Enter】鍵,然后選擇【Options】 【Save Options】,按【Enter】鍵,保存配置信息,最后連按兩次【ESC】鍵,退出菜單。

第2步:編輯和編譯程序。
⑴ 按【Alt+F】組合鍵,選擇【W(wǎng)rite to】菜單命令,按【Enter】鍵,輸入“d:\Final\hello.c”,按【Enter】鍵,即可將輸入的程序保存在D盤的Final目錄中,文件名為“HELLO.C”。

⑵ 在編輯區(qū)中輸入源程序(程序見【范例1-1】中的“代碼1-1.txt”)。

⑶ 按【F2】鍵直接保存文件。按【Alt+C】組合鍵,選擇【Compile to OBJ D:HELLO.OBJ】,編譯“HELLO.C”程序,并出現(xiàn)編譯成功與否的信息對話框。

⑷ 按【Enter】鍵,按【Alt+C】組合鍵,選擇【Make EXE file D:HELLO.EXE】,生成可執(zhí)行文件,并顯示生成執(zhí)行文件成功與否的信息對話框。

⑸ 按【Enter】鍵,按【Ctrl+F9】組合鍵,運(yùn)行程序,但會一閃而過。按【Alt+F5】組合鍵,可在屏幕中查看程序運(yùn)行結(jié)果。

⑹ 按任意鍵,返回Turbo C 2.0開發(fā)環(huán)境。
1.4 高手點(diǎn)撥
本節(jié)視頻教學(xué)錄像:4分鐘
開發(fā)任何一種語言編程最重要的就是實(shí)踐練習(xí),不要只看不練、眼高手低。學(xué)會活學(xué)活用,看完課本中的例程之后,自己要在開發(fā)環(huán)境中獨(dú)立操作一遍,不能認(rèn)為簡單而不親手去操作。在書寫C語言編程時(shí),一定要注意養(yǎng)成好的書寫習(xí)慣;好的書寫習(xí)慣是一名優(yōu)秀程序員要具備的基本修養(yǎng)。一段程序可以反映一個(gè)人的編程水平,所以,針對C語言編程的書寫,有以下4點(diǎn)建議。
(1) 在每個(gè)程序文件最前面注釋書寫日期、程序的目的。
(2) 代碼格式要清晰,避免錯(cuò)亂不堪;每段代碼后面要注釋這段代碼的功能,便于以后的修改和查看。
(3) 程序的模塊化,也就是說對于一些功能復(fù)雜的程序,除了main()函數(shù)之外,還要定義其他函數(shù),以免main()函數(shù)中的程序繁瑣,也便于其他函數(shù)調(diào)用某個(gè)功能模塊。例如:一個(gè)程序既要實(shí)現(xiàn)整數(shù)的排序,又要實(shí)現(xiàn)比較大小,那么可以將排序的程序放在函數(shù)A中;將比較大小的程序放在函數(shù)B中。只需要在main()函數(shù)中調(diào)用這兩個(gè)函數(shù)就可以了。如果其他函數(shù)中的整數(shù)也要排序,只需調(diào)用排序函數(shù)A就可以了,避免反復(fù)書寫同樣的程序。
(4) 函數(shù)命名規(guī)范化,例如:某段程序?qū)iT實(shí)現(xiàn)排序,可以將這段程序放到一個(gè)自定義函數(shù)中,將這個(gè)函數(shù)命名為“order”。因?yàn)閛rder有排序的意思,所以這樣命名可以一目了然,通過函數(shù)名就可以知道該函數(shù)實(shí)現(xiàn)什么樣的功能,便于理解。
1.5 實(shí)戰(zhàn)練習(xí)
分別在VC++ 6.0和TC 2.0中編寫C程序,在命令行中輸出如下一行內(nèi)容:
“你好,世界!”
- 基于Proteus的Arduino可視化設(shè)計(jì)
- pytest框架與自動化測試應(yīng)用
- SpringBoot揭秘:快速構(gòu)建微服務(wù)體系
- 敏捷軟件開發(fā)(珍藏版)
- PhoneGap開發(fā)指南
- iOS App界面設(shè)計(jì)創(chuàng)意與實(shí)踐
- 知行合一: 實(shí)現(xiàn)價(jià)值驅(qū)動的敏捷和精益開發(fā)
- Android深度探索(卷1):HAL與驅(qū)動開發(fā)
- 軟件測試從小白到高手
- Swift開發(fā)實(shí)戰(zhàn)
- 網(wǎng)絡(luò)DevOps平臺規(guī)劃、設(shè)計(jì)與實(shí)踐:基于企業(yè)架構(gòu)(EA)和領(lǐng)域建模(DDD)的方法
- 嵌入式軟件測試:方法、案例與模板詳解
- TensorFlow+Android經(jīng)典模型從理論到實(shí)戰(zhàn)(微課視頻版)
- Kubernetes Operator開發(fā)進(jìn)階
- 劍指大前端全棧工程師(全2冊)