找回密碼
 立即注冊(cè)

QQ登錄

只需一步,快速開始

搜索
查看: 3925|回復(fù): 0
打印 上一主題 下一主題
收起左側(cè)

C語(yǔ)言概述及VS2013開發(fā)環(huán)境搭建與使用教程

[復(fù)制鏈接]
跳轉(zhuǎn)到指定樓層
樓主
ID:400132 發(fā)表于 2018-9-19 17:38 | 只看該作者 回帖獎(jiǎng)勵(lì) |正序?yàn)g覽 |閱讀模式
第1章  初識(shí) C語(yǔ)言
學(xué)習(xí)目標(biāo)

了解 C語(yǔ)言的特點(diǎn)
掌握 VisualStudio 開發(fā)環(huán)境的搭建
掌握 HelloWorld程序的編寫

C語(yǔ)言是一種通用的、過程式的編程語(yǔ)言,它具有高效、靈活、可移植等優(yōu)點(diǎn)。在最近二十多年里, 它是使用最廣泛的編程語(yǔ)言之一,被大量的運(yùn)用在系統(tǒng)軟件與應(yīng)用軟件的開發(fā)中。本章作為整本書的第一 章,將針對(duì) C 語(yǔ)言的發(fā)展歷史、開發(fā)環(huán)境搭建以及如何編寫 C 語(yǔ)言程序等內(nèi)容進(jìn)行詳細(xì)地講解。

1.1C語(yǔ)言概述

1.1.1 計(jì)算機(jī)語(yǔ)言

在揭開 C 語(yǔ)言的神秘面紗之前,先來認(rèn)識(shí)一下什么是計(jì)算機(jī)語(yǔ)言。計(jì)算機(jī)語(yǔ)言(Computer Language) 是人與計(jì)算機(jī)之間通訊的語(yǔ)言,它主要由一些指令組成,這些指令包括數(shù)字、符號(hào)和語(yǔ)法等內(nèi)容,編程人 員可以通過這些指令來指揮計(jì)算機(jī)進(jìn)行各種工作。
計(jì)算機(jī)語(yǔ)言有很多種類,根據(jù)功能和實(shí)現(xiàn)方式的不同大致可分為三大類,即機(jī)器語(yǔ)言、匯編語(yǔ)言和高 級(jí)語(yǔ)言,下面針對(duì)這三類語(yǔ)言的特點(diǎn)進(jìn)行簡(jiǎn)單介紹。

1、機(jī)器語(yǔ)言 計(jì)算機(jī)不需要翻譯就能直接識(shí)別的語(yǔ)言被稱為機(jī)器語(yǔ)言(又被稱為二進(jìn)制代碼語(yǔ)言),該語(yǔ)言是由二

進(jìn)制數(shù) 0 或 1 組成的一串指令,對(duì)于編程人員來說,機(jī)器語(yǔ)言不便于記憶和識(shí)別。
2、匯編語(yǔ)言 人們很早就認(rèn)識(shí)到這樣的一個(gè)事實(shí),盡管機(jī)器語(yǔ)言對(duì)計(jì)算機(jī)來說很好懂也很好用,但是對(duì)于編程人員
來說記住 0 和 1 組成的指令簡(jiǎn)直就是煎熬。為了解決這個(gè)問題,匯編語(yǔ)言誕生了。匯編語(yǔ)言用英文字母或 符號(hào)串來替代機(jī)器語(yǔ)言,把不易理解和記憶的機(jī)器語(yǔ)言按照對(duì)應(yīng)關(guān)系轉(zhuǎn)換成匯編指令。這樣一來,匯編語(yǔ) 言就比機(jī)器語(yǔ)言更加便于閱讀和理解。
3、高級(jí)語(yǔ)言 由于匯編語(yǔ)言依賴于硬件,使得程序的移植性極差,而且編程人員在使用新的計(jì)算機(jī)時(shí)還需學(xué)習(xí)新的
匯編指令,大大增加了編程人員的工作量,為此計(jì)算機(jī)高級(jí)語(yǔ)言誕生了。高級(jí)語(yǔ)言不是一門語(yǔ)言,而是一 類語(yǔ)言的統(tǒng)稱,它比匯編語(yǔ)言更貼近于人類使用的語(yǔ)言,易于理解、記憶和使用。由于高級(jí)語(yǔ)言和計(jì)算機(jī) 的架構(gòu)、指令集無關(guān),因此它具有良好的可移植性。
高級(jí)語(yǔ)言應(yīng)用非常廣泛,世界上絕大多數(shù)編程人員都在使用高級(jí)語(yǔ)言進(jìn)行程序開發(fā)。常見的高級(jí)語(yǔ)言 包括 C、C++、Java、VB、C#、Python、Ruby等。本書講解的 C 語(yǔ)言就是目前最流行、應(yīng)用最廣泛的高 級(jí)語(yǔ)言之一,也是計(jì)算機(jī)編程語(yǔ)言的元老。



