C語言簡明教程_第1頁
C語言簡明教程_第2頁
C語言簡明教程_第3頁
C語言簡明教程_第4頁
C語言簡明教程_第5頁
已閱讀5頁,還剩12頁未讀, 繼續(xù)免費閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)

文檔簡介

第1章c語言入門

【本章要點】

簡單了解c語言的歷史與發(fā)展;掌握c語言程序的主要組成部分;掌握c語言程序的

運行過程與運行環(huán)境(TC2.0、VC++6.0);了解C++和C#。

1.1C語言的歷史與發(fā)展

c語言具有功能強大、語句精少、程序簡練、靈活方便、效率高、移植性好等特點,

因此使用非常廣泛,不僅在計算機軟件專業(yè)人員中被廣泛使用,而且受到廣大計算機應(yīng)用

人員的青睞。與計算機語言有關(guān)的各類考試中,也都將C語言作為考試科目之一。由此可

見,C語言是初學(xué)者學(xué)習(xí)計算機語言的首選語種。

C語言是由B語言演變而來的,其命名源于BCPL語言的第二個字母。1972年,在

PDP-11計算機.上實現(xiàn)了最初的C語言,它的操作系統(tǒng)平臺是UNIX。1977年,出現(xiàn)了首個

不依賴于具體機器的C語言編譯文本。1978年后,C語言得到了廣泛的移植和應(yīng)用。

C語言的發(fā)展速度非???,其發(fā)展是以版本為標(biāo)志的。1983年,ANSI公布了ANSICo

1987年,ANSI又公布了新標(biāo)準(zhǔn)——87ANSICo1990年,ISO將87ANSIC作為自己的標(biāo)

準(zhǔn)(ISO9899—1990)。1994年,ISO修訂了C語言標(biāo)準(zhǔn).

發(fā)展至今,C語言已經(jīng)有了40年的歷史,在高級語言中占據(jù)著重要的地位。C語言有

很多版本,如MC(MicrosoftC)、QC(QuickC)、TC(TurboC)、TC++(BorlandC++)、

VC(VisualC),VC++、C#等,目前被廣泛使用的有TC、TC++、VC++和C#。

本書介紹的是傳統(tǒng)的C語言,但由于書中的程序都是在VC++6.0的環(huán)境中調(diào)試運行

的,因此書中實例的主函數(shù)前面都帶有void標(biāo)記。

1.2C語言的簡單程序

下面通過幾個簡單的例子,使讀者對c語言有-一個初步的認識。

例1.1在屏幕上顯示本書的書名。

->程序代碼

1/*0iJ1.1顯示本書的漢字書名"/

2#include<stdio.h>

3voidmain{)

4(

5printf(”C語言簡明教程\n");

6)

"運行結(jié)果

C語言簡明教程

上述程序雖然簡單,卻包含了C程序的幾個基本要素:注釋語句、預(yù)處理語句、主函

數(shù)開頭、函數(shù)體的開始、函數(shù)體以及函數(shù)體的結(jié)束。下面對其進行簡單說明。

第1行:注釋語句。該注釋語句用于對程序進行注解,以“/*”開頭,以“*/”結(jié)束,

兩者之間的內(nèi)容均為注釋的內(nèi)容。

需要注意的是,TC環(huán)境下只能使用“/*”和“*/”進行注釋,VC環(huán)境下除可以使用

“/*”和“*/”進行注釋外,還可以使用“〃”進行注釋。二者的區(qū)別在于:“〃”只能注

