版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
第2章C語(yǔ)言程序設(shè)計(jì)概述2.1C語(yǔ)言概述2.2TurboC的集成環(huán)境2.3C語(yǔ)言的程序結(jié)構(gòu)2.1C語(yǔ)言概述
2.1.1C語(yǔ)言的發(fā)展
高級(jí)語(yǔ)言的發(fā)展:1)Fortran是第一門高級(jí)語(yǔ)言2)20世紀(jì)50年代后期有了Algol語(yǔ)言3)20世紀(jì)70年代的Pascal是第一門反映了結(jié)構(gòu)化程序設(shè)計(jì)思想的高級(jí)語(yǔ)言,同時(shí)C誕生了,用其設(shè)計(jì)UNIX系統(tǒng)4)20世紀(jì)80年代中期,出現(xiàn)了oop的設(shè)計(jì)概念,在C中擴(kuò)充了Simula67類的概念,設(shè)計(jì)出了C++、VC++及C++builder、Java等。C語(yǔ)言的發(fā)展:
BCPLBC馬丁.理查德在60年代開發(fā)
72-73年Ken.ThompsonDennis.M.Ritchie
v產(chǎn)生過(guò)程
l時(shí)間:1972~1973l地點(diǎn):美國(guó)貝爾實(shí)驗(yàn)室l目的:UNIX操作系統(tǒng)l設(shè)計(jì)人:Ken.Thompson和Dennis.M.RitchievC標(biāo)準(zhǔn)l標(biāo)準(zhǔn)C:K&R1978年,合著《TheCProgrammingLanguage》l87ANSIC:1987年87ANSIC在1990年被ISO接受為ISOC2.1.2C語(yǔ)言的特點(diǎn)
從算法描述的語(yǔ)義特征來(lái)看,可以屬于高級(jí)語(yǔ)言;從功能方面看,屬于中級(jí)語(yǔ)言。其語(yǔ)言既有高級(jí)語(yǔ)言流暢、自然、規(guī)范等特點(diǎn),又有低級(jí)語(yǔ)言面向系統(tǒng)和硬件的優(yōu)點(diǎn)。C語(yǔ)言的特點(diǎn):?
語(yǔ)言簡(jiǎn)潔、緊湊、靈活?
運(yùn)算符和數(shù)據(jù)類型豐富?
程序設(shè)計(jì)結(jié)構(gòu)化、模塊化?
生成目標(biāo)代碼質(zhì)量高、程序執(zhí)行效率高?
可移植性好?
可以直接操縱硬件。C語(yǔ)言程序的基本形式:
main(){函數(shù)局部變量定義執(zhí)行語(yǔ)句
}f1(形式參數(shù)列表])
形式參數(shù)定義{函數(shù)局部變量定義執(zhí)行語(yǔ)句
}
……fn(形式參數(shù)列表)
形式參數(shù)定義{函數(shù)局部變量定義;執(zhí)行語(yǔ)句;
}P20例2.1#include<stdio.h>main(){charuptolow();……do{……printf(“%c”,uptolow(ch));}while(……);……}charuptolow(ch1){……}2.2TurboC的集成環(huán)境
目前常用的C語(yǔ)言集成環(huán)境有數(shù)種,包括C++、VisualC、VisualC++等,一般教學(xué)或等級(jí)考試等提到C語(yǔ)言編譯系統(tǒng),主要指TurboC。本課程主要以VisualC++集成開發(fā)環(huán)境為實(shí)驗(yàn)平臺(tái),用以學(xué)習(xí)C程序設(shè)計(jì)算法與實(shí)現(xiàn)。2.3C語(yǔ)言的程序結(jié)構(gòu)2.3.1C語(yǔ)言程序組成2.3.2C語(yǔ)言的標(biāo)識(shí)符2.3.3C語(yǔ)言的關(guān)鍵字2.3.1C語(yǔ)言程序組成首先,請(qǐng)看下面的例題【例2.4】#include<stdio.h>main(){printf("WelcometoStudyCProgramLanguage!\n");}運(yùn)行結(jié)果:WelcometoStudyCProgramLanguage!通過(guò)本例,可以了解到:(1)任何一個(gè)C程序必須包含一個(gè)主函數(shù)main(),并且主函數(shù)是唯一的主程序入口函數(shù)。main()后面的括號(hào)可以為空,如果需要還可以包含適當(dāng)?shù)膮?shù)。(2)花括號(hào)中的部分是函數(shù)體,主要由C語(yǔ)言的語(yǔ)句序列組成。每個(gè)語(yǔ)句后面要有一個(gè)分號(hào),表示命令的結(jié)束,否則編譯時(shí)出錯(cuò)。\n是控制字符,功能是輸出一個(gè)回車。#include<stdio.h>main(){printf("WelcometoStudyCProgramLanguage!\n");}通過(guò)本例,可以了解到:(3)每個(gè)C程序由一個(gè)主函數(shù)和零到若干個(gè)函數(shù)組成,本例中程序包含一個(gè)主函數(shù)和一個(gè)函數(shù)printf()作為命令語(yǔ)句。#include<stdio.h>main(){printf("WelcometoStudyCProgramLanguage!\n");}初始說(shuō)明部分
初始說(shuō)明部分的位置在主函數(shù)之前,一般包括:(1)包含文件(又稱頭文件)頭文件的格式為:
#include<文件名>(或“文件名”)
C環(huán)境為用戶提供了很多標(biāo)準(zhǔn)庫(kù)函數(shù),每一個(gè)庫(kù)函數(shù)都有自己的頭文件(擴(kuò)展名為.h)。如果在程序設(shè)計(jì)時(shí)使用了庫(kù)函數(shù),則必須在初始說(shuō)明部分將該函數(shù)對(duì)應(yīng)的頭文件包含進(jìn)去,否則,程序會(huì)在編譯時(shí)報(bào)錯(cuò)。(2)宏定義宏定義的位置可以在初始說(shuō)明部分,也可以在程序的其他位置,其命令格式為:
#define字符串常量使用宏定義替代一個(gè)字符串,可以減少程序中重復(fù)書寫過(guò)程。請(qǐng)看下面的宏定義:
#definePI3.1415926在程序中出現(xiàn)3.1415926的地方使用PI,就可以減小重復(fù)使用的工作量,而且不容易出錯(cuò)。在修改常量時(shí)也很簡(jiǎn)單,只要改變宏定義行就可以了。程序中用雙引號(hào)括起來(lái)的字符串內(nèi)的字符,不進(jìn)行替換。注意:包含文件和宏定義語(yǔ)句不是C語(yǔ)言命令語(yǔ)句,所以在書寫時(shí)后面不要加分號(hào)。(3)全局變量說(shuō)明有關(guān)全局變量的知識(shí),請(qǐng)參閱本書第8章。(4)用戶非整型函數(shù)說(shuō)明用戶函數(shù)部分是為了使程序執(zhí)行特定的功能,由用戶自己設(shè)定的函數(shù)。結(jié)構(gòu)特點(diǎn):
v函數(shù)與主函數(shù)程序由一個(gè)或多個(gè)函數(shù)組成必須有且只能有一個(gè)主函數(shù)main()程序執(zhí)行從main開始,在main中結(jié)束,其它函數(shù)通過(guò)被調(diào)用或嵌套調(diào)用得以執(zhí)行。v程序語(yǔ)句C程序由語(yǔ)句組成用“;”作為語(yǔ)句終止符
v注釋/**/為注釋,不能嵌套不產(chǎn)生編譯代碼
優(yōu)秀程序員的素質(zhì)之一:使用TAB縮進(jìn){}對(duì)齊有足夠的注釋有合適的空行
2.3.2C語(yǔ)言的標(biāo)識(shí)符在C語(yǔ)言中,標(biāo)識(shí)符可用作變量名、符號(hào)名、函數(shù)名、數(shù)組名、文件名及專門含義的名字。合法的標(biāo)識(shí)符由字母、數(shù)字、下劃線組成,且第一個(gè)字符必須是字母或下劃線。判斷對(duì)錯(cuò):
area、PI、_ini、a_array、s1234123a、a-array、W1.W、a&b注意:(1)見名知意
(2)大小寫字母有區(qū)別
(3)取前8個(gè)字符有效
P28例如#include<stdio.h>#definePI3.14159voidplay(){ printf("歡迎使用turboC\n");}voidmain(){ floatr=2.6,s=0; s=PI*r*r; play(); printf("s=%f\n",s);}1.關(guān)鍵字有些標(biāo)識(shí)符在C中已經(jīng)被定義過(guò),有固定的含義。如:int、float等用來(lái)說(shuō)明變量的數(shù)據(jù)類型;if~else、switch等是控制語(yǔ)句,不能再作變量名或函數(shù)名。標(biāo)識(shí)符分三類:關(guān)鍵字預(yù)定義標(biāo)識(shí)符用戶標(biāo)識(shí)符
其中有9種控制語(yǔ)句:
if()~elsefor()while()do~while()
continuebreakswitchgotoreturn
32個(gè)關(guān)鍵字:(由系統(tǒng)定義,不能重作其它定義)autobreakcasecharconstcontinuedefaultdodoubleelseenumexternfloatforgotoifintlongregisterreturnshortsignedsizeofstaticstructswitchtypedefunionunsignedvoidvolatilewhile2.預(yù)定義標(biāo)識(shí)符
如C提供的庫(kù)函數(shù)的名字,如:scanf、printf、add等,以及預(yù)編譯處理命令如:include、define若將此類標(biāo)識(shí)
溫馨提示
- 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 二零二五年度旅游車輛租賃與旅游產(chǎn)品設(shè)計(jì)合同3篇
- 2025版智慧城市交通管理系統(tǒng)建設(shè)合同范本二零二五4篇
- 2025年度智慧醫(yī)療設(shè)備銷售代理合同2篇
- 2025版南京租賃房屋租賃押金退還合同4篇
- 2025年度農(nóng)業(yè)科技示范園區(qū)建設(shè)合同8篇
- 2025年個(gè)人房產(chǎn)測(cè)繪與房地產(chǎn)營(yíng)銷服務(wù)合同
- 二零二五年度高端定制實(shí)木地板采購(gòu)供應(yīng)合同4篇
- 2025年度鎳礦出口退稅與物流服務(wù)合同范本4篇
- 二零二五年度新型暖氣材料研發(fā)與應(yīng)用推廣合同范本4篇
- 2025年度門面租賃合同租賃保證金管理范本4篇
- 環(huán)境監(jiān)測(cè)對(duì)環(huán)境保護(hù)的意義
- 2023年數(shù)學(xué)競(jìng)賽AMC8試卷(含答案)
- 神經(jīng)外科課件:神經(jīng)外科急重癥
- 2024年低壓電工證理論考試題庫(kù)及答案
- 2023年十天突破公務(wù)員面試
- 《瘋狂動(dòng)物城》中英文對(duì)照(全本臺(tái)詞)
- 醫(yī)院住院醫(yī)師規(guī)范化培訓(xùn)證明(樣本)
- 小學(xué)六年級(jí)語(yǔ)文閱讀理解100篇(及答案)
- 氣功修煉十奧妙
- 安徽省物業(yè)服務(wù)標(biāo)準(zhǔn)
- 勾股定理的歷史與證明課件
評(píng)論
0/150
提交評(píng)論