




版權說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權,請進行舉報或認領
文檔簡介
C語言程序設計基礎1.1C語言的發(fā)展歷史和特點1.2C語言程序的基本構成1.3C語言的基本語法成分1.4集成開發(fā)環(huán)境VisualC++簡介1.5C語言的上機執(zhí)行過程本章小結(jié)
本章要點
本章主要介紹C語言的發(fā)展歷史、基本特點;C語言程序的基本構成和基本語法成分;集成開發(fā)環(huán)境?VisualC++和?C?語言程序的上機執(zhí)行過程。本章的學習可為以后各章打下基礎。
1.1C語言的發(fā)展歷史和特點
1.1.1C語言的發(fā)展歷史C語言是國際上廣泛流行的、很有發(fā)展前途的計算機高級程序設計語言。它適合作為系統(tǒng)描述語言,既可以用來編寫系統(tǒng)軟件,也可以用來編寫應用軟件。以前的操作系統(tǒng)等系統(tǒng)軟件主要是用匯編語言編寫的。匯編語言依賴于計算機硬件,程序的可讀性和可移植性都比較差。為了在這些方面有所改善,最好能使用高級語言,于是,C語言就在這種情況下應運而生。
C語言的前身是B語言,后經(jīng)美國貝爾實驗室的布朗·W·卡尼漢和丹尼斯·M·利奇對其完善和擴充,提出了C語言。自1972年投入使用之后,C語言成為當今使用最為廣泛的程序設計語言之一。1987年美國標準化協(xié)會制定了C語言標準“ANSIC”,即現(xiàn)在流行的C語言。
1.1.2C語言的特點
C語言之所以能存在和發(fā)展,并具有生命力,主要由于其具有如下特點:
(1)?C語言簡潔、緊湊,使用方便、靈活。
C語言只有32個關鍵詞,9種控制語句,程序書寫形式自由,主要用小寫字母表示,壓縮了一切不必要的成分,相對于其他高級語言,C語言的源程序短,程序輸入工作量少。
(2)運算符豐富,表達式能力強。
C語言共有34種運算符,范圍廣泛,除一般高級語言所使用的算術、關系和邏輯運算符外,還可以實現(xiàn)以二進制位為單位的運算,并且具有如a++、--b等單項運算符和+=、-=、*=、/+等復合運算符。
(3)數(shù)據(jù)結(jié)構豐富,便于數(shù)據(jù)的描述與存儲。
C語言具有豐富的數(shù)據(jù)結(jié)構,其數(shù)據(jù)類型有整型、實型、字符型、數(shù)組類型、指針類型、結(jié)構體類型、共用體類型等,能用來實現(xiàn)各種復雜數(shù)據(jù)結(jié)構的運算。尤其是指針類型數(shù)據(jù),使用起來更為靈活、多樣。
(4)?C語言是結(jié)構化、模塊化的編程語言。
程序的邏輯結(jié)構可以使用順序、選擇和循環(huán)三種基本結(jié)構來構成。C語言程序采用函數(shù)結(jié)構,十分便于把整體程序分割成若干相對獨立的功能模塊,并且為程序模塊間的相互調(diào)用以及數(shù)據(jù)傳遞提供了便利。
(5)語法限制不太嚴格,程序設計自由度大。
C語言對數(shù)組下標越界不作檢查,由程序編寫者自己保證程序的正確。對變量類型的使用比較靈活。例如,整型與字符型數(shù)據(jù)以及邏輯型數(shù)據(jù)可以通用。一般的高級語言語法檢查比較嚴,能檢查出幾乎所有的語法錯誤。而C語言允許程序編寫者有較大的自由度,因此放寬了語法檢查。程序員應當仔細檢查程序,保證其正確,而不要過分依賴C編譯程序去查錯。“限制”與“靈活”是一對矛盾,限制嚴格,就失去靈活性;而強調(diào)靈活,就必然放松限制。一個不熟練的人員,編一個正確的C程序可能會比編一個其他高級語言程序難一些。也就是說,對用C語言的人,要求其對程序設計更熟練一些。
(6)生成目標代碼質(zhì)量高,程序執(zhí)行效率高。
C程序的運行效率一般只比用匯編程序生成的目標代碼效率低10%~20%。
(7)可移植性好。
與匯編語言相比,C程序基本上不作修改就可以在各種型號的計算機和各種操作系統(tǒng)中運行。
(8)?C語言是具有低級語言功能的高級語言。
C語言允許直接訪問物理地址,能進行位(bit)操作,能實現(xiàn)匯編語言的大部分功能,可以直接對硬件進行操作。因此C語言既具有高級語言的功能,又具有低級語言的許多功能,可用來編寫系統(tǒng)軟件。C語言的這種雙重性,使它既是成功的系統(tǒng)描述語言,又是通用的程序設計語言。有人把C語言稱為“高級語言中的低級語言”,也有人稱它為“中級語言”,意為兼有高級和低級語言的特點。
1.2C語言程序的基本構成
C語言的程序結(jié)構比較簡單,很容易掌握,它主要通過函數(shù)調(diào)用來實現(xiàn)指定的功能。在這一節(jié)中,將通過編寫簡單的C語言程序,來闡述C語言的程序結(jié)構,以便對C語言程序有一個概括的了解,為以后學習打下基礎。一個完整的C語言程序由一個或多個具有相對獨立功能的程序模塊組成,這樣的程序模塊稱為“函數(shù)”。因此,函數(shù)是C程序的基本單位。
一個C程序,不管它有多簡單,都必須有且只有一個主函數(shù),例如:
voidmain()
{
}
上面的函數(shù)是一個空主函數(shù),程序沒有任何意義,它什么都不做。
【例1-1】編寫一個C語言程序,用于顯示字符串“Hello,World!”。
源程序如下:
#include<stdio.h>
voidmain()
{
printf("Hello,World!\n");
}
這是一個簡單而完整的C語言程序,經(jīng)過編輯、編譯和連接后,其執(zhí)行結(jié)果是在屏幕的當前光標位置處顯示如下字符串:
Hello,World!
通過該程序我們可以知道:
(1)任何一個完整的C語言程序,都必須包含一個且只能包含一個名為main()的函數(shù),程序總是從main()函數(shù)開始執(zhí)行的。
(2)由左右花括號括起來的部分是函數(shù)體,函數(shù)體中的語句實現(xiàn)程序的預定功能。在本例中,main()函數(shù)的函數(shù)體中只有printf()一個語句,它的功能是進行格式化輸出(顯示),即將字符串“Hello,World!\n”顯示在終端屏幕上。其中,字符串中的字符“\”和“n”合起來,表示一個“換行”字符,在“換行”字符后面輸出的任何字符,將被顯示在屏幕的下一行上。
(3)?C語言中的每個基本語句,都是以“;”結(jié)束的,分號是C語言語句的終結(jié)符。
(4)?C語言程序的書寫格式比較自由,沒有固定的格式要求,在一行內(nèi),既可以寫一個語句,也可以寫多個語句。為了提高程序的可讀性,往往根據(jù)語句的從屬關系,以縮進書寫的形式來體現(xiàn)語句的層次性。
(5)?#include是編譯預處理指令,其作用是將由雙引號或尖括號括起來的文件中的內(nèi)容,讀入到該語句的位置處。
【例1-2】從鍵盤輸入兩個數(shù),求和后顯示。
源程序如下:
通過該程序我們可以知道:
(1)程序中由/*和*/括起來的內(nèi)容是程序的注釋部分,它是為了增加程序的可讀性而設置的。注釋部分對程序的編譯過程和執(zhí)行結(jié)果沒有任何影響。
(2)?C語言中的所有變量都必須定義為某種數(shù)據(jù)類型,同時必須遵循“先定義、后使用”的原則,如語句:
inta,b,c;
定義了a、b、c三個整型變量,以后就可以使用這三個變量來存放整型數(shù)據(jù)。
3)一個C語言程序可以由多個函數(shù)組成,通過函數(shù)之間的調(diào)用來實現(xiàn)相應的功能。程序中所使用的函數(shù),既可以是系統(tǒng)提供的庫函數(shù),也可以是用戶根據(jù)需要自己定義的函數(shù)。
(4)程序中調(diào)用scanf()函數(shù)的目的是進行格式化輸入。其中由圓括號括起來的部分是函數(shù)的參數(shù)部分,不同的函數(shù)需要不同的參數(shù)。scanf()函數(shù)中的參數(shù)主要包括兩部分內(nèi)容:一是“格式控制”部分,它用于對輸入數(shù)據(jù)的格式進行說明;二是“地址表”部分,它使用的是存放輸入數(shù)據(jù)的變量的地址。
1.3C語言的基本語法成分
1.3.1C語言的主要“單詞”1.標識符所謂標識符,是指程序中的變量、符號常量、數(shù)組、函數(shù)、類型、文件等對象的名字。
2.關鍵字
關鍵字又稱保留字,是C語言規(guī)定的具有特定意義的標識符,它已被C語言及其開發(fā)環(huán)境使用,每個關鍵字都有固定的含義,不能做其他用途使用。C語言的關鍵字分為以下三類。
(1)標識數(shù)據(jù)類型的關鍵字:int,long,short,char,float,double,signed,unsigned,struct,union,enum,void,volatile,const。
(2)標識存儲類型的關鍵字:auto,static,register,extern,typedef。
(3)標識流程控制的關鍵字:goto,return,break,continue,if,else,while,do,for,switch,case,default。
3.預定義標識符
預定義標識符是一類具有特殊含義的標識符,用于標識庫函數(shù)名和編譯預處理命令。系統(tǒng)允許用戶把這些標識符另做他用,但這將使這些標識符失去系統(tǒng)規(guī)定的原意。為了避免誤解,建議不要將這些預定義標識符另做他用。
C語言中常見的預定義標識符有以下幾種。
(1)編譯預處理命令,包括define,ifdef,ifndef,endif,include,line,if,else等。
(2)標準庫函數(shù),包括數(shù)學函數(shù)sqrt,fabs,sin,pow等,還有輸入/輸出函數(shù)scanf,printf,getchar,putchar,gets,puts等。
4.常量
常量是有數(shù)據(jù)類型的,如1234、12.34。
5.運算符
運算符代表對各種數(shù)據(jù)類型實際數(shù)據(jù)對象的運算,如+、-、*、/、%、>、>=、==等。
6.分隔符
分隔符包括?;、[?、]?、#、(?、)?等。
1.3.2C語言的主要語法單位
(1)表達式:運算符與運算對象組合就形成了表達式。如:a+b*c
(2)變量定義:變量也有數(shù)據(jù)類型,所以在定義變量時要說明相應變量的類型。如:inta
(3)語句:語句是程序最基本的執(zhí)行單位,程序的功能就是通過對一系列語句的執(zhí)行來實現(xiàn)的。C語言中包含了四種基本語句:流程控制語句、表達式語句、復合語句和空語句,它們完成各自特定的操作。C程序中的每個語句都由分號作為結(jié)束標志。
(4)函數(shù)定義與調(diào)用:函數(shù)是完成特定任務的獨立模塊,函數(shù)的使用主要涉及到函數(shù)的定義與調(diào)用。
(5)輸入/輸出:C語言沒有輸入/輸出語句,輸入/輸出用庫函數(shù)printf()、scanf()等實現(xiàn)。
1.4集成開發(fā)環(huán)境VisualC++簡介
全國計算機等級考試是由中國教育部考試中心負責組織實施的計算機能力等級認證考試。從2008年開始,該考試的C語言上機環(huán)境由此前的BorlandTC2.0改為MicrosoftVisualC++6.0。
Borland曾經(jīng)是無比輝煌的公司。20世紀80年代中期,Borland在DOS環(huán)境下開發(fā)出來的C語言集成開發(fā)環(huán)境TC?2.0風靡全球。在DOS環(huán)境下,TC2.0的設計堪稱是一個奇跡,Borland也因此名氣大震。然而,斗轉(zhuǎn)星移,微軟的VC++6.0后來居上,它是Windows時代的產(chǎn)物。在VisualC++6.0推出10年后,教育部考試中心做出決定,采用Windows版本的C語言開發(fā)環(huán)境VisualC++6.0作為考試環(huán)境。
VisualC++是MicrosoftVisualStudio的一部分,安裝VisualC++?語言時,需要VisualStudio的光盤(或從有關網(wǎng)站下載)。安裝過程很簡單,執(zhí)行其中的setup.exe,并按屏幕上的提示進行操作即可。
安裝結(jié)束后,在Windows“開始”菜單的“程序”子菜單中就會出現(xiàn)MicrosoftVisualC++6.0菜單項。在需要使用VisualC++時,只需從電腦上選擇“開始”→“程序”→“MicrosoftVisualC++6.0”→“VisualC++6.0”(也可以從桌面快捷方式或其他方式進入)即可啟動VisualC++6.0。啟動后,此時屏幕會短暫顯示VisualC++6.0的版權頁,隨即顯示VisualC++6.0的主窗口(如圖1-1所示)。圖1-1VC++6.0的主窗口
在VC++6.0環(huán)境下,上機操作的步驟如下:
第一步:打開VC++6.0。
第二步:選擇“文件”→“新建”→“工作區(qū)”→“空白工作區(qū)”,然后為這個工作區(qū)起一個名字并選擇存放路徑,單擊“確定”按鈕即可。
在工作區(qū)中可以新建很多工程,每個工程可以獨立編譯、連接、執(zhí)行,互不干擾。在學習C語言的過程中,時常要編輯一些小程序,把它們按工程存放在一個工作區(qū)里,非常方便查看、執(zhí)行和管理。
第三步:右擊新建的工作區(qū),添加工程,這里選擇“Win32consoleApplication”并確定。
第四步:在新建的工程中添加文件,選擇“C++SourceFile”,文件擴展名用“.c”。
第五步:編輯源代碼。
第六步:單擊工程,并選擇執(zhí)行,即可一次性完成編譯、連接和執(zhí)行工作,可以看到程序的運行結(jié)果。當然,也可以分步編譯、連接和執(zhí)行。
VC++6.0環(huán)境下使用C語言的詳細上機步驟請參考本書配套實驗教材實驗1-1。
1.5C語言的上機執(zhí)行過程
1.編輯C源程序編輯是指用戶在計算機中編寫和輸入C語言源程序,并以文本文件的形式存放在磁盤中的過程。存在磁盤中的C語言程序用“文件名.C”來標識,其中文件名是由用戶指定的符合系統(tǒng)文件名規(guī)定的任意字符組合,擴展名要求為“.C”,表示是C源程序,例如file_1.c、test.c等。
2.編譯C源程序
編譯是把C語言源程序翻譯成用二進制指令表示的目標文件。編譯過程由C編譯系統(tǒng)提供的編譯程序完成。編譯程序自動對源程序進行句法和語法檢查,當發(fā)現(xiàn)錯誤時,就將錯誤的類型和所在的位置顯示出來,提供給用戶,以幫助用戶修改源程序中的錯誤。
3.程序連接
計算機不能執(zhí)行目標文件。目標文件只有經(jīng)過連接并生成可執(zhí)行文件后,才能被計算機執(zhí)行。程序連接就是用系統(tǒng)提供的連接程序(也稱鏈接程序或裝配程序)將目標程序、庫函數(shù)等連接裝配成可執(zhí)行的程序??蓤?zhí)行程序的文件名為“文件名.exe”,擴展名“.exe”是可執(zhí)行程序的
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經(jīng)權益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
- 6. 下載文件中如有侵權或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 凈水機服務合同協(xié)議書
- 轉(zhuǎn)移戶籍戶主協(xié)議書
- 合伙經(jīng)營洗沙場協(xié)議書
- 代取公積金傭金協(xié)議書
- 車輛掛靠理賠協(xié)議書
- 鋼材廢料處理協(xié)議書
- 合工大計算機面試題目及答案
- 預習與復習結(jié)合Python試題及答案
- 高效備考C++考試試題與答案
- 高等計算機試題及答案
- 陪診師考試模擬測試及試題答案
- 中國車路云一體化發(fā)展研究報告
- 2025年青桐鳴高三語文3月大聯(lián)考作文題目解析及相關范文:道理是直的道路是彎的
- 腫瘤免疫治療綜述
- 《基于Android客戶端的助老APP的設計與實現(xiàn)》8400字(論文)
- 2025-2030年中國威士忌酒行業(yè)運行動態(tài)及前景趨勢預測報告
- 小學生記憶小竅門課件
- 婚姻家庭與法律知到智慧樹章節(jié)測試課后答案2024年秋延邊大學
- 物業(yè)管理安全責任分配
- 《傷寒論》課件-少陽病提綱、小柴胡湯證
- 中國鐵路沈陽局集團有限公司招聘筆試沖刺題2025
評論
0/150
提交評論