釋一行內(nèi)容;“/*”和“V”除可以注釋一行內(nèi)容外,還可以注釋一段內(nèi)容。注釋語句會呈

綠色顯示(在VC++6.0環(huán)境中,后同),程序不執(zhí)行注釋內(nèi)容,是“給人看的”。注釋語

句在程序中可用12個字來概括,即“可有可無,可多可少,位置不限”。

第2行:預(yù)處埋語句。表示在編譯程序之前,先執(zhí)行以“,’開頭的代碼行,以便于具

他代碼段能順利被執(zhí)行。這一點類似于開重要會議前的預(yù)備會議。

在這里,include的意思是包含,它表示將其后面的文件包含進來;<stdio.h>是一個用

尖括號括起來的文件名,其中,std是標(biāo)準(zhǔn)的英文縮寫,沁是輸入、輸出兩個英語單詞的首

字母,連在一起,就表示標(biāo)準(zhǔn)的輸入輸出,也就是鍵盤和顯示器,意思是從鍵盤輸入,由

顯示器輸出。程序中應(yīng)根據(jù)需要選取預(yù)處理語句,其位置一般在程序的開始處。

第3行:主函數(shù)開頭。其中,void表示空類型,說明主函數(shù)沒有數(shù)據(jù)類型;main的意

思為主、主要,即該函數(shù)為主函數(shù);一對圓括號用來括起函數(shù)的參數(shù),這里括號中為空,

表示沒有參數(shù)。一個程序可以包括多個函數(shù),但只能有且必須有一個主函數(shù)。主函數(shù)之外

的函數(shù)稱為其他函數(shù),其特點是“可有可無,可多可少”。當(dāng)有多個函數(shù)時,它們之間的

位置關(guān)系不受限制,但程序總是從主函數(shù)處開始執(zhí)行(無論主函數(shù)位于何處)。

第4行:函數(shù)體的開始。左花括號在程序中一般用作函數(shù)體和復(fù)合語句的開始。它必

須與右花括號成對使用,不能單獨出現(xiàn)。

第5行:函數(shù)體。函數(shù)要完成的具體工作,需要在函數(shù)體中給出,它是語句的集合。

本例中,函數(shù)體內(nèi)僅有一個標(biāo)準(zhǔn)輸出庫函數(shù)語句,其作用是在屏幕上顯示“C語言簡明教

程”幾個漢字。在這里,print是打印(即顯示)的意思,f是函數(shù)(function)英語單詞的

首字母,合在一起就表示打印輸出函數(shù)。圓括號內(nèi)是該打印函數(shù)的參數(shù),這里是用一對雙

引號括起來的內(nèi)容,其中,漢字是直接打印輸出的內(nèi)容,“\n”是控制符號,意思是換行。

函數(shù)最后的分號是語句結(jié)束符號(C語言的語句用分號作為結(jié)束標(biāo)志)。

第6行:函數(shù)體的結(jié)束。右花括號在程序中一般用作函數(shù)體和復(fù)合語句的結(jié)束。在這

里,右花括號也是程序的結(jié)束。

讀者可能已經(jīng)發(fā)現(xiàn),程序中所用到的字母幾乎全為小寫,這是由C語言系統(tǒng)規(guī)定的。

C語言簡明教程

另外,函數(shù)體中的語句在書寫上分層次向右縮進,這是程序編寫約定俗成的一個習(xí)慣,其

目的是讓程序?qū)哟吻逦?,結(jié)構(gòu)明確。讀者應(yīng)遵守系統(tǒng)規(guī)定,養(yǎng)成良好的編程習(xí)慣。

例1.2由鍵盤輸入矩形的長和寬,求矩形的面積。

“程序代碼

1"例1.2求矩形面積7

2include<stdio.h>

3voidmain()

4(

5floatl,w,s;

6printf("l=?,w=?\n");

7scanf("%f,%f,,&l,&w);

8s=l*w;

9printf("s=%f\n",s);

10)

”運行結(jié)果

l=?,w=?

5,10〈回車〉

S=50.000000

例1.2與例1.1相比,多出了定義變量、輸入數(shù)據(jù)、計算、輸出結(jié)果等內(nèi)容,使得程序

能實現(xiàn)簡單的運算功能。

第5行,定義變量。由于本程序是計算任意一個矩形的面積,其長、寬都是不固定的,

面積也是不固定的,所以用變量來代表3個參數(shù)。float的意思是浮點,即表示實數(shù)(可能

有小數(shù));1、w、S3個變量分別代表矩形的長、寬及面積,其取名來自英語單詞的首字母

和數(shù)學(xué)習(xí)慣。該變量定義語句必須寫在函數(shù)休的開頭,旦只能寫一次。這是因為,C語言

規(guī)定,變量必須先定義后使用,且不允許多次定義(但可以多次使用)。

第6行:提示行。用來提示用戶接下來要輸入什么內(nèi)容。

第7行:輸入數(shù)據(jù)。通過scanf函數(shù)輸入矩形的長和寬。這里scan的含義是掃描,即從鍵

盤獲得數(shù)據(jù);f表示函數(shù),合在一起就是掃描輸入函數(shù)。此函數(shù)(scanf)的參數(shù)有兩組,?組是

雙引號中的兩個"%?',另一組是帶符號的兩個變量。第一組是格式符號,表示輸入的數(shù)

據(jù)是十進制實數(shù)(浮點數(shù)):第二組表示取地址,即用取地址符&把輸入的兩個數(shù)存放在變量1、

w的內(nèi)存單元中(內(nèi)存分配由系統(tǒng)自動進行,編程序時不月考慮此問題)。

第8行:計算。這是一條計算矩形面積的語句(賦值語句),類似于數(shù)學(xué)公式“s=lX

w",只不過用星號代替了乘號。

第9行:輸出結(jié)果。通過piintf函數(shù)輸出矩形的面積。這里的輸出函數(shù)與第6行有所

不同,它的參數(shù)也有兩組:第一組是雙引號中的內(nèi)容,包括提示內(nèi)容“s=”、換行符“\n”

和格式符“%f”;第二組就是輸出的對象s。

例1.2比例1.1多了4條語句,這些語句在次序上必須如此,不能交換。其作用是告訴

計算機先干什么,后干什么,使其嚴(yán)格按順序逐條執(zhí)行各語句。這充分體現(xiàn)了程序設(shè)計的

宗旨一一語句執(zhí)行的過程及順序(關(guān)鍵是順序)。

4

例1.3調(diào)用函數(shù),計算3個整數(shù)的平均數(shù)。

》程序代碼

1〃例1.3求3個整數(shù)的平均數(shù)7

2#include<stdio.h>

3/*下面的average函數(shù)用于求3個數(shù)的平均數(shù)*/

