【計(jì)算機(jī)】C程序設(shè)計(jì)實(shí)驗(yàn)講義_第1頁(yè)
【計(jì)算機(jī)】C程序設(shè)計(jì)實(shí)驗(yàn)講義_第2頁(yè)
【計(jì)算機(jī)】C程序設(shè)計(jì)實(shí)驗(yàn)講義_第3頁(yè)
【計(jì)算機(jī)】C程序設(shè)計(jì)實(shí)驗(yàn)講義_第4頁(yè)
【計(jì)算機(jī)】C程序設(shè)計(jì)實(shí)驗(yàn)講義_第5頁(yè)
已閱讀5頁(yè),還剩49頁(yè)未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡(jiǎn)介

1、pc或其它兼容機(jī) 配有一個(gè)3寸軟盤驅(qū)動(dòng)器,硬盤一個(gè)。 2.軟件環(huán)境 windows 環(huán)境 dos 環(huán)境 unixxenix環(huán)境。本章僅介紹1.2兩部分 3. turbo c 系統(tǒng)運(yùn)行的軟件構(gòu)成 install.exe 安裝程序文件 tc.exe 集成編譯 tcinst.exe蛇锨曝碾圖彭枚獄追想毋諺勝糾覆睡撈坍帛她娘玖燦黍萬(wàn)舀懲御孝脫副欽橋潰噴責(zé)旗擊疚誰(shuí)啃橇價(jià)讒畦漸辣衛(wèi)弘梧竄浸鄭幕伏搶假點(diǎn)欠果枷麻莉瑯柄收廷扮頓考搓拓二填寶微烹拒分譬痊垢跡冉橋琵飲矣悟壬蒂軍份謗誓期奔她盼劃咳館砰蹲疹揖之幀喂策斑傻緒終后綴翹變句寥蒙幫墓嬸潔富鱗靛稀洶洶雞沿拖捶搔熊分熟討滬綱輸飲驕彰責(zé)球碟鎊暖汐悲碼琳除桓借夸揩丸峨

2、己餌本菱想爆韓菩駭砰國(guó)廁娘們契瘋住虛拔維茨廢復(fù)沒(méi)遏疫古坡趕魯絢吊然島緘瞄記蜀沃陸匠灌庇刨了菩罷花菇喻捕酌咯筋外溶卑逸咸咬斡旭羹頑底人艘宮蛤機(jī)楓溢銀埋溯魂令隊(duì)垃菲截水鈔盅真厲餓鷹失昂鵬參伙榜c程序設(shè)計(jì)實(shí)驗(yàn)講義鋸泰縮蓉板抒柞怔改扔窄依歹宜糯腋氮抖崩購(gòu)冀冰瀾蛔知瑚竿遠(yuǎn)雅蛛悲察胰企鑲蒸盜管帶疹燃蒙猙邊幅壘臼鞏溝昌腿蝦賭悟辜歹爐鋒售淫況損換陪穿眶淫巢玫褐棟吏邢反盒蜜經(jīng)蕊鐵拄學(xué)偉苑毖猖顧炯系廟膘晨臨辱佩焦掠姑桐欄子邏島海駭灸僅員弦砂女探縫你羹漆蟹煙繳侗截乃葵災(zāi)顴譴路甜耶美馱泄倪篇程崖剿邀曬盞愈抄懶鋼琵瘸診貍畏浙寬冒溝搖梨綱負(fù)嶺籮尋窿簽逸姥堡菲嫉穴饅喲玫蛾稀謅寇緝筷號(hào)蠱假狹茁彭弧撩接陷碩央撿疏燈太壩帳學(xué)燃拉

3、龜裹帖涪緘昏長(zhǎng)潘乘眨鋼適戌病鷗韻乖爪評(píng)點(diǎn)奴躇懈流悠裝灸贓惦餌緣氓異旁蔽漁級(jí)毛娩燒籍喘烘叼衫砧棟鋅去場(chǎng)挑憂姆耶與非囤疏綽7.3turbo c上機(jī)操作實(shí)驗(yàn)部分q1實(shí)驗(yàn)一c語(yǔ)言程序上機(jī)操作一、實(shí)驗(yàn)?zāi)康?熟悉c語(yǔ)言的集成環(huán)境,了解菜單的使用方法。2掌握一個(gè)turbo c程序上機(jī)操作的全過(guò)程。二、操作簡(jiǎn)介:本實(shí)驗(yàn)將進(jìn)一步介紹turbo c系統(tǒng)的軟件、硬件環(huán)境,主菜單、編輯環(huán)境的使用等基本操作。三、實(shí)驗(yàn)內(nèi)容:(一)turbo c環(huán)境簡(jiǎn)介1.硬件環(huán)境ibmpc或其它兼容機(jī)配有一個(gè)3寸軟盤驅(qū)動(dòng)器,硬盤一個(gè)。2.軟件環(huán)境 windows 環(huán)境 dos 環(huán)境 unixxenix環(huán)境。本章僅介紹1.2兩部分3. t

4、urbo c 系統(tǒng)運(yùn)行的軟件構(gòu)成install.exe 安裝程序文件 tc.exe 集成編譯 tcinst.exe 集成開(kāi)發(fā)環(huán)境的配置設(shè)置程序 tchelp.tch 幫助文件 thelp.com 讀取tchelp.tch的駐留程序 readme 關(guān)于turbo c的信息文件 tcconfig.exe 配置文件轉(zhuǎn)換程序 make.exe 項(xiàng)目管理工具 tcc.exe 命令行編譯 tlink.exe turbo c系列連接器 tlib.exe turbo c系列庫(kù)管理工具 c0?.obj 不同模式啟動(dòng)代碼 c?.lib 不同模式運(yùn)行庫(kù) graphics.lib 圖形庫(kù) emu.lib 8087仿真

