版權(quán)說(shuō)明:本文檔由用戶(hù)提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
第2章概述2.1C語(yǔ)言發(fā)展和特點(diǎn)
C語(yǔ)言基本詞法2.2
C語(yǔ)言基本語(yǔ)句分類(lèi)2.3C程序基本組成2.5C程序開(kāi)發(fā)環(huán)境2.4本章內(nèi)容導(dǎo)讀本章主要介紹C語(yǔ)言語(yǔ)句分類(lèi)、程序組成和開(kāi)發(fā)環(huán)境MicrosoftVisualC++6.0等。通過(guò)學(xué)習(xí)本章,讀者應(yīng)掌握以下內(nèi)容:掌握C語(yǔ)言的轉(zhuǎn)義字符;了解C程序的組成;掌握在MicrosoftVisualC++6.0環(huán)境下,創(chuàng)建源程序、編譯、連接、生成可執(zhí)行程序、編輯修改源程序、運(yùn)行可執(zhí)行程序、查看運(yùn)行結(jié)果等基本操作;了解C語(yǔ)言的語(yǔ)句分類(lèi)。C語(yǔ)言誕生之前,系統(tǒng)軟件主要是用匯編語(yǔ)言編寫(xiě)。由于匯編語(yǔ)言程序依賴(lài)于計(jì)算機(jī)硬件,其可讀性和可移植性差;一般的高級(jí)語(yǔ)言又難以實(shí)現(xiàn)對(duì)計(jì)算機(jī)硬件的直接操作,因此希望有一種兼具匯編語(yǔ)言和高級(jí)語(yǔ)言特性的新語(yǔ)言。C語(yǔ)言的發(fā)展1978年貝爾實(shí)驗(yàn)室正式推出C語(yǔ)言;后來(lái)又被多次改進(jìn),并出現(xiàn)了多種版本;1983年美國(guó)國(guó)家標(biāo)準(zhǔn)化協(xié)會(huì)(ANSI),根據(jù)C語(yǔ)言問(wèn)世以來(lái)的各種版本對(duì)C語(yǔ)言發(fā)展和擴(kuò)充,制定了83ANSIC標(biāo)準(zhǔn);1989年ANSI發(fā)布了一個(gè)完整的C語(yǔ)言標(biāo)準(zhǔn)ANSIC或C89;1990年,國(guó)際標(biāo)準(zhǔn)化組織(ISO)接收C89為ISO國(guó)際標(biāo)準(zhǔn),即C90;1999年,ISO對(duì)C語(yǔ)言標(biāo)準(zhǔn)進(jìn)行修訂發(fā)布C99,其中增加許多新特性。2.1C語(yǔ)言發(fā)展和特點(diǎn)目前,微機(jī)上廣泛使用的C語(yǔ)言編譯系統(tǒng)包括MicrosoftC、TurboC、BorlandC等。雖基本相同,但還是有一些差異。注:本教材選用的開(kāi)發(fā)環(huán)境是MicrosoftVisualC++6.0。
C語(yǔ)言的特點(diǎn)結(jié)構(gòu)化語(yǔ)言,簡(jiǎn)潔、緊湊,使用方便、靈活;運(yùn)算符豐富(提供三十多種),運(yùn)算能力強(qiáng)大;數(shù)據(jù)類(lèi)型豐富;生成的目標(biāo)代碼質(zhì)量高,程序執(zhí)行效率高;可移植性好(較之匯編語(yǔ)言);程序設(shè)計(jì)自由度較大,語(yǔ)法限制不嚴(yán)格;可以直接對(duì)硬件進(jìn)行操作。2.1C語(yǔ)言發(fā)展和特點(diǎn)C語(yǔ)言中,除實(shí)現(xiàn)順序、選擇和循環(huán)三種基本結(jié)構(gòu)的九種控制語(yǔ)句外,輸入和輸出操作均由標(biāo)準(zhǔn)庫(kù)函數(shù)實(shí)現(xiàn)。注意:學(xué)習(xí)C語(yǔ)言,不僅要學(xué)習(xí)這9種控制語(yǔ)句和各種運(yùn)算符,而且要學(xué)習(xí)并掌握常用標(biāo)準(zhǔn)庫(kù)函數(shù)的使用。2.1C語(yǔ)言發(fā)展和特點(diǎn)字符集
字符是組成語(yǔ)言的最基本元素。C語(yǔ)言的字符集即ASCII字符集,由字母、數(shù)字、空格、標(biāo)點(diǎn)和特殊字符組成。組成阿拉伯?dāng)?shù)字:0、1、2、…、9(共10個(gè))大、小寫(xiě)英文字母:A-Z、a-z(共52個(gè))非字母、非數(shù)字的可顯示字符(共33個(gè))轉(zhuǎn)義字符:ASCII字符集中有些字符不能顯示在顯示器上,又稱(chēng)為不可顯示字符(如回車(chē)換行符、制表符等),轉(zhuǎn)義字符是由“\”后面跟單個(gè)字符或若干個(gè)字符組成。2.2C語(yǔ)言基本詞法關(guān)鍵字/保留字具有特殊含義的單詞,均由小寫(xiě)字母組成。由系統(tǒng)預(yù)先定義不能用于其他目的,共32個(gè),根據(jù)其作用,可分為數(shù)據(jù)類(lèi)型關(guān)鍵字、控制語(yǔ)句關(guān)鍵字、存儲(chǔ)類(lèi)型關(guān)鍵字和其它關(guān)鍵字四類(lèi)。數(shù)據(jù)類(lèi)型關(guān)鍵字(12個(gè)):char、double、enum、float、int、long、short、signed、struct、union、unsigned、void控制語(yǔ)句關(guān)鍵字(12個(gè)):break、case、continue、default、do、else、for、goto、if、return、switch、while存儲(chǔ)類(lèi)型關(guān)鍵字(4個(gè)):auto、extern、register、static其它關(guān)鍵字(4個(gè)):const、sizeof、typedef、volatile
2.2C語(yǔ)言基本詞法標(biāo)識(shí)符字符的序列,除了庫(kù)函數(shù)的函數(shù)名由系統(tǒng)定義外,其他均由用戶(hù)定義。用戶(hù)標(biāo)識(shí)符用戶(hù)根據(jù)需要對(duì)C程序中用到的變量、符號(hào)常量、自定義的函數(shù)或文件指針命名,形成用戶(hù)標(biāo)識(shí)符。構(gòu)成規(guī)則(1)由英文字母、數(shù)字和下劃線組成,且第一個(gè)字符不能是數(shù)字;(2)英文字母區(qū)分大小寫(xiě);(3)取名遵循“簡(jiǎn)潔明了”和“見(jiàn)名知意”。
2.2C語(yǔ)言基本詞法詞匯分類(lèi)常量、標(biāo)識(shí)符、關(guān)鍵字、運(yùn)算符、注釋符和分隔符共六類(lèi)。常量:C程序運(yùn)行中其值不變的量;標(biāo)識(shí)符:C程序中使用的變量名、函數(shù)名和標(biāo)號(hào)等統(tǒng)稱(chēng)為標(biāo)識(shí)符;關(guān)鍵字:C語(yǔ)言規(guī)定的具有特定意義的字符串;運(yùn)算符:C語(yǔ)言中用于計(jì)算的符號(hào);注釋符:C語(yǔ)言的注釋符有兩種,一種是以/*開(kāi)頭,并以*/結(jié)尾的多行注釋。在/*與*/之間的內(nèi)容即為注釋?zhuān)涣硪环N是以//開(kāi)頭的單行注釋?zhuān)苯釉谛枰⑨尩牡丶由?/即可。兩者的區(qū)別在于,第一種注釋可以跨行,第二種注釋不可以跨行;分隔符:C語(yǔ)言分隔符包括逗號(hào)和空格兩種。逗號(hào)主要用在類(lèi)型說(shuō)明和函數(shù)參數(shù)表中,分隔各個(gè)變量;空格多用于語(yǔ)句中各單詞之間,作為間隔符。2.2C語(yǔ)言基本詞法按照語(yǔ)句的功能或構(gòu)成不同,可分為八類(lèi),每條語(yǔ)句均以分號(hào)結(jié)束。數(shù)據(jù)定義語(yǔ)句用于定義C程序中使用的各種存放數(shù)據(jù)的對(duì)象的名稱(chēng)和屬性。賦值語(yǔ)句計(jì)算表達(dá)式的值并賦予變量。例如num=5是一個(gè)賦值表達(dá)式;num=5;是一條賦值語(yǔ)句。函數(shù)調(diào)用語(yǔ)句由一個(gè)函數(shù)調(diào)用加一個(gè)分號(hào)(語(yǔ)句結(jié)束標(biāo)志)構(gòu)成。例如,printf("ThisisaCfunctionstatement.");2.3C語(yǔ)言基本語(yǔ)句分類(lèi)表達(dá)式語(yǔ)句由表達(dá)式加一個(gè)分號(hào)構(gòu)成。流程控制語(yǔ)句實(shí)現(xiàn)程序的各種結(jié)構(gòu)。C語(yǔ)言有9條控制語(yǔ)句,又可細(xì)分為:選擇控制語(yǔ)句:if-else、switch語(yǔ)句;循環(huán)控制語(yǔ)句:do
while、while和for語(yǔ)句;
轉(zhuǎn)移語(yǔ)句:goto、return、break和continue語(yǔ)句??照Z(yǔ)句僅由一個(gè)分號(hào)構(gòu)成,不執(zhí)行任何操作。2.3C語(yǔ)言基本語(yǔ)句分類(lèi)復(fù)合語(yǔ)句由大括號(hào)括起來(lái)的一組(也可以是一條)語(yǔ)句構(gòu)成。例如:main(){……{……}/*復(fù)合語(yǔ)句,注意右括號(hào)后不需要分號(hào)。*/……}注:在語(yǔ)法上和單一語(yǔ)句相同,即單一語(yǔ)句可以出現(xiàn)的地方,均可以使用復(fù)合語(yǔ)句;復(fù)合語(yǔ)句允許嵌套,即復(fù)合語(yǔ)句中還可出現(xiàn)復(fù)合語(yǔ)句。其他語(yǔ)句包括編譯預(yù)處理命令、類(lèi)型自定義語(yǔ)句等。
2.3C語(yǔ)言基本語(yǔ)句分類(lèi)每個(gè)C程序由一個(gè)main()函數(shù)(又稱(chēng)主函數(shù))和若干個(gè)其它函數(shù)組成,或僅由一個(gè)主函數(shù)構(gòu)成。main()函數(shù)的作用,相當(dāng)于其它高級(jí)語(yǔ)言中的主程序;其它函數(shù)的作用,相當(dāng)于子程序。函數(shù)是C程序的基本單位。C程序中每一語(yǔ)句后面都以分號(hào)“;”作為語(yǔ)句的結(jié)束,函數(shù)的最后一個(gè)語(yǔ)句也不例外。但預(yù)處理命令、函數(shù)首部和右花括號(hào)“}”之后不能加分號(hào)。C語(yǔ)言本身沒(méi)有輸入/輸出語(yǔ)句,而是通過(guò)調(diào)用庫(kù)函數(shù)scanf()、printf()、getchar()和putchar()等實(shí)現(xiàn)。2.4C程序基本組成【例2-1】由main()函數(shù)和一個(gè)其它函數(shù)max()構(gòu)成的C語(yǔ)言程序。#include<stdio.h>intmax(intx,inty){return(x>y?x:y);}intmain(void){intnum1,num2;
printf("Inputthefirstintegernumber:");
scanf("%d",&num1);
printf("Inputthesecondintegernumber:");
scanf("%d",&num2);
printf("max=%d\n",max(num1,num2));return0;}程序運(yùn)行結(jié)果:
Inputthefirstintegernumber:6←┘Inputthesecondintegernumber:9←┘
max=9C程序的任意位置都可以加注釋/*……*/。另外,C程序中還可以進(jìn)行單行注釋?zhuān)丛谀承行枰⑨尩牡胤郊印?/”即可。編譯源程序時(shí),注釋被忽略。注釋可有多行,但不可嵌套。(1)/*和*/必須成對(duì)使用,且/和*、以及*和/之間不能有空格,否則出錯(cuò)。(2)注釋的位置,可以單占一行,也可以跟在語(yǔ)句的后面。(3)如果一行寫(xiě)不下,可另起一行繼續(xù)寫(xiě)。(4)注釋中允許使用漢字。在非中文操作系統(tǒng)下,看到的是一串亂碼,但不影響程序運(yùn)行。技巧:為避免遺漏必須配對(duì)使用的符號(hào),例如注釋符號(hào)、函數(shù)體的起止標(biāo)識(shí)符(花括號(hào))、圓括號(hào)等,在輸入時(shí),可連續(xù)輸入這些起止標(biāo)識(shí)符,然后再在其中進(jìn)行插入完成內(nèi)容的編輯。在起止標(biāo)識(shí)符嵌套時(shí),以及相距較遠(yuǎn)時(shí),這樣做更有必要。2.4C程序基本組成C語(yǔ)言程序總是從main()函數(shù)開(kāi)始執(zhí)行。一個(gè)C程序總是從main()函數(shù)開(kāi)始執(zhí)行,而不論其在程序中的位置。當(dāng)main()函數(shù)執(zhí)行完畢時(shí),即程序執(zhí)行完畢。習(xí)慣上,將其放在程序的最前面。C程序中可以有預(yù)處理命令(如include命令),通常預(yù)處理命令放在程序的最前面。主函數(shù)可以調(diào)用任何其他函數(shù),任何其他函數(shù)之間可以互相調(diào)用,但不能調(diào)用主函數(shù)。每個(gè)函數(shù)是由函數(shù)首部和函數(shù)體兩部分組成。函數(shù)首部:返回值類(lèi)型函數(shù)名(類(lèi)型形式參數(shù)名,…)函數(shù)體:{數(shù)據(jù)定義部分實(shí)現(xiàn)函數(shù)功能的語(yǔ)句序列}2.4C程序基本組成例如函數(shù)max(),其函數(shù)說(shuō)明如下:
返回值類(lèi)型函數(shù)名函數(shù)參數(shù)表↓↓↓
intmax(int
x,inty)函數(shù)體在函數(shù)頭的下面、大括號(hào)(必須配對(duì)使用)內(nèi)的部分。函數(shù)體一般由說(shuō)明語(yǔ)句和可執(zhí)行語(yǔ)句兩部分構(gòu)成。(1)說(shuō)明語(yǔ)句說(shuō)明語(yǔ)句可由變量定義、自定義類(lèi)型定義、自定義函數(shù)說(shuō)明、外部變量說(shuō)明等組成。2.4C程序基本組成
(2)可執(zhí)行語(yǔ)句
一般由若干條可執(zhí)行語(yǔ)句構(gòu)成。main()函數(shù)體如下所示:
int
main(void){intnum1,num2;變量定義部分
printf("Inputthefirstintegernumber:");
scanf(“%d”,&num1);可執(zhí)行
printf(“Inputthesecondintegernumber:”);語(yǔ)句部分函數(shù)體
scanf("%d",&num2);
printf("max=%d\n",max(num1,num2));
return0;}2.4C程序基本組成源程序書(shū)寫(xiě)格式一個(gè)說(shuō)明或一條語(yǔ)句占一行。用一對(duì)花括號(hào){}括起來(lái)的部分,通常表示程序的某一層次結(jié)構(gòu)。{}一般與該結(jié)構(gòu)語(yǔ)句的第一個(gè)字母對(duì)齊,并單獨(dú)占一行。低一層次的語(yǔ)句或說(shuō)明可比高一層次的語(yǔ)句或說(shuō)明縮進(jìn)若干個(gè)空格后書(shū)寫(xiě)。2.4C程序基本組成C程序的運(yùn)行步驟MicrosoftVisualC++6.0集源程序編輯、編譯、連接、運(yùn)行與調(diào)試于一體、以菜單驅(qū)動(dòng)的集成環(huán)境。(1)啟動(dòng)MicrosoftVisualC++6
溫馨提示
- 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶(hù)所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶(hù)上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶(hù)上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶(hù)因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 二零二五版反擔(dān)保文化產(chǎn)業(yè)發(fā)展合同2篇
- 系統(tǒng)集成數(shù)據(jù)安全策略-洞察分析
- 2025年北師大版四年級(jí)英語(yǔ)上冊(cè)月考試卷
- 2025年滬科版八年級(jí)地理上冊(cè)月考試卷含答案
- 二零二五年度跨境電商平臺(tái)股權(quán)收購(gòu)及運(yùn)營(yíng)管理合同協(xié)議范本
- 2025年仁愛(ài)科普版八年級(jí)地理下冊(cè)階段測(cè)試試卷
- 心理社會(huì)因素對(duì)疝修補(bǔ)術(shù)恢復(fù)影響-洞察分析
- 2025年人教A版三年級(jí)數(shù)學(xué)上冊(cè)階段測(cè)試試卷含答案
- 2025年度科技創(chuàng)新項(xiàng)目合同履約擔(dān)保函4篇
- 運(yùn)動(dòng)康復(fù)的生物力學(xué)干預(yù)-洞察分析
- 《請(qǐng)柬及邀請(qǐng)函》課件
- 中小銀行上云趨勢(shì)研究分析報(bào)告
- 機(jī)電安裝工程安全培訓(xùn)
- 遼寧省普通高中2024-2025學(xué)年高一上學(xué)期12月聯(lián)合考試語(yǔ)文試題(含答案)
- 青海原子城的課程設(shè)計(jì)
- 常州大學(xué)《新媒體文案創(chuàng)作與傳播》2023-2024學(xué)年第一學(xué)期期末試卷
- 麻醉蘇醒期躁動(dòng)患者護(hù)理
- 英語(yǔ)雅思8000詞匯表
- 小學(xué)好詞好句好段摘抄(8篇)
- JT-T-1059.1-2016交通一卡通移動(dòng)支付技術(shù)規(guī)范第1部分:總則
- 《茶藝文化初探》(教學(xué)設(shè)計(jì))-六年級(jí)勞動(dòng)北師大版
評(píng)論
0/150
提交評(píng)論