4floataverage(intb,intc)

5{

6floatav;

7av=(a+b+c)/3.0;

8return(av);

9)

10

11voidmain()

12{

13intx,y,z;

14floatave;

15printf("inputthreeintegersx,y,z:\n");

16scanf("%d,%d,%d",&x,&y,&z);

17ave=average(x,y,z);

18printf("ave=%f\n",ave);

19)

3運行結(jié)果

inputthreeintegersx,y,z:

3,5,9〈回車)

ave=5.666667

與前面兩個例了相比,例1.3又有所不同。

(1)程序中包括兩個函數(shù)(庫函數(shù)除外):主函數(shù)(main)和其他函數(shù)(average)。

其中,average函數(shù)為用戶自定義函數(shù),且average函數(shù)在前,main函數(shù)在后,符合其他函

數(shù)”先定義,后使用”的習(xí)慣。

(2)兩個函數(shù)自成體系,有各自的變量定義及語句,它們的關(guān)系是主函數(shù)調(diào)用其他函數(shù)。

(3)數(shù)據(jù)類型有兩種:實型(float)和整型(int)o

第4?9行為average函數(shù)。下面就有關(guān)語句作如下說明。

第4行:定義了一個average函數(shù),其作用是計算3個數(shù)的平均數(shù)。該函數(shù)的首部由3

部分組成:函數(shù)類型(float)%函數(shù)名(average)及函數(shù)的參數(shù)(inta,intb,intc)o

第6行:定義了一個用于存放平均數(shù)的變量av。因為3個數(shù)相加再除以3之后求得的

平均值一般會有小數(shù),所以變量av是實型。

第7行:計算平均數(shù)的語句。請注意,這里一定要用3.0,否則結(jié)果將會是整數(shù)。

第8行:返回結(jié)果。return的意思是返回,av則是要返回的變量。該語句將變量av的

值返回到主函數(shù)。

C語言簡明教程

第11?19行為main函數(shù)。