1.1.2 什么是 C語(yǔ)言

C 語(yǔ)言是一種高級(jí)程序設(shè)計(jì)語(yǔ)言,具有簡(jiǎn)潔、緊湊、高效等特點(diǎn)。它既可以用于編寫應(yīng)用軟件,也可 以用于編寫系統(tǒng)軟件。自 1973 年問世以來,C語(yǔ)言迅速發(fā)展并成為最受歡迎的編程語(yǔ)言之一,下面針對(duì) C 語(yǔ)言的發(fā)展史和 C 語(yǔ)言標(biāo)準(zhǔn)分別進(jìn)行講解。
1、C語(yǔ)言的發(fā)展史
早期的系統(tǒng)軟件設(shè)計(jì)均采用匯編語(yǔ)言,例如,大家熟知的 UNIX 操作系統(tǒng)。盡管匯編語(yǔ)言在可移植性、 可維護(hù)性等方面遠(yuǎn)遠(yuǎn)不及高級(jí)語(yǔ)言,但是一般的高級(jí)語(yǔ)言有時(shí)難以實(shí)現(xiàn)匯編語(yǔ)言的某些功能。那么,能否 設(shè)計(jì)出一種集匯編語(yǔ)言和高級(jí)語(yǔ)言優(yōu)點(diǎn)于一身的語(yǔ)言呢?于是,C 語(yǔ)言就應(yīng)運(yùn)而生了。
C 語(yǔ)言的發(fā)展頗為有趣,它的原型是 ALGOL 60 語(yǔ)言(也稱 A 語(yǔ)言)。
1963 年,劍橋大學(xué)將 ALGOL 60 語(yǔ)言發(fā)展成為 CPL(Combined Programming Language)語(yǔ)言。
1967 年,劍橋大學(xué)的馬丁·理查茲(Matin Richards)對(duì) CPL 語(yǔ)言進(jìn)行了簡(jiǎn)化,于是產(chǎn)生了 BCPL 語(yǔ)言。
1970 年,美國(guó)貝爾實(shí)驗(yàn)室的肯·湯普森(Ken Thompson)將 BCPL 進(jìn)行了修改,并為它起了一個(gè)有趣 的名字“B 語(yǔ)言”,其含義是將 CPL 語(yǔ)言煮干,提煉出它的精華,并且他用 B 語(yǔ)言寫了第一個(gè) UNIX 操 作系統(tǒng)。
1973 年,美國(guó)貝爾實(shí)驗(yàn)室的丹尼斯·里奇(Dennis M.Ritchie)在 B 語(yǔ)言的基礎(chǔ)上設(shè)計(jì)出了一種新的語(yǔ) 言,他取了 BCPL 的第二個(gè)字母作為這種語(yǔ)言的名字,即 C 語(yǔ)言。
1978 年,布賴恩?凱尼漢(Brian W.Kernighan)和丹尼斯·里奇(Dennis M.Ritchie)出版了名著《The C Programming Language》,從而使 C 語(yǔ)言成為目前世界上流行最廣泛的高級(jí)程序設(shè)計(jì)語(yǔ)言。
2、C語(yǔ)言標(biāo)準(zhǔn)
隨著微型計(jì)算機(jī)的日益普及,出現(xiàn)了許多 C 語(yǔ)言版本。由于沒有統(tǒng)一的標(biāo)準(zhǔn),使得這些 C 語(yǔ)言之間出 現(xiàn)了一些不一致的地方。為了改變這種情況,美國(guó)國(guó)家標(biāo)準(zhǔn)學(xué)會(huì)(ANSI)為 C 語(yǔ)言制定了一套 ANSI 標(biāo)準(zhǔn), 即 C 語(yǔ)言標(biāo)準(zhǔn)。
在 1989 年美國(guó)國(guó)家標(biāo)準(zhǔn)學(xué)會(huì)(ANSI)通過的 C 語(yǔ)言標(biāo)準(zhǔn) ANSI X3.159-1989 被稱為 C89。之后在 1990 年,國(guó)際標(biāo)準(zhǔn)化組織 ISO 也接受了同樣的標(biāo)準(zhǔn)ISO9899-1990,該標(biāo)準(zhǔn)被稱為 C90。這兩個(gè)標(biāo)準(zhǔn)只有細(xì)微的 差別,因此,通常來講 C89 和 C90 指的是同一個(gè)版本。
后來隨著時(shí)代的發(fā)展,1999 年 ANSI 又通過了 C99 標(biāo)準(zhǔn)。C99 標(biāo)準(zhǔn)相對(duì) C89 做了很多修改,例如變量 聲明可以不放在函數(shù)開頭,支持變長(zhǎng)數(shù)組等。但由于很多編譯器仍然沒有對(duì) C99 提供完整的支持,因此本 書將按照 C89 標(biāo)準(zhǔn)來進(jìn)行講解,在適當(dāng)時(shí)會(huì)補(bǔ)充 C99 標(biāo)準(zhǔn)的規(guī)定和用法。

