版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1全國(guó)計(jì)算機(jī)等級(jí)考試二級(jí)教程
C語(yǔ)言程序設(shè)計(jì)2
序
一、前言了解計(jì)算機(jī)行業(yè)的狀態(tài)隨著計(jì)算機(jī)科學(xué)技術(shù)的發(fā)展,現(xiàn)該學(xué)科既是專業(yè)學(xué)科也是基礎(chǔ)學(xué)科。計(jì)算機(jī)人才,分為兩大類:計(jì)算機(jī)專業(yè)人才各行各業(yè)應(yīng)用計(jì)算機(jī)的人才?大學(xué)計(jì)算機(jī)課程的編排第一層次:計(jì)算機(jī)文化基礎(chǔ)課第二層次:計(jì)算機(jī)程序設(shè)計(jì)。(C語(yǔ)言)?問(wèn):
計(jì)算機(jī)由哪兩大系統(tǒng)構(gòu)成?
3
2、本門課的特點(diǎn)及學(xué)習(xí)方法程序設(shè)計(jì)是一門實(shí)踐性很強(qiáng)的課程。
包括:掌握概念、思路——課堂學(xué)習(xí)動(dòng)手編程——程序設(shè)計(jì)(算法、分析)上機(jī)實(shí)驗(yàn)—開發(fā)環(huán)境應(yīng)用、所編程序調(diào)試(1)概念的內(nèi)容掌握C語(yǔ)言的語(yǔ)法規(guī)則、結(jié)構(gòu)、控制類型、算法等。(2)如何把理論應(yīng)用于實(shí)踐多讀別人的程序、根據(jù)具體問(wèn)題來(lái)編程、(3)學(xué)會(huì)使用實(shí)驗(yàn)工具(編程工具),去調(diào)試、運(yùn)行所編的程序。調(diào)試技術(shù)
(不是聽(tīng)會(huì)的、也不是看會(huì)的,而是練會(huì)的。)5★★★
C語(yǔ)言程序設(shè)計(jì)的學(xué)習(xí)分為三個(gè)版塊:課堂學(xué)習(xí)————理論程序設(shè)計(jì)————?jiǎng)邮志幊坛绦蛘{(diào)試——編程軟件(開發(fā)環(huán)境的應(yīng)用)6第1章
程序設(shè)計(jì)的基本概念7C語(yǔ)言發(fā)展過(guò)程產(chǎn)生背景產(chǎn)生過(guò)程時(shí)間:1972~1973地點(diǎn):美國(guó)貝爾實(shí)驗(yàn)室目的:UNIX操作系統(tǒng)設(shè)計(jì)人:Ken.Thompson和Dennis.M.RitchieC標(biāo)準(zhǔn)標(biāo)準(zhǔn)C:K&R合著《TheCProgrammingLanguage》ANSIC:1983年87ANSIC:1987年1990年國(guó)際標(biāo)準(zhǔn)的ANSIC<>
C語(yǔ)言程序設(shè)計(jì)
第一章C語(yǔ)言概述9本章內(nèi)容:C程序相關(guān)概念(計(jì)算機(jī)\程序\C程序\開發(fā)過(guò)程\程序設(shè)計(jì)步驟)算法的特征結(jié)構(gòu)化程序基本結(jié)構(gòu)組成及表示方法\模塊結(jié)構(gòu)的特征;
101.1程序和程序設(shè)計(jì)1.1.1C程序一、C程序相關(guān)概念1、計(jì)算機(jī)的概念?(存儲(chǔ)能力、由程序自動(dòng)控制、電子設(shè)備)2、計(jì)算機(jī)由哪兩大系統(tǒng)構(gòu)成?
113、程序設(shè)計(jì)語(yǔ)言的發(fā)展機(jī)器語(yǔ)言匯編語(yǔ)言高級(jí)語(yǔ)言面向過(guò)程面向?qū)ο驝PU指令系統(tǒng),由0、1序列構(gòu)成的指令碼組成如:10000000加10010000減用助記符號(hào)描述的指令系統(tǒng)如ADDA,B面向機(jī)器的語(yǔ)言程序設(shè)計(jì)是數(shù)據(jù)被加工的過(guò)程客觀世界可以分類,對(duì)象是類的實(shí)例對(duì)象是數(shù)據(jù)和方法的封裝對(duì)象間通過(guò)發(fā)送和接受消息發(fā)生聯(lián)系程序設(shè)計(jì)關(guān)鍵是定義類,并由類派生對(duì)象>>
C語(yǔ)言程序設(shè)計(jì)
第一章C語(yǔ)言概述13學(xué)習(xí)程序設(shè)計(jì)語(yǔ)言的目標(biāo)4、使用計(jì)算機(jī)的過(guò)程:輸入程序運(yùn)行程序輸入數(shù)據(jù)獲取結(jié)果結(jié)束程序文化基礎(chǔ)內(nèi)容設(shè)計(jì)程序?qū)崿F(xiàn)程序(編碼)存儲(chǔ)程序?qū)W習(xí)內(nèi)容14例如:1)啟動(dòng)計(jì)算器,輸入“3+5=”,得結(jié)果8,退出計(jì)算器2)編寫程序cal.c,編譯、連接生成cal.exe,運(yùn)行程序cal.exe,輸入3和5,得結(jié)果8,程序結(jié)束目的:掌握一門語(yǔ)言,學(xué)會(huì)一些方法,解決幾個(gè)問(wèn)題15二、C語(yǔ)言程序的執(zhí)行
步驟1:用C語(yǔ)言(高級(jí)語(yǔ)言)編寫的源程序不能由計(jì)算機(jī)直接識(shí)別并執(zhí)行,計(jì)算機(jī)只能識(shí)別機(jī)器語(yǔ)言所編寫的二進(jìn)制代碼文件—目標(biāo)程序,因此必須把高級(jí)語(yǔ)言編寫的源程序翻譯成目標(biāo)程序,步驟2:然后將該目標(biāo)程序與系統(tǒng)的函數(shù)庫(kù)和其他的目標(biāo)程序連接并形成可執(zhí)行程序。為此,在計(jì)算機(jī)內(nèi)須有對(duì)應(yīng)的語(yǔ)言開發(fā)環(huán)境能對(duì)C語(yǔ)言編寫的源程序進(jìn)行編輯、編譯、連接、運(yùn)行。而該開發(fā)環(huán)境又依賴于操作系統(tǒng)和計(jì)算機(jī)硬件,它們共同構(gòu)成了C語(yǔ)言的運(yùn)行環(huán)境,如圖1-1所示。17連18C程序的上機(jī)步驟1.編輯:生成C源程序(文件擴(kuò)展名為.C)2.編譯:生成目標(biāo)程序(文件擴(kuò)展名為.OBJ)3.連接:將目標(biāo)程序和庫(kù)函數(shù)(文件擴(kuò)展名為.LIB)及其他目標(biāo)程序連接起來(lái),生成可執(zhí)行程序(文件擴(kuò)展名為.EXE)4.運(yùn)行:運(yùn)行可執(zhí)行程序,輸入數(shù)據(jù),得到運(yùn)行結(jié)果,并結(jié)束程序運(yùn)行191.2算法算法:解決特定問(wèn)題而采取的確定且有限的步驟。21一算法的幾個(gè)特點(diǎn)P2有窮性:一個(gè)算法應(yīng)包含有限的操作步驟而不能是無(wú)限的。確定性:算法中每一個(gè)步驟應(yīng)當(dāng)是確定的,而不能應(yīng)當(dāng)是含糊的、模棱兩可的。有零個(gè)或多個(gè)輸入。(可以沒(méi)有輸入)有一個(gè)或多個(gè)輸出。(至少有一個(gè)輸出)有效性\可行性:算法中每一個(gè)步驟應(yīng)當(dāng)能有效地執(zhí)行,并得到確定的結(jié)果。(無(wú)歧義)對(duì)于程序設(shè)計(jì)人員,必須會(huì)設(shè)計(jì)算法,并根據(jù)算法寫出程序。22算法可以用不同的方法表示。常用的有自然語(yǔ)言、傳統(tǒng)流程圖、結(jié)構(gòu)化流程圖、偽代碼等。根據(jù)實(shí)際情況確定數(shù)據(jù)結(jié)構(gòu)和算法------編碼-----調(diào)試---運(yùn)行23一般流程圖表示算法,直觀形象,易于理解。251.3結(jié)構(gòu)化程序設(shè)計(jì)和模塊化結(jié)構(gòu)(1)只有一個(gè)入口。(可能是多個(gè)輸入也可能是其它定義)(2)只有一個(gè)出口。(有結(jié)果)(3)結(jié)構(gòu)內(nèi)的每一部分都有機(jī)會(huì)被執(zhí)行到。()(4)結(jié)構(gòu)內(nèi)不存在“死循環(huán)”(無(wú)終止的循環(huán),有窮性)。處理1處理2(a)順序結(jié)構(gòu)條件處理(c)循環(huán)結(jié)構(gòu)滿足不滿足條件處理1處理2(b)選擇結(jié)構(gòu)滿足不滿足1一般流程圖261.3.2模塊化結(jié)構(gòu)什么叫模塊化?P62結(jié)構(gòu)化程序設(shè)計(jì)方法設(shè)計(jì)程序時(shí)只能使用順序、選擇、循環(huán)三種基本結(jié)構(gòu)。結(jié)構(gòu)化程序設(shè)計(jì)強(qiáng)調(diào)程序設(shè)計(jì)風(fēng)格和程序結(jié)構(gòu)的規(guī)范化,提倡清晰的結(jié)構(gòu)。結(jié)構(gòu)化程序設(shè)計(jì)方法的基本思路是,把一個(gè)復(fù)雜問(wèn)題的求解過(guò)程分階段進(jìn)行,每個(gè)階段處理的問(wèn)題都控制在人們?nèi)菀桌斫夂吞幚淼姆秶鷥?nèi)。
(1)自頂向下;(2)逐步細(xì)化;
(3)模塊化設(shè)計(jì);(4)結(jié)構(gòu)化編碼。293031323334習(xí)題
一、選擇題1.1以下______不是C語(yǔ)言的特點(diǎn)。A)語(yǔ)言的表達(dá)能力強(qiáng) B)語(yǔ)法定義嚴(yán)格C)數(shù)據(jù)結(jié)構(gòu)系統(tǒng)化 D)控制流程結(jié)構(gòu)化1.2C編譯系統(tǒng)提供了對(duì)C程序的編輯、編譯、連接和運(yùn)行環(huán)境,以下可以不在該環(huán)境下進(jìn)行的是______。A)編輯和編譯 B)編譯和連接C)連接和運(yùn)行 D)編輯和運(yùn)行1.3以下______不是二進(jìn)制代碼文件。A)標(biāo)準(zhǔn)庫(kù)文件 B)目標(biāo)文件C)源程序文件 D)可執(zhí)行文件351.4以下不屬于流程控制語(yǔ)句的是______。A)順序語(yǔ)句 B)選擇語(yǔ)句C)循環(huán)語(yǔ)句 D)轉(zhuǎn)移語(yǔ)句1.5下面描述中,正確的是______。A)主函數(shù)中的花括號(hào)必須有,而子函數(shù)中的花括號(hào)是可有可無(wú)的。B)一個(gè)C程序行只能寫一個(gè)語(yǔ)句。C)主函數(shù)是程序啟動(dòng)時(shí)惟一的入口。D)函數(shù)體包含了函數(shù)說(shuō)明部分。36二、填空題1.6函數(shù)體以符號(hào)______開始,以符號(hào)______結(jié)束。1.7一個(gè)完整的C程序至少要有一個(gè)______函數(shù)。1.8標(biāo)準(zhǔn)庫(kù)函數(shù)不是C語(yǔ)言本身的組成部分,它是由______提供的功能函數(shù)。1.9C程序是以______為基本單位,整個(gè)程序由______組成。1.10C源程序文件的擴(kuò)展名是______,C目標(biāo)文件的擴(kuò)展名是______。1.11程序連接過(guò)程是將目標(biāo)程序、______或其他目標(biāo)程序連接裝配成可執(zhí)行文件。1.12因?yàn)樵闯绦蚴莀_____類型的文件,所以它可以用具有文本編輯功能的任何編輯程序完成編輯。37習(xí)題一編程語(yǔ)言概述1.1什么是機(jī)器語(yǔ)言、匯編語(yǔ)言、高級(jí)語(yǔ)言?什么是程序?1.2什么是算法?什么是結(jié)構(gòu)化算法?算法的主要特性是什么?1.3結(jié)構(gòu)化程序設(shè)計(jì)的基本要點(diǎn)是什么?所用的基本結(jié)構(gòu)有哪些?1.4分別用流程圖和N-S表示示解以下問(wèn)題的算法。(1)依次輸入10個(gè)數(shù),將其中的最小數(shù)打印輸出。(2)求1+2+3+…+100。(3)任給3個(gè)數(shù),對(duì)其按從大到小的順序進(jìn)行排序。(4)給定一個(gè)年份(如2002),判斷它是否為閏年?閏年的條件是:該年份能被4整除但不能被100整除;或能被100整除且能補(bǔ)400整除。1.5對(duì)C語(yǔ)言來(lái)說(shuō),下列說(shuō)法是否正確。(1)main()總是第一個(gè)執(zhí)行的函數(shù)。(2)函數(shù)名后的圓括號(hào)內(nèi)沒(méi)有參數(shù)時(shí),圓括號(hào)可以省略。(3)每條語(yǔ)句最后必須用分號(hào)(;)結(jié)束。(4)注釋語(yǔ)句對(duì)程序的運(yùn)行沒(méi)有影響,因而是不必要的。1.6上機(jī)啟動(dòng)TurboC,完成以下操作:(1)檢查系統(tǒng)路徑設(shè)置。(2)完成【例1-13】源程序文件的建立。(3)輸入以下源程序(在輸入一個(gè)新程序前,可用“File”菜單中的“New”命令清除原有程序),將程序保存在文件中,并運(yùn)行該程序。
main(){inta,b,sum;
a=5;b=10;
sum=a+b;
printf(“sum=%d”,sum);
}1.7編寫一簡(jiǎn)單程序,要求程序運(yùn)行后,在屏幕上顯示:
Wearestudents上機(jī)運(yùn)行該程序。1.8編寫一程序,輸入兩個(gè)整數(shù),能輸出它們的和、差、積、商,并上機(jī)通過(guò)該程序。3832個(gè)關(guān)鍵字:(由系統(tǒng)定義,不能重作其它定義)autobreakcasecharconstcontinuedefaultdodoubleelseenumexternfloatforgotoifintlongregisterreturnshortsignedsizeofstaticstructswitchtypedefunsignedunionvoidvolatilewhile<
C語(yǔ)言程序設(shè)計(jì)
第一章C語(yǔ)言概述399種控制語(yǔ)句:if()~else~for()~while()~do~while()continuebreakswitchgotoreturn<
C語(yǔ)言程序設(shè)計(jì)
第一章C語(yǔ)言概述40例1.1最簡(jiǎn)單的C程序voidmain(){ printf("Hello,world\n"); /*輸出了一句話*/}C語(yǔ)言程序舉例例1.2求兩個(gè)數(shù)的和voidmain(){ inta,b,sum; /*定義變量*/ a=123;b=456; /*給變量賦值*/ sum=a+b; /*求a與b的和*/ printf("sumis%d\n",sum); /*輸出結(jié)果*/}41例1.3比較任意兩個(gè)數(shù)的大小,求較大數(shù)intmax(intx,inty) /*定義max函數(shù),函數(shù)值為整型。x、y為形參,整型*/{ intz; /*函數(shù)中用到的內(nèi)部變量z,也要加以定義*/ if(x>y)z=x; /*比較x、y的大小,如果x大于y,則執(zhí)行z=x*/ elsez=y; /*否則執(zhí)行z=y*/ return(z); /*將z的值返回*/}voidmain() { inta,b,c; /*定義變量*/ scanf("%d,%d",&a,&b);/*輸入變量a,b的值*/ c=max(a,b); /*調(diào)用函數(shù),將得到的值賦給c*/ printf("max=%d",c); /*輸出c的值*/}421.函數(shù)是組成C程序的基本構(gòu)件C語(yǔ)言的結(jié)構(gòu)特點(diǎn)和書寫方式intmax(intx,inty){ intz; if(x>y)z=x; elsez=y; return(z);}voidmain() { inta,b,c; scanf("%d,%d",&a,&b); c=max(a,b); printf("max=%d",c);}2.函數(shù)由兩部分組成:函數(shù)的說(shuō)明部分函數(shù)體intmax(intx,inty)voidmain()3.語(yǔ)句以分號(hào);結(jié)束4.書寫格式自由5.用/*…*/做注釋43C程序的上機(jī)步驟1.編輯:生成C源程序(文件擴(kuò)展名為.C)2.編譯:生成目標(biāo)程序(文件擴(kuò)展名為.OBJ)3.連接:將目標(biāo)程序和庫(kù)函數(shù)(文件擴(kuò)展名為.LIB)及其他目標(biāo)程序連接起來(lái),生成可執(zhí)行程序(文件擴(kuò)展名為.EXE)4.運(yùn)行:運(yùn)行可執(zhí)行程序,輸入數(shù)據(jù),得到運(yùn)行結(jié)果,并結(jié)束程序運(yùn)行44開始編輯源程序hello.c編譯目標(biāo)程序hello.obj連接庫(kù)函數(shù)目標(biāo)程序可執(zhí)行程序hello.exe結(jié)束正確執(zhí)行結(jié)果正確?否無(wú)有錯(cuò)?有45T
溫馨提示
- 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ù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
- 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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 安全防護(hù)在云存儲(chǔ)服務(wù)的隱私保護(hù)考核試卷
- 帆布制品生產(chǎn)流程再造實(shí)踐考核試卷
- 方劑試題含參考答案
- 投影儀鏡頭清潔與校準(zhǔn)技巧考核試卷
- 電力設(shè)施的智能化運(yùn)維與安全管理
- 發(fā)電機(jī)組在港口與航運(yùn)的電力需求考核試卷
- 建筑裝飾設(shè)計(jì)藝術(shù)導(dǎo)向考核試卷
- 挖掘企業(yè)安全生產(chǎn)培訓(xùn)潛力的策略與實(shí)施考核試卷
- 電焊工練習(xí)題庫(kù)(附參考答案)
- 單板加工市場(chǎng)細(xì)分與目標(biāo)客戶開發(fā)策略考核試卷
- 暢捷通g6財(cái)務(wù)管理系統(tǒng)專業(yè)版使用手冊(cè)
- 化工儀表及自動(dòng)化ppt課件匯總?cè)譸pt完整版課件最全教學(xué)教程整套課件全書電子教案全套電子講義
- 2022注冊(cè)電氣工程師專業(yè)考試規(guī)范清單匯總
- 一年級(jí)寫字下學(xué)期課件(PPT 38頁(yè))
- 桂花-作文ppt-PPT課件(共14張)
- 高一數(shù)學(xué)概率部分知識(shí)點(diǎn)總結(jié)及典型例題解析 新課標(biāo) 人教版 必修
- 鐵路運(yùn)費(fèi)計(jì)算方法
- 《小腦梗死護(hù)理查房》
- 免疫及炎癥相關(guān)信號(hào)通路
- 某風(fēng)電場(chǎng)設(shè)備材料設(shè)備清單
- —橋梁專業(yè)施工圖設(shè)計(jì)審查要(終)
評(píng)論
0/150
提交評(píng)論