第13行:主函數(shù)中定義了3個變量(x,y,z),與average函數(shù)中的3個參數(shù)(a,b,c)

----對應(yīng)。

第14行:主函數(shù)中定義了一個用于存放結(jié)果的變量avc,與average函數(shù)中的變量av

相對應(yīng)。

第16行:輸入數(shù)據(jù)函數(shù)。這里用到了“%d”格式符,表示輸入的是3個十進制整數(shù)。

第17行:調(diào)用average函數(shù),將返回的結(jié)果存放在變量ave中。

第18行:輸出結(jié)果函數(shù)。

以上3個例子各有特點,基本上代表了C語言的簡單程序類型。通過它們,讀者可對

C程序有一個初步的了解。

1.3C語言程序的主要組成部分

前面學(xué)習(xí)了程序的基本結(jié)構(gòu),下面來全面介紹c語言程序的士要組成部分。

1.3.1總體結(jié)構(gòu)

一個C語言程序,從總體上看,是函數(shù)的序列。它由各種函數(shù)組成,包括主函數(shù)、其

他函數(shù)(即用戶自定義的函數(shù))、系統(tǒng)提供的庫函數(shù)等。

此外,還有注釋、預(yù)處理以及后面要學(xué)到的函數(shù)原型說明、全局變量說明等。它們的

次序為:注釋、預(yù)處理、函數(shù)的原型說明、全局變量說明和函數(shù)序列。前4類的排列次序

可調(diào)換,但函數(shù)序列必須在它們之后。

注意,預(yù)處理結(jié)束時沒有分號,函數(shù)原型說明及全局變量說明結(jié)束時必須有分號;另

外,函數(shù)必須以花括號結(jié)束。

1.3.2構(gòu)成元素

函數(shù)體分為兩部分:說明部分和執(zhí)行部分。說明部分在前,執(zhí)行部分在后。說明部分用

于說明程序中所要用到的變量、數(shù)組、函數(shù)、結(jié)構(gòu)體等:光聲明);執(zhí)行部分是實現(xiàn)函數(shù)功

能的具體語句,在其中要用到前面說明過的內(nèi)容(后使用)。這兩部分的次序不能顛倒。

程序中,各部分內(nèi)容以字母為主,字母以小寫為主;還可以出現(xiàn)數(shù)字、符號、漢字等。

1.3.3書寫規(guī)定

編寫C語言程序時,應(yīng)遵循以下書寫規(guī)定。

(1)一條語句可以寫在一行,也可以寫在多行,但必須以分號作為結(jié)束(復(fù)合語句

除外)。

(2)一行可以寫一條語句,也可以寫多條語句,最好寫一條語句。

(3)對于有結(jié)構(gòu)的語句,最好采用縮進形式,這樣層次更清晰,結(jié)構(gòu)更明顯。

C語言簡明教程

1.4C語言程序的運行過程與運行環(huán)境

c語言程序在不同版本下的實現(xiàn)是不一樣的,下面分別進行介紹。

1.4.1C語言程序的運行過程

下面以流程圖的形式給出C語言程序的運行過程,如圖1-1所示。

圖1-1C語言程序運行過程流程圖

一個正確的C語言程序,其運行過程如下:源程序編寫完畢并存盤后,生成一個*.C

或*.cpp文件(TC環(huán)境中是*.c,VC++環(huán)境中是*.cpp);在系統(tǒng)編譯正確的情況下(即第4

步為N),形成*.obj文件;同樣,在連接正確的情況下(即第6步為N),形成*.exe文

件;最后,執(zhí)行該*.exe文件即可。

圖1-1中,步驟1、4\6,部分需要手動進行,其余部分則可由系統(tǒng)自動完成。另外,

運行程序時,在VC++環(huán)境中還會自動生成許多臨時性文件,讀者可以不去理會它們。

1.4.2VC++6.0環(huán)境

目前,大多數(shù)用戶使用的都是PC機,在Windows操作系統(tǒng)下安裝的C語言版本為

VisualC++6.0(簡稱VC++6.0)。

