版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
前言本指導(dǎo)書是針對(duì)數(shù)學(xué)類專業(yè)和非數(shù)學(xué)類專業(yè)學(xué)生的需要提供的C語言上機(jī)指導(dǎo)教材。前面十個(gè)實(shí)驗(yàn)涉及的是C語言的基礎(chǔ)內(nèi)容,要求學(xué)生必須熟練掌握。后面十個(gè)綜合性實(shí)驗(yàn)?zāi)芴岣邔W(xué)生對(duì)較復(fù)雜問題的分析及程序設(shè)計(jì)能力。另外每個(gè)實(shí)驗(yàn)后面都有習(xí)題,主要目的是進(jìn)ー步鞏固所學(xué)的知識(shí)。在本指導(dǎo)教材的第三、四部分給出了turboC的常用函數(shù)表和錯(cuò)誤信息表,目的是方便學(xué)生編程并查閱所需要函數(shù)并盡快找出錯(cuò)誤的根源。實(shí)驗(yàn)內(nèi)容中有的給出了參考程序(主要是前面幾個(gè)實(shí)驗(yàn)),更多的需要學(xué)生自己編寫程序,所以要求學(xué)生必須在每次實(shí)驗(yàn)前認(rèn)真預(yù)習(xí)本次實(shí)驗(yàn)內(nèi)容,編寫好程序方能參加實(shí)驗(yàn)。編者2011.2.
第一部分TurboC集成編譯環(huán)境4頁第二部分C語言實(shí)驗(yàn)實(shí)驗(yàn)ー熟悉C語言運(yùn)行環(huán)境(預(yù)備實(shí)驗(yàn))17頁實(shí)驗(yàn)ニ數(shù)據(jù)描述與基本操作2I頁實(shí)驗(yàn)三程序分支26頁實(shí)驗(yàn)四循環(huán)控制實(shí)驗(yàn)五數(shù)組的使用實(shí)驗(yàn)六函數(shù)的使用實(shí)驗(yàn)七指針(一)實(shí)驗(yàn)ハ指針(二)實(shí)驗(yàn)九指針(二)實(shí)驗(yàn)十結(jié)構(gòu)體與共同體實(shí)驗(yàn)H一位運(yùn)算實(shí)驗(yàn)十二文件實(shí)驗(yàn)綜合十三綜合實(shí)驗(yàn)十四統(tǒng)計(jì)學(xué)生成績(jī)綜合實(shí)驗(yàn)十五求矩陣鞍點(diǎn)綜合實(shí)驗(yàn)十六文件應(yīng)用綜合實(shí)驗(yàn)十七分類與索引綜合實(shí)驗(yàn)十八對(duì)分法求非線性方程的根綜合實(shí)驗(yàn)十九求解雅瑟夫問題綜合實(shí)驗(yàn)二十求皇后問題第三部分常用函數(shù)表第四部分錯(cuò)誤信息第一部分TurboC集成編譯環(huán)境TurboC集成編譯環(huán)境是ー個(gè)集程序編輯、編譯、連接、調(diào)試為一體的C程序開發(fā)軟件,它具有速度快、效率高、功能強(qiáng)、使用方便等優(yōu)點(diǎn)。用戶在這個(gè)集成環(huán)境下,可以利用內(nèi)部的編輯器進(jìn)行全屏幕編輯,利用窗口功能進(jìn)行編譯、連接、調(diào)試、運(yùn)行、環(huán)境設(shè)置等エ作。如果你的計(jì)算機(jī)系統(tǒng)已經(jīng)安裝了TurboC編譯系統(tǒng),則在DOS命令狀態(tài)下鍵入命令TCTCfilename其中filename是用戶需要進(jìn)行編輯、編譯、連接、運(yùn)行的C程序的文件名。在前者情況下,該文件名可以在進(jìn)入集成環(huán)境后再指定。如果TurboC編譯系統(tǒng)不是安裝在當(dāng)前目錄下,而是安裝在別的目錄下,并且該目錄路徑?jīng)]有打通,則應(yīng)在TC前面加上“路徑”,以指出TurboC編譯系統(tǒng)所在的位置。但軍種情況一般是很少出現(xiàn)的。這是因?yàn)?DOS系統(tǒng)啟動(dòng)時(shí)要執(zhí)行一個(gè)自動(dòng)批處理文件AUTOEXEC-BAT,在該文件中一般都包含有常用外部命令文件(TC也屬于外部命令)所在的目錄路徑打通的命令,因此,DOS系統(tǒng)啟動(dòng)后,在任何目錄下都可以很方便地使用外部命令,即在外部命令前不必再加上該外部命令文件所在的目錄路徑。進(jìn)入TurboC集成環(huán)境后,首先在屏幕上顯示TurboC主菜單窗口,如圖3.1所示。FileEditRunCompileProjectOptionsDebugBreak/Watch圖1由圖1可以看出,在該菜單下,有八個(gè)菜單條目,即提供了ハ種選擇。每ー個(gè)條目的意義如下:File處理文件(包括裝入、存盤、選擇、建立、換名寫盤),目錄操作(包括列表、改變工作目錄),退出系統(tǒng)及調(diào)用DOS。Edit建立、編輯源文件Run 控制運(yùn)行程序。如果程序已經(jīng)編輯連接好,且Debug/SourceDebugging以及Option/Compiler/Codegeneration/OBJDebugInformation開關(guān)置為ON,則可以用此菜初始化調(diào)試階段。Compile 編譯并生成目標(biāo)程序與可執(zhí)行文件。Project 允許說明程序中包含哪些文件的管理?xiàng)l目(Project)。Options可以選擇集成環(huán)境任選項(xiàng)(如存儲(chǔ)模式、編譯時(shí)的任選項(xiàng)、診斷及連接任選項(xiàng))及定義宏;也可以記錄Include、Output及Library文件目錄,保存編譯任選項(xiàng)和從配置文件加載任選。Debug檢查、改變變量的值,查找函數(shù)程序運(yùn)行時(shí)查看調(diào)用棧。選擇程序編譯時(shí)是否在執(zhí)行行代碼中插入插入調(diào)試試信息。Break/Watch增加、刪除、編輯監(jiān)視表達(dá)式,及設(shè)置、清除、執(zhí)行至斷點(diǎn)。特別要指出的是,除了EDIT項(xiàng)外,每ー個(gè)菜單項(xiàng)以對(duì)應(yīng)ー個(gè)子菜單。而選擇EDIT項(xiàng)目后,只是進(jìn)入編輯器。為了從主菜單中選擇所需要的功能,可以用以下兩種方式之一:(1)按F10鍵后,可以年到屏幕上部主菜單中的某個(gè)條目處出現(xiàn)亮塊,此時(shí),利用左、右光標(biāo)移動(dòng)鍵(一與一)將此亮塊移到所要選擇的條目位置處,然后按回車(ENTER)鍵,即出現(xiàn)相應(yīng)的子菜單。(2)直接按ALT+主菜單條目中的首字母(分別為F,E,R,C,P,〇,D,B)此時(shí)就會(huì)出現(xiàn)相應(yīng)的子菜單。例如,按AUT+F表示選擇文件子菜單(FILE)〇當(dāng)出現(xiàn)子菜單時(shí),其中某個(gè)條目是高亮度的,此時(shí)可以利用上、下光標(biāo)移動(dòng)鍵(t與I)來移動(dòng)該高亮度線,從而選擇所需要的功能。在主菜單或通過主菜單調(diào)用的任意ー個(gè)子菜單中,按ESC鍵后將直接返回到活動(dòng)窗口。下面簡(jiǎn)要介紹各子菜單的功能。.文件子菜單(FILE)當(dāng)選中FILE子菜單后,在‘'FILE”下方將出現(xiàn)ー個(gè)子窗口,如圖3.2所示。在邊個(gè)子窗口中,有的條目右邊還標(biāo)出了實(shí)現(xiàn)該功能的熱鍵。所謂“熱鍵”,是指為執(zhí)行菜單中某ー固定功能而設(shè)置的鍵。通過熱鍵來實(shí)現(xiàn)某種功能,一般要比通過菜單選擇更簡(jiǎn)單直接,但要求用戶熟記這些熱鍵。例如,為了選擇“文件了菜單(FILE)”,除了通過主菜單選擇以外,還可以直接用熱鍵AじT+F來選擇。FileEdit RunCompileProjectLoadF3PickAlt+F3NewSaveF2WritetoDirectoryChangedirOSShellQuitAlt+X下面簡(jiǎn)要說明各項(xiàng)的功能:Load(加載)裝入一個(gè)文件。當(dāng)給定的文件名中有文件名通配符(?或?)時(shí),將進(jìn)行列表選擇。Pick(選擇)將最近裝入進(jìn)編輯窗口的8個(gè)文件列成表,供用戶選擇,選擇后又裝入編輯器,光標(biāo)置在上次修改過的地方。若選了“…LOADFILE…”,屏幕上將出現(xiàn)“LOADFILENAME"提示框。New(新文件)說明文件是新的,裝入編輯器的缺省文件名為NONAME。CoSave(存盤)將編輯器中的內(nèi)容存盤。若文件名為NONAME。C,而又要存盤,編輯器會(huì)詢問是否要改名。Writeto(存盤)把編輯器中的內(nèi)容寫入指定的文件中。若該文件已經(jīng)存在,則導(dǎo)致重寫。Directory顯示目錄與所需文件列表(右按回車鍵則選擇當(dāng)前上當(dāng))。熱鍵F4改變匹配符,選擇文件名后,將該文件裝入編輯器。Changedir(改變驅(qū)動(dòng)器)顯示當(dāng)前上當(dāng),改變構(gòu)驅(qū)動(dòng)器與目錄。OSShell(暫時(shí)退出)暫時(shí)退出TurboC,轉(zhuǎn)至リDOS狀態(tài),在DOS狀態(tài)下用EXIT命令又可返回TurboC。此功能對(duì)于在想運(yùn)行DOS命令但又不想退出TurboC時(shí)非常有用。Quit(退出)退出TurboC,返回到DOS狀態(tài)。.編輯命令(EDIT)調(diào)用內(nèi)部編輯器。在編輯器中按F10可返回主菜單(或用AじT加所需主菜單命令的
首字母),但此時(shí)編輯器中的內(nèi)容仍保持在屏幕上。在主菜單中按ESC或E鍵即可回到編輯器(按ALT+E也可,且在任何時(shí)候都起作用)。.運(yùn)行子菜單(RUN)當(dāng)選中RUN子菜單后,在“RUN”下方將出現(xiàn)ー個(gè)子窗口,如圖3所示,其中也列出了對(duì)應(yīng)的熱鍵。EditRunCompileProjectOptionsRunCtrl+F9ProgramresetCtrl+F2GotocursorF4TraceintoF7StepoverF8UserscreenAlt+F5圖3下面簡(jiǎn)要說明各項(xiàng)的功能:Run(運(yùn)行)運(yùn)行當(dāng)前程序。Programreset(程序重啟動(dòng))中止當(dāng)前調(diào)試,釋放分配給程序的空間,關(guān)閉已打開的文件Gotocursor(執(zhí)行到)使程序從執(zhí)行長(zhǎng)條運(yùn)行到編輯窗口中光標(biāo)所在行。若光標(biāo)所在行不含可執(zhí)行代碼語句,則顯示ー"ESC框作警告。Traceinto(跟蹤進(jìn)入)運(yùn)行當(dāng)前函數(shù)中的下ー個(gè)語句。若此語句不含調(diào)試器可訪問的函數(shù)調(diào)用,則停在下一條可執(zhí)行語句上;但若此語句含有調(diào)試器可訪問的函數(shù)調(diào)用,則停在函數(shù)定義的開始。Stepover(單步執(zhí)行)執(zhí)行當(dāng)前函數(shù)的下ー語句,即使遇到調(diào)試語句可訪問的函數(shù)調(diào)用也不會(huì)跟蹤進(jìn)入下ー級(jí)函數(shù)中。Userscreen(用戶屏幕)切換到用戶屏幕。4、編譯子菜單(Compile)當(dāng)選中Compile子菜單后,在"Compile”下方將出現(xiàn)ー個(gè)子窗口,如圖4所示。RunCompileProjectOptionDebugCompiletoOBJC:NONNAME.OBJMakeEXEfileC:NONNAME.EXELinkEXEfileBuildallPrimaryCfileGetinfo圖4下面簡(jiǎn)要說明各項(xiàng)的功能:compiletoobj(編譯生成目標(biāo)碼)本命令將一個(gè).C源文件編譯成.OBJ文件,同時(shí)顯示生成的文件名。.OBJ文件由源.C文件名產(chǎn)生;或在沒有指定文件名時(shí),由上次裝入編輯器的文件名產(chǎn)生。TurboC在編譯時(shí)彈出ー個(gè)窗口,用于顯示編譯結(jié)果。在編譯/組裝(MAKE)完后,按任ー鍵將清除編譯窗口。此時(shí)若發(fā)現(xiàn)有錯(cuò)誤,則轉(zhuǎn)到消息窗口的的第一個(gè)錯(cuò)誤處(有亮度標(biāo)志)。本命令的熱鍵為ALT+F9oMakeEXEfile(生成執(zhí)行文件)本命令調(diào)用來生成.EXE文件,并顯示所生成的.EXE文件名。.EXE文件名是依次由下列文件名產(chǎn)生的:Project/ProjectName說明的文件名;或ProjectCFile說明的文件名;或上次裝入窗口的文件名。本命令的熱鍵為F9。linkEXEfile(連接執(zhí)行文件)把當(dāng)前文件與庫文件(既可以是缺省的,也可以是定義在當(dāng)前項(xiàng)目文件中的)連接在一起,生成EXE文件BuiltAll(建立所有文件)重建項(xiàng)目中的所有文件。本命令類似Compile/makeEXEFile,只是它是無條件執(zhí)行的,而Compile/makeEXEFile只重建那些非過時(shí)的文件。本命令首先將所有的Project文件中的.obj的日期與時(shí)間置為0,然后再組裝(make)。這樣,若用戶因Ctrl+Break鍵中斷了BuildAl!命令,只要用Compile/makeEXEFile即可恢復(fù)。PrimaryCfile(主C文件)當(dāng)編譯多個(gè).H頭文件單個(gè).C文件時(shí),PrimaryCFile命令是很有用的(但并非必要的)。若在編譯過程中發(fā)現(xiàn)錯(cuò)誤,包含錯(cuò)誤的文件(.C或.H)將被自動(dòng)裝入編輯器,可對(duì)其修改。但必須注意’.H文件只有在已將。ption/Environment/MessageTracking缺省設(shè)置改為AllFile時(shí)才能自動(dòng)裝入,而原缺省設(shè)置不會(huì)自動(dòng)加載.H文件。即使.C文件不在編輯器,但只要一按Alt+F9,.C主文件即被重新編譯。GetInfo(獲得信息)Compile/GetInfo開辟ー窗口,給出如下信息:源文件;與當(dāng)前文件相聯(lián)系的目標(biāo)文件名;當(dāng)前源文件名;當(dāng)前源文件字節(jié)數(shù);程序退出碼;可用空間。Project子菜單當(dāng)選中Project子菜單后,在“Projecい下方將出現(xiàn)ー個(gè)子窗口,如圖5所示。CompileProjectOptionsDebugBreak/WatchProjectnameBreakmakeon errorsAutodependencies offClearprojectRemovemessagesGetinfo圖5下面簡(jiǎn)要說明各項(xiàng)功能:(l)Projectname選擇ー個(gè)包含將要編譯連接的文件名的Project文件,項(xiàng)目名也將是以后要建立的。EXE或MAP文件名。典型的項(xiàng)目文件具有.PRJ擴(kuò)展名。(2)Breakmakeon提供用戶說明中止make的缺省條件,如警告(Warnings)>錯(cuò)誤(Errors)、致命錯(cuò)誤(FatalError)〇(3)Autodependencies(自動(dòng)依賴)這是ー個(gè)開關(guān)。當(dāng)置On為時(shí),項(xiàng)目組裝(Project.Make)自動(dòng)檢查每個(gè)項(xiàng)目表中在磁盤上有相應(yīng)C文件的那些.OBJ文件的源文件的日期/時(shí)間信息與.OBJ文件的依賴關(guān)系。所謂自動(dòng)依賴關(guān)系檢查,是指:項(xiàng)目組裝打開.OBJ文件,尋找包含在源代碼的那些文件的有關(guān)信息。這種信息總是在編譯源模塊時(shí)即被TC或TCC放進(jìn).OBJ文件了。此時(shí),把每個(gè)組成.OBJ文件的日期/時(shí)間信息與?OBJ中的進(jìn)行比較,若不同,則重新編譯.C源文件。若Autodependencies開關(guān)置為off,則不進(jìn)行這種檢查。Clearproject(清除project)改命令清除項(xiàng)目文件名,重置消息窗口(MessageWindow)。Removemessage(刪除信息)該命令把錯(cuò)誤信息從消息窗口中清除掉。6.Option子菜單當(dāng)選中Option子菜單后,在“Option”下方將出現(xiàn)ー個(gè)子窗口,如圖6所示。ProjectOptionDebugBreak/WatchCompileLinkEnvironmentDirectoriesArgumentsSaveoptionsRetrieveoption圖6下面簡(jiǎn)要說明各項(xiàng)的功能:(1)Compile(編譯器)本命令將產(chǎn)生一個(gè)子菜單,為用戶提供說明硬件配置、存儲(chǔ)模式、調(diào)試技術(shù)、代碼優(yōu)化、診斷消息控制以及宏定義等。各菜單條目如下:Model(選擇存儲(chǔ)模型)Define(打開一個(gè)宏定義框)Codegeneration(代碼生成)Optimization(優(yōu)化用戶代碼)Source(處理源代碼)Errors(處理和響應(yīng)診斷信息)Names(改變代碼、數(shù)據(jù)等)其中每一個(gè)條目又對(duì)應(yīng)ー個(gè)子菜單,供用戶選擇各種功能。詳細(xì)介紹請(qǐng)參看TurboC的用戶手冊(cè)。(2)Linker(連接器)本命令將產(chǎn)生有關(guān)連接器的設(shè)置。它包括以下內(nèi)容:Mapfile(選擇映射文件的類型On/Off,缺升值為Off)Initializesegments(段初始化On/Off,缺升值為Off)Defaultlibraries(缺省庫On/Off,缺升值為On)Graphicslibrary(圖形庫On/Off,缺升值為On)Warnduplicatesymbals(警告重復(fù)字符On/Off,缺升值為On)Stackwarning(堆棧警告On/Off,缺升值為On)Case-sensitivelink(大小寫區(qū)別連接On/Off,缺升值為On)(3)Environment(環(huán)境設(shè)置)本命令將產(chǎn)生編譯環(huán)境的設(shè)置。它包括以下內(nèi)容:Messagetracking(消息跟蹤C(jī)urrentFile/AllFiles/Off,缺升值為CurrentFile)Keepingmessage(保存消息Yes/No,缺升值為No)Configautosave(配置自動(dòng)保存On/Off,缺升值為On)Editautosave(編輯自動(dòng)保存On/Off,缺升值為Off)Backupfiles(備份文件On/Off,缺升值為On)Tabsize(制表健大小,缺升值為8)Zoomedwindow(放大窗口On/Off,缺升值為Off)Screensize(選擇屏幕顯示行數(shù))(4)Directories(目錄)本命令告訴TurboC到那里去尋找編譯連接所需的文件,生成的可執(zhí)行文件放到何處,在哪里查找配置文件。具體內(nèi)容如下:Includedirectories(包含目錄):C:\TURBOC\INCLUDE;C:\TURBOC\INLibrarydirectories(庫目錄):C:\TURBOC\LIBOutputdirectory(輸出目錄):TurboCdirectory(TurboC目錄)Pickfilename(pick文件名)Currentpickfile(當(dāng)前pick文件)Argument(參數(shù))本設(shè)置允許用戶給出運(yùn)行程序命令行。Saveoption(保存任意項(xiàng))將選擇的編輯器、連接器環(huán)境、調(diào)試和project任選項(xiàng)保存到ー個(gè)配置文件中(缺省文件名為TCCONFIG.TC)。啟動(dòng)時(shí),TurboC再到TURBOC目錄中去尋找同樣的文件。Retrieveoption(恢復(fù)任選項(xiàng))加載以前用Option/Saveoptions命令保存的配置文件。Debug子菜單當(dāng)選中Debug子菜單后,在“Debug”下方將出現(xiàn)ー個(gè)子窗口,如圖7所示OptionsDebugBreak/WatchEvaluate Ctrl+FlCallstack Ctrl+F3FindfunctionRefreshdisplayDisplayswappingsmartSourcedebuggingon圖7下面簡(jiǎn)要說明各項(xiàng)功能:Evaluate(計(jì)算)計(jì)算變量或表達(dá)式值,并顯示其結(jié)果。Callstack(調(diào)用棧)本命令顯示ー個(gè)調(diào)用棧的彈出窗口。調(diào)用棧顯示程序運(yùn)行到正在運(yùn)行的函數(shù)時(shí)調(diào)用的函數(shù)序列。其中主函數(shù)main在棧底,正在運(yùn)行的函數(shù)在棧頂。調(diào)用函數(shù)的每ー項(xiàng)顯示了函數(shù)名義擊穿第給它的參數(shù)值。FindFunction(查找函數(shù)定義)顯示編輯窗口每ー函數(shù)的定義。只有在調(diào)試階段才能使用本命令。Rfreshdisplay(刷新顯示器)萬一編輯屏幕被重寫,使用本命令可以恢復(fù)當(dāng)前屏幕的內(nèi)容。Displayswapping(顯示轉(zhuǎn)換)本命令提供三種選擇:On(缺?。lways和None。Soursedebugging(源代碼調(diào)試)本命令提供三種選擇On(缺?。?、Standalone和None〇Break/Watch子菜單當(dāng)選中Break/Watch子菜單后,在"Break/Watch”下方將出現(xiàn)ー個(gè)子窗口,如圖3.8所示。使用本命令可以控制斷點(diǎn)和監(jiān)視表達(dá)式。下面簡(jiǎn)要說明各項(xiàng)的功能:Addwatch(增加監(jiān)視表達(dá)式)向監(jiān)視窗口插入ー個(gè)監(jiān)視表達(dá)式。DebugBreak/WatchAddwatchCtrl+F7DeletewatchEditwatchRemoveallwatchsTogglebreakpointCtrl+F8ClearallbreakpointViewnextbreakpoint圖8Deletewatch(冊(cè)!!除監(jiān)視表達(dá)式)從監(jiān)視窗口中刪除當(dāng)前監(jiān)視表達(dá)式。Editwatch(編輯監(jiān)視表達(dá)式)選擇本命令后,調(diào)試器彈出ー個(gè)含有當(dāng)前監(jiān)視表達(dá)式拷貝的窗口。Removeallwatch(刪除所有監(jiān)視表達(dá)式)將所有監(jiān)視表達(dá)式從監(jiān)視窗口中刪除。Togglebreakpoint(打開或關(guān)閉斷點(diǎn))設(shè)置或除去去光標(biāo)所在斷點(diǎn)。Clearallbreakpoint(清除所有斷點(diǎn))從程序中刪除所有斷點(diǎn)。Viewnextbreakpoint(顯示下ー個(gè)斷點(diǎn))將光標(biāo)移到程序中的下ー個(gè)斷點(diǎn)。第二部分C語言實(shí)驗(yàn)在學(xué)習(xí)c語言程序設(shè)計(jì)的過程中,上機(jī)實(shí)驗(yàn)是十分重要的環(huán)節(jié),通過實(shí)驗(yàn),可以加深對(duì)c語言功能特征、語法規(guī)則、程序編譯與運(yùn)行等基本概念和基本方法的理解和運(yùn)用。通過上機(jī)調(diào)試程序,使學(xué)生能及時(shí)發(fā)現(xiàn)程序編制中出現(xiàn)的錯(cuò)誤并找到修改正方法,提高學(xué)生的獨(dú)立編程能力和編程技巧,為c語言在后續(xù)課程中的應(yīng)用打下堅(jiān)實(shí)的基礎(chǔ)。實(shí)驗(yàn)報(bào)告要求!每次實(shí)驗(yàn)前,認(rèn)真預(yù)習(xí)本次實(shí)驗(yàn)內(nèi)容,按實(shí)驗(yàn)指導(dǎo)書的要求,需編寫的程序,應(yīng)書寫整齊,經(jīng)檢查無誤后方能上機(jī)。2上機(jī)輸入和調(diào)試程序,調(diào)試通過后,打印出程序清單并把運(yùn)行結(jié)果記錄下來(在條件允許下)。3上機(jī)結(jié)束后,按照實(shí)驗(yàn)指導(dǎo)書的具體要求,整理出實(shí)驗(yàn)報(bào)告(字跡エ整),下次上機(jī)交給指導(dǎo)教師。4實(shí)驗(yàn)報(bào)告應(yīng)包括以下內(nèi)容:(1)實(shí)驗(yàn)題目;(3)算法說明(復(fù)雜的可用流程圖表示);(4)程序清單(有條件用打印機(jī)打印出來);(5)運(yùn)行結(jié)果;(6)對(duì)運(yùn)行情況作分析,以及本次實(shí)驗(yàn)所取得的經(jīng)驗(yàn)。如程序未能通過,應(yīng)分析錯(cuò)誤原因。在實(shí)驗(yàn)內(nèi)容里有“*”的部分為選做題,有時(shí)間或有能力的學(xué)生可做這部分。云南大學(xué)數(shù)學(xué)與統(tǒng)計(jì)學(xué)實(shí)驗(yàn)教學(xué)中心
實(shí)驗(yàn)報(bào)告課程名稱:程序設(shè)計(jì)和算法語言學(xué)期:2016學(xué)年上學(xué)期成績(jī):指導(dǎo)教師:趙越學(xué)生姓名:劉淵學(xué)生學(xué)號(hào):20151910012實(shí)驗(yàn)名稱:簡(jiǎn)單程序設(shè)計(jì)調(diào)試實(shí)驗(yàn)編號(hào):一實(shí)驗(yàn)日期:3月13日實(shí)驗(yàn)學(xué)時(shí):2學(xué)院:數(shù)學(xué)與統(tǒng)計(jì)學(xué)院專業(yè):數(shù)學(xué)與應(yīng)用數(shù)學(xué)年級(jí):2015級(jí)ー、實(shí)驗(yàn)?zāi)康?熟悉TC或BorlandC++的運(yùn)行環(huán)境。.了解在TC或BorlandC++上如何編輯、編譯、連接和運(yùn)行一個(gè)C程序。.熟練使用各種C語言的數(shù)據(jù)類型、運(yùn)算符與表達(dá)式。.熟練掌握格式輸入與格式輸出函數(shù)的使用。.通過運(yùn)行簡(jiǎn)單的C程序,初步了解C源程序的特點(diǎn),初步掌握查錯(cuò)和排錯(cuò)的技能..學(xué)會(huì)TurboC2.0的安裝方法(參看本書第一部分),熟悉C語言程序的運(yùn)行環(huán)境,了解所用計(jì)算機(jī)系統(tǒng)軟、硬配置。.初步了解在該集成環(huán)境下如何編輯、編譯、連接和運(yùn)行一個(gè)C程序,即運(yùn)行ー個(gè)C程序的全過程。.通過運(yùn)行簡(jiǎn)單的C程序,初步了解C程序的基本結(jié)構(gòu)及特性。二、實(shí)驗(yàn)內(nèi)容實(shí)驗(yàn)內(nèi)容和步驟1從開機(jī)開始進(jìn)行操作,熟悉ー些常用的DOS命令,包括如何建立子目錄,文件拷貝,刪除文件等。2建立自己的子目錄,以備存放文件。3進(jìn)入TurboC集成環(huán)境,熟悉TurboC主菜單下各選擇項(xiàng)的功能及功能鍵的使用。4輸入ー簡(jiǎn)單C程序(可用教科書上的例題),了解C程序運(yùn)行的全過程。5編寫用printf語句將3個(gè)字符串:goodmorning,floppydisk,harddisk在同一行顯示的程序。程序例mainO{printf(''goodmorning");/?顯示不換行?/printf(''floppydisk");printf(''harddisk\n");J6運(yùn)行結(jié)果:goodmorningfloppydiskharddisk7把上面的程序改為每行顯示一個(gè)字串,應(yīng)如何修改程序,并運(yùn)行之。8編寫ー程序,用鍵盤輸入語句輸入三個(gè)數(shù),然后分別求它們的和、積及求余?!旧蠙C(jī)實(shí)習(xí)指導(dǎo)】1.通過以下程序來掌握上機(jī)操作的全過程。計(jì)算函數(shù)y=3x2+2x-4(假設(shè)x=2)=程序如下:#include''stdio.h"voidmain()intx-2,y;y=3*x*x+2*x-4;printf(''\ny=%dw,y);)①啟動(dòng)TC集成環(huán)境②編輯ー個(gè)新文件按F10將亮條移到File處按回車鍵,再選New后按回車鍵(為簡(jiǎn)化起見,以后用File-New的形式表示上述操作),出現(xiàn)子窗ロ,在其中輸入要?jiǎng)?chuàng)建的文件名,輸入文件名后按回車鍵,出現(xiàn)編輯窗口,即可在此窗口中輸入和修改源程序。③保存文件按F10,選擇菜單File-Save,即可以保存當(dāng)前文件到外存。④編譯文件按F10.選擇菜單Compile-Compiletoobj,就可以對(duì)程序進(jìn)行編譯。在此過程中可能會(huì)出現(xiàn)錯(cuò)誤信息,并進(jìn)行修改,修改完后存盤再進(jìn)行編譯,直至成功。⑤運(yùn)行文件按F10,選擇Run—Run命令運(yùn)行文件。⑥查看運(yùn)行結(jié)果按F10,選擇菜單Run-Userscreen即可以查看程序運(yùn)行結(jié)果。注意:若編譯沒有成功,則程序不能運(yùn)行:若編譯成功,則可以運(yùn)行程序,但若運(yùn)行結(jié)果不正確,則表明程序有邏輯錯(cuò)誤,需要對(duì)程序進(jìn)行調(diào)試和修改,直至程序運(yùn)行結(jié)果正確。你以后每次上機(jī)運(yùn)行ー個(gè)C程序都要經(jīng)過上述操作步驟②■⑥因此,你需要深刻理解和熟練掌握這些步驟。.學(xué)會(huì)調(diào)入ー個(gè)已存在的C源文件按F10,選擇菜單File-Load,出現(xiàn)子窗ロ,在其中輸入已存在的文件名,按回車鍵后即可以調(diào)入ー個(gè)已存在的文件。.學(xué)會(huì)退出TurboC暫時(shí)退出:按F10,選擇菜單File—OSshell?此時(shí)按Exit即可以返回主菜單。永久退出:按F10,選擇菜單File—Quit。.輸入p4-p5例1.2-1.3,并進(jìn)行調(diào)試和運(yùn)行?!咀跃幊绦蛏蠙C(jī)】.設(shè)ー個(gè)正圓臺(tái)的上底半徑rl=2.5cm,下底半徑r2=3.7cm,高h(yuǎn)=3.5cm。分別計(jì)算并輸出該圓臺(tái)的上底面積si下底面積s2,側(cè)面積s3,圓臺(tái)的體積V。具體要求如下:①rl,r2,h用scanf函數(shù)輸入,且在輸入前要有提示;②在輸出結(jié)果時(shí)要有文字說明,每個(gè)輸出值占一行,且小數(shù)點(diǎn)后取4位數(shù)字。③所有變量均定義為單精度類型。.編程實(shí)現(xiàn):用1分、5分、10分、25分的硬幣湊成任何給定的錢數(shù)x,要求硬幣的數(shù)目最少。習(xí)題!以下各標(biāo)識(shí)符中,哪些是合法的用戶標(biāo)識(shí)符?(1)main合法⑵MAIN合法⑶a205合法⑷_exp合法⑸a_b合法(6)3.5不合法⑺A[10J合法⑻A.name不合法⑼%d不合法 ⑩float合法(11)$100不合法?1am不合法?max合法(5)(14)begin合法(15)#define不合法(10N0NAME00合法(17)proc合法(18)and合法?not合法?While合法注:字母或下劃開始的后跟若于字母或下劃線或數(shù)字組成的序列;不能和保留字相同;避免和系統(tǒng)函數(shù)名相同;大小寫字母有別!2選擇(1)18/4*sqrt(4.0)/8的值的類型? BAintBfloatCcharD不確定
(2)在C中,ー個(gè)unsinedint型數(shù)據(jù)的表示范圍是 DA0-127B0-225C0-32767D0-65535⑶(-15)%(-8)的值是 AA-7B7C1.875D非法(5)組合法(-079不合法)('ABC,,oxabc不合法)(5)組合法(-079不合法)('ABC,,oxabc不合法)⑶e-3不合法)(069不合法)(2)組非法288,-079,3.4e",,A,,10111-0,lel4,.5678,'ABC',oxabc+1,3.eJ,'4',ox5a,.015,16.8e069,101,oxabcd2L,345e8,'\n','\\','\101'4下列常量中哪ー組都是非法的?(1)0a,el.5,ox7,'.',158⑵088,ox9afg,65538,3E24,,\089'⑶32768,1.oe584,3.5e-476,"A”,9FBA-32769,45678L,12e-2.1,0X9ab,,\063,9abH,177Q,07777,-9999.999ハt,5計(jì)算下列表達(dá)式⑴15+30M 等于17⑵1.5+15/2等于9.0(3)10==9+1等于1⑷x=10,3+8,y=20⑸x=y=500 (6)設(shè)x=l,y=2,求x++等于2 y++等于3⑺5>3等于1⑻10V500 等于1(9)5>3&&5>8等于〇⑩10>5||5<10等于1三、實(shí)驗(yàn)環(huán)境DOS或Windows操作系統(tǒng):TC或BorlandC++編譯系統(tǒng)。四、實(shí)驗(yàn)過程1實(shí)驗(yàn)步驟【上機(jī)實(shí)習(xí)指導(dǎo)】Sl=rl*rl*nS2=r2*r2*nL=Vh*h+(r2-rl)+(r2-rl)S3=l*n*(r2+rl)S=Vsl*s2V=l/3*h*(s+sl+s2)2題:對(duì)〃ル,れ5同樣操作2關(guān)鍵代碼及其解釋【上機(jī)實(shí)習(xí)指導(dǎo)】#include"stdio.hvoidmain()intx=2,y;y=3*x*x+2*x-4;printf("\ny二%d”,y);)【自編程序上機(jī)】1題:#definepai3.1415#include<math.h>voidmain()(floatrl,r2,h,s,si,s2,s3,v,1;printf(,zpleaseinputrl,r2,h\n");scanfC%f,%f,%f*,&rl,&r2,&h);sl=rl*rl*pai;s2=pai*r2*r2;l=sqrt(h*h+(r2-rl)*(r2-r1));s3=pai*l*(rl+r2);s=sqrt(sl*s2);v=h*(sl+s2+s)/3;4f\n",si,s2,s3,v);printf("sl=%.4f\ns2=%.4f\ns3=%.4f\n4f\n",si,s2,s3,v);2題:#include<stdio.h>voidmain()(intx,ml二〇,m5=0,ml0=0,m25=0;scanf("%d",&x);while(x>=25)(x=x-25;m25++;}while(x>=10)(x=x-10;mlO++;}while(x>=5)(x=x-5;m5++;)while(x>=l)(x二xT;ml++;)printf(*m25=%d\n*,m25);printf("mlO二%d\n”,mlO);printf(〃n)5二%d\n,m5);printf("ml二%d\n”,ml);3調(diào)試過程【上機(jī)實(shí)習(xí)指導(dǎo)】!題:開始運(yùn)行directories環(huán)境出現(xiàn)錯(cuò)誤【自編程序上機(jī)】1題:圓臺(tái)表面積的開根號(hào)計(jì)算出現(xiàn)問題,計(jì)算結(jié)果有問題2題:不知道如何設(shè)計(jì)算法,通過找人詢問和上網(wǎng)查詢得出結(jié)果。五、實(shí)驗(yàn)總結(jié).遇到的問題及解決過程出現(xiàn)運(yùn)行環(huán)境錯(cuò)誤,算出的結(jié)果有時(shí)是負(fù)數(shù),有時(shí)不正確,忘記打分號(hào),忘記打結(jié)尾的花括號(hào)等問題.產(chǎn)生的錯(cuò)誤及原因分析因?yàn)閐irectories目錄不對(duì),出現(xiàn)運(yùn)行環(huán)境錯(cuò)誤,未申明引用#include<math.h>,導(dǎo)致開根號(hào)失敗,算出的結(jié)果是負(fù)數(shù),將浮點(diǎn)型ー開始寫成整型導(dǎo)致算出的結(jié)果不正確。.體會(huì)和收獲。第一次學(xué)習(xí)如何使用C語言有一些困難,不過通過ー些練習(xí)與老師的指導(dǎo),基本能夠編ー些簡(jiǎn)單的程序,也學(xué)會(huì)了自己學(xué)著解決自己在編程過程中遇到的問題。六、參考文獻(xiàn)[1]譚浩強(qiáng),C程序設(shè)計(jì)[M](第四版).北京:清華大學(xué)出版社,2010年6月(中國(guó)高等院校計(jì)算機(jī)基礎(chǔ)教育課程體系規(guī)劃教材)[2]譚浩強(qiáng),C程序設(shè)計(jì)題解與上機(jī)指導(dǎo)(第三版),北京:清華大學(xué)出版社,2005年7月(新世紀(jì)計(jì)算機(jī)教育叢書)七、教師評(píng)語云南大學(xué)數(shù)學(xué)與統(tǒng)計(jì)學(xué)實(shí)驗(yàn)教學(xué)中心實(shí)驗(yàn)報(bào)告課程名稱:程序設(shè)計(jì)和算法語言學(xué)期:2015?2016學(xué)年下學(xué)期成績(jī):指導(dǎo)教師:趙越學(xué)生姓名:劉淵學(xué)生學(xué)號(hào):20151910012實(shí)驗(yàn)名稱:選擇結(jié)構(gòu)程序設(shè)計(jì)實(shí)驗(yàn)編號(hào):二實(shí)驗(yàn)日期:4月10日實(shí)驗(yàn)學(xué)時(shí):2學(xué)院:數(shù)學(xué)與統(tǒng)計(jì)學(xué)院專業(yè):數(shù)學(xué)與應(yīng)用數(shù)學(xué)年級(jí):2015級(jí)ー、實(shí)驗(yàn)?zāi)康?進(jìn)ー步掌握運(yùn)行一個(gè)C語言程序的方法和步驟。2分清C語言的符號(hào)、標(biāo)識(shí)符、保留字的區(qū)別。3掌握C語言的數(shù)據(jù)類型,會(huì)定義整型、實(shí)型、字符型變量以及對(duì)它們的賦值方法。4學(xué)會(huì)數(shù)據(jù)輸入方式和數(shù)據(jù)輸出格式及各種格式轉(zhuǎn)意符。5學(xué)會(huì)使用C的運(yùn)算符以及用這些運(yùn)算符組成的表達(dá)式,特別是自加(++)和自減(——)運(yùn)算符的使用。二、實(shí)驗(yàn)內(nèi)容【上機(jī)實(shí)習(xí)指導(dǎo)】1輸入并運(yùn)行下面程序,分析其運(yùn)行結(jié)果。main(){charcl,c2;cl=46;c2=47;printf(''%3c%3cz,,cl,c2);printf(、ヽ%3d%3d〃,cl,c2);)將程序第二行改為:intcl,c2;再運(yùn)行,分析其結(jié)果。注:實(shí)際本例體現(xiàn)出C語言的ー種特性(靈活),整型變量與字符型變量可以相互轉(zhuǎn)換。2輸入并運(yùn)行下面程序main(){inta,b;floatc,d;longe,f;unsignedintu,v;charcl,c2;scanf(''%d,%d",&a,&b);scanf(、ヽ%f,%f",&c,&d);scanf(、、%Id,%ld",&e,&f);scanf(%o,%〇〃,&u,&v);scanf(、、%c,%c”,&cl,&c2);printf(、、、n〃);printf(''a=%4d,b=%4d\n”,a,b);printf(、、c二%8.2f,d二%8.2f\n〃,c,d);
printf(''e=%161d,f=%161d\nK,e,f);printf(''u=%o,v=%o\n,/,u,v);printf(''cl或c,c2=%c\n",cl,c2);)運(yùn)行上面程序,分析結(jié)果,特別注意輸出Cl,C2的值是什么?什么原因?⑴將輸入e和f、u和v的語句分別改為:scanf(''%d,%d",&e,&f);scanf(%d,%d",&u,&v);運(yùn)行并分析結(jié)果。⑵將程序的第一行加命令行:^include<math.h>運(yùn)行并分析結(jié)果。3編寫一個(gè)程序,求表達(dá)式x-z%2*(x+y)%2/2的值。設(shè)x=8.5,y=2.5,z=44先分析下面程序的結(jié)果,然后再上機(jī)運(yùn)行,看結(jié)果上否一致。main(){intx,y,z;x=y=z=3;y=x++-1;printf(''%4d%4d”,x,y);y=++x-1;printf(%4d%4dw,x,y);y=z +1;printf(''%4d%4d”,z,y);y=--z+1;printf(''%4d%4d,,1z,y);}注:本例學(xué)生注意,自增自減運(yùn)算符,先賦值后自增(自減)和先自增(自減)后賦值的問題。*5編寫ー個(gè)程序,將輸入的小寫字母改寫成大寫字母并輸出。提示:可采用getchar()函數(shù)輸入字符,并利用for()循環(huán)語句。當(dāng)然也可用其它方法,只要能實(shí)現(xiàn)其功能即可。下面給出ー個(gè)語句段,學(xué)生補(bǔ)充一個(gè)完整的程序后,上機(jī)進(jìn)行調(diào)試。for(i=l;i<=10;i++){cl=getchar();c2=cl-32;printf(''string%c\n”,c2);)【自編程序上機(jī)】1(判錯(cuò))下述論斷哪些是不對(duì)的?確誤誤誤誤確誤確喉誤
正錯(cuò)錯(cuò)錯(cuò)錯(cuò)正錯(cuò)正錯(cuò)錯(cuò)①每個(gè)C語言程序有且僅有一個(gè)主函數(shù)main()〇確誤誤誤誤確誤確喉誤
正錯(cuò)錯(cuò)錯(cuò)錯(cuò)正錯(cuò)正錯(cuò)錯(cuò)②C語言程序的每一行都用分號(hào)結(jié)尾。③C程序的執(zhí)行從第一行開始到最后一行結(jié)束。④C程序的每一行只能寫一條語句。⑤C程序的一條語句可以占多行。⑥ー個(gè)C程序可有一個(gè)或多個(gè)函數(shù)組成。⑦在C程序中,注釋說明只能寫在一條語句的末尾。⑧在ー個(gè)C程序中,主函數(shù)必須放在程序的首部。⑨在ー個(gè)C程序中,主函數(shù)main??梢苑旁诔绦虻娜魏挝恢蒙稀"庠贑程序中,注釋部分是用花括號(hào)括起來的。2下列程序錯(cuò)誤在哪里?①main() /?給定半徑r,求園的面積s*/{floatr,s;s=n*r*r;printf("s=%f\n”,s)②main()②main()/?給定長(zhǎng)和寬Lw,求矩形面積s*/{int1,w,s;scanf(、ヽ%d%d〃,1,w);s=l*w;printf(1,w,s);}③main(){inti,j,k;floatx,y,z;scanf(''%d%f%^,&i,&j,&k);scanf(、、%d%f%f”,x,y,z);i=i+x;y=y+j;z=i+j;k=x%y;printf(''%d%f%f\n",i,j,k);printf(''%f%d%d\nz,x,y,z);}運(yùn)行看看結(jié)果如何?為什么?④main(){inti;floatx;longy;i=100;x=200;y=300;printf(、、i二%d,x=%d,y=%d\n",i,x,y);printf(、、i=%f,x=%f,y=%f\n",i,x,y);printf(、、i二%Id,x=%ld,y=%ld\n",i,x,y);)運(yùn)行試試看,結(jié)果如何?為什么?3參考下面程序,如何改寫輸入函數(shù),并配合正確的鍵盤輸入方法才能使x,y和ch分別獲得值10,100和‘A'?main(){intx,y;charch;scanf(、、x二%d,y二%d,ch二%c“,&x,&y,&ch);printf(、、x二%d,y二%d,ch二"c\n〃,x,y,ch);}若將輸入函數(shù)改為scanf(、嘅d,%d,%c〃,&x,&y,&ch);或者scanf(、、%d,%c,%d",&x,&ch,&y);或者scanf(、,%c,%d,%d",&ch,&x,&y);結(jié)果將會(huì)如何?4下面程序?qū)斎胗泻我?利用它可以作什么?main(){intx,y,z;longm;scanf(、、%d%〇%x〃,&x,&y,&z);scanf(、、%x%ld〃,&m);printf(、、x二%d,%o;%x\n",x,x,x);printf(、、y二%d,%o;%x\n",y,y,y);printf(''z=%d,%o;%x\n",z,z,z);printf(、、小=%Id,%lo;%lx\n",m,m,m);}5main(){intx;longy;x=-500;y=-500;printf(、、x二%d,%u;y=%ld,%u\n",x,x,y,y);}你記得補(bǔ)碼是何意義嗎?上述程序說明了什么?如果將x,y各賦值為ー10或者各賦值為ー32768和一2147483648,輸出結(jié)果如何?為什么?
6輸出寬度及控制main(){inti,j;floatx,y;longintm;i=688;j=-32765;x=12345.678;y二一48765.432;m=1234567890;printf(%d,%8d,%08d,%-8d\n〃,i,i,j,j);printf(%f,%12.2f,%12.2f,%-12.2f\n〃,x,x,y,y);printf(%ld,%lu,%121d,%T2d\n〃,m,m,m,m);}三、實(shí)驗(yàn)環(huán)境DOS或Windows操作系統(tǒng);TC或BorlandC++編譯系統(tǒng)。四、實(shí)驗(yàn)過程1實(shí)驗(yàn)步驟【上機(jī)實(shí)習(xí)指導(dǎo)】!題:!題:2題:3題:a=x-(int)z%2*(int)(x+y)%2/2結(jié)束4題:y=x++T,y=++x-1,y=z-+1,y-——z+1【自編程序上機(jī)】1題:無框圖2題:(1)結(jié)束(2)S=l*wi=i+x,y=y+j3題:4題:5題:輸出x,x,y,y結(jié)束2關(guān)鍵代碼及其解釋【上機(jī)實(shí)習(xí)指導(dǎo)】!題:main()(intcl,c2;cl=46,c2=47;printf(*%3c%3c*,cl,c2);printfC%3d%3d*,cl,c2);)2題:main(){inta,b;floatc,d;longe,f;unsignedintu,v;charcl,c2;scanf("%d,%d",&a,&b);scanfC%f,%f*,&c,&d);scanf("%ld,%ld”,&e,&f);scanf("%〇,%〇”,&u,&v);scanf("%c,%c",&cl,&c2);printf("\n");printf("a=%4d,b=%4d\n",a,b);printf("c=%8.2f,d二%8.2f\n",c,d);printf("e=%161d,f=%161d\n",e,f);printf(〃u=%〇,v二%o\n”,u,v);printf("cl二%c,c2二%c\n”,cl,c2);}3題:main()(floatx,y,a;intz;x二8.5,y二2.5,z二4;a=x-z%2*(int)(x+y)%2/2;printf("a二%.2f\n",a);}4題:main(){intx,y,z;x=y=z=3;y二x++-1;printf("%4d%4d",x,y);y=++x-1;printf("%4d%4d",x,y);y=z—+1;printf("%4d%4d",x,y);y=--z+1;printf(飛4d%4d\n”,x,y);【自編程序上機(jī)】1題:無代碼。2題:ttdefinePai3.14159#include<stdio.h>main()(floatr,s;scanf&r);s=Pai*r*r;printf("s=%f\n”,s);)main()(int1,w,s;scanf&1,&w);s=l*w;printf("s二%d",s);)main()(inti,j,k;floatx,y,z;scanf(〃%d%d%d”,&i,&j,&k);scanf("%f%f%f",&x,&y,&z);i=i+x;y=y+j;z=i+j;k=(int)x%(int)y;printf(z,%d%d%d\n/\i,j,k);printf("%f%f%f\n”,x,y,z);}main()(inti;floatx;longy;i=100;x=200;y=300;printf("i=%d,x=%d,y=%d\n*,i,x,y);printfCi=%d,x=%d,y=%ld\n”,i,x,y);printf(〃i二%Id,x=%Id,y=%ld\n”,i,x,y);printf("\n");3題:main()intx,y;charch;scanf(、、%d,%d,%c",&x,&y,&ch);printf(''x=%d,y=%d,ch=%c\n,z,x,y,ch);)4題:main(){intx,y,z;longm;scanf("%d%0%x",&x,&y,&z);scanf&m);printf("x二%d,%o,%x\n”,x,x,x);printf(*y=%d,%o,%x\n”,y,y,y);printf(*z=%d,%o,%x\n*,z,z,z);printf("m二%Id,%lo,%lx\n*,m,m,m);}5題:main()(intx;longy;x=-500;y=-500;printf(Mx=%d,%u;y二%Id,%u\n”,x,x,y,y);}6題:main()(inti,j;floatx,y;longm;i=688;j=-32765;x=12345.678;y=-48765.432;m=1234567890;printfぐ%d,%8d,%08d,%-8d\n”,i,i,j,j);printf("%f,%12.2f,%12.2f,%-12.2f\n〃,x,x,y,y);printf("%ld,%lu,%121d,%T21d\n”,m,m,m,m);3調(diào)試過程【上機(jī)實(shí)習(xí)指導(dǎo)】1題:將char改為int后輸出的結(jié)果還是相同,說明字符型數(shù)據(jù)和整型數(shù)據(jù)是通用的,是可以互換的。2題:ー開始輸出的cl,c2不是我想要輸出的東西,因?yàn)樵谳斖?進(jìn)制后回車了,后來在改成接著在8進(jìn)制后輸入就正確了,如下:ー開始是1,2a,b改正后1,2a,b(1)更改以后就變成都以整形數(shù)據(jù)輸入了,在輸出時(shí),u,v是以8進(jìn)制輸出,而e,f顯示中只有e顯示正確,f是亂碼。(2)加了頭標(biāo)include<math.h>后原程序未出現(xiàn)錯(cuò)誤。3題:原程序錯(cuò)誤,因?yàn)槠渲械某A慷紴楦↑c(diǎn)型而取余(%)運(yùn)算的兩邊都必須為整形,所以要將x+y變?yōu)?int)(x+y),最終運(yùn)算結(jié)果為a=8.504題:y=x++為先運(yùn)算y=x,再運(yùn)算x++,y=++x為先運(yùn)算++x,再運(yùn)算y=x輸出結(jié)果為42545452【自編程序上機(jī)】1題:答案已寫到題目后面。2題:c程序中打不出口這個(gè)符號(hào),可通過符號(hào)常量進(jìn)行運(yùn)算,還有在程序中r未輸入數(shù)值l,w未用地址運(yùn)算(&)符號(hào),導(dǎo)致l,w值未存儲(chǔ),為亂碼。且輸出時(shí)未用%,因此只能輸出l,w,s而不是1,w,S對(duì)應(yīng)的值。(3)輸入函數(shù)中只輸入了兩個(gè),而地址取了三個(gè),導(dǎo)致k未取值,且下面運(yùn)算k=x%y中x,y為浮點(diǎn)型,不能進(jìn)行求余運(yùn)算,且輸出也不正確。x,y,z,為浮點(diǎn)型i,j,k為整型。(4)輸出時(shí)只有第一行和第三行的i值是正確的,其他的都是錯(cuò)誤的,原因是一行中有一個(gè)亂碼后面的都是錯(cuò)誤的。3題:輸入函數(shù)scanf中%前不能加其他的東西,輸出時(shí)如果是ch=c.那顯示的也是ch=c",要改為ch=%c,才能將ch對(duì)應(yīng)的數(shù)據(jù)輸出。4題:輸入的數(shù)要分別為10進(jìn)制,8進(jìn)制,16進(jìn)制,且原程序要將%x%ld兩個(gè)去掉ー個(gè),因?yàn)閙只取ー個(gè)地址。此程序可以實(shí)現(xiàn)將輸入的4個(gè)數(shù)分別以10,8,16進(jìn)制顯示出來。5題:補(bǔ)碼是為了解決數(shù)的符號(hào)問題的,當(dāng)為ー500時(shí)以%d輸出為ー500,以%u輸出為2進(jìn)制無符號(hào)型,-1和一32768也是ー樣,-2147483648在機(jī)下顯示不出因?yàn)槠湮粩?shù)不夠,要用Mu6題:數(shù)據(jù)輸出均正確,只是用%后的數(shù)字來控制了顯示的位數(shù)。五、實(shí)驗(yàn)總結(jié).遇到的問題及解決過程有許多問題,這里無法ーー列舉,有的通過查書解決了,有的問同學(xué)解決了,還有的沒解決,準(zhǔn)備向老師請(qǐng)教。.產(chǎn)生的錯(cuò)誤及原因分析錯(cuò)誤與分析都在上面的調(diào)試過程中闡述了。.體會(huì)和收獲最主要的是學(xué)會(huì)了讀程序和發(fā)現(xiàn)程序存在的錯(cuò)誤,并能積極地翻書查找了。六、參考文獻(xiàn)[1]譚浩強(qiáng),C程序設(shè)計(jì)國(guó)](第四版).北京:清華大學(xué)出版社,2010年6月(中國(guó)高等院校計(jì)算機(jī)基礎(chǔ)教育課程體系規(guī)劃教材)[2]譚浩強(qiáng),C程序設(shè)計(jì)(第四版)學(xué)習(xí)輔導(dǎo),北京:清華大學(xué)出版社,2010年7月(中國(guó)高等院校計(jì)算機(jī)基礎(chǔ)教育課程體系規(guī)劃教材)七、教師評(píng)語云南大學(xué)數(shù)學(xué)與統(tǒng)計(jì)學(xué)實(shí)驗(yàn)教學(xué)中心實(shí)驗(yàn)報(bào)告課程名稱:程序設(shè)計(jì)和算法語言學(xué)期:2015?2016學(xué)年下學(xué)期成績(jī):指導(dǎo)教師:趙越學(xué)生姓名:劉淵學(xué)生學(xué)號(hào):20151910012實(shí)驗(yàn)名稱:選擇結(jié)構(gòu)程序設(shè)計(jì)實(shí)驗(yàn)編號(hào):三實(shí)驗(yàn)日期:5月8日實(shí)驗(yàn)學(xué)時(shí):2學(xué)院:數(shù)學(xué)與統(tǒng)計(jì)學(xué)院專業(yè):數(shù)學(xué)與應(yīng)用數(shù)學(xué)年級(jí):2015級(jí)ー、實(shí)驗(yàn)?zāi)康?熟練掌握上機(jī)運(yùn)行一個(gè)c程序的操作過程。.學(xué)會(huì)正確使用邏輯運(yùn)算符和邏輯表達(dá)式,進(jìn)ー步掌握各種表達(dá)式的使用。.利用if語句實(shí)現(xiàn)選擇結(jié)構(gòu)。.利用switch語句實(shí)現(xiàn)多分支選擇結(jié)構(gòu)。.熟悉關(guān)系表達(dá)式和邏輯表達(dá)式的使用。.掌握break和continue語句的使用,以及它們之間的區(qū)別。.進(jìn)一步練習(xí)調(diào)試與修改程序。二、實(shí)驗(yàn)內(nèi)容實(shí)驗(yàn)內(nèi)容和步驟1三個(gè)整數(shù)a,b,c,由鍵盤輸入這三個(gè)數(shù),求三個(gè)數(shù)中最大的值。main(){inta,b,c;printf(''inputa,b,c:,f);scanf(''%d;%d;%d,z,&a,&b,&c);if(a<b)if(b<c)printf(''maxKd'n”,c);elseprintf(''max=%d\nzz,b);elseif(a<c)printf(''max=%d\n,z,c);elseprintf(''max=%d\n",a);}運(yùn)行下面程序,分析if和else是哪兩個(gè)相互“配對(duì)”,在書寫程序時(shí),分出層次,這樣有利于程序的可讀性,容易查找出錯(cuò)誤。此程序還有更加簡(jiǎn)明的方法實(shí)現(xiàn),就是利用條件表達(dá)式。main(){inta,b,c,max,t;printf(''inputa,b,c:");scanf(''%d,%d,%d〃,&a,&b,&c);t=(a>b)?a:b;max=(t>c)?t:c;printf(,'max=%d,,>max);)學(xué)生可利用此程序,考慮怎樣修改求出三個(gè)數(shù)中的最小值。2先讀下面程序,分析出程序的執(zhí)行結(jié)果,然后再上機(jī)運(yùn)行,結(jié)果是否一致。main(){intx,y=l,z;if(y!=0)x=5;printf(、、x=%d\t”,x);if(y==0)x=3;elsex=5;printf(、、x=%d\t\n",x);x=l;if(z<0)if(y>0)x=3;elsex=5;printf(''x=%d\t\n/,,x);if(z=y<0)x=3elseif(y==0)x=5;elsex=7;printf(、、x=%d\t”,x);printf(、、z=%d\t\n",z);if(x=z=y)x=3;printf(''x=%d\t",x);printf(、、z=%d\t\n",z);)3有一函數(shù):〃x (x<10)y=3x -2 (10^x<50)I4x+l (50^x<100)ゝ5x (x^lOO)輸入x的值,求y的值。程序如下:main(){intx,y,t;printf(''inputx=:");scanf(%dz,,&x);if(x<10)t=0;if(x>=100)t=10;elset=x/10;switch(t){case0:y=x;break;y=3*x-2;break;y=4*x+l;break;y二5*x;)printf(、、y=%d”,y);)運(yùn)行程序,寫出執(zhí)行結(jié)果。本題還可以單獨(dú)用if語句實(shí)現(xiàn),方法簡(jiǎn)單,程序可讀性好,學(xué)生自己編程,上機(jī)運(yùn)行。4從數(shù)字1開始到200之間,求能被3整除的數(shù),然后求這些數(shù)的累加和,直到和的值不大于100為止。輸出這些數(shù)及累加和。參考程序如下:main(){inti,sum=0;for(i=l:i<=200;i++){if(i%3!-0)continue;sum=sum+i;printf(i=%6d”,i);)printf(''sum=%6d",sum);]此程序的目的在于理解continue語句的用法。學(xué)生可以自己選做ー些題目理解break和continue語句之間的區(qū)別,以免混淆。注:break語句可以從循環(huán)體內(nèi)跳出循環(huán)體外,提前結(jié)束循環(huán),接著循環(huán)著下面的語句(從第三題可看出)。Continue語句是結(jié)束本次循環(huán),即跳過循環(huán)體中下面尚未招待的語句,接著進(jìn)行下一次執(zhí)行循環(huán)的判定。*5學(xué)生自己編程,上機(jī)調(diào)試,并記錄下運(yùn)行的結(jié)果。由鍵盤輸入三個(gè)數(shù),計(jì)算以這三個(gè)數(shù)為邊長(zhǎng)的三角形面積。提示:編程時(shí)要考慮到能構(gòu)成三角形的條件為:兩邊之和大于第三邊。求三角形面積公式為s=戶チ(s-a)*(s-0)*(s-c).參考程序如下:#include''math,h”main(){floata,b,c,s,si;printf(''Pleaseenter3reals:\nZf);scanf(、、%f%f%f”,&a,&b,&c);if((a+b)>c&&(a+c)>b&&(b+c)>a){s=(a+b+c)*0.5;sl=s*(s-a)*(s-b)*(s-c);s=sqrt(si);printf(''Areaofthetriangleis%f\n",s);)elseprintf(''Itisnottriangle!\n);}【上機(jī)實(shí)習(xí)指導(dǎo)】.輸入并運(yùn)行習(xí)題3.10。即:#include''stdio.h〃voidmain(){inti,j,n,m;i=8;j=10;m=++i;n=j++;printf(''%d,%d,%d,%d”,i,j,m,n);}分別作以下改變并運(yùn)行:①將程序第四行改為:m=i++;n=++j;②程序改為:main(){inti,j;i=8;j=10;printf(''%d,%d〃,i++,j++);}③在②的基礎(chǔ)上,將語句改為:printf(''%d,%d〃,i++,j++);④再將語句改為:printf(''%d,%d,%d,%d〃,i,j,i++,j++);⑤程序改為:#include''stdio.h〃voidmain(){inti,j,n=0,m=0;i=8;j=10;m+=i++;n-=--j;printf(''%d,%d,%d,%d”,i,j,m,n);}.計(jì)算下列分段函數(shù)值:ズ+x—6, xVO且xW—3f(x)=Xズー5x+6,0<x<10且xX2及x#3パーX-1. 其它具體要求如下:①用if語句實(shí)現(xiàn)分支。自變量X與函數(shù)值均用單精度類型。
②自變量X用scanf函數(shù)輸入,且輸入前要有提示。結(jié)果的輸出采用以下形式:x=具體值,f(x)=具體值③分別輸入X=-5.O,-3.0,1.0,2.0,2.5,3.0,5.0,運(yùn)行該程序。.先靜態(tài)分析以下程序的運(yùn)行結(jié)果,然后上機(jī)驗(yàn)證。#include''stdio.h"voidmain(){inta=3,b=4,c=5,x,y,z;x=c>b>a;y=!a+b+<c&&(b!=c);z=c/b+((float)a/b&&(float)(a/c));printf(''\nx=%d,y=%d,z=%d”,x,y,z);x=a||b-;y=a-3&&b;printf(、、\n%d,%d,%d,%d,%d,%d”,a,b,c,x,y,z):)上機(jī)運(yùn)行的結(jié)果與你分析的結(jié)果是否一致?不一致的原因何在?請(qǐng)?jiān)诔绦虻淖詈螬`個(gè)花括號(hào)前加上語句:getcharO;后重新運(yùn)行程序,注意事項(xiàng)加上這ー語句后,程序的運(yùn)行進(jìn)程有何不同?getcharO是ー個(gè)函數(shù)調(diào)用,其作用是等待接收你從鍵盤輸入的ー個(gè)字符,在你未按鍵之前一直處于等待狀態(tài)。在這里可以起到暫停的作用。當(dāng)你看清結(jié)果并按任意鍵后,立即退出程序并切換回TC主屏幕。用這一方法可以減少屏幕切換操作。l/(x4-2)? 一54xV0且xr-2l/(x-f-5). 0&xV51/(x4-12),1/(x4-12),〇,5&xV10其它.下列C程序的功能是:計(jì)算并輸出分段函數(shù)值。根據(jù)程序?qū)懗龇侄魏瘮?shù)。其中x由鍵盤輸入。請(qǐng)通過調(diào)試修改程序中的錯(cuò)誤(包括語法錯(cuò)誤和邏輯錯(cuò)誤)。^include"stdio.h"main(){floatx,y;printf("inputx=");scanf("%f",&x);if((-5.0<=x<0.〇)&&(x!=-2.〇))y=l.0/(x+2.0);elseif(x<5.0)y=l.0/(x+5.0);elseif(x<10.0)y=l.0/(x+12.0);elsey=0.0;printf("x=%e\ny或e\n”,x,y);)具體要求如下:①不允許改變計(jì)算的精度。②不允許改變?cè)瓉沓绦虻慕Y(jié)構(gòu),只能在語句或表達(dá)式內(nèi)部進(jìn)行修改。③調(diào)試正確后,用x=-7.0,-2.0,-1.0,0.0,2.0,5.0,8.0,10.0,11.0運(yùn)行這個(gè)程序。④畫出與調(diào)試正確后的程序?qū)?yīng)的流程圖?!咀跃幊绦蛏蠙C(jī)】.用scanf函數(shù)輸入ー個(gè)百分制成績(jī)(整型量),要求輸出成績(jī)等級(jí)A,B,C,D,E?其中90T00分為A,80-89分為B,70-79分為C,60-69分為D,60分以下為E。具體要求如下:①用if語句實(shí)現(xiàn)分支。②在輸入百分制成績(jī)前要有提示。③在輸入百分制成績(jī)后,要判斷該成績(jī)的合理性,對(duì)于不合理的成績(jī)(即大于100分或小于〇分)應(yīng)輸出出錯(cuò)信息。④在輸出結(jié)果中應(yīng)包括百分制成績(jī)與成績(jī)等級(jí),并要有文字說明。⑤分別輸入百分制成績(jī):-90,100,90,85,70,60,45,101,運(yùn)行該程序。.將第4題中的(1)改為“用switch語句實(shí)現(xiàn)”,其余不變,重復(fù)實(shí)現(xiàn)第3題中的各功能。.編程找出5個(gè)整數(shù)中的最大數(shù)和最小數(shù),并輸出找到的最大數(shù)和最小數(shù)。習(xí)題!以下if語句的形式哪些是錯(cuò)誤的?if(x!=y)if(x==y)if(x>y)thenz=x;elsez=y;if(x>y)if(x>z)if(x>m)max二x;if(a=b)printf(''Yes");elseprintf(''No");if(5)x=5;elsey=5;if(x-y)z=0;elsez=l;if(x〉〇)y=O;elsey=l;elsey="l;2下面是計(jì)算函數(shù)TOC\o"1-5"\h\z廠1 x>0y=イ0 x=0し1 x<0幾個(gè)程序段:①y=0;if(x<=0)if(x<0)y=-l;elsey=l;②if(x<=0)if(x<0)y=-l;elsey=0;elsey=l;③y=l;if(x<=0)if(x=O)y=0;elsey=T;④y=T;if(x>=0)if(x>0)y=l;elsey=0;其中是否存在錯(cuò)誤?若有,如何糾正?3從鍵盤輸入任意整數(shù),按小到大的順序輸出。4輸入一個(gè)字符,如果是大寫字母改變?yōu)樾懽帜?如果是小寫字母,則把它變?yōu)榇髮懽帜?若是其它字符則不變。5輸入兩個(gè)數(shù)x和y,以及一個(gè)符號(hào)c,若為,'-', ,'/',則輸出x+y,x-y,x*y,x/y,若c是其它符號(hào),則輸出錯(cuò)誤信息。6計(jì)算函數(shù)值:rt3-l 0Wt<1.5J2t-t+l 1.5<t<2. 5y=d-t3+2t2+5 2.5くt<3.5I5ピ+2t 3. 5Wt<6三、實(shí)驗(yàn)環(huán)境DOS或Windows操作系統(tǒng);TC或BorlandC++編譯系統(tǒng)。四、實(shí)驗(yàn)過程1實(shí)驗(yàn)步驟[ヒ機(jī)實(shí)習(xí)指導(dǎo)】1題:2題:3題:4題:【自編程序上機(jī)】1題:main()inta,b,c;printft,inputa,b,c:');scanf(*%d,%d,%d",&a,&b,&c);if(a<b){if(b<c)printf("max=%d\n,c);elseprintf("max=%d\n”,b);)elseif(a<c)printf("max=%d\n,c);elseprintf("max=%d\n”,a);)2題:3題:2關(guān)鍵代碼及其解釋【上機(jī)實(shí)習(xí)指導(dǎo)】!題:2題:3題:4題:【自編程序上機(jī)】1題:2題:3題:3調(diào)試過程【上機(jī)實(shí)習(xí)指導(dǎo)】1題:2題:3題:4題:【自編程序上機(jī)】1題:2題:3題:五、實(shí)驗(yàn)總結(jié).遇到的問題及解決過程.產(chǎn)生的錯(cuò)誤及原因分析.體會(huì)和收獲。六、參考文獻(xiàn)[1]譚浩強(qiáng),C程序設(shè)計(jì)國(guó)](第四版).北京:清華大學(xué)出版社,2010年6月(中國(guó)高等院校計(jì)算機(jī)基礎(chǔ)教育課程體系規(guī)劃教材)[2]譚浩強(qiáng),C程序設(shè)計(jì)(第四版)學(xué)習(xí)輔導(dǎo),北京:清華大學(xué)出版社,2010年7月(中國(guó)高等院校計(jì)算機(jī)基礎(chǔ)教育課程體系規(guī)劃教材)七、教師評(píng)語云南大學(xué)數(shù)學(xué)與統(tǒng)計(jì)學(xué)實(shí)驗(yàn)教學(xué)中心
實(shí)驗(yàn)報(bào)告課程名稱:程序設(shè)計(jì)和算法語言學(xué)期:2015?2016學(xué)年下學(xué)期成績(jī):指導(dǎo)教師:趙越學(xué)生姓名:劉淵學(xué)生學(xué)號(hào):20151910012實(shí)驗(yàn)名稱:循環(huán)結(jié)構(gòu)程序設(shè)計(jì)實(shí)驗(yàn)編號(hào):四實(shí)驗(yàn)日期:5月22日實(shí)驗(yàn)學(xué)時(shí):3學(xué)院:數(shù)學(xué)與統(tǒng)計(jì)學(xué)院專業(yè):數(shù)學(xué)與應(yīng)用數(shù)學(xué)年級(jí):2015級(jí)ー、實(shí)驗(yàn)?zāi)康?進(jìn)一步練習(xí)選擇結(jié)構(gòu)的程序設(shè)計(jì)。.練習(xí)并掌握實(shí)現(xiàn)循環(huán)結(jié)構(gòu)的三種方法。.練習(xí)并掌握選擇結(jié)構(gòu)與循環(huán)結(jié)構(gòu)的嵌套。.掌握多重循環(huán)的應(yīng)用。.學(xué)會(huì)單步跟蹤的操作方法。二、實(shí)驗(yàn)內(nèi)容實(shí)驗(yàn)內(nèi)容和步驟1分別用三種循環(huán)語句(while語句、do-while語句、for語句),實(shí)現(xiàn)求1?100的累加和。編程上機(jī)調(diào)試,總結(jié)出三種循環(huán)語句哪種實(shí)現(xiàn)起來方便、靈活。252求工n!(1!+2!+3!+—+25!)?n=l程序如下:mainO{floatn,s=0,t=l;for(n=l;n<=25;n++){t=t*n;s=s+t;)printf(vl!+2!+3!+…+25!=%e\n”,s);}上機(jī)運(yùn)行,并記錄下結(jié)果。然后用另外兩種循環(huán)語句實(shí)現(xiàn)上述功能。3指出下面三個(gè)程序的功能,當(dāng)輸入“quit?”時(shí),它們的執(zhí)行結(jié)果是什么?#include<stdio.h>mainO{charc;c=getchar();while(c!=f?z){putchar(c);c=getchar(): 當(dāng)輸入非〃?,時(shí),執(zhí)行循環(huán)#include<stdio.h>main(){charc;while((c二getchar())!='?')putchar(++c);}當(dāng)輸入非問號(hào)時(shí),輸出下ー個(gè)字符,知道輸入問號(hào)オ終止循環(huán)#include<stdio.h>main(){while(putchar(getchar())!=,?,);}當(dāng)輸入為非問號(hào)時(shí),原樣輸出字符,當(dāng)輸入為問號(hào)時(shí)結(jié)束循環(huán)。分析輸出的三種不同結(jié)果,在實(shí)驗(yàn)報(bào)告中寫出為什么。*4換零錢。把一元錢全兌換成硬幣,有多少種兌換方法?參考程序如下:main(){inti,j,k,n;n=100,k=0;for(i=0;i<=n/5;i++)for(尸〇;jく=(n-i*5)/2;j++){printf(ヽ、5cent=%d\t2cent二%d\t1cent二%d\n”,i,j.n-i*5-j*2);k++;}printf(''totaltimes=%d\n",k);)*5穿越沙漠。用ー輛吉普車穿越1000公里的沙漠。吉普車的總裝油量為500加侖,耗油量為1加侖/公里。由于沙漠中沒有油庫,必須先用車在沙漠中建立臨時(shí)加油站,該吉普車要以最少的油耗穿越沙漠,應(yīng)在什么地方建立臨時(shí)油庫,以及在什么地方安放多少油最好?參考程序如下:main(){intk=l;floatstation,distation,total;station=distation=total=500.0;while(distation<1000.0){printf(''station(%d)=%9.4foiPstotal(%d)=%10.4f\nz,,k,station,k,total);total=500.〇?++k;station=500.0/(2*kT);diststion+=station;distation-=station;station=1000.O-distation;printf(''station(%d)=%9.4foiPstotal(%d)=%10.4f\n/r,k,station,k,(kT)*50〇.0+(2*kT)*station);}【上機(jī)實(shí)習(xí)指導(dǎo)】1.輸入例6.2.①上機(jī)運(yùn)行程序,分析運(yùn)行結(jié)果。②用單步跟蹤觀察while語句的執(zhí)行過程:連續(xù)按三次F8鍵,再用兩次Ctrl-F7操作分別將i和sum的值顯示出來,然后不按斷F8鍵,每次按F8后,觀察綠條的變化和變量值的變化情況,以此來分析并弄清while語句的執(zhí)行過程。③修改程序,實(shí)現(xiàn)s=l+l/2+l/3+…+1/10?!咀跃幊绦蛏蠙C(jī)】.計(jì)算下列級(jí)數(shù)和s==l-(2/3)+(3/5)-(4/7)+???+(-1)n((n+l)/(2n+D)直到最后ー項(xiàng)的絕對(duì)值小于10-4為止(注意:是l/2n+l)〇具體要求如下:①畫出流程圖。②除了要輸出級(jí)數(shù)和sタト,同時(shí)要求輸出總的項(xiàng)數(shù)n。輸出形式為:n=具體值,s=具體值.如果一個(gè)數(shù)恰好等于它的所有因子(包括1但不包括自身)之和,例如:6的因子為1,2,3, 1+24-3=6,因此6是一個(gè)“完數(shù)”。計(jì)算并輸出1000以內(nèi)的所有“完數(shù)”之和。具體要求如下:①所有循環(huán)均用for循環(huán)。②輸出要有文字說明,并同時(shí)輸出各“完數(shù)”。輸出形式為:完數(shù)1+完數(shù)2+…=和值.P121 6.14?要求用循環(huán)結(jié)構(gòu)實(shí)現(xiàn)。.百錢買百雞問題。已知公雞每只5元,母雞每只3元,小雞1元3只,要求100元錢正好買!00只雞,則應(yīng)買公雞、母雞的小雞各多少只?.某班有學(xué)生n人,從終端讀入n及n個(gè)人學(xué)生的成績(jī),試編程實(shí)現(xiàn)以下功能:①印出前3個(gè)最好成績(jī)及取得每個(gè)最好成績(jī)的人數(shù);②若90分以上計(jì)為優(yōu),75-89分計(jì)為良,60-74分計(jì)為中,60分以下計(jì)為不及格,試統(tǒng)計(jì)各檔成績(jī)所占百分率。習(xí)題1下列論題哪些是錯(cuò)誤的?①C語言沒有g(shù)oto語句。 錯(cuò)誤②While《表達(dá)式》語句的作用是:當(dāng)表達(dá)式的值為0時(shí)重復(fù)執(zhí)行循環(huán)體語句。 錯(cuò)誤,當(dāng)表達(dá)式值為非0時(shí)オ循環(huán),即滿足條件繼續(xù)循環(huán)③do(語句)whil(表達(dá)式)的作用是:重復(fù)執(zhí)行循環(huán)體(“語句”),直到表達(dá)式成立(其值為真)。 錯(cuò)誤,是先執(zhí)行指定的循環(huán)體,然后判斷表達(dá)式,當(dāng)為非〇時(shí)循環(huán)
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(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)業(yè)鏈招商引資的調(diào)研報(bào)告
- 成套的西洋跳棋產(chǎn)業(yè)鏈招商引資的調(diào)研報(bào)告
- 自動(dòng)扶梯市場(chǎng)發(fā)展前景分析及供需格局研究預(yù)測(cè)報(bào)告
- 土壤分析取樣行業(yè)營(yíng)銷策略方案
- 加熱板產(chǎn)品供應(yīng)鏈分析
- 舉重腕帶產(chǎn)業(yè)鏈招商引資的調(diào)研報(bào)告
- 2024年阜陽盛城實(shí)業(yè)有限公司招聘15人筆試模擬試題及答案解析
- 2024年10月浙江嘉興市海寧市婦幼保健院(浙大婦院海寧分院)編外崗位合同制人員招聘筆試模擬試題及答案解析
- 教學(xué)作業(yè)布置方案計(jì)劃
- AI的教育未來-引領(lǐng)個(gè)性化教學(xué)的革新
- 空間大地測(cè)量學(xué)課件
- 空壓機(jī)群控集中控制系統(tǒng)課件
- 綠色產(chǎn)品管制作業(yè)程序
- 腦卒中患者健康管理與隨訪檔案模板
- 國(guó)有公司信息工作管理辦法 模版
- 部編版四年級(jí)道德與法治(上冊(cè))第7課《健康看電視》(課件)
- 親子鑒定申請(qǐng)書通用3篇
- 加強(qiáng)企業(yè)法律事務(wù)管理、推進(jìn)企業(yè)合規(guī)經(jīng)營(yíng)的調(diào)研報(bào)告
- 舉升機(jī)每日維護(hù)檢查表
- 化學(xué)品安全技術(shù)說明書 MSDS(丙烯酸樹脂)
- 醫(yī)療機(jī)構(gòu)中藥飲片管理專項(xiàng)檢查評(píng)估細(xì)則
評(píng)論
0/150
提交評(píng)論