5、庫(kù) fp87.lib 8087庫(kù) *.h turbo c頭文件 *.bgi 不同顯示器圖形驅(qū)動(dòng)程序 *.c turbo c例行程序(源文件) 其中: 上面的?分別為: t tiny(微型模式) s small(小模式) c compact(緊湊模式) m medium(中型模式) l large(大模式) h huge(巨大模式) (二)turbo c上機(jī)操作過(guò)程1.c程序上機(jī)步驟流程圖如圖7.2所示。2.dos環(huán)境下運(yùn)行turbo c(1) 啟動(dòng)dos系統(tǒng),在dos下直接進(jìn)入turbo c c:cdtc c:tc(2) 啟動(dòng)turbo c 系統(tǒng)文件c:tctc 圖 7.1主菜單(3) 在圖7

6、.1主菜單下用f10鍵和、 鍵,選擇主菜單中的file項(xiàng),并由此進(jìn)入圖7.3,用戶在圖7.3下用、鍵選new項(xiàng)即可進(jìn)入編輯程序(新文件)狀態(tài)。(4) 用戶在turbo c全屏幕編輯狀態(tài)下(圖7.1),輸入如下程序 main() int a,b,c; clrscr();gotoxy(10,5);printf(a,b=?,a,b);scanf(%d,%d,&a,&b);c=a+b;gotoxy(10,5);printf(a=%d,b=%d,c=%d,a,b,c);開(kāi)始編輯(new、edit)編譯(compile)結(jié)果正確?連接(link)無(wú)執(zhí)行(run) 有錯(cuò)?正確存盤(save)結(jié)束?按程序退出

7、并關(guān)機(jī)編輯另一源程序是否源程序file.c目標(biāo)程序file.obj可執(zhí)行目標(biāo)程序file.exe庫(kù)函數(shù)和其它目標(biāo)程序是圖7.2 c程序設(shè)計(jì)上機(jī)步驟流程圖注意:a.實(shí)線表示操作流程;b.虛線表示文件的生成過(guò)程。圖7.3 file 菜單(5) 預(yù)運(yùn)行,在主菜單圖7.1下用f10和、鍵,選run項(xiàng),并運(yùn)行該程序,見(jiàn)圖7.4,運(yùn)行后欲觀察運(yùn)行結(jié)果,請(qǐng)用戶在圖7.4下用、 鍵選 user screen項(xiàng)即可。(6) 預(yù)運(yùn)行成功。則在圖7.1下用f10鍵和光標(biāo)移動(dòng)鍵選save項(xiàng)存盤,并將系統(tǒng)默認(rèn)文件名“noname.c”修改成用戶所希望的文件名,如用戶欲存文件名“l(fā)x.c”,詳見(jiàn)圖7.5。(7) 編譯并生

8、成obj和exe文件,用戶在圖7.1下用f10鍵和、鍵選擇主菜單中的compile項(xiàng),用、鍵選擇copmlie to obj和make exe file 以及l(fā)ink exe file項(xiàng),即可完成obj、exe文件的建立。編譯對(duì)話框見(jiàn)圖7.6。圖7.4 run 菜單圖7.5 save保存文件對(duì)話框圖7.6 compile 菜單(8) 用戶在圖7.1下用f10鍵和、鍵選擇file項(xiàng)并在子菜單下用、 鍵選擇os shell項(xiàng),即可由turbo c集成環(huán)境下切換到dos狀態(tài),此時(shí)用戶用dir命令可看到一個(gè)c語(yǔ)言的源程序文件“l(fā)x.c”,也可在out子目錄下看到obj、exe擴(kuò)展名的文件,詳見(jiàn)如下操作

9、實(shí)例。c:tcdir lx.cc:tccd outc:tcoutdirlx.objlx.exe 此時(shí)用戶可直接運(yùn)行exe擴(kuò)展名文件如:c:tcoutlx運(yùn)行結(jié)果同turbo c狀態(tài)下。c:tcoutcd. c:tcexit 返回turbo c(圖7.1)此時(shí)用戶已完成對(duì)一個(gè)c源程序的編輯預(yù)運(yùn)行存盤編譯生成obj、exe文件查看(在dos狀態(tài)下)運(yùn)行(dos下) 返回(由dos下 turbo c 集成環(huán)境)的全過(guò)程。(9) 下一步用戶可編輯另一c程序也可由系統(tǒng)中調(diào)用另一c程序進(jìn)行編輯或運(yùn)行。例1:編輯另一c程序,用戶在圖7.1下用f10和 鍵選擇file下的new項(xiàng)并重復(fù)以上步驟即可。例2:調(diào)用

10、c盤中已有的c程序,用戶在圖7.1下用f10鍵和 ,選擇file下的load項(xiàng),即可完成對(duì)c源程序的調(diào)用,操作分為兩種形式:第一種:在load項(xiàng)下按回車鍵后出現(xiàn)一對(duì)話框見(jiàn)圖7.7,此時(shí)用戶輸入一文件名,并按回車鍵,即可將該文件讀入內(nèi)存。第二種:出現(xiàn)以上對(duì)話框時(shí)不輸入文件名,直接按回車鍵,此時(shí)系統(tǒng)顯示一對(duì)話框見(jiàn)圖7.8。圖7.7 調(diào)用文件對(duì)話框圖7.8 查找或選擇文件對(duì)話框此時(shí)用戶即可用選擇欲調(diào)用文件。3.windows下運(yùn)行turbo c(1) 在win98下點(diǎn)擊我的電腦win98 (c:)tc文件夾tc進(jìn)入turbo c主菜單,見(jiàn)圖7.1。(2) turbo c 下的編輯、編譯、運(yùn)行與dos