一個C語言程序在VisualC++6.0環(huán)境中的形成與執(zhí)行過程如下:啟動VisualC++6.0

一進入VisualC++6.0界面一編輯源程序一存盤一編譯程序一連接程序一執(zhí)行程序一查看

程序運行結(jié)果。下面,來詳細介紹一下VC++6.0環(huán)境中C語言程序的運行過程。

1.啟動VC++6.0

啟動VC++6.0有兩種方法:通過菜單命令啟動或通過快捷圖標(biāo)啟動。

選擇“開始"-*"所有程序”—MicrosoftVisualC++6.0-*MicrosoftVisualC++60命

令(見圖1-2),或雙擊桌面上的MicrosoftVisualC+-6.0圖標(biāo)(見圖1-3),即可打開

MicrosoftVisualC++,其工作界面如圖1-4所示。

C語言簡明教程

圖1-4MicrosoftVisualVC++環(huán)境窗口

MicrosoftVisualC++窗口中包括標(biāo)題欄、菜單欄、工具欄、工程區(qū)、編輯區(qū)、顯示區(qū)、

狀態(tài)行等區(qū)域。

□標(biāo)題欄:顯示文件名等信息。

□菜單欄:包括文件、編輯、查看、插入、工程、組建、工具、窗口、幫助等菜苴項。

□工具欄:顯示常用的工具按鈕。

□工程區(qū):顯示有關(guān)工程等信息。

□編輯區(qū):在此輸入程序和編輯、修改程序。

□顯示區(qū):主要顯示出錯信息等。

□狀態(tài)行:顯示當(dāng)前工作狀態(tài)。

2.編輯源程序

在VC++環(huán)境中編寫源程序的方法有兩種。

(1)先建法

即先建此類型的文件,然后再輸入程序代碼。在VC++60窗口中,選擇“文件”一“新

建”命令,打開“新建”對話框,如圖1-5所示。選擇“文件”選項卡,再在左側(cè)列表中

選擇C++SourceFile選項,并在“文件名”文本框中輸入要保存的文件名(擴展名為.cpp),

在“位置”文本框中輸入或選擇文件保存的路徑(如果不選,系統(tǒng)會用默認的路徑),最

后單擊“確定”按鈕即可創(chuàng)建一個空白的C++源程序。

圖1-5“新建”對話框

接下來將程序的代碼輸入即可。注意,中間要定時存盤,最后退出之前一定要存盤。

(2)后存法

即先建一個文本文件,最后(當(dāng)然在中間也可以)存盤時再改名為自己所需的文件名。在

這里,文件的擴展名既可以是.cpp,也可以為3C++程序的文件擴展名必須是.cpp,而.c是C

程序的文件擴展名。由于VC++兼容TC,所以在VC++環(huán)境中也可以生成擴展名為.c的源程序。

其操作步驟如下:單擊工具欄中的“新建”按鈕,直接進入輸入源程序界面。輸入程

10

序代碼,然后選擇“文件”f“另存為”命令,打開“保存為”對話框,如圖1-6所示。

在“文件名”文本框中輸入文件名(一定要給出擴展名),然后單擊“保存”按鈕即可。

圖1-6“保存為”對話框

3.編譯源程序

編譯源程序就是針對源程序進行語法檢查。若沒有任何語法錯誤和警告錯誤,則系統(tǒng)

會在顯示區(qū)給出編譯成功的提示信息,如圖1-7所示,并自動形成一個擴展名為.obj的目標(biāo)

文件。若程序中仍存在錯誤,則會在顯示區(qū)給出編譯不成功的提示信息,如圖1-8所示。

此時,只需再回到編輯狀態(tài)進行改錯即可。改錯一般只改語法錯誤,可以暫時不管警告錯

誤。編譯查出的錯誤會顯示在信息顯示區(qū),是英語句子,讀者要仔細閱讀(在提示信息的

最前面有錯誤所在的行號,照此去改錯也是比較容易的)。大多數(shù)情況下,編譯部分總會

出現(xiàn)一些錯誤,只不過是數(shù)量的多少而已。

xji-------------------------------Configuration:cx02-Win32Debug

Conpiling...