1.1.3 為什么要學(xué)習(xí) C語(yǔ)言

從 20 世紀(jì) 70 年代起,C 語(yǔ)言通過 UNIX 操作系統(tǒng)迅速發(fā)展起來,逐漸占據(jù)了大、中、小以及微型機(jī), 成為風(fēng)靡世界的計(jì)算機(jī)語(yǔ)言。大多數(shù)軟件開發(fā)商都優(yōu)先選擇 C 語(yǔ)言來開發(fā)系統(tǒng)軟件、應(yīng)用程序、編譯器和 其他產(chǎn)品。
這樣的現(xiàn)象一直保持了 20 年,直到 20 世紀(jì) 90 年代,一種代表著先進(jìn)思想的語(yǔ)言問世,也就是 C 語(yǔ) 言的超集 C++,由于 C++解決了 C 語(yǔ)言不能解決的諸多難題,所以許多開發(fā)商開始使用 C++來開發(fā)一些復(fù) 雜的、規(guī)模較大的項(xiàng)目,因此,C 語(yǔ)言進(jìn)入一個(gè)冷落時(shí)期。
這個(gè)冷落時(shí)期并沒有持續(xù)太長(zhǎng)時(shí)間,隨著嵌入式產(chǎn)品的增多,C 語(yǔ)言簡(jiǎn)潔高效的特點(diǎn)又被重視起來, 被廣泛地應(yīng)用于手機(jī)、游戲機(jī)、機(jī)頂盒、平板電腦、高清電視、VDC/DVD/MP3 播放器、電子字典、可視 電話等現(xiàn)代化設(shè)備的微處理器編程。隨著信息化、智能化、網(wǎng)絡(luò)化的發(fā)展,嵌入式系統(tǒng)技術(shù)的發(fā)展空間還會(huì)逐漸加大,而 C 語(yǔ)言的地位也會(huì)越來越高。因此,學(xué)習(xí)好 C 語(yǔ)言是很有必要的,掌握好 C 語(yǔ)言的編程
知識(shí),也是求職拿高薪的敲門磚。

1.2開發(fā)環(huán)境搭建

在使用 C 語(yǔ)言開發(fā)程序之前,首先要在系統(tǒng)中搭建開發(fā)環(huán)境,F(xiàn)在主流開發(fā)工具有很多種,接下來本 節(jié)將針對(duì)常見的開發(fā)工具進(jìn)行簡(jiǎn)單介紹,并重點(diǎn)講解如何搭建 C 語(yǔ)言開發(fā)環(huán)境。

1.2.1 主流開發(fā)工具介紹