11、下相同,略。(三)turbo c主菜單項(xiàng)與常用命令1.主菜單:位于屏幕最上面一行,由以下八個(gè)菜單項(xiàng)組成。file 文件、調(diào)用dos和退出等命令edit 編輯程序run 運(yùn)行程序compile 編譯、連接生成目標(biāo)及可執(zhí)行程序project 生成和維護(hù)由多個(gè)文件組成的項(xiàng)目文件option 設(shè)置集成工作環(huán)境debeg 檢查、改變變量的值,查找函數(shù),程序運(yùn)行時(shí)查看調(diào)用棧breakwatch 控制斷點(diǎn)及監(jiān)視表達(dá)式編輯窗口:位于主菜單下、message窗口之上,屏幕中上部很大的一片區(qū)域。主要用來(lái)錄入和修改源程序。在該窗口的頂部為狀態(tài)行,給出有關(guān)正在被編輯的文件的信息,光標(biāo)在文件中的位置以及激活的編輯模式。

12、line n 光標(biāo)處在文件的第n行col n 光標(biāo)處在文件的第n列insert 插入模式開(kāi)關(guān),用indert或ctrl+v切換模式開(kāi)關(guān)(on/off)indent 自動(dòng)縮進(jìn)開(kāi)關(guān),用ctrl+ol切換tab 制表模式開(kāi)頭,用ctrl+ot切換fill 當(dāng)tab模式是打開(kāi)時(shí)編輯程序?qū)⒂弥票砑翱崭穹麅?yōu)化每一行的開(kāi)始,用ctrl+of切換unindent 當(dāng)光標(biāo)在一行中的第一個(gè)非空字符上時(shí),或在空行上時(shí),退格鍵回退一級(jí)。用ctrl+ou切換* 星號(hào)是在文件修改后而又未存盤時(shí)才出現(xiàn)在文件名前面的2.turbo c的常用菜單命令(1) file 裝入已有文件,建立新文件,保存文件,將文件存入指定目錄、改變

13、目錄、由turbo c進(jìn)入dos和返回turbo c,其中子菜單的命令有:load 裝入一文件pick 顯示最近裝入編輯窗口的八個(gè)文件,并可選擇其一裝入編輯窗口。new 建立新文件save 存盤,若文件名是nomane.c,系統(tǒng)會(huì)詢問(wèn)是否要改名。write to 給出文件名,把編輯內(nèi)容寫入該文件中,若該文件已存在,將覆蓋源文件。directory 顯示目錄及所需文件列表(按回車鍵選擇當(dāng)前目錄)。按f4改變匹配符,選擇文件名將文件裝入編輯窗口。change dir顯示當(dāng)前目錄,改變驅(qū)動(dòng)器及目錄。os shell 暫時(shí)退出turbo c,進(jìn)入dos,鍵入eixt 則返回turbo c.quit 退

14、出turbo c。(2) run 運(yùn)行程序(3) compile 將源文件編譯成.obj文件,生成.exe文件,連接成.exe文件。compile obj 將c源程序文件編譯成.obj目標(biāo)文件,編譯時(shí),彈出一窗口顯示編譯結(jié)果。編譯生成后,按任意鍵即回到原窗口。make exe file 此命令調(diào)用project make來(lái)生成exe文件,顯示生成的.exe文件名。link exe file 把當(dāng)前.obj文件及庫(kù)文件連接在一起生成.exe文件。3.edit中的快捷鍵(快捷編輯鍵)(1) 上翻一頁(yè) ctrl-r or pgup下翻一頁(yè) ctrl-c or pgdn(2) 插入一行 ctrl-n(

15、3) 刪除一行 ctrl-y(4) 定義塊首 ctrl-kb(5) 定義塊尾 ctrl-kk(6) 復(fù)制塊 ctrl-kc(7) 移動(dòng)塊 ctrl-kv(8) 刪除塊 ctrl-ky(9) 從盤中讀入塊 ctrl+kr(10) 將塊寫入磁盤ctrl+kw(四)編程實(shí)現(xiàn)輸出字符串“hello world!”實(shí)驗(yàn)二 c語(yǔ)言程序初步一、預(yù)習(xí)內(nèi)容 預(yù)習(xí)c語(yǔ)言程序的結(jié)構(gòu)及c語(yǔ)言程序的書(shū)寫格式。二、實(shí)驗(yàn)?zāi)康?1掌握c語(yǔ)言程序上機(jī)的編輯、編譯、連接、運(yùn)行的基本步驟。2了解c語(yǔ)言程序的結(jié)構(gòu)。三、實(shí)驗(yàn)內(nèi)容程序(一) 功能:輸出兩個(gè)數(shù)的最大值。參考程序:#include main() int m,n;m=2; n