CX02.C

cxO2.obj-0error(s)?0varning(s)

圖1-7編譯成功的標(biāo)志

jcji--------------------------------Configuration:cxlxl-Win32Debug---------------

,Compiling...

CX1X1.C

e:\olx1.c(3):errorC2059:syntaxerror:*;*

執(zhí)行cl.exe時出錯.

cxlxl.obj-1error(s)90warning⑸

圖1-8編譯不成功(有?個語法錯誤)的標(biāo)志

實現(xiàn)編譯的方法有3種:一是單擊工具欄中的“編譯”按鈕圖:二是選擇“組建”

“編譯”命令;三是按功能鍵GH+F7。

C語言簡明教程

4.連接

連接就是將語法無誤的程序塊組合起來,形成一個完整的程序。這部分產(chǎn)生的錯誤通

常較少,如果有錯,其提示形式類似于編譯部分。連接也叫做生成(Build),連接無誤后

會生成一個.exe執(zhí)行文件。

進行連接的方法同樣有3種:一是單擊工具欄中的“連接”按鈕圜;二是選擇“組建”-

“連接”菜單命令;三是使用功能鍵F7。

5.執(zhí)行

執(zhí)行就是運行連接后生成的可執(zhí)行文件。執(zhí)行的方法同樣有3種:一是單擊工具欄中

的執(zhí)行按鈕二是選擇“組建”一“執(zhí)行”菜單命令;三是按功能鍵CIH+F5。

6.查看程序運行結(jié)果

程序執(zhí)行后,會出現(xiàn)一個對話框。此時,如果程序不要求輸入數(shù)據(jù),會直接顯示出運

行的結(jié)果(見圖1-9);如果要求輸入數(shù)據(jù),待數(shù)據(jù)輸入完后,會將結(jié)果顯示出來(見

圖1-10)o該過程中應(yīng)仔細觀察程序運行得出的結(jié)果是否正確,若正確,整個過程結(jié)束;

否則,應(yīng)回到編輯部分,重新修改程序,直到最終運行結(jié)果正確為止。

圖1-9執(zhí)行后不希要輸入數(shù)據(jù)的結(jié)果圖1-10執(zhí)行后需要輸入數(shù)據(jù)的結(jié)果

1.4.3TC2.0環(huán)境

TC(TurboC,加速C)是C的一個較好的版本,使用的人數(shù)很多,使用的時間也很

長,至今仍有不少的用戶在使用它。TC最早是在DOS環(huán)境下運行的,現(xiàn)在的Windows環(huán)

境也能使用。下面來簡單介紹一下其使用方法。

該系統(tǒng)非常小,僅占用約2.3MB空間。其下層有兩個子文件夾:INCLUDE(包含)

和LIB(庫)。若在Windows環(huán)境中使用,會再生成一個文件夾Debug(調(diào)試)。系統(tǒng)的

文件有幾十個.

1.啟動TC2.0

選擇“開始”一“所有程序”-TC2.0命令,或雙擊桌面上的TC2.0圖標(biāo),即可打

開TC2.0的窗口,如圖1-11所示。該窗口是一個DOS工作方式的界面,不能以圖形方式

工作(即不能用鼠標(biāo)進行操作)。

□標(biāo)題欄:顯示文件名等信息。

12

□菜單欄:包括File(文件)、Edit(編輯)、Run(運行)、Compile(編譯)、Project

(工程)、Options(選項)、Debug(調(diào)試)、Break/watch(斷點/監(jiān)視)等菜單項。

□狀態(tài)行:主要顯示光標(biāo)所在的行(Line)、列(Col)>插入(Insert),縮進形式

(Indent).現(xiàn)在編輯的文件名(含路徑)等信息。

□工作區(qū):可在此輸入、修改程序,當(dāng)運行出現(xiàn)錯誤時,還會分出一塊區(qū)域,用于

顯示錯誤信息。

□提示行:功能鍵提示。

標(biāo)題欄

狀態(tài)行

提示行

?1-11TC的窗口

2.編輯源程序