C 語(yǔ)言程序有多種開發(fā)工具,選擇合適的開發(fā)工具,可以讓讀者更加快速的進(jìn)行程序編寫,接下來將 針對(duì)幾種主流的開發(fā)工具進(jìn)行介紹,具體如下:
1、VisualStudio工具
Visual Studio(簡(jiǎn)稱 VS)是由微軟公司發(fā)布的集成開發(fā)環(huán)境。它包括了整個(gè)軟件生命周期中所需要的 大部分工具,如 UML 工具、代碼管控工具、集成開發(fā)環(huán)境(IDE)等。
Visual Studio 支持 C/C++、C#、F#、VB 等多種程序語(yǔ)言的開發(fā)和測(cè)試,功能十分強(qiáng)大。常用的版本 有 Visual Studio 2010、Visual Studio 2012 等,目前最新版本為 Visual Studio 2013。
2、Code::Block工具
Code::Block 是一個(gè)免費(fèi)的跨平臺(tái) IDE,它支持 C、C++和 Fortan 程序的開發(fā)。Code::Block 的最大特點(diǎn) 是它支持通過插件的方式對(duì) IDE 自身功能進(jìn)行擴(kuò)展,這使得 Code::Block 具有很強(qiáng)的靈活性,方便用戶使 用。
Code::Block 本身并不包含編譯器和調(diào)試器,它僅僅提供了一些基本的工具,用來幫助編程人員從命令 行中解放出來,使編程人員享受更友好的代碼編輯界面。不過,在后期 Code::Block 的發(fā)行版本中已經(jīng)以 插件的形式提供了編譯和調(diào)試的功能。
3Eclipse工具
Eclipse 是一種被廣泛使用的免費(fèi)跨平臺(tái) IDE,最初由 IBM 公司開發(fā),目前由開源社區(qū)的 Eclipse 基金 會(huì)負(fù)責(zé) Eclipse 的管理和維護(hù)。一開始 Eclipse 被設(shè)計(jì)為專門用于 Java 語(yǔ)言開發(fā)的 IDE,現(xiàn)在 Eclipse 已經(jīng) 可以用來開發(fā) C、C++、Python 和 PHP 等眾多語(yǔ)言。
Eclipse 本身是一個(gè)輕量級(jí)的 IDE,在此之上,用戶可以根據(jù)需要安裝多種不同的插件來擴(kuò)展 Eclipse
的功能。除了利用插件支持其他語(yǔ)言的開發(fā)之外,Eclipse 還可以利用插件實(shí)現(xiàn)項(xiàng)目的版本控制等功能。
4、Vim工具
和其他 IDE 不同的是,Vim 本身并不是一個(gè)用于開發(fā)計(jì)算機(jī)程序的 IDE,而是一款功能非常強(qiáng)大的文 本編輯器,它是 UNIX 系統(tǒng)上 Vi 編輯器的升級(jí)版。和 Code::Block 以及 Eclipse 類似,Vim 也支持通過插 件擴(kuò)展自己的功能。Vim 不僅適用于編寫程序,而且還適用于幾乎所有需要文本編輯的場(chǎng)合,Vim還因?yàn)?其強(qiáng)大的插件功能,以及高效方便的編輯特性而被稱為是程序員的編輯器。
由于 Vim 配置多種插件可以實(shí)現(xiàn)幾乎和 IDE 同樣的功能,因此,Vim 有時(shí)也被編程人員直接當(dāng)作 IDE來使用。


1.2.2 VisualStudio 安裝

開發(fā) C 語(yǔ)言程序最常用的工具是 Visual Studio,目前最新版本為 Visual Studio 2013,該版本的開發(fā)工 具有功能全面、界面友好等特點(diǎn)。Visual Studio 2013 開發(fā)工具還分為多個(gè)版本,大家可以針對(duì)不同的需求 選擇不同的版本。本書選擇的開發(fā)工具是 Visual Studio Express 2013 for Windows Desktop,它是Visual Studio  產(chǎn)品的輕量版本,具備易學(xué)、易用、易上手等特點(diǎn),更加適合讀者使用。
接下來通過具體的步驟來演示如何在 Windows7 系統(tǒng)上安裝 Visual Studio Express 2013 for Windows
Desktop 開發(fā)工具。
1、 開始安裝
從微軟的官網(wǎng)下載 VS2013_RTM_DskExp_CHS.iso 鏡像文件,在本地可以直接解壓或者通過虛擬光驅(qū) 來進(jìn)行安裝,解壓后以管理員身份運(yùn)行安裝程序,此時(shí)顯示 Visual Studio 界面,如圖 1-1 所示。

圖1-1 Visual Studio
圖 1-1 所示的開始安裝界面會(huì)暫停片刻,然后便會(huì)進(jìn)入路徑選擇界面,如圖 1-2 所示。

圖1-2 路徑選擇界面
從圖 1-2 可以看出,程序的安裝路徑默認(rèn)為 C:\Program Files(x86)\Microsoft Visual Studio 12.0,單擊安 裝路徑后的瀏覽按鈕,可以把 Visual Studio 開發(fā)工具安裝到指定的路徑,本書使用默認(rèn)路徑進(jìn)行安裝。
選中【我同意許可條款和隱私策略】選項(xiàng),取消對(duì)【加入 Visual Studio 體驗(yàn)改善計(jì)劃及幫助改善 Visual
Studio 的質(zhì)量可靠性和性能(可選)】選項(xiàng)的勾選,如圖 1-3 所示。