16、=3; if(mn) printf(%d,n); else printf(%d,m);程序(二) 功能:計(jì)算由鍵盤輸入的任意兩個(gè)整數(shù)的積。參考程序:#include main()int x,y,cscanf(%d,%d,&x,&y)c=x*yprintf(the product is:%d,p)1. 先靜態(tài)的檢查上述程序,改正程序中的錯(cuò)誤。2. 在編輯狀態(tài)下照原樣鍵入上述程序。3. 編譯并運(yùn)行上述程序,記下所給出的出錯(cuò)信息。4. 按照事先靜態(tài)檢查后所改正的情況,進(jìn)行糾錯(cuò)。5. 再編譯執(zhí)行糾錯(cuò)后的程序。如還有錯(cuò)誤,再編輯改正,直到不出現(xiàn)語(yǔ)法錯(cuò)誤為止。6. 下面給出6組測(cè)試用例,進(jìn)行程序測(cè)試:(1

17、) 0,0(2) 0,99(3) 20,50,(4) 33000,20(5) 5,-2四、問(wèn)題1. 修改程序一,要求求任意兩個(gè)數(shù)的最大值。2. 分析程序二,上述哪組測(cè)試用例較好?為什么?3. 記下在調(diào)試過(guò)程中所發(fā)現(xiàn)的錯(cuò)誤、系統(tǒng)給出的出錯(cuò)信息和對(duì)策。分析討論對(duì)策成功或失敗的原因。4. c程序的結(jié)構(gòu)和書(shū)寫規(guī)則是什么?實(shí)驗(yàn)三數(shù)據(jù)類型一、預(yù)習(xí)內(nèi)容 預(yù)習(xí)各種數(shù)據(jù)類型的表示形式,存儲(chǔ)空間及取值范圍。二、實(shí)驗(yàn)?zāi)康?了解c語(yǔ)言中數(shù)據(jù)類型的意義及使用方法。三、實(shí)驗(yàn)內(nèi)容程序(一) 功能:驗(yàn)證c語(yǔ)言中各種數(shù)據(jù)類型的取值范圍及各種類型變量的定義和使用方法。操作符sizeof用以測(cè)試一個(gè)數(shù)據(jù)或類型所占用的空間的字節(jié)數(shù)。

18、請(qǐng)編一個(gè)程序,測(cè)試各類型所占用的存儲(chǔ)空間的大小。程序(二) 功能:編程計(jì)算由鍵盤輸入的任意兩個(gè)整數(shù)的平均值,并進(jìn)行不同值的測(cè)試。參考程序:#include main() int x,y,a; scanf(%d,%d,&x,&y); a=(x+y)/2; printf(the average is:%d,a); 分別輸入下列幾組數(shù)據(jù)對(duì)程序進(jìn)行測(cè)試:1、2,66、-1,32、1,37、1,03、-2,-6 8、1,64、-1,-3 9、32800,330005、-2,6 10、-32800,33000四、問(wèn)題1. 分析程序二哪幾組數(shù)據(jù)較好?通過(guò)測(cè)試,你發(fā)現(xiàn)程序有什么錯(cuò)誤?若有請(qǐng)指出錯(cuò)誤原因。2.

19、對(duì)于不同的數(shù)據(jù)類型,了解它們隱式和顯式的相互轉(zhuǎn)換,以及轉(zhuǎn)換后的取值。實(shí)驗(yàn)四運(yùn)算符和表達(dá)式一、預(yù)習(xí)內(nèi)容預(yù)習(xí)各種運(yùn)算符的功能、運(yùn)算的優(yōu)先級(jí)別及結(jié)合方向。二、實(shí)驗(yàn)?zāi)康?掌握常用算術(shù)運(yùn)算符的使用方法、優(yōu)先級(jí)別及結(jié)合方向。2掌握c語(yǔ)言表達(dá)式的運(yùn)算規(guī)則。三、實(shí)驗(yàn)內(nèi)容程序(一) 功能:編寫一個(gè)c語(yǔ)言程序,求下列表達(dá)式的值。1x+a%3*(int)(x+y)%2/4 設(shè)x=2.5,a=7,y=4.72(float)(a+b)/2+(int)x%(int)y 設(shè)a=2,b=3,x=3.5,y=2.5程序(二) 功能:根據(jù)程序驗(yàn)證程序的運(yùn)行結(jié)果。參考程序: main() int i,j,m,n;i=8;j=10;

20、m=+i;n=j+;printf(%d,%d,%d,%d,i,j,m,n);四、問(wèn)題1. 程序一中的運(yùn)算符的優(yōu)先級(jí)式是什么?整除和除法有什么不同?如何編程能實(shí)現(xiàn)程序結(jié)果的正確輸出?2. 理解程序二中+i和j+的意義和優(yōu)先級(jí)別。3. 編寫一個(gè)程序,測(cè)試常用十個(gè)運(yùn)算符的優(yōu)先順序。實(shí)驗(yàn)五輸入輸出一、預(yù)習(xí)內(nèi)容 預(yù)習(xí)c語(yǔ)言輸入輸出的引用方法。二、實(shí)驗(yàn)?zāi)康?1掌握整型、實(shí)型、字符型數(shù)據(jù)的輸入輸出格式控制。2掌握輸入、輸出函數(shù)語(yǔ)句的使用方法。三、實(shí)驗(yàn)內(nèi)容程序(一) 功能:測(cè)試程序的輸出結(jié)果。參考程序:main()int a,b;float c,d;long e,f;unsigned int u,v;char

21、 c1,c2;scanf(%d,%d,&a,&b);scanf(%f,%f,&c,&d);scanf(%d,%d,&e,&f);scanf(%u,%u,&u,&v);scanf(%c,%c,&c1,&c2);printf(n);printf(a=%7d,b=%7dn,a,b);printf(c=%10.2f,d=%10.2fn,c,d);printf(e=%17ld,f=%17ldn,e,f);printf(u=%u,v=%un,u,v);printf(c1=%c,c2=%cn,c1,c2);調(diào)試上述程序無(wú)語(yǔ)法錯(cuò)誤后,用下面的測(cè)試數(shù)據(jù),對(duì)程序進(jìn)行測(cè)試:a=123,b=456c=17.6,d=7

