版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)
文檔簡介
C程序設(shè)計(jì)第一章C語言概述C語言出現(xiàn)的歷史背景1960:ALGO601963:CPL(CombinedProgrammingLanguage)1967:BCPL(BasicCPL)1970:B1973:C(87ANSIC,90ISOC)1990:C++1994:JAVACPL
是英國劍橋大學(xué)推出的,規(guī)模大,開始使語言接近硬件。BCPL是英國劍橋大學(xué)M.Richards簡化CPL,提取核心部份,使用受限制。B
是美國貝爾實(shí)驗(yàn)室Ken.Thompson又進(jìn)一步簡化BCPL,只用于特殊用途。C是美國貝爾實(shí)驗(yàn)室D.M.Ritchie和Ken.Thompson
克服了B的缺點(diǎn),使C成為具有雙重功能的程序設(shè)計(jì)語言,得到了推廣。成為80年代的最現(xiàn)代語言.ALGO60是面向問題的高級語言。太龐大,太復(fù)雜,沒能推廣。C++是面向?qū)ο蟮某绦蛟O(shè)計(jì)語言,克服了C的缺點(diǎn),
成為90年代的最現(xiàn)代語言,已廣泛使用。JAVA
簡化了對C++的使用。ANSIC(AmericanNationalStandardInstituteC)
美國國家標(biāo)準(zhǔn)化協(xié)會ISOC(InternationalStandardOrganizationC)
國際標(biāo)準(zhǔn)化組織1.1C語言出現(xiàn)的歷史背景說明:
不同版本的C編譯系統(tǒng)所實(shí)現(xiàn)的語言功能和語法規(guī)則又略有差別,因此讀者應(yīng)了解所用的C語言編譯系統(tǒng)的特點(diǎn)(可以參閱有關(guān)手冊)。本書的敘述基本上以ANSIC為基礎(chǔ)。程序:用于指揮計(jì)算機(jī)執(zhí)行各種動作以便完成指定任務(wù)的指令集合。語言:用以表達(dá)情意的聲音,是人類最重要的交際工具,它跟思想有密切關(guān)系。人們用計(jì)算機(jī)語言向計(jì)算機(jī)表達(dá)自己的思想,向計(jì)算機(jī)發(fā)出命令,以達(dá)到控制計(jì)算機(jī)為人們服務(wù)的要求。高級語言所編制的程序不能直接被計(jì)算機(jī)識別,必須經(jīng)過轉(zhuǎn)換(翻譯)才能被執(zhí)行。計(jì)算機(jī)所能識別的語言只有機(jī)器語言,即由0和1構(gòu)成的代碼。它非常難于記憶和識別。人們通常使用高級語言編程。C語言是國際上流行的、很有發(fā)展前途的計(jì)算機(jī)高級語言。它既可以用來編寫系統(tǒng)軟件,也可以用來編寫應(yīng)用程序*C程序設(shè)計(jì)語言是一種高級語言高級語言并不是絕對“高級”,只是相對低級語言,在一個高的級別上進(jìn)行編程歷史悠久,戰(zhàn)勛卓著誕生于上世紀(jì)70年代初,成熟于80年代“ANSIC”標(biāo)準(zhǔn)的發(fā)布是C語言成熟的標(biāo)志很多重量級軟件都是用C寫的上天入地,無所不能幾乎沒有不能用C寫出來的軟件,沒有不支持C的系統(tǒng)C語言被分類為高級語言,但實(shí)際上它是一種介于高級語言和低級語言之間的語言。很多流行語言、新生語言都借鑒了它的思想、語法從C++,到Java,再到C#正確地學(xué)好C語言,是學(xué)習(xí)這些流行語言的基礎(chǔ)。硬件(Hardware)操作系統(tǒng)(OS)應(yīng)用程序
(Application)應(yīng)用
平臺基于
平臺的
應(yīng)用
程序低級語言的地盤高級語言的地盤C語言的地盤C程序設(shè)計(jì)語言的地盤以往的擅長:與操作系統(tǒng)和基礎(chǔ)工具有關(guān)的編程任務(wù)操作系統(tǒng)核心,設(shè)備驅(qū)動程序,系統(tǒng)工具,網(wǎng)絡(luò)應(yīng)用,編輯器,字處理工具,編譯器,某些圖形應(yīng)用,以及數(shù)據(jù)庫應(yīng)用未來的發(fā)展:高性能、實(shí)時中間件,嵌入式領(lǐng)域,開發(fā)程序設(shè)計(jì)等學(xué)習(xí)方法2.加強(qiáng)對基本概念和基本語法元素單位的理解3.重視基本概念和語法規(guī)則的記憶5.多加練習(xí)1.調(diào)整學(xué)習(xí)心態(tài),不要鉆牛角尖。4.善于使用代入的方法,從計(jì)算機(jī)角度思考問題1.1c語言的特點(diǎn)1.2c語言的基本語法成分1.3c語言的程序結(jié)構(gòu)1.1C語言的特點(diǎn)1.C語言源程序由多個相互獨(dú)立的函數(shù)組成2.語言簡潔、緊湊,使用方便、靈活C語言只有37個關(guān)鍵字,9種控制語句,書寫形式自由,主要用小寫字母表示。3.數(shù)據(jù)結(jié)構(gòu)豐富
C語言是在B語言的基礎(chǔ)上發(fā)展起來的一種語言。它具有高級語言和低級語言(匯編語言)雙重功能的特點(diǎn),被廣泛用于系統(tǒng)軟件和應(yīng)用軟件的開發(fā),成為目前生命力最旺盛的高級語言之一。其主要特點(diǎn)有:參見書P378附錄C(C99)C89標(biāo)準(zhǔn)只有32個關(guān)鍵字4.運(yùn)算符豐富C語言共有34種運(yùn)算符。C語言的數(shù)據(jù)類型也多種多樣,非常利于各種運(yùn)算。5.具有結(jié)構(gòu)化的控制語句有if...else、while、do...while、switch、for等語句。6.語法限制不太嚴(yán)格,程序設(shè)計(jì)自由度大7.允許直接訪問物理地址,能進(jìn)行位(bit)操作8.目標(biāo)代碼質(zhì)量好,程序執(zhí)行效率高9.可移植性好1.2c語言的基本語法成分1.C語言字符集:字符是C語言的最基本的元素,C語言字符集由字母、數(shù)字、空白、標(biāo)點(diǎn)和特殊字符組成(在字符串常量和注釋中還可以使用漢字等其它圖形符號)。由字符集中的字符可以構(gòu)成C語言進(jìn)一步的語法成分(如,標(biāo)識符,關(guān)鍵詞,運(yùn)算符等)1).字母:A-Z,a-z2).數(shù)字:0-93).空白符:空格,制表符(跳格),換行符(空行)的總稱。空白符除在字符,字符串中有意義外,編譯系統(tǒng)忽略其它位置的空白。空白符在程序中只是起到間隔作用。在程序的恰當(dāng)位置使用空白將使程序更加清晰,增強(qiáng)程序的可讀性。4).標(biāo)點(diǎn)符號、特殊字符:!#%^&+-*/=~<>\|.,;:?‘“()[]{}4.運(yùn)算符:運(yùn)算符將常量、變量、函數(shù)連接起來組成表達(dá)式,表示各種運(yùn)算。2.標(biāo)識符
標(biāo)識符用來標(biāo)識變量名、符號常量名、函數(shù)名、類型名、文件名等的有效字符序列。3.關(guān)鍵字
C語言中一些具有特殊意義的標(biāo)識符稱為關(guān)鍵字。這些關(guān)鍵字在任何時候都不得用作變量名、符號常量名、函數(shù)名、類型名、文件名等。5.分隔符:逗號,空格等。起分隔、間隔作用。6.注釋符:“/*”和“*/”構(gòu)成一組注釋符。也稱保留字:具有特定含義,專門用作C語言特定成分的一類標(biāo)識符。參見書P378附錄C#include<stdio.h>intmain(){printf(“Hello,World.\n”);//輸出結(jié)果
return0;}
輸出“Hello,World.”程序
該程序運(yùn)行時在屏幕上輸出:Hello,World.編譯預(yù)處理命令函數(shù)名函數(shù)體1.3c語言的程序結(jié)構(gòu)
#include<stdio.h>//頭文件intmain()//函數(shù)名{printf(“ThisisaCprogram.\n”);return0;}輸出“ThisisaCprogram.”程序參見書P6例1.1該程序運(yùn)行時在屏幕上輸出:
ThisisaCprogram.程序說明
整個程序由一個函數(shù)組成,也就是主函數(shù)main,主要內(nèi)容如下:#include<stdio.h>是一條編譯預(yù)處理命令(后面細(xì)講),它將C程序庫文件“stdio.h”包含到本程序中
程序第2行到結(jié)束就是主函數(shù),intmain()為函數(shù)的首部,一對花括號括起來的部分是函數(shù)體
程序中的“//文字……”
或“/*文字……*/”部分是注釋
#include<stdio.h>intmain()//addofaandb{inta,b,sum;//變量定義a=10;b=20;//賦值sum=a+b;//求和printf(“sumis%d\n”,sum);//輸出結(jié)果return0;//使函數(shù)返回值為0
}//函數(shù)結(jié)束
求兩數(shù)之和。參見書P8例1.2簡單的C程序舉例編譯預(yù)處理命令main()主函數(shù)一對{}括起來的部分是函數(shù)體scanf(“%d,%d”,&a,&b);//輸入兩個整數(shù)程序運(yùn)行(鍵盤輸入兩個數(shù)):12↙34↙sumis
46運(yùn)行結(jié)果:sumis30程序說明
整個程序由一個函數(shù)組成,也就是主函數(shù)main,主要內(nèi)容如下:#include<stdio.h>是一條編譯預(yù)處理命令(后面細(xì)講),它將C程序庫文件“stdio.h”包含到本程序中
程序第2行到結(jié)束就是主函數(shù),voidmain()為函數(shù)的首部,一對花括號括起來的部分是函數(shù)體
inta,b,sum;為聲明部分語句,定義了a、b、sum三個變量
程序中的“//文字……”或”/*文字……*/”部分是注釋輸入兩個整數(shù),輸出大的整數(shù)。#include<stdio.h>intmain(){//主函數(shù)體開始
intmax(int,int);
//對被調(diào)用函數(shù)max的聲明
inta,b,c;//定義變量a,b,c為整型變量scanf("%d,%d",&a,&b);//輸入變量a和b的值c=max(a,b);//調(diào)用max函數(shù),將所得值賦給cprintf(“max=%d”,c);//輸出變量c的值
return0;//返回函數(shù)值為0}//主函數(shù)體結(jié)束
intmax(intx,inty)//函數(shù)定義{intz;if(x>y)z=x;elsez=y;return(z);}8,5↙max=8
參見書P8~9例1.3程序運(yùn)行(輸入兩個整數(shù)):通過幾個例題分析,1.C程序全部由一個一個的函數(shù)構(gòu)成。至少有且只能有一個主函數(shù)main(),
其它函數(shù)可被主函數(shù)調(diào)用或相互調(diào)用。其它函數(shù)可為C函數(shù)庫中函數(shù),也可為自己編的函數(shù)。此特點(diǎn)稱為程序的模塊化.2.一個函數(shù)由函數(shù)說明(函數(shù)類型,函數(shù)名和參數(shù)類型)和函數(shù)體(說明語句和執(zhí)行語句)兩部分組成。1).函數(shù)的說明部分
包括函數(shù)名、函數(shù)類型、函數(shù)屬性、函數(shù)參數(shù)(形式參數(shù)類型、形參名
)。C程序的要點(diǎn)可歸納如下:3)注意:函數(shù)的聲明部分和執(zhí)行部分都可缺省,例如:voidsmp(){}
這是一個空函數(shù),什么也不做,但是合法的函數(shù)。3.一個C程序總是從main函數(shù)開始執(zhí)行,而main函數(shù)可以出現(xiàn)在整個程序中的任何位置。2).函數(shù)體
最外層{}中的部分。由變量定義和執(zhí)行語句兩部分組成。4.C程序書寫格式自由,一行內(nèi)可寫多個語句,一個語句可分寫在多行上。5.每個語句(包括最后一個語句)和數(shù)據(jù)定義的后面必須有一個分號,“;”表示語句的結(jié)束。
6.C語言本身沒有輸入輸出語句。輸入輸出操作由庫函數(shù)scanf和printf等函數(shù)完成。故一般必須有頭文件。7.可以用“//……”或“/……/”在C程序中的任何地方作注釋以提高程序的可讀性。#include<stdio.h>#……
xx(形參系列){……}intmain(){……調(diào)用xx/xxx(實(shí)參系列)……return0;}xxx(形參系列){……return(z);}頭文件(必須有)*C程序的(一般)編寫形式:主函數(shù)(必須有且僅有一個)子函數(shù)(依需要、可有可無)子函數(shù)(依需要、可有可無)參見書P10~12C語言是最優(yōu)秀的程序設(shè)計(jì)語言之一
附:C程序的上機(jī)步驟參見書P12~14C程序的上機(jī)步驟源程序C語言庫函數(shù)目標(biāo)程序可執(zhí)行程序有錯有錯有錯有錯編輯編譯連接執(zhí)行結(jié)束開始運(yùn)行C程序的步驟和方法C語言上機(jī)步驟:上機(jī)輸入與編輯源程序?qū)υ闯绦蜻M(jìn)行編譯與庫函數(shù)連接運(yùn)行目標(biāo)程序參見書P8圖1-1C程序的上機(jī)步驟:TurboC的上機(jī)方法TurboC提供兩種編輯、編譯、連接、運(yùn)行C程序的方法。1集成開發(fā)環(huán)境:即編輯、編譯、連接、運(yùn)行C程序的功能都完整地組建在TurboC系統(tǒng)內(nèi),用戶通過一個簡明的界面(菜單)來訪問、使用。
快速、高效、易學(xué)、易用。2命令行編譯器:啟動TurboC:在DOS提示符后敲入:tc現(xiàn)已少用。
TurboC中常用的(快捷)功能鍵、編輯命令:
使用菜單F10激活菜單Alt+F/C/R/O使用菜單ESC退出菜單Alt+X退出TC程序調(diào)試:F7跟蹤執(zhí)行F8單步執(zhí)行Ctrl+F7設(shè)置短點(diǎn)Ctrl+F8觀察變量Ctrl+F4計(jì)算表達(dá)式其它常用的功能鍵F1幫助Ctrl+F1庫函數(shù)幫助ESC退出幫助F3裝入源程序F2源程序存盤F5
溫馨提示
- 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)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 《電源轉(zhuǎn)移》課件
- 《實(shí)木家具調(diào)研報告》課件
- 《香港言語治療服務(wù)》課件
- 課件人力資源開發(fā)與
- 2024年醫(yī)療設(shè)備采購與供應(yīng)合同3篇
- 2024年生產(chǎn)車間承包與人力資源整合合同范本3篇
- 改裝環(huán)衛(wèi)三輪車協(xié)議書(2篇)
- 2024年物聯(lián)網(wǎng)技術(shù)在農(nóng)業(yè)中的應(yīng)用合同
- 2025年梧州貨運(yùn)從業(yè)資格證模擬考試
- 2025年珠海道路運(yùn)輸從業(yè)資格證考試內(nèi)容是什么
- 福建百校2025屆高三12月聯(lián)考?xì)v史試卷(含答案解析)
- 2024年山西省建筑安全員《B證》考試題庫及答案
- 2023年益陽市安化縣招聘鄉(xiāng)鎮(zhèn)衛(wèi)生院護(hù)理人員筆試真題
- 人音版音樂七年級上冊《父親的草原母親的河》課件
- 2024年度短視頻內(nèi)容創(chuàng)作服務(wù)合同3篇
- 2024年度拼多多店鋪托管經(jīng)營合同2篇
- 鑄牢中華民族共同體意識-形考任務(wù)1-國開(NMG)-參考資料
- 農(nóng)業(yè)經(jīng)濟(jì)學(xué)智慧樹知到期末考試答案章節(jié)答案2024年華南農(nóng)業(yè)大學(xué)
- 電網(wǎng)建設(shè)項(xiàng)目施工項(xiàng)目部環(huán)境保護(hù)和水土保持標(biāo)準(zhǔn)化管理手冊(變電工程分冊)
- 國開電大本科《西方經(jīng)濟(jì)學(xué)(本)》網(wǎng)上形考(作業(yè)一至六)試題及答案
- 醫(yī)療機(jī)構(gòu)法定代表人(主要負(fù)責(zé)人)簽字表
評論
0/150
提交評論