在工作區(qū)中輸入C語言程序,編寫完畢并確認無誤后,選擇File-Save命令或File一

Writet。命令均可將源程序存盤。如果該文件已保存過一次,也可按功能鍵F2快速存盤。

3.編譯、連接、運行

通過菜單命令Run或功能鍵CW+F9,可以一步編譯、連接、運行編輯好的C程序。

4.查看程序運行結(jié)果

通過菜單命令Run-*Userscreen或功能鍵A11+F5,可以查看程序的運行結(jié)果。

1.5C家族的其他主要成員

c語言發(fā)展至今.擁有眾多的成員及不同的版本,下面來介紹一下其主要的成員:C++

和C#。

1.5.1C++

1986年,Borland公司開發(fā)了TurboC++,后又推出了BorlandC++。C++是在C語言

C語言簡明教程

的基礎(chǔ)上擴充而成的,它與C語言最大的區(qū)別是增加了對面向?qū)ο蟪绦蛟O(shè)計的支持。下面

來介紹一下C++與C的不同之處。

□常量:增加了常量定義,用consi后帶類型名。

□變量:增加了引用型變量(reference),來說明變量的別名。變量的說明可以分

散,即可以與執(zhí)行語句的次序無關(guān)。

□源程序:文件獷展名中增加了.cpp“

□頭文件:在C中的<stdio.h>基礎(chǔ)上,又增加了<iostream.h>(輸入、輸出流)。

□注釋:增加了“〃”,用于定義語句。

□主函數(shù):main函數(shù)的前面加上了空類型(void)。

□其他函數(shù):其他函數(shù)在使用之前,加了原型說明。函數(shù)定義時,形參可以省略,

也可以賦初值。

□輸入:增加了cin語句,用操作符“>>”輸入,意為“取自”。

□輸出:增加了coin語句,用操作符“<<”輸出,意為“放到”。

□輸入、輸出中的操作符:oct表示轉(zhuǎn)換成八進制,dec表示轉(zhuǎn)換成十進制,hex表

示轉(zhuǎn)換成十六進制,setw用于設(shè)置輸出的寬度。

□作用域區(qū)分符:增加了作用域區(qū)分符(::),可以引用外部變量。

□自由存儲操作符:new和delete,用于提供動態(tài)存儲分配和釋放功能。

□在線函數(shù):用inline來定義在線函數(shù),提高了程序的運行效率。

下面通過幾個例子來了解一下C++程序。

例1.4在屏幕上顯示本書的書名(C++程序)。

"程序代碼

1"例1.4顯示本書的漢字書名7

2#Include<lostream.h>〃包含輸入輸出流

3voidmain()

4(

5cout?"C語言簡明教程”;

6)

”運行結(jié)果

C語言簡明教程

上述程序與C程序不同的地方主要有以下幾點。

第2行:包含的頭文件不同,在其后使用了以“//”開頭的注釋語句。

第3行:主函數(shù)前加了空類型(void)。

第5行:輸出使用的是cout函數(shù)。

例1.5求自由落體的速度(C++的程序)。

提示:計算公式為u=;g/2。

14

"程序代碼

1"例1.5求自由落體的速度v*/

2include<iostream.h>

3constfloatg=98;

4voidmain()

5(

6intt;

7floatv;

8cout?"t=";

9cin?t;

10v=g*t*V2;

11cout?"v="?V?,f\n";

12)

■>運行結(jié)果

t=5〈回車〉

v=122.5

現(xiàn)就例1.5與前面幾個程序的不同之處做一個說明,

第3行:定義常量。

第6、7行:定義變量。

第8行:提示信息。

第9行:輸入語句。

第10行:賦值語句,用于計算自由落體速度。

第11行?:輸出語句。

1.5.2C#

C#是由微軟開發(fā)的新一代面向?qū)ο蟮某绦蛘Z言,它是從C和C++語言中派生出來的,

因此具有C和C++的功能,又在面向?qū)ο蟪绦蛟O(shè)計、網(wǎng)頁制作等方面有著強大的功能,C#

是為.NET量身定做的高級編程語言,最適合開發(fā).NET應(yīng)用系統(tǒng)。