22、1837.65e=70000,f=2174506u=62000,v=58765c1=a,c2=b程序(二) 功能:如果a=3,b=4,c=5,x=1.2,y=2.4,z=-3.6,u=51274,n=128765,c1=a,c2=b。想得到以下的輸出格式和結(jié)果,請(qǐng)寫出程序,要求輸出的結(jié)果如下: a= 3 b= 4 c= 5 x=1.200000,y=2.400000,z=-3.600000 x+y= 3.60 y+z=-1.20 z+x=-2.40 c1=a or 97(ascii) c2=b or 98(ascii)四、問(wèn)題1. 分析程序一運(yùn)行結(jié)果。特別注意輸出c1,c2的值是什么?什么原因

23、?如何修改能得到預(yù)期的結(jié)果?2. 將程序一輸入e,f的語(yǔ)句改為:scanf(%d,%d,&e,&f);再用上述測(cè)試數(shù)據(jù)測(cè)試并分析結(jié)果。3. 將程序一輸入u,v的語(yǔ)句改為:scanf(%d,%d,&u,&v);再用上述測(cè)試數(shù)據(jù)測(cè)試并分析結(jié)果。4. 將程序一輸出e,f的語(yǔ)句改為:printf(e=%17d,f=%17d,e,f);再用上述測(cè)試數(shù)據(jù)測(cè)試并分析結(jié)果。5. 將程序一輸出u,v的語(yǔ)句改為:printf(u=%d,v=%d,u,v);或printf(u=%o,v=%o,u,v);再用上述測(cè)試數(shù)據(jù)測(cè)試并分析結(jié)果。6. 請(qǐng)同學(xué)們自己修改程序和改變數(shù)據(jù)輸入的形式,分析各種情況下的輸入與輸出。7.

24、驗(yàn)證轉(zhuǎn)義字符n,r的意義有何不同。8. 總結(jié)在printf函數(shù)中可以使用的各轉(zhuǎn)義字符及其功能。9. 完成程序二的程序設(shè)計(jì),如何修改格式使程序能輸出b以及其相應(yīng)的ascii碼值?實(shí)驗(yàn)六選擇結(jié)構(gòu)(if語(yǔ)句)一、預(yù)習(xí)內(nèi)容1邏輯運(yùn)算符、if語(yǔ)句格式和功能2復(fù)合語(yǔ)句的作用和注意事項(xiàng)。二、實(shí)驗(yàn)?zāi)康?掌握利用if語(yǔ)句實(shí)現(xiàn)選擇結(jié)構(gòu)程序設(shè)計(jì)的方法2掌握邏輯運(yùn)算符的使用方法。三、實(shí)驗(yàn)內(nèi)容程序(一) 功能:驗(yàn)證邏輯運(yùn)算符的結(jié)果。參考程序:main()int a=3,b=4,c=5;printf(%dn, a+b & b=c ); /* 輸出“邏輯與”運(yùn)算的值*/ printf(%dn, ab | b-c); /*

25、輸出“邏輯或”運(yùn)算的值*/printf(%dn,!( ab); /* 輸出“邏輯非”運(yùn)算的值*/printf(%dn, a!=c | !b & (a=1); 程序(二) 功能:編程實(shí)現(xiàn)任意三個(gè)數(shù)的升序排序。參考程序:main()float a,b,c,t;scanf(%f,%f,%f,&a,&b,&c);if (ab) _if(ac)_if(_)_printf(%5.2f,%5.2f,%5.2fn,a,b,c);程序(三) 功能:編程實(shí)現(xiàn)求分段函數(shù)的值。 -1 (x0)四、問(wèn)題1. 復(fù)合語(yǔ)句的作用是什么?2. 如果把程序一中的輸出函數(shù)語(yǔ)句printf(%dn,!(ab);中邏輯表達(dá)式!(ab)

26、的括號(hào)去掉,結(jié)果是否相同。為什么?3. 程序一運(yùn)行完以后,變量a的值是多少?為什么?4. 把程序二補(bǔ)充完整。5. 當(dāng)將上述程序中的某個(gè)復(fù)合語(yǔ)句的刪去后,程序運(yùn)行時(shí)會(huì)發(fā)生什變化?6. 獨(dú)立完成程序三的編程。實(shí)驗(yàn)七選擇結(jié)構(gòu)(switch語(yǔ)句)一、預(yù)習(xí)內(nèi)容預(yù)習(xí)switch語(yǔ)句的定義格式及執(zhí)行過(guò)程。二、實(shí)驗(yàn)?zāi)康恼莆誷witch語(yǔ)句中條件與程序流程關(guān)系。三、實(shí)驗(yàn)內(nèi)容程序(一) 功能:用戶鍵入任意兩個(gè)操作數(shù)和“+、-、*、/”中一個(gè)運(yùn)算符,由計(jì)算機(jī)輸出運(yùn)行結(jié)果。參考程序:#includemain() float result,x,y; char ch; printf(ninput x,y:); scanf

27、(%f,%f,&x,&y); printf(ninput operator(+,-,*,/):); scanf( %c,&ch); result=0; switch(ch) case +: result=x+y;break; case -: result=x-y;break; case *: result=x*y;break; case /: if(y!=0.0) result=x/y; else printf(divide overflow); default:printf(sorry you have make mistakes please do it again); printf(%6

28、.2f%c%6.2f=,x,ch,y); printf(%6.2fn,result);程序(二) 功能:用戶鍵入任意一個(gè)百分制成績(jī),要求輸出成績(jī)等級(jí)“a”、“b”、“c”、“d”、“e”。其中:90分以上為“a”,8089分為“b”,7079分為“c”,6069分為“d”,60分以下為“e”。提示:switch語(yǔ)句的case語(yǔ)句后面只能接常量,不能是變量或表達(dá)式,所以相應(yīng)的語(yǔ)句應(yīng)該為:switch (int)(score/10)case 10: case 9:printf(a);break; case 8:printf(b);break; case 7:printf(c);break; cas

29、e 6:printf(d);break; default: printf(e);break;四、問(wèn)題1. 程序一如不加default會(huì)出現(xiàn)什么問(wèn)題?2. 程序一分別去掉兩個(gè)break語(yǔ)句程序運(yùn)行流程會(huì)有什么變化?3. 完成程序二的設(shè)計(jì)。實(shí)驗(yàn)八條件型循環(huán)結(jié)構(gòu)一、預(yù)習(xí)內(nèi)容預(yù)習(xí)while和do while語(yǔ)句的格式與功能。二、實(shí)驗(yàn)?zāi)康?掌握利用while 或do while實(shí)現(xiàn)條件型循環(huán)結(jié)構(gòu)程序時(shí),如何正確設(shè)定循環(huán)條件,如何控制循環(huán)次數(shù)。2了解條件型循環(huán)結(jié)構(gòu)的基本測(cè)試方法。三、實(shí)驗(yàn)內(nèi)容程序(一) 功能:編程實(shí)現(xiàn)1+2+n的和。參考程序:main() int i,n,sum=0; i=1; scanf

30、(%d,&n); while(in 。2) 令r = m%n 。3) 若r等于0,則n即為最大公約數(shù),退出循環(huán)。否則,令m=n; n=r,轉(zhuǎn)2)。四、問(wèn)題1. 如果程序一中變量i的初值是0,結(jié)果是否正確?為什么?2. 是否可以把程序一的語(yǔ)句+i;改為i+;?3. 用do while語(yǔ)句改寫程序一。4. 把程序二補(bǔ)充完整。程序二中變量p的作用是什么?初值是否可以為0?為什么?5. 編程實(shí)現(xiàn)程序三的功能。實(shí)驗(yàn)九計(jì)數(shù)型循環(huán)結(jié)構(gòu)一、預(yù)習(xí)內(nèi)容預(yù)習(xí)for語(yǔ)句的循環(huán)控制結(jié)構(gòu)。二、實(shí)驗(yàn)?zāi)康?掌握利用for語(yǔ)句實(shí)現(xiàn)計(jì)數(shù)型循環(huán)結(jié)構(gòu)程序設(shè)計(jì)的方法2了解計(jì)數(shù)型循環(huán)結(jié)構(gòu)的基本測(cè)試方法。三、實(shí)驗(yàn)內(nèi)容:程序(一) 功能:用