圖1-3 路徑選擇界面
點(diǎn)擊圖 1-3 路徑選擇界面中的“安裝(N)”,此時(shí)便會(huì)出現(xiàn)安裝界面,如圖 1-4 所示。

圖1-4 安裝界面
圖 1-4 所示的安裝界面正在加載 Visual Studio 安裝所需的組件,這個(gè)過程會(huì)持續(xù)較長(zhǎng)的時(shí)間,需要耐 心等待。
2、 安裝完成
Visual Studio 安裝成功后,會(huì)看到安裝成功界面,如圖 1-5 所示。






至此,Visual Studio 便安裝完成了。
3、 啟動(dòng) VisualStudio
圖1-5 安裝成功界面



點(diǎn)擊圖 1-5 中的“啟動(dòng)(L)”,啟動(dòng) Visual Studio 開發(fā)工具,界面如圖 1-6 所示。

圖1-6 啟動(dòng)起始界面
程序啟動(dòng)后會(huì)在圖 1-6 所示的界面停留片刻,便會(huì)自動(dòng)進(jìn)入歡迎界面,如圖 1-7 所示。



圖1-7 歡迎界面
在圖 1-7 的歡迎界面中,可以看到【登錄(I)】按鈕,如果注冊(cè)了微軟賬號(hào)的用戶可以選擇這種方式 進(jìn)行登錄。為了方便起見,在此選擇“以后再說”選項(xiàng),進(jìn)入準(zhǔn)備階段,如圖 1-8 所示。

圖1-8 準(zhǔn)備階段
由于是第一次啟動(dòng) Visual Studio 開發(fā)工具,因此需要一段時(shí)間進(jìn)行準(zhǔn)備。準(zhǔn)備完成后會(huì)顯示起始頁(yè)面, 如圖 1-9 所示。



圖1-9 起始頁(yè)
至此,如果看到了圖 1-9 所示的起始界面,便說明 Visual Studio 啟動(dòng)成功了。

1.2.3 VisualStudio 主界面

使用 Visual Studio 工具進(jìn)行程序開發(fā),主要是在 Visual Studio 的主界面中進(jìn)行的。主界面由標(biāo)題欄、 菜單欄、工具欄、代碼編輯窗口、解決方案資源管理器、輸出窗口、屬性窗口等組成,具體如圖 1-10 所示。

圖1-10 主界面 在程序開發(fā)時(shí),主要會(huì)用到主界面中的 4 個(gè)部分,每個(gè)部分功能都不相同,具體說明如下:
?              代碼編輯窗口:用于顯示和編寫代碼。
?              解決方案資源管理器:用來顯示項(xiàng)目文件的組成結(jié)構(gòu),如 Program01 項(xiàng)目中包含頭文件、外部依 賴項(xiàng)、源文件(HelloWorld.c)、資源文件。
?              輸出窗口:用于顯示項(xiàng)目中的一些警告和錯(cuò)誤。
?              屬性窗口:用于顯示當(dāng)前操作文件的相關(guān)信息,如項(xiàng)目文件名稱、文件類型等。



1.3編寫 HelloWorld程序

通過上一小節(jié)的學(xué)習(xí),讀者對(duì) Visual Studio 開發(fā)工具有了一個(gè)基本的認(rèn)識(shí)。為了快速熟悉工具的使用 以及了解 C 語(yǔ)言程序的編寫,本節(jié)將通過一個(gè)向控制臺(tái)輸出“Hello, world”的程序?yàn)樽x者演示如何在 Visual Studio 工具中開發(fā)一個(gè) C 語(yǔ)言應(yīng)用程序,具體實(shí)現(xiàn)步驟如下:
1、 新建項(xiàng)目
啟動(dòng) Visual Studio 開發(fā)工具,在菜單欄中選擇【文件】?【新建項(xiàng)目】,如圖 1-11 所示。

圖1-11 創(chuàng)建項(xiàng)目
點(diǎn)擊圖 1-11 中所示的【新建項(xiàng)目】菜單,此時(shí)會(huì)彈出新建項(xiàng)目窗口,在新建項(xiàng)目窗口中可以選擇創(chuàng)建 的項(xiàng)目類型,設(shè)置項(xiàng)目名稱、位置、解決方案名稱等,如圖 1-12 所示。

圖1-12 新建項(xiàng)目窗口