1.0#的主要特點

(1)具有開創(chuàng)性

C#是唯一沒有在設(shè)計思路上加入之前程序開發(fā)語言遺傳特點的新語言。

(2)功能強大

C#具有C和C++的功能,又在面向?qū)ο蟪绦蛟O(shè)計(OOP)、Web開發(fā)等方面具有強大

的功能。除了可以使用API,還能使用VS.NET類庫。C#還具有JAVA的許多技術(shù)。

2.C#與C、C++的主要區(qū)別

(1)默認情況下,C#在受控環(huán)境下運行,不允許直接操作內(nèi)存,所以它沒有在C和

C語言簡明教程

C++中大量使用的指針。

(2)C#具有面向?qū)ο缶幊陶Z言所應(yīng)有的一切特性,如封裝、繼承、多態(tài)等。在它的

類型系統(tǒng)中,每種類型都可以看作為一個對象,但只允許單繼承,即一個類不會有多個基

類,這樣就避免了類型定義的混亂。

(3)C#中沒有全局常量、全局變量和全局函數(shù),它們被封裝在一個類中。因此,用

C#編寫的代碼具有更好的可讀性,而且很少出現(xiàn)命名沖突的情況。

3.C#綜述

C#語句的主要特點如下所示。

□文件:源程序為*.cs(CSharp的縮寫),可執(zhí)行文件為*.exe。

□內(nèi)容:采用小寫字母編寫程序語句,以分號(;)作為語句結(jié)束符。

□注釋:與C++相同。

□數(shù)據(jù)結(jié)構(gòu):常量、變量、數(shù)據(jù)類型(值類型包括笥單類型、結(jié)構(gòu)類型和枚舉類型;引

用類型包括類、數(shù)組、代理、接口等類型)、函數(shù)、表達式(操作符與表達式一一

算術(shù)操作符、賦值操作符、邏輯操作符及各類表:iA式)。

□程序的輸入與輸出:調(diào)用System空間下的Console(控制臺)類的兩個方法為

ReadLine方法(用于行讀入)和WriteLine方法(用于行寫出)。

□語句:賦值語句(=)、分支語句(if、if...elseswitch)>循環(huán)語句(for,for...each%

while、do...while)、跳轉(zhuǎn)語句(break、continue)、異常處理語句(try…catch、

try...finally>try...catch...finally)。

卜面通過例子來簡單認識一下C#的程序結(jié)構(gòu)。

例1.6在屏幕上顯示“歡迎使用C#語言!"(C#程序)。

?程序代碼

1usingSystem;

2classHello

3(

4publicstaticvoidMain()

5(

6Console.WriteLine("歡迎使用C#語言!]

7}

8}

少運行結(jié)果

歡迎使用C#語言!

下面對程序作簡單解釋。

第1行:導(dǎo)入命名空間System。

第2行:定義Hello類。

第4行:Hell。類中公共靜態(tài)無類型的方法Main。

16

第6行:方法Main的主體中子類Console(是命名空間System下的)的WriteLine方

法(換行輸出一串字符)。

例1.7程序中輸入與輸出及變量的使用(C#程序)。

"程序代碼

1usingSystem;

2classHello

3(

4publicstaticvoidMain()

5(

6Console.Write("請輸入您的姓名:");

7Stringstr_bookName=Console.ReadLine();

8Console.WriteLine("您好!{0}”,str_bookName);

9)

10}

少運行結(jié)果

請輸入您的姓名:張三豐

您好!張三豐

上述程序與例1.6的不同之處如下。

第6行:使用了Wriie方法,不換行。

第7行:定義了字符串變量str_bookNamc,用RcadLinc方法輸入。

笫8行:輸出字符串變量stjbookName,{0}代表第一個參數(shù)列表。

通過以上的介紹及例子,讀者對C++、C#應(yīng)該有了一個初步的了解,為以后進一步

學(xué)習(xí)打下基礎(chǔ)。

本章小結(jié)

1.發(fā)展至今,C語言已有4

溫馨提示

  • 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. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

最新文檔

評論

0/150

提交評論