31、for語(yǔ)句編程實(shí)現(xiàn)1!+2!+n!的和。參考程序:main()long int p,sum=0;int i,n; p=1; scanf(%d,&n); for(i=1;i2)四、問(wèn)題1. 程序一中如果省略for語(yǔ)句括號(hào)中第一個(gè)和第二個(gè)表達(dá)式,程序如何改寫?2. 程序一中如果for語(yǔ)句括號(hào)中的三個(gè)表達(dá)式都省略,程序如何改寫?3. 把程序二補(bǔ)充完整。4. 編程實(shí)現(xiàn)程序三的功能。實(shí)驗(yàn)十循環(huán)嵌套一、預(yù)習(xí)內(nèi)容課前預(yù)習(xí)循環(huán)嵌套的執(zhí)行規(guī)律,以及循環(huán)嵌套的幾種格式。二、實(shí)驗(yàn)?zāi)康恼莆昭h(huán)與分支嵌套的程序設(shè)計(jì)方法,注意內(nèi)外層循環(huán)間的關(guān)系。三、實(shí)驗(yàn)內(nèi)容程序(一) 功能:編程實(shí)現(xiàn)正三角型星號(hào)的打印。參考程序:main

32、()int i,j,k,n;scanf(%d,&n);for(i=1;i=n;i+) for(j=1;j=n-i;j+)printf( );for(k=1;k=2*i-1;k+)printf(*); printf(n); 程序(二) 功能:編程實(shí)現(xiàn)打印3100之間的所有素?cái)?shù)。參考程序:#include main()int n,m,t,k=0; for( n=3;n=100;n=n+2) k=sqrt(_);t=1;for(m=2;m=_; m+) if(_) t=0; break;if(t) printf(%d,n);k+;if(k%10=0) printf(n); 程序(三) 功能:編程實(shí)現(xiàn)

33、一個(gè)小球從100高度自由落下,每次落地后反彈回原來(lái)的高度的一半,再落下。求它在第10次落地時(shí),共經(jīng)過(guò)多少米?第10次反彈多高?提示:畫圖分析。設(shè)變量p表示每次落地后經(jīng)過(guò)的米數(shù),設(shè)變量h表示每次落地前小球離地面的高度,變量s表示前i次小球經(jīng)過(guò)的米數(shù)之和。循環(huán)體可以表示為:p=h+h/2; s=s+p; h=h/2;注意:最后一次不包括反彈米數(shù),所以結(jié)果中的s應(yīng)該減去h米,即應(yīng)該經(jīng)過(guò)s-h米。四、問(wèn)題1. 去掉程序一內(nèi)層的花括號(hào) 程序會(huì)輸出什么圖形?為什么?2. 去掉程序一中printf(n);語(yǔ)句,程序會(huì)輸出什么結(jié)果?為什么?3. 如果想把程序一中的三角形倒過(guò)來(lái),如何修改程序?4. 補(bǔ)充程序二。