從圖 1-12 中可以看出,項(xiàng)目窗口大致可分為 3 個(gè)部分,其中模板區(qū)域可以選擇要開發(fā)項(xiàng)目的模板,項(xiàng)
目區(qū)域可以選擇要?jiǎng)?chuàng)建項(xiàng)目的類型。在項(xiàng)目區(qū)域的下方,可以設(shè)置項(xiàng)目名稱、位置(項(xiàng)目的保存位置)以 及解決方案名稱,解決方案名稱默認(rèn)與項(xiàng)目名相同。
模板區(qū)域包含了項(xiàng)目開發(fā)中的多個(gè)模板,如 Visual Basic、Visual C#、Visual C++等模板。由于本書是 針對(duì) C 語(yǔ)言進(jìn)行講解的,因此只會(huì)用到 C++中的模板,接下來將針對(duì) C++模板下的項(xiàng)目類型進(jìn)行介紹,具 體如下:
?              Win32 控制臺(tái)應(yīng)用程序:用于創(chuàng)建 Win32 控制臺(tái)應(yīng)用程序的項(xiàng)目。
?              Win32 項(xiàng)目:用于創(chuàng)建 Win32 應(yīng)用程序、控制臺(tái)應(yīng)用程序、DLL 或其他靜態(tài)庫(kù)項(xiàng)目。
?              空項(xiàng)目:用于創(chuàng)建本地應(yīng)用程序的空項(xiàng)目。
?              生成文件項(xiàng)目:用于使用外部生成系統(tǒng)的項(xiàng)目。
在此,選擇 C++模板中的 Win32 控制臺(tái)應(yīng)用程序(運(yùn)行結(jié)果會(huì)顯示在命令行窗口中),然后將項(xiàng)目名 稱設(shè)置為 Program01,項(xiàng)目的位置為“D:\itcast\”,并將解決方案的名稱設(shè)置為 chapter01,這樣創(chuàng)建的程
序文件就會(huì)生成在“D:\itcast\chapter01”目錄中。最后點(diǎn)擊【確定】按鈕,彈出一個(gè) Win32 應(yīng)用程序向?qū)?窗口,如圖 1-13 所示。

圖1-13 Win32 應(yīng)用程序向?qū)Т翱?/font>
在圖 1-13 所示的窗口中,系統(tǒng)默認(rèn)選擇控制臺(tái)應(yīng)用程序,然后點(diǎn)擊【下一步】按鈕,此時(shí)出現(xiàn) Win32
應(yīng)用程序向?qū)У牡诙䝼(gè)窗口,如圖 1-14 所示。



圖1-14 Win32 應(yīng)用程序向?qū)Т翱?/font>
在圖 1-14 中,勾選【空項(xiàng)目】選項(xiàng),然后點(diǎn)擊【完成】按鈕,至此便完成了 Program01 項(xiàng)目的創(chuàng)建。
2、 添加源文件
項(xiàng)目創(chuàng)建完成后,就可以在 Program01 項(xiàng)目中添加 C 語(yǔ)言源文件。在 Program01 項(xiàng)目中的源文件夾上 點(diǎn)擊鼠標(biāo)右鍵,在彈出的菜單中依次選擇【添加】?【新建項(xiàng)】,如圖 1-15 所示。

圖1-15 添加新建項(xiàng)
點(diǎn)擊圖 1-15 中的新建項(xiàng),隨后在彈出的添加新項(xiàng)窗口里選擇【C++ 文件(.cpp)】,并在名稱輸入框中 填寫“HelloWorld.c”,如圖 1-16 所示。






3、編寫代碼
圖1-16 添加源文件



點(diǎn)擊圖 1-16 中的【添加】按鈕,HelloWorld.c 源文件便創(chuàng)建成功,此時(shí),在解決方案資源管理器的源 文件夾中便可以看到 HelloWorld.c 文件,如圖 1-17 所示。

圖1-17 HelloWorld.c 文件
為了讓讀者對(duì) C 語(yǔ)言編程有一個(gè)簡(jiǎn)單了解,接下來在圖 1-17 的編輯區(qū)中編寫 HelloWorld.c 程序,具體 代碼如例 1-1 所示。
例1-1
1              #include <stdio.h>

2              int main()