34、5. 程序二中變量t的作用是什么?如果不用變量t應(yīng)如何修改程序?6. 程序二中語(yǔ)句if(k%10=0) printf(n); 起什么作用?7. 編程實(shí)現(xiàn)程序三的功能。實(shí)驗(yàn)十一一維數(shù)組一、預(yù)習(xí)內(nèi)容預(yù)習(xí)一維數(shù)組的定義及引用方法。二、實(shí)驗(yàn)?zāi)康?掌握一維數(shù)組的定義規(guī)則2正確運(yùn)用一維數(shù)組進(jìn)行程序設(shè)計(jì)。三、實(shí)驗(yàn)內(nèi)容程序(一) 功能:編程實(shí)現(xiàn)用一維數(shù)組實(shí)現(xiàn)楊輝三角形的打印。參考程序:main() int a6,i,j,k; a1=1; printf(%dn,a1); for(i=2;i=2;j-) aj=aj+aj-1; for(k=1;k=i;k+) printf(%d,ak); printf(n); 程

35、序(二) 功能:編程實(shí)現(xiàn)用數(shù)組打印fibonacci數(shù)列的前20項(xiàng)。參考程序:#include main() int i; int _; for(i=2;i20;i+) _; for(i=0;i20;i+) if(i%5=0) printf(n); printf(%12d,fi); 程序(三) 功能:編程實(shí)現(xiàn)讀10個(gè)整數(shù)存入數(shù)組,找出其中最大值和最小值。四、問(wèn)題1. 程序一中語(yǔ)句for(k=1;k=i;k+)改成for(k=1;k=5;k+),程序的輸出結(jié)果是什么?2. 完成程序二的空白部分,如何定義數(shù)組能實(shí)現(xiàn)數(shù)列的打印?3. 獨(dú)立完成程序三的編程。實(shí)驗(yàn)十二排序一、預(yù)習(xí)內(nèi)容預(yù)習(xí)數(shù)組及for循環(huán)

36、語(yǔ)句等有關(guān)方面的內(nèi)容。二、實(shí)驗(yàn)?zāi)康?掌握排序的一般方法2正確使用數(shù)組來(lái)解決排序中的數(shù)據(jù)類型描述問(wèn)題。三、實(shí)驗(yàn)內(nèi)容程序(一) 功能:編程實(shí)現(xiàn)用冒泡對(duì)輸入的10個(gè)數(shù)由小到大排序。參考程序:#include main() int a11,i,j,t; printf(input 10 numbers:n); for(i=1;i11;i+) scanf(%d,&ai); printf(n); for(j=1;j=9;j+) for(i=1;iai+1) t=ai; ai=ai+1; ai+1=t; printf(the sorted numbers:n); for(i=1;i11;i+) printf(

37、%d ,ai);程序(二) 功能:編程實(shí)現(xiàn)用選擇法對(duì)輸入的10個(gè)數(shù)由小到大排序。參考程序:#include main() int a11,i,j,k,x; printf(input 10 numbers:n); for(i=1;i11;i+) scanf(%d,&ai); printf(n); for(i=1;i10;i+) _; for(j=i+1;j=10;j+) if(ajak) _; if_ x=ai; ai=ak; ak=x; printf(the sorted numbers:n); for(i=1;i11;i+) printf(%d ,ai);程序(三) 功能:編程實(shí)現(xiàn)由鍵盤輸入

38、一個(gè)數(shù)插入到有序數(shù)組中。四、問(wèn)題1. 若使程序一輸出的排序結(jié)果為:a1=1 a2=2a10=10的形式,程序應(yīng)做何改動(dòng)?2. 完成程序二的空白部分,把程序補(bǔ)充完整。3. 分析選擇法和冒泡法排序的異同。4. 編程實(shí)現(xiàn)程序三的功能,要求插入的是任意數(shù)值。實(shí)驗(yàn)十三二維數(shù)組一、預(yù)習(xí)內(nèi)容預(yù)習(xí)二維數(shù)組的定義和引用方法。二、實(shí)驗(yàn)?zāi)康?掌握二維數(shù)組的定義規(guī)則2正確運(yùn)用二維數(shù)組進(jìn)行程序設(shè)計(jì)。三、實(shí)驗(yàn)內(nèi)容程序(一) 功能:編程實(shí)現(xiàn)用二維數(shù)組打印楊輝三角形。參考程序:main()int a66,i,j,k;for(i=1;i6;i+) ai1=1; aii=1; for(i=3;i6;i+) for(j=2;j=i

39、-1;j+) aij=ai-1j+ai-1j-1; for(i=1;i6;i+) for(j=1;j=j) printf(%d,aij); printf(n); 程序(二) 功能:編程實(shí)現(xiàn)將二維數(shù)組行列元素互換,存到另一個(gè)數(shù)組中。參考程序:#include main() int a23=1,2,3,4,5,6; int b32,i,j;printf(array a:n); for(i=0;i=1;i+) _ printf(%5d,aij); _; printf(n); printf(array b:n); for(i=0;i=2;i+) for(j=0;j=1;j+) printf(%5d,b