3              {

4              printf("Hello, world\n");

5              return 0;



6 }              
例 1-1 就是一個(gè)完整的 C 語(yǔ)言程序,接下來針對(duì)該程序中的語(yǔ)法細(xì)節(jié)進(jìn)行詳細(xì)地講解,具體如下:
?              第 1 行代碼的作用是進(jìn)行相關(guān)的預(yù)處理操作。其中字符“#”是預(yù)處理標(biāo)志,用來對(duì)文本進(jìn)行預(yù) 處理操作,include 是預(yù)處理指令,它后面跟著一對(duì)尖括號(hào),表示頭文件在尖括號(hào)內(nèi)讀入。stdio.h 就是標(biāo)準(zhǔn)輸入輸出頭文件,由于在第 4 行用到了 printf()輸出函數(shù),所以需加此頭文件。
?              第 2 行代碼聲明了一個(gè) main()函數(shù),該函數(shù)是程序的主入口,程序總是從 main()函數(shù)開始執(zhí)行。 main()函數(shù)前面的 int 表示該函數(shù)的返回值類型是整型。代碼第 3~6 行“{}”中的內(nèi)容是函數(shù)體, 程序的相關(guān)操作都要寫在函數(shù)體中。
?              第 4 行代碼聲明了一個(gè)用于格式化輸出的函數(shù) printf(),該函數(shù)用于輸出一行信息,可以簡(jiǎn)單理解 為向控制臺(tái)輸出文字或符號(hào)等。printf()括號(hào)中的內(nèi)容稱為函數(shù)的參數(shù),括號(hào)內(nèi)可以看到輸出的字 符串“Hello, world\n”,其中“\n”表示換行操作,它不會(huì)輸出到控制臺(tái)。
?              第 5 行代碼中 return 語(yǔ)句的作用是將函數(shù)的執(zhí)行結(jié)果返回,后面緊跟著函數(shù)的返回值,返回值一 般用 0 或-1 表示,0 表示正常,-1 表示異常。
值得一提的是,在 C 語(yǔ)言程序中,以分號(hào)(;)作為結(jié)束標(biāo)記的代碼都可稱為語(yǔ)句,如例 1-1 中的第 4
行、第 5 行代碼都是語(yǔ)句,被“{}”括起來的語(yǔ)句被稱為語(yǔ)句塊。
4、運(yùn)行程序
HelloWorld 程序編寫完成并保存后,就可以對(duì) HelloWorld 程序進(jìn)行編譯和運(yùn)行操作。選擇【調(diào)試】?
【開始執(zhí)行(不調(diào)試)】選項(xiàng),或者直接使用快捷鍵 Ctrl+F5 來運(yùn)行程序,如圖 1-18 所示。

圖1-18 運(yùn)行程序 程序運(yùn)行后,會(huì)彈出命令行窗口并在該窗口中輸出運(yùn)行結(jié)果,如圖1-19 所示。

圖1-19 運(yùn)行結(jié)果
至此,便完成了 HelloWorld 程序的創(chuàng)建、編寫以及運(yùn)行過程。讀者在此只需有個(gè)大致印象即可,后面 將會(huì)繼續(xù)講解如何使用 Visual Studio 開發(fā)工具編寫 C 語(yǔ)言程序。



1.4注釋

在編寫程序時(shí),為了使代碼易于閱讀,通常會(huì)在實(shí)現(xiàn)功能的同時(shí)為代碼加一些注釋。注釋是對(duì)程序的 某個(gè)功能或者某行代碼的解釋說明,它只在 C 語(yǔ)言源文件中有效,在編譯時(shí)會(huì)被編譯器忽略。
C 語(yǔ)言中的注釋有兩種類型,具體如下:
1、 單行注釋
單行注釋通常用于對(duì)程序中的某一行代碼進(jìn)行解釋,用“//”符號(hào)表示,“//”后面為被注釋的內(nèi)容, 具體示例如下:
              printf("Hello, world\n");               //輸出 Hello,world              
2、 多行注釋
顧名思義,多行注釋就是在注釋中的內(nèi)容可以為多行,它以符號(hào)“/*”開頭,以符號(hào)“*/”結(jié)尾,具 體示例如下:
/* printf("Hello, world\n");

return 0; */

腳下留心:
在 C 語(yǔ)言中,有的注釋可以嵌套使用,有的則不可以,下面列出兩種具體的情況。
1、多行注釋“/*…*/”中可以嵌套單行注釋“//”,例如:
/* printf("Hello, world\n");              //輸出 Hello,world
return 0; */
2、多行注釋“/*…*/”中不能嵌套多行注釋“/*…*/”,例如:
/*

/* printf("Hello, world\n");

return 0; */

*/
上面的代碼無法通過編譯,原因在于第一個(gè)“/*”會(huì)和第一個(gè)“*/”進(jìn)行配對(duì),而第二個(gè)“*/”則找不 到匹配。

1.5本章小結(jié)

本章首先講解了 C 語(yǔ)言的基礎(chǔ)知識(shí),然后講解了 Visual Studio 開發(fā)環(huán)境的搭建以及如何開發(fā)一個(gè) HelloWorld 程序,最后講解了 C 語(yǔ)言程序中的注釋。通過本章的學(xué)習(xí),大家會(huì)對(duì) C 語(yǔ)言有一個(gè)概念上的認(rèn) 識(shí),并了解如何開發(fā)一個(gè) C 語(yǔ)言程序,為后面的程序開發(fā)奠定基礎(chǔ)。


1.6習(xí)題

一、填空題
1、計(jì)算機(jī)語(yǔ)言總的來說可分為機(jī)器語(yǔ)言、、三大類。
2、C 語(yǔ)言中源文件的后綴名為。
3、在程序中,如果使用 printf()函數(shù),應(yīng)該包含頭文件。
4、在 main()函數(shù)中,用于返回函數(shù)執(zhí)行結(jié)果的是語(yǔ)句。
5、C 語(yǔ)言程序在運(yùn)行時(shí),必須經(jīng)過和兩個(gè)階段。


二、判斷題
1、C 語(yǔ)言并不屬于高級(jí)語(yǔ)言。
2、計(jì)算機(jī)語(yǔ)言(Computer Language)是人與計(jì)算機(jī)之間通訊的語(yǔ)言。
3、C 語(yǔ)言并不能實(shí)現(xiàn)匯編語(yǔ)言的大部分功能。
4、Eclipse 工具和 Visual Studio 工具都可以開發(fā) C 語(yǔ)言。
5、C 語(yǔ)言中的 main()函數(shù)是程序的主入口。 三、選擇題
1、下面選項(xiàng)中表示主函數(shù)的是?
A、main()              B、int              C、printf()              D、return
2、C 語(yǔ)言屬于下列哪類計(jì)算機(jī)語(yǔ)言?
A、匯編語(yǔ)言              B、 高級(jí)語(yǔ)言              C、機(jī)器語(yǔ)言              D、以上均不屬于
3、下列關(guān)于主函數(shù)說法錯(cuò)誤的是?(多選) A、一個(gè) C 程序中只能包含一個(gè)主函數(shù) B、主函數(shù)是 C 程序的入口
C、C 程序中可以包含多個(gè)主函數(shù)
D、主函數(shù)只能包含輸出語(yǔ)句
4、下列選項(xiàng)中,不屬于 C 語(yǔ)言優(yōu)點(diǎn)的是?
A、不依賴計(jì)算機(jī)硬件              B、簡(jiǎn)潔、高效              C、可移植              D、面向?qū)ο?/div>
5、下列選項(xiàng)中,哪一個(gè)是多行注釋?
A、//              B、/**/              C、\\              D、以上均不屬于 四、簡(jiǎn)答題
1、請(qǐng)簡(jiǎn)述 printf()函數(shù)的作用。
2、請(qǐng)簡(jiǎn)述 C 語(yǔ)言中注釋的作用。 五、編程題
1、使用 Visual Studio 開發(fā)工具編寫一個(gè)控制臺(tái)程序,要求在控制臺(tái)上輸出一句話:“我喜歡 C 語(yǔ)言!”。

完整的pdf格式文檔51黑下載地址(內(nèi)含清晰大圖):
01_第1章 初識(shí)C語(yǔ)言.pdf (838.79 KB, 下載次數(shù): 7)
02_c語(yǔ)言32個(gè)關(guān)鍵字.pdf (207.46 KB, 下載次數(shù): 5)
03_vs2013快捷鍵.pdf (169.72 KB, 下載次數(shù): 9)


分享到:  QQ好友和群QQ好友和群 QQ空間QQ空間 騰訊微博騰訊微博 騰訊朋友騰訊朋友
收藏收藏2 分享淘帖 頂 踩
回復(fù)

使用道具 舉報(bào)

本版積分規(guī)則

手機(jī)版|小黑屋|51黑電子論壇 |51黑電子論壇6群 QQ 管理員QQ:125739409;技術(shù)交流QQ群281945664

Powered by 單片機(jī)教程網(wǎng)

快速回復(fù) 返回頂部 返回列表