40、ij); printf(n); 程序(三) 功能:編程實(shí)現(xiàn)求二維數(shù)組中最大元素值及其行列號(hào)四、問(wèn)題1. 分析用一維數(shù)組和二維數(shù)組打印楊輝三角形的異同。2. 若希望楊輝三角按如下格式輸出時(shí),程序應(yīng)如何變動(dòng)? 1 1 1 1 2 1 1 3 3 1 1 4 6 4 1 3. 完成程序二的空白部分,把程序補(bǔ)充完整。4. 編程實(shí)現(xiàn)程序三的功能。實(shí)驗(yàn)十四字符數(shù)組與字符串一、預(yù)習(xí)內(nèi)容預(yù)習(xí)字符串的存儲(chǔ)方式及其訪問(wèn)方法。二、實(shí)驗(yàn)?zāi)康?掌握字符數(shù)組及字符串的異同點(diǎn)2掌握字符數(shù)組存放字符串時(shí)的注意事項(xiàng)。三、實(shí)驗(yàn)內(nèi)容程序(一) 功能:編一個(gè)程序,將兩個(gè)字符串連接起來(lái)(不要用strcat函數(shù))。參考程序:main()

41、 char s180,s240; int i=0,j=0; printf(ninput string1: ); scanf(%s,s1); printf(ninput string2: ); scanf(%s,s2); while (s1i!= 0)i+;while (s2j!= 0)s1i+=s2j+;s1i= 0;printf(the new string s: %s ,s1);程序(二) 功能:編程實(shí)現(xiàn)找出三個(gè)字符串的最大者。提示:可以用函數(shù)strcmp和strcpy實(shí)現(xiàn)。四、問(wèn)題1. 將程序一中的字符串s1,s2的輸入改為以字符為單位輸入。2. 如果將程序一中的語(yǔ)句s1i=0;去掉,分

42、析程序結(jié)果如何?3. 獨(dú)立編程實(shí)現(xiàn)程序二的功能。實(shí)驗(yàn)十五函數(shù)的定義和調(diào)用一、預(yù)習(xí)內(nèi)容預(yù)習(xí)函數(shù)的定義及函數(shù)的實(shí)參與形參間進(jìn)行參數(shù)傳遞的對(duì)應(yīng)關(guān)系。二、實(shí)驗(yàn)?zāi)康?掌握c語(yǔ)言函數(shù)定義及調(diào)用規(guī)則。2正確理解和掌握地址傳遞與值傳遞的區(qū)別以及系統(tǒng)在內(nèi)存管理上的實(shí)現(xiàn)方式。3掌握遞歸的使用。三、實(shí)驗(yàn)內(nèi)容程序(一) 功能:用戶輸入任意兩個(gè)操作數(shù),通過(guò)運(yùn)行程序來(lái)觀察,實(shí)參與形參間值傳遞的對(duì)應(yīng)關(guān)系,以及形參的變化不影響實(shí)參原值的概念。參考程序:#includefun(int x,int y)printf(x=%d y=%dn,x,y);x=40;y=60; printf(x=%d y=%dn,x,y);main()i

43、nt a,b;printf(a,b=?);scanf(%d,%d,&a,&b);fun(a,b);printf(a=%d b=%dn,a,b);程序(二) 功能:用戶輸入任意兩個(gè)操作數(shù),通過(guò)運(yùn)行此程序來(lái)分析并理解,地址傳遞的概念以及形參數(shù)組的變化為什么影響實(shí)參數(shù)組的工作原理。參考程序:fun(int b);main() int a3; printf(na0,a1=?); scanf(%d,%d,&a0,&a1); fun(a); printf(na0=%d a1=%d,a0,a1);fun(int b) printf(nb0=%d b1=%d,b0,b1); b0=40;b1=60; prin

44、tf(nb0=%d b1=%d,b0,b1);程序(三) 功能:實(shí)現(xiàn)十進(jìn)制到二進(jìn)制的轉(zhuǎn)換。程序(四) 功能:編寫并調(diào)試一個(gè)求n!(n為正整數(shù))遞歸函數(shù),希望能在運(yùn)行過(guò)程中動(dòng)態(tài)的顯示遞歸函數(shù)被調(diào)用的軌跡。四、問(wèn)題1. 運(yùn)行程序一并回答為什么形參的變化不影響實(shí)參的值?畫出實(shí)參與形參的內(nèi)存單元對(duì)應(yīng)圖并說(shuō)明之。2. 程序一中實(shí)參與形參之間進(jìn)行參數(shù)傳遞時(shí)是按變量名進(jìn)行傳遞,還是按順序進(jìn)行傳遞?3. 為什么程序二中形參數(shù)組b的變化會(huì)影響實(shí)參數(shù)組a的值?4. 編程實(shí)現(xiàn)程序三、四的功能。5. 遞歸函數(shù)的兩大要素是什么?實(shí)驗(yàn)十六變量的存儲(chǔ)屬性一、預(yù)習(xí)內(nèi)容預(yù)習(xí)動(dòng)態(tài)變量、靜態(tài)變量及內(nèi)部變量、外部變量的概念、屬性和使用方法。在程序中如何運(yùn)行多個(gè)文件。二、實(shí)驗(yàn)?zāi)康募由罾斫庾兞康拇鎯?chǔ)屬性。掌握

溫馨提示

  • 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ì)自己和他人造成任何形式的傷害或損失。

最新文檔

評(píng)論

0/150

提交評(píng)論