版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領
文檔簡介
軟件設計基礎實驗指導書PAGE文檔編號:實驗指導書英文名稱縮寫–版本《軟件設計基礎》課程實驗指導書(適用于軟件工程專業(yè))軟件工程系遼寧工程技術(shù)大學軟件學院年月日目錄TOC\o"1-3"\h\z實驗1C程序的運行環(huán)境和運行一個C程序的方法 1實驗2數(shù)據(jù)類型、運算符和表達式 5實驗3最簡單的C程序設計 8實驗4邏輯結(jié)構(gòu)程序設計 12實驗5循環(huán)控制 16實驗6數(shù)組 22實驗7函數(shù) 26實驗8指針 29實驗9結(jié)構(gòu)體和共用體 36實驗10位運算 38實驗11文件 39實驗12綜合應用實驗 43-PAGE42-實驗1C程序的運行環(huán)境和運行一個C程序的方法一、實驗目的1、了解如何編輯、編譯、連接和運行一個C程序;2、通過運行簡單的C程序,初步了解C程序的特點。二、實驗內(nèi)容1、學習進入C的工作環(huán)境并熟悉TurboC集成環(huán)境;2、練習輸入并運行一個簡單的C程序,掌握和理解C程序的結(jié)構(gòu);3、初步了解C程序的編譯、連接和運行的過程。三、實驗性質(zhì)驗證性實驗四、實驗學時2學時五、實驗環(huán)境TurboC2.0四、實驗原理及步驟1、啟動TurboC進入TurboC集成環(huán)境后,首先在屏幕上顯示TurboC主菜單窗口。在該窗口,有8個菜單條目。每一個菜單的意義如下:File處理文件(包括裝入、存盤、選擇、建立、換名寫盤),目錄操作(包括列表、改變工作目錄),退出系統(tǒng)及調(diào)用DOS;Edit建立、編輯源文件;Run控制運行程序。如果程序已經(jīng)編譯連接好,且Debug/SourceDebugging以及Option/Compiler/Codegeneration/OBJDebugInformation開關置為On,則可以用此菜單初始化調(diào)試階段;Compile編譯并生成目標程序與可執(zhí)行文件;Project允許說明程序中包含哪些文件的管理條目;Options可以選擇集成環(huán)境任選項(如存儲模式、編譯時的任選項、診斷及連接任選項)及定義宏;也可以記錄IncludeOutput及Library文件目錄,保存編譯任選項和從配置文件加載任選;Debug檢查、改變變量的值,查找函數(shù),程序運行時查看調(diào)用棧。選擇程序編譯時是否在執(zhí)行行代碼中插入調(diào)試信息;Break/Watch增加、刪除、編輯監(jiān)視表達式,及設置、清除、執(zhí)行至斷點;特別要指出的是,除了Edit項外,每一個菜單又有對應的子菜單。而選擇Edit項目后,只是進入編輯器;為了從主菜單中選擇所需要的功能,可以用以下兩種方式之一:按F10鍵后,可以看到屏幕上部主菜單中有反白顯示,此時,利用左、右光標移動鍵(←與→)選擇需要的菜單,然后按回車(Enter)鍵。直接按Alt+主菜單條目中的首字母(分別為F、E、R、C、P、O、D、B),此時就會出現(xiàn)相應的子菜單。例如,按Alt+F表示選擇文件子菜單(File)。當出現(xiàn)子菜單時,其中某個條目是高亮度的,此時可以利用上、下光標移動鍵(↑與↓)來移動該高亮度線,從而選擇所需要的功能。在菜單調(diào)用時,按Esc鍵后將直接返回到活動窗口。2、輸入程序(1)輸入以下程序,并運行。main(){printf("Howareyou!");}(2)有下面的C程序,計算由鍵盤輸入的任意兩個整數(shù)的積。#include(stdio.h);main()scanf(“%x,%y”,&x,%y)p=prodct(x,t)printf(“Theproductis:”,p)intprodct(inta,intb)intcc=a*breturnc調(diào)試上述程序:靜態(tài)地檢查上述程序,改正程序中的錯誤;在編輯狀態(tài)下照原樣鍵入上述程序;編譯并運行上述程序,記下所給出的出錯信息;按照事先靜態(tài)檢查后所改正的情況,進行糾錯;再編譯執(zhí)行糾錯后的程序;如還有錯誤,再編輯改正,直到不出現(xiàn)語法錯誤為止。下面給出6組測試用例,你認為哪幾組較好?為什么?0,00,9920,5033000,20-5,-2-5,2要測試出上述程序中所有錯誤,你認為應當用幾組測試用例?3、運行程序按Ctrl+F9運行程序,如果沒有報錯,可以按Alt+F5查看運行結(jié)果,再按空格鍵回到編輯窗口。4、保存文件按F2鍵,彈出一個對話框,在對話框中輸入文件名,如:exam1.c。5、退出TC程序按Alt+X鍵,彈出對話框,提示是否真的要退出TC,如果輸入Y就會退出TC。6、打開已經(jīng)存在的文件首選啟動TC;按F3,彈出對話框;在該對話框中,輸入文件名即可。五、實驗報告1.提交源程序2.總結(jié)實驗中在編輯、編譯、運行等各環(huán)節(jié)中所出現(xiàn)的問題及解決方法。實驗2數(shù)據(jù)類型、運算符和表達式一、實驗目的1、掌握C語言數(shù)據(jù)類型,熟悉如何定義一個整型、字符型和實型的變量,以及對它們賦值的方法;2、掌握不同的類型數(shù)據(jù)之間賦值的規(guī)律;3、學會使用C的有關算術(shù)運算符,以及包含這些運算符的表達式,特別是自加(++)和自減(--)運算符的使用;4、進一步熟悉C程序的編輯、編譯、連接和運行的過程。二、實驗內(nèi)容1、輸入有代表性的程序,比較整型數(shù)據(jù)、字符型數(shù)據(jù)以及字符串型數(shù)據(jù)的區(qū)別與聯(lián)系;2、輸入程序,體會C編譯系統(tǒng)自動的數(shù)據(jù)類型轉(zhuǎn)換。三、實驗性質(zhì)驗證性實驗四、實驗學時2學時五、實驗環(huán)境TurboC2.0六、實驗原理及步驟1、用printf函數(shù)來輸出以下表達式運行結(jié)果(1)當x=5,y=6,z=7時x<yy>xx!=yx==z-2x=x-2x>=zx<=z(2)當x=0,y=-1,z=1時x&&yx||yy&&zy||zx&yx|y2、下面的程序試圖計算由鍵盤輸入的任意兩個整數(shù)的平均值#include<stdio.h>main(){intx,y,a;scanf(“%x,%y,&x,&y);a=(x+y)/2;printf(“Theaverageis:”a);}調(diào)試無語法錯誤后,分別使用下列測試用例對上述程序進行測試:(1)2,6(2)1,3(3)-2,-6(4)-1,-3(5)-2,6(6)-1,3(7)1,0(8)1,6(9)32800,33000(10)-32800,33000分析上述哪幾組測試用例較好?通過測試,你發(fā)現(xiàn)程序有什么錯誤了嗎?若有錯誤,請指出錯誤原因。操作符sizeof用以測試一個數(shù)據(jù)或類型所占用的存儲空間的字節(jié)數(shù)。請編寫一個程序,測試各基本數(shù)據(jù)類型所占用的存儲空間大小。3、編寫一個C語言程序,測試下列各表達式i,ji+1,j+1i++,j++++i,++ji+++++j++i+++++j++要求在各表達式中i和j都分別有相同的初值。在實驗中注意下列問題:哪些表達式是錯誤的?為什么?理解+,++,++i,i++的意義和優(yōu)先級別。七、實驗報告1.提交源程序2.分析以下兩個問題:(1)“=”和“==”有什么區(qū)別?(2)“&”和“&&”、“|”和“||”有什么區(qū)別?實驗3最簡單的C程序設計一、實驗目的1、掌握C語言中使用最多的一種語句——賦值語句的使用方法;2、掌握各種類型數(shù)據(jù)的輸入輸出的方法,能正確使用各種格式轉(zhuǎn)換符。二、實驗內(nèi)容1、掌握C語言程序輸入、輸出的方法和格式;2、掌握各種格式轉(zhuǎn)換符的正確使用方法;3、編寫程序,練習小數(shù)的輸出用法;4、編程序,用getchar函數(shù)讀入兩個字符給c1、c2,然后分別用putchar函數(shù)和scanf函數(shù)輸出這兩個字符。三、實驗性質(zhì)驗證性實驗四、實驗學時2學時五、實驗環(huán)境TurboC2.0六、實驗原理及步驟第一組實驗程序:1、輸入并編輯下面的程序main(){inta,b;floatc,d;longe,f;unsignedintu,v;charc1,c2;scanf(“%d,%d”,a,b);scanf(“%f,%f”,c,d);scanf(“%ld,%ld”,e,f);scanf(“%o,%o”,u,v);scanf(“%c,%c”,c1,c2);printf(“\n”);printf(“a=%7d,b=%7d\n”,&a,&b);printf(“c=%10.2f,d=%10.2f\n”,&c,&d);printf(“e=17ld,f=%17ld\n”,&e,&f);printf(“u=%o,d=%o\n”,&u,&v);printf(“c1=%c,d=%c\n”,&c1,&c2);這個程序有語法錯誤嗎?為什么?2、調(diào)試上述程序無語法錯誤后,用下面的測試數(shù)據(jù),對程序進行測試。a=123,b=456,c=17.6,d=71837.65,e=70000,f=2174506u=62000,v=58765,c1=’a’,c2=’b’分析運行結(jié)果。特別注意輸入c1,c2的值是什么?什么原因?3、將輸入e和f的語句改為:scanf(“%d,%d”,&e,&f);再用上述測試數(shù)據(jù)測試并分析結(jié)果。4、將輸入u、v的語句改為:scanf(“%d,%d”,&u,&v);再用上述測試數(shù)據(jù)測試并分析結(jié)果。5、將輸出e,f的語句改為:printf(“e=%17d,f=%17d\n”,e,f);再用上述測試數(shù)據(jù)測試并分析結(jié)果。6、將輸出u、v的語句改為:printf(“u=%u,v=%u\n”,u,v);或printf(“u=%d,v=%d\n”,u,v);再用上述測試數(shù)據(jù)測試并分析結(jié)果。7、請修改程序和改變數(shù)據(jù)輸入的形式,分析各種情況下的輸入與輸出。8、在scanf(“%c,%c”,&c1,&c2);語句之前加一個語句:getchar();9、驗證轉(zhuǎn)義字符\n與\r的意義有何不同。第二組實驗程序:1、輸入x,y,編寫程序求z=x+|y|的值程序中用scanf函數(shù)輸入x和y的值,請分析以下兩個語句scanf(“%f%f”,x,y);scanf(“%f%f”,&x,&y);哪一個是正確的,分別運行之,分析程序運行結(jié)果。如果scanf函數(shù)改為scanf(“%f,%f”,&x,&y);應該怎樣輸入數(shù)據(jù)。2、編寫輸入三角形的三邊長a、b、c,求三角形面積area的程序。輸入前要加提示語句;輸出結(jié)果前要有必要的文字說明;輸入一組數(shù)據(jù)3、4、5,觀察運算結(jié)果;輸入另外一組數(shù)據(jù)3、4、8,觀察運算結(jié)果,分析這個運算結(jié)果是否有效。*第三組實驗程序:1、編寫一個程序,由鍵盤輸入學生的三門課英語、數(shù)學和程序設計的成績,計算并輸出總成績、平均成績。2、編寫一個程序,輸入一個三位正整數(shù),要求反向輸出對應的整數(shù),如輸入789,則輸出987。七、實驗報告1.提交源程序2.分析以下兩個問題:(1)總結(jié)在printf函數(shù)中可以使用的各種格式指定符,并給出樣例;(2)總結(jié)在printf函數(shù)中可以使用的各轉(zhuǎn)義字符及其功能。實驗4邏輯結(jié)構(gòu)程序設計一、實驗目的及內(nèi)容1、了解條件與程序流程的關系;2、了解用不同的數(shù)據(jù)使程序的流程覆蓋不同的語句、分支和路徑;3、學會正確使用邏輯運算符和邏輯表達式;4、熟練掌握if語句和switch語句。二、實驗性質(zhì)驗證性實驗三、實驗學時2學時四、實驗環(huán)境TurboC2.0五、實驗原理及步驟第一組實驗程序:1、有如下程序段:{……if(a>1&&b==0)x=x/a;if(a==2||x>1)x=x+1;}為了更容易明白程序的邏輯結(jié)構(gòu),用流程圖來加以描述。a>1&&b==0x=x/aa>1&&b==0x=x/aa==2||x>1x=x+1YNYN要求增加一些輸入語句和輸出語句,以便使上述程序能在不同的a,b和x值下運行,并且能觀察程序流程經(jīng)過(覆蓋)了哪些語句、哪些分支及哪些路徑。2、實驗步驟記下分別使用下列各組數(shù)據(jù)運行時的操作流程。a=1,b=1,x=1;a=1,b=1,x=2;a=3,b=0,x=1;a=2,b=1,x=4;a=2,b=1,x=1;a=1,b=0,x=2;a=2,b=1,x=1;a=3,b=0,x=2。3、分析討論用哪一組數(shù)據(jù)就可使程序中的每個處理語句都執(zhí)行一次?為了找出程序中各條處理語句中的錯誤,應該使用什么樣的數(shù)據(jù)對程序進行測試?請上機驗證自己的結(jié)論。用哪兩組數(shù)據(jù)就可以使程序段中的每個分支都運行一次?這種情形與上面的討論有何不同?如果為了找出程序中積壓分支中的錯誤,應該使用什么樣的數(shù)據(jù)對程序進行測試?請上機驗證自己的結(jié)論。用哪兩組數(shù)據(jù)就可以把判定框中的每個條件運算都進行一次?如果為了測試出判定條件中的錯誤,應使用哪些數(shù)據(jù)對程序進行測試?請上機驗證自己的結(jié)論。用哪四組數(shù)據(jù)才可以把各種條件的組合都檢測一遍?如果為了測試各種條件的組合的情形,應該使用什么樣的測試數(shù)據(jù)?請上機驗證自己的結(jié)論。用哪四組數(shù)據(jù)才可以把起始到終止的各條路徑都覆蓋一次?如果為了測試出程序在不同路徑下的錯誤,應該使用什么樣的測試數(shù)據(jù)?請上機驗證自己的結(jié)論。第二組實驗程序:1、用scanf函數(shù)輸入一個年份year,計算這一年2月份的天數(shù)days,然后用輸出函數(shù)printf輸出days。實驗步驟與要求:(1)有變量定義為整型;(2)輸入前要加提示語句;(3)輸出結(jié)果前要有必要的文字說明。說明:(1)閏年的條件是:year能被4整除但不能被100整除,或者year能被400整除。(2)如果year是閏年,則2月份的天數(shù)為29天,不是閏年則為28天。2、編寫程序,輸入三角形三邊a、b、c,判斷a、b、c能否構(gòu)成三角形,若不能則輸出相應的信息,若能則判斷組成的是等腰、等邊、直角還是一般三角形。實驗步驟與要求:(1)輸入一組數(shù)據(jù)3,4,8,觀察程序運行結(jié)果,并與實驗二中程序2做比較。(2)另外再輸入幾組數(shù)據(jù)進行測試。3,4,53,3,33,3,5(3)如果程序有誤,可采用“跟蹤打印”的調(diào)試方法,確定錯誤的出處。3、編寫程序,輸入獎金數(shù)a,計算并輸出稅率、應繳稅款和實得獎金數(shù)。獎金稅率a<5000.00500≤a<10000.051000≤a<20000.082000≤a<50000.105000≤a0.15實驗步驟與要求:(1)用if語句編程,自變量和函數(shù)值均為雙精度類型;(2)用scanf函數(shù)輸入獎金數(shù)a,輸出結(jié)果采用以下形式:a=具體值rate=稅率值tax=應繳稅款profit=實得獎金數(shù)(3)分別輸入a=280,512,1000,4250,5100,運行該程序(4)用if~elseif語句和switch語句編程,其它同上。*第三組實驗程序:1、編寫一個程序,要求輸入一個字符并判斷它是字母字符、數(shù)字字符、還是其他字符。2、編寫一個程序,求一元二次方程ax2+bx+c=0的根。3、輸入一個無符號整數(shù),判斷該數(shù)是偶數(shù)還是奇數(shù)。六、實驗報告1.提交源程序2.分析以下問題:對于多分枝選擇結(jié)構(gòu)何時使用if語句的嵌套,何時使用switch語句?實驗5循環(huán)控制一、實驗目的及內(nèi)容1、熟悉掌握用while語句,do-while語句和for語句實現(xiàn)循環(huán)的方法;2、掌握在程序設計中用循環(huán)的方法實現(xiàn)一些常用算法;3、掌握在程序設計條件型循環(huán)結(jié)構(gòu)時,如何正確地設定循環(huán)條件、如何控制循環(huán)的次數(shù)以及條件型循環(huán)結(jié)構(gòu)的基本測試方法;4、掌握如何正確地控制計數(shù)型循環(huán)結(jié)構(gòu)的次數(shù)、對計數(shù)型循環(huán)結(jié)構(gòu)進行測試的基本方法及在嵌套循環(huán)結(jié)構(gòu)中提高程序效率的方法。二、實驗性質(zhì)驗證性實驗三、實驗學時2學時四、實驗環(huán)境TurboC2.0五、實驗原理與步驟第一組實驗程序(條件型循環(huán)結(jié)構(gòu))1、下面是一個計算e的近似值(使誤差小于給定的δ)的程序。//缺??//缺??main(){doublee=1.0,x=1.0,y,detax;inti=1;printf(“\npleaseinputenteraerror:”);//未定義函數(shù)scanf(“%lf”,&detax);//未定義函數(shù)y=1/x;while(y>=detax){ x=x*I;//未定義變量Iy=1/x;e=e+y;++i;}printf(“%12.10lf”,e);//未定義函數(shù)}2、實驗步驟(1)閱讀上面的程序,寫出程序所依據(jù)的計算公式。(2)當輸入的detax各是什么值時,能分別使程序按下面的要求運行:不進入循環(huán);只循環(huán)一次;只循環(huán)兩次;進入死循環(huán)(程序?qū)⒂肋h循環(huán)下去)。為了能知道程序循環(huán)了多少次,應該在程序中增加一條什么樣的語句?(3)原程序中while語句中的y>=detax,分別換成y>detax,y=detax,y<detaxy<=detax,觀察程序運行將會有什么變化。假如不知道機器內(nèi)的程序中的各語句實際上是什么,分別輸入什么樣的detax來測試出while語句的循環(huán)條件寫錯了。(4)把原程序中while語句之前的y=1/x語句去掉,觀察程序的運行將會發(fā)生什么樣的變化。假如不知道機器內(nèi)的程序?qū)嶋H上是怎么寫的,輸入什么樣的detax就能測試出少了上述這條語句。(5)若把原程序中的++i換成i++,觀察程序的運行發(fā)生了什么變化?假如不知道這條語句到底是怎么寫的,輸入什么樣的detax就能測試出這條語句寫錯了。(6)把原程序中的while結(jié)構(gòu)改寫成do—while結(jié)構(gòu),再分別按上述的(2)、(3)兩步進行實驗。3、分析討論總結(jié)一下測試條件循環(huán)結(jié)構(gòu)的一般方法。第二組實驗程序(計數(shù)型循環(huán)結(jié)構(gòu))1、下面是一個用以計算和的C程序。main(){inti,j;longsum=0;for(i=1,i<=20,i++)//查查錯誤for(j=1;j<=3;j++)sum=sum+(i+1)*(i+1)*(j+2)printf(“sumis:%d\n”,sum);}2、實驗步驟(1)
將上述程序中的和分別做什么樣修改,能使程序按如下要求運行:不循環(huán);外循環(huán)1次,不進入內(nèi)循環(huán);外循環(huán),內(nèi)循環(huán)各1次;外循環(huán)1次,內(nèi)循環(huán)2次;外循環(huán)2次,內(nèi)循環(huán)1次;外循環(huán)19次,內(nèi)循環(huán)3次;外循環(huán)20次,內(nèi)循環(huán)2次;外循環(huán)21次,內(nèi)循環(huán)3次。(2)試修改程序,以便能知道控制表達式i=1;j<=20;i++和j=1;j<3;j+=各執(zhí)行了多少次?(3)內(nèi)循環(huán)與外循環(huán)的控制表達式進行對換,觀察程序的執(zhí)行結(jié)果有無變化,并且觀察對換后的外循環(huán)與內(nèi)循環(huán)控制表達式執(zhí)行的總次數(shù)有無變化?(4)將(3)中程序?qū)憺閙ain(){inti,j,k;longsum=0;for(j=1.j<=3.j++){k=j+2;for(i=1;i<=20;i++)//有錯誤sum=sum+(i+1)*(i+1)**k;//有錯誤}printf(“sumis:%d\n”,sum);}觀察程序的執(zhí)行結(jié)果有無變化?(5)將(3)中程序改寫為main(){intI,j,m,n;longsum=0;for(j=1;j<=3;j++){m=j+2;for(I=1;j<=20;I++)//循環(huán)會終止嗎,為什么,注意觀察j的變化 {n=I+1;sum=sum+m*m*k;}}printf(“sumis:%d\n”,sum);}觀察程序的執(zhí)行結(jié)果有無變化?(6)在(5)的程序中,若將外循環(huán)控制表達式分別做如下修改:j=1;j<3;j++j=1;j=3;j++j=1;j>=3;j++j=1;j>3;j++j=1;j<=3;j--j=1;j>3;j--j=1;j<3;j++j=0;j<=3;j+=j=0;j<3;j++j=1;j<=3;j++j=1;j<3;++j觀察程序的執(zhí)行結(jié)果有無變化?*第三組實驗程序:1、編寫一個程序,將輸入的正文復制到輸出,復制過程中刪除每個輸入行的前置空格。2、求解滿足條件1+2+3+···+n≥300的最小的n及總和值。3、編寫一個程序,把用戶輸入的數(shù)據(jù)累加,直到輸入零為止,輸出累加的結(jié)果。4、輸入一個正整數(shù)n,求sum=1+(1+2)+(1+2+3)+…+(1+2+3+…+n)的值。5、打印輸出半徑為1到10的圓的面積,若面積在40到90之間則予以打印,否則,不予打印。六、實驗報告1.提交源程序2.分析以下兩個問題:(1)如何測試計數(shù)型循環(huán)結(jié)構(gòu)的控制表達式中的錯誤?(2)從實驗中你得到了哪些提高嵌套循環(huán)程序效率的啟示?實驗6數(shù)組一、實驗目的及內(nèi)容1、掌握一維數(shù)組和二維數(shù)組的定義、賦值和輸入輸出的方法;2、掌握字符數(shù)組和字符串函數(shù)的使用;3、掌握與數(shù)組有關的算法,特別是排序算法。二、實驗性質(zhì)驗證性實驗三、實驗學時2學時四、實驗環(huán)境TurboC2.0五、實驗原理與步驟1、編寫程序,測試下列數(shù)組的定義方式是否正確(1)main(){intn;scanf(“%d”,&n);inta[n];……}(2)main(){constintn=10;inta[n];
}(3)
#include<stdio.h>#defineM10main(){inta[M];
}(4)main(){inta[2+2*4];
}(5)#include<stdio.h>#defineM2#defineN8main(){inta[M+N];}通過這一實驗,可以說明什么問題?2、運行下面的C程序,根據(jù)運行結(jié)果,可以說明什么?main(){intnum[5]={1,2,3,4,5};intii;for(i=0;i<=5;i++)//尤其注意最后一次循環(huán)printf(“%d”,num[i]);}3、操作符&用以求一個變量的地址,這在函數(shù)scanf中已經(jīng)使用過了?,F(xiàn)在要你設計一個程序,返回一個3*5的二維數(shù)組各元素的地址,并由此說明二維數(shù)組中各元素是按什么順序存諸的。4、為一個起泡排序程序設計測試用例,并測試之。5、1983年,在ACM圖林獎頒獎大會上,杰出的計算機科學家,UNIX的鼻祖,C語言的創(chuàng)始人之一,圖林大獎得主,KenThompson上臺的第一句話是:“我是一個程序員,在我的1040表上,我自豪地寫上了我的職業(yè)。作為一個程序員,我的工作就是寫程序,今天我將向大家提供一個我曾經(jīng)寫過的最精練的程序?!边@個程序如下:#include<stdio.h>chars[]={'\t','0','\n','}',';','\n','\n','/','*','\n',0};/*(213linesdeleted)*//**Thestringisa*representationofthebody*ofthisprogramfrom'0'*totheend*/voidmain(void){inti;printf("char\ts[]={\"");for(i=0;s[i];i++){printf("\t%d,\n",s[i]);}printf("%s",s);}6、用冒泡法對10個整數(shù)排序。10個整數(shù)用scanf函數(shù)輸入;7、對一個有序數(shù)列,用折半查找法找出該數(shù)是第幾個元素的值;8、將兩個字符串連接起來,不要用strcat函數(shù)。請上機運行這個程序,指出它的功能和運行結(jié)果。六、實驗報告1.提交源程序2.通過實驗,分析定義與引用數(shù)組的區(qū)別。實驗7函數(shù)一、實驗目的及內(nèi)容1、掌握定義函數(shù)的方法;2、掌握函數(shù)實參與形參的對應關系以及“值傳遞”的方式;3、掌握函數(shù)的嵌套調(diào)用和遞歸調(diào)用的方法;4、掌握全局變量和局部變量動態(tài)變量、靜態(tài)變量的概念和使用方法;5、學習對多文件程序的編譯和運行。二、實驗性質(zhì)驗證性實驗三、實驗學時2學時四、實驗環(huán)境TurboC2.0五、實驗原理與步驟1、上機調(diào)試下面的程序,記錄系統(tǒng)給出的出錯信息,并指出出錯原因。main(){int,y;//這在定義什么東西?printf("%d\n",sum(x+y));//sum的頂用形式正確嗎?intsum(a,b)//函數(shù)可以嵌套定義嗎?{inta,b;//形式參數(shù)是這樣聲明的嗎?return(a+b);}}2、編寫并調(diào)試一個求(n為整數(shù))的遞歸函數(shù),希望能在程序運行過程中動態(tài)地顯示遞歸函數(shù)被調(diào)用的軌跡。3、編寫一個函數(shù),判斷一個數(shù)是不是素數(shù)。在主函數(shù)中輸入一個整數(shù),輸出是否是素數(shù)的信息。實驗步驟與要求:(1)編寫一個函數(shù)prime(n),返回給定整數(shù)n是否為素數(shù)。(2)編寫一個主函數(shù),輸入一個整數(shù),調(diào)用(1)中的函數(shù),判斷此整數(shù)是否為素數(shù),并輸出結(jié)果。(3)對于屬于多函數(shù)程序,可以采用每個函數(shù)分別進行編輯、編譯的方法,然后再連接、運行。如果編譯有錯時,可分別修改,這樣便于調(diào)試。實驗4和實驗4也可以使用這樣的調(diào)試方法。4、用梯形法求函數(shù)的定積分。實驗步驟與要求:(1)編制一個函數(shù)sab(a,b,n),其功能是求函數(shù)f(x)在[a,b]上的定積分,其中n為區(qū)間[a,b]的等分數(shù)。要求該函數(shù)在一個獨立的文件中。(2)編制一個主函數(shù)以及計算被積函數(shù)值的函數(shù)f(x),在主函數(shù)中調(diào)用(1)中的函數(shù)計算并輸出下列積分值。要求主函數(shù)與函數(shù)f(x)在同一個文件中。(3)編制另一個主函數(shù)以及計算被積函數(shù)值的函數(shù)f(x),在主函數(shù)中調(diào)用(1)中的函數(shù)計算并輸出下列積分值。要求主函數(shù)與函數(shù)f(x)在同一個文件中。說明:用梯形法求定積分,梯形公式為:s=h[f(a)+f(b)]/2+hf(a+kh)其中,h=(b-a)/n5、用遞歸方法編寫程序,求n階勒讓德多項式的值,遞歸公式為:1(n=0)pn(x)=x(n=1)((2n-1)xpn-1(x)-(n-1)pn-2(x))/n(n>1)實驗步驟與要求:(1)根據(jù)遞歸公式編制計算n階勒讓德多項式的遞歸函數(shù)p(n,x);(2)編制一個主函數(shù),由鍵盤輸入n,x,調(diào)用(1)中的函數(shù)計算n階勒讓德多項式的值;(3)輸入(n,x)=(4,2)運行該程序,然后自定義幾組數(shù)據(jù)再運行該程序。程序調(diào)試說明:多模塊的調(diào)試除了可以采用前面實驗中采用的各種調(diào)試方法以外,還可以采用“回聲打印”的調(diào)試方法。當函數(shù)之間要傳遞的數(shù)據(jù)較多時,容易出錯。這時,在有關的輸入數(shù)據(jù)之后加上輸出語句,以便反映數(shù)據(jù)輸入的情況。在函數(shù)之間有數(shù)據(jù)傳遞后,再用輸出語句把傳遞后的數(shù)據(jù)輸出,這樣可以找到數(shù)據(jù)的錯誤處,以便分析原因。*6、求幻方:對于n行n列的方陣(n為奇數(shù)),將1~n2共n2個數(shù)填于此方陣中,如果所得方陣中的每一行、每一列以及兩個對角線上各數(shù)之和均相等,則稱此方陣為魔幻縱橫圖。請編寫程序?qū)崿F(xiàn)(n從鍵盤輸入)。*7、求解組合數(shù):計算在總數(shù)為n個的對象中,任意取p個的所有不同組合數(shù)(其中n為>0的正整數(shù),p為>=0的正整數(shù)且p<=n)及其具體的組合情況。要求用遞歸函數(shù)調(diào)用的方法實現(xiàn)。六、實驗報告1.提交源程序2.分析以下兩個問題:(1)針對以上實驗內(nèi)容寫出相應的參數(shù)傳遞過程并分析結(jié)果;(2)討論參數(shù)的傳遞的幾種形式。實驗8指針一、實驗目的及內(nèi)容1、通過實驗進一步掌握指針的概念,會定義和使用指針變量;2、能正確使用數(shù)組的指針和指向數(shù)組的指針變量;3、能正確使用字符串的指針和指向字符串的指針變量;4、能正確使用指向函數(shù)的指針變量;5、了解指向指針的指針的概念及其使用方法。二、實驗性質(zhì)驗證性實驗三、實驗學時2學時四、實驗環(huán)境TurboC2.0五、實驗原理與步驟第一組實驗程序:1、指出下面程序錯誤的原因。#include<stdio.h>voidmain(void){intx=10,y=5,*px,*py;px=py;//此前,py并未初始化。px=&x;py=&y;printf("*px=%d,*py=%d,*px,*py);//格式控制字符串不全}2、下面的程序試圖有如下運行結(jié)果:whichstyleyouwantto:Capital(c)oruncapital(a):c↙COMPUTERWhichsytleyouwantto:Capital(c)oruncapital(a):u↙computer請調(diào)試下面的程序,使其有如上執(zhí)行結(jié)果。#include<stdio.h>//缺某庫函數(shù)包含語句voidmain(void){char*s;charc;printf("whichstyleyouwantto:ln");printf("capital(c)oruncapital(a):");c=getchar();if(c='c')strcpy(s,"COMPUTER");//注意s指針指向了誰?elsestrcpy(s,"computer");//庫函數(shù)put(s);//庫函數(shù),名字對嗎?}分析出錯原因。3、下面的程序能獲得上述運行結(jié)果嗎?#include<stdio.h>#include<string.h>voidmain(void){char*S="COMPUTER";//??charc;printf("whichstyleyouwantto\n");printf("capital(c)oruncapital(u);");c=getchar();if(c='c')//此處判斷關系,形式對嗎?{puts(s);}else{s="computer";puts(s);}}分析出錯原因。4、設計一個C程序,用以測試下列各表達式的運算。(1)y=*px++(2)y=*++py(3)y=(*py)++(4)y=--*ppx++第二組實驗程序:1、想使指針變量pt1指向a和b中的大者,pt2指向小者,以下程序能否實現(xiàn)此目的?#include<stdio.h>#include<string.h>voidswap(int*p1,int*p2){int*p;p=p1;p1=p2;p2=p;}voidmain(void){inta,b,*pt1,pt2;scanf("%d,%d",&a,&b);pt1=&a;pt2=&b;if(a<b)swap(pt1.pt2);printf("%d,%d\n",*pt1,*pt2);}上機調(diào)試此程序。如果不能實現(xiàn)題目要求,指出原因,并修改之。2、下面的程序,注意其中的復雜聲明語句:int(*function[4])();和各標記符的含義,并記錄執(zhí)行結(jié)果。#include<stdio.h>#include<string.h>voidmain(void){intfun1();intfun2();intfun3();intfun4();int*execute(intx,inty,int*fun());int(*function[4])();inta=10,b=5,i;function[0]=fun1;function[1]=fun2;function[2]=fun3;function[3]=fun4;for(i=0;i<4;i++)printf("funno.%d->%d\n",i+1,execute(a,b,function[i]));}int*execute(intx,inty,int*fun()){return(*fun)(x,y);}intfun1(intx,inty){return(x+y);}intfun2(intx,inty){return(x-y);}intfun3(intx,inty){return(x*y);}intfun4(intx,inty){return(x/y);}3、程序voidmain(intargc,char*argv[]){while(argc-->1)printf("%s\n",*++argv);}假設該程序的文件名為shiyan.cpp,編譯后可執(zhí)行程序名為shiyan.exe(用DOS時),在dos下運行時,輸入下面命令行:shiyan.exeBASICC++COBOLPASCL分析輸出結(jié)果??蛇\行程序:#include<stdio.h>#include<string.h>voidswap(int*p1,int*p2)//思考為何如此修改即可達到交換的目的?{intiTemp;iTemp=*p1;*p1=*p2;*p2=iTemp;}voidmain(void){inta,b,*pt1,*pt2;scanf("%d,%d",&a,&b);pt1=&a;pt2=&b;if(a<b){swap(pt1,pt2);}printf("%d,%d\n",*pt1,*pt2);}第三組實驗程序:*1、篩選法求素數(shù)用篩選法找出n以內(nèi)的所有素數(shù)(就是質(zhì)數(shù)),并按每行10個數(shù)的形式打印出來。*2、報數(shù)問題有n個人圍成一圈,順序編號。從第一個人開始報數(shù)(從1到m),凡報到m的人退出圈子,問最后一個圈中的人的編號?*3、統(tǒng)計整數(shù)輸入一段文字,將其中連續(xù)的數(shù)字作為整數(shù)存放在另一數(shù)組中,并統(tǒng)計整數(shù)的個數(shù)。六、實驗報告1.提交源程序2.分析:數(shù)組與指針的聯(lián)系。實驗9結(jié)構(gòu)體和共用體一、實驗目的1、掌握結(jié)構(gòu)體類型變量的定義和使用;2、掌握結(jié)構(gòu)體類型數(shù)組的概念和使用;3、掌握鏈表的概念,初步學會對鏈表進行操作;4、掌握共用體的概念與使用。二、實驗內(nèi)容編程序并上機調(diào)試運行:1、由10個學生,每個學生的數(shù)據(jù)包括學號、姓名、3門課的成績,從鍵盤輸入10個學生數(shù)據(jù),要求打印出3門課總平均成績,以及最高分的學生的數(shù)據(jù)。2、13個人圍成一圈,從第1個人開始順序報號1、2、3。凡報到3者退出圈子,找出最后留在圈子中的人原來的序號。3、本題要求用鏈表實現(xiàn)。建立一個鏈表,每個結(jié)點包括:學號、姓名、性別、年齡。輸入一個年齡,如果鏈表中的結(jié)點所包含的年齡等于此年齡,則將此結(jié)點刪去。4、練習一個使用共用體的程序。三、實驗性質(zhì)驗證性實驗四、實驗學時2學時五、實驗環(huán)境TurboC2.0六、實驗原理與步驟1、建立一個鏈表每個結(jié)點包括的成員為:職工號、工資。用malloc打印出來。用一個creat來建立鏈表,用list來輸出數(shù)據(jù)。5個職工號為101,103,105,107,109。2、在上題基礎上,新增加一個職工的數(shù)據(jù),按職工號的順序插入鏈表,新插入的職工號為106。寫一函數(shù)insert來插入新結(jié)點。3、在上面的基礎上,寫一函數(shù)delete,用來刪除一個結(jié)點。要求刪除職工號為103的結(jié)點。打印出刪除后的鏈表。4、你有無辦法測試構(gòu)造鏈表時,內(nèi)存空間的動態(tài)分配情形?*5、現(xiàn)有一個班有30個學生,每個學生信息包括姓名、學號、以及期末總成績。要求編寫程序找出其中總分最高和最低的學生,并分別打印出其所有信息。七、實驗報告提交源程序分析在上機過程中遇到的問題及解決方法。實驗10位運算一、實驗目的及內(nèi)容1、掌握按位運算的概念和方法,學會使用位運算符;2、學會通過位運算實現(xiàn)對某些位的操作。二、實驗性質(zhì)驗證性實驗三、實驗學時2學時四、實驗環(huán)境TurboC2.0五、實驗原理與步驟1、編一個程序,將一個整數(shù)的高字節(jié)和低字節(jié)分別輸出(用位運算方法)。上機運行。2、編一個程序,止將一個整數(shù)的低4位翻轉(zhuǎn)。上機運行,用十六進制數(shù)輸入和輸出。3、將一個整數(shù)i的各位循環(huán)左移4位,設i的值為十六進制數(shù)65。4、設計一個函數(shù),當給定一個整數(shù)后,能得到該數(shù)的補碼(應考慮該整數(shù)是正數(shù)或負數(shù))。5、編寫一程序,檢查所用的計算機系統(tǒng)的C編譯在執(zhí)行右移時是按照邏輯右移的原則,還是按照算術(shù)右移的原則進行操作。6、編一個函數(shù)getbits,從一個16位的單元中取出某幾位,用八進制數(shù)打印出來。7、設計一個函數(shù),使給出一個數(shù)的原碼,能得到該數(shù)的補碼。 六、實驗報告1.提交源程序2.分析在上機過程中遇到的問題及解決方法。實驗11文件一、實驗目的及內(nèi)容1、掌握文件以及緩沖文件系統(tǒng)、文件指針的概念;2、學會使用文件打開、關閉、讀、寫文件操作函數(shù);3、學會用緩沖文件系統(tǒng)對文件進行簡單的操作。二、實驗性質(zhì)驗證性實驗三、實驗學時2學時四、實驗環(huán)境TurboC2.0五、實驗原理與步驟1、從鍵盤輸入一個字符串,然后將其以文件形式存到磁盤上。磁盤文件名為file1.c。2、從磁盤文件file1.c讀入一行字符,將其中所有小寫字母改為大寫字母,然后輸出到磁盤文件file2.c中。3、已有兩個文本文件,今要求編程序從這兩個文件中讀出各行字符,逐個比較這兩個文件中相應的行和列上的字符,如果遇到互不相同的字符,輸出它是第幾行第幾列的字符。4、統(tǒng)計一篇文章中大寫字母的個數(shù)和文章中的句子數(shù)(句子的結(jié)束標志是句點后跟一個或多個空格)。5、建立一個磁盤文件,其內(nèi)容是0~90°之間每隔5°的正弦值。程序如下:#include<iostream.h>#include<fstream.h>#include<math.h>#definePI3.14159main(){floatS[19];inti,a;ofstreamout(“fsin.bny”);if(!out){cout<<”Cannotopenfile.”<<endl;return1;}for(i=0,a=-5;i<19;i++){a+=5;S[i]=sin(a*PI/180.0);}out.write((unsignedchar*)&s,sizeofs);out.close();return0;}6、把實驗題5所建立的文件的內(nèi)容讀出并打印。程序如下:#include<iostream.h>#include<fstream.h>main(){floatS[19];inti,a;ifstreamin(“fsin.bny”);if(!in){cout<<“Cannotopenfile.”<<endl;return1;}in.read((unsignedchar*)s,sizeofs);cout<<endl;cout<<“isin(i)”<<endl;for(i=0,a=-5;i<19;i++){a+=5;cout<<“a<<S[i]<<”<<endl;}in.close();return0;}7、有5個學生,每個學生有3門課的成績,從鍵盤輸入以上數(shù)據(jù),計算出平均成績,將原有數(shù)據(jù)和計算出的平均分數(shù)存放在磁盤文件stud中。*8、TYPE命令模擬:在windows的MS-DOS方式下有一個DOS內(nèi)部命令TYPE,用于顯示文本文件的內(nèi)容,其命令使用格式為:TYPEFILE。在此我們使用C語言來模擬實現(xiàn)該程序。*9、存儲文件:從鍵盤輸入若干行文本,直到輸入字符串”END”位置,將其中包含英文字母的行,送到文件SAVE01.TXT中存儲起來,并顯示SAVE01.TXT中的最后5行(不足5行的以實際行數(shù)為準)。*10、文件復制:編寫程序?qū)崿F(xiàn)文件的復制,其中源文件名稱和目標文件名稱使用命令行參數(shù)提供。六、實驗報告1.提交源程序2.分析以下兩個問題:(1)緩沖文件系統(tǒng)和非緩沖文件系統(tǒng)的區(qū)別?(2)文件打開和關閉的含義?為什么要打開和關閉文件?實驗12綜合應用實驗一、實驗目的與內(nèi)容1、掌握用C語言進行簡單的數(shù)據(jù)庫管理。2、了解C程序菜單設計的一般方法。3、理解鏈表的概念及應用。
二、實驗性質(zhì)綜合性實驗三、實驗學時2學時四、實驗環(huán)境TurboC2.0五、實驗原理和步驟*1、學生信息處理:一個學生的信息包括學號、姓名、年齡、身高四項信息?,F(xiàn)分別編寫以下程序?qū)崿F(xiàn)對學生信息的處理。(1)輸入若干學生的信息,下一次輸入之前進行提示選擇,輸入的選擇為字符串“END”則結(jié)束,否則繼續(xù)。輸入的信息以文本文件格式保存,文件名通過命令行參數(shù)給出;學生信息各個信息項之間用制表符隔開,每個學生信息占一行。(2)通過運行程序(1),生成學生信息文件。編寫程序統(tǒng)計學生的人數(shù)、平均年齡、平均身高。將所有學生的信息和統(tǒng)計信息送打印機打印。2、建立一個鏈表,每個結(jié)點包括學號、姓名、及三科成績、平均成績。除平均成績外,各項均由鍵盤輸入。要求:(A)計算平均成績;(B)要實現(xiàn)插入功能;(C)要有排序功能;(D)要有存取功能。參考程序:#include<stdio.h>structSStudent{unsignednumber;charname[11];intscore1,score2,score3;structSStudent*link;};structSStudent*CreateTable();voidAppendToTable(structSStudent*stu);voidInsertToTable(structSStudent*stu);voidQueryTable(structSStudent*stu,unsignedage);voidSortTable(structSStudent*stu);voidPrintTable(structSStudent*stu);voidSave(structSStudent*stu);voidLoad(structSStudent*stu);voidHelp();voidmain(){structSStudent*student;unsignednumber;charkeyValue;student=CreateTable();clrscr();Help();printf("\n=");while((keyValue=getche())!='q'&&keyValue!='Q'&&keyValue!=27){puts("");switch(keyValue){case'l':case'L': PrintTable(student);break;case'd':case'D': printf("Pleaseinputthenumberyouwantdelete:"); scanf("%d",&number); QueryTable(student,number); break;case'a':case'A': AppendToTable(student);break;case'i':case'I': InsertToTable(student);break;case's':case'S': SortTable(student); puts("Sortcomplished!PleaseusecommandLtolist."); break;case'v':case'V': Save(student);break;case'o':case'O': Load(student);break;case'c':case'C': clrscr();break;case'h':case'H': Help();break;default:puts("Errorcommand!");}printf("\n=");}}
structSStudent*CreateTable(){structSStudent*stu;stu=(structSStudent*)malloc(sizeof(structSStudent));stu->number=0;stu->score1=stu->score2=stu->score3=0;stu->name[0]='\0';stu->link=NULL;return(stu);}
voidAppendToTable(structSStudent*stu){structSStudent*next,*last;intnumber;last=stu;while(last->link)last=last->link;printf("Pleaseinputthenumber(0toquit):");scanf("%d",&number);while(number){next=(structSStudent*)malloc(sizeof(structSStudent));next->number=number;printf("Pleaseinputname:");scanf("%10s",next->name);printf("Pleaseinputthefirstscore:");scanf("%d",&next->score1);printf("Pleaseinputthesecondscore:");scanf("%d",&next->score2);printf("Pleaseinputthethirdscore:");scanf("%d",&next->score3);last->link=next;last=last->link;printf("\nPleaseinputthenumber(0toquit):");scanf("%d",&number);}last->link=NULL;}
voidInsertToTable(structSStudent*stu){structSStudent*next,*last;intnumber;printf("Pleaseinputthenumber(0toquit):");scanf("%d",&number);while(number){next=(structSStudent*)malloc(sizeof(structSStudent));next->number=number;printf("Pleaseinputname:");scanf("%10s",next->name);printf("Pleaseinputthefirstscore:");scanf("%d",&next->score1);printf("Pleaseinputthesecondscore:");scanf("%d",&next->score2);printf("Pleaseinputthethirdscore:");scanf("%d",&next->score3);last=stu;while(last->link){if(last->link->number>next->number){ next->link=last->link; last->link=next; break;}elselast=last->link;}printf("\nPleaseinputthenumber(0toquit):");scanf("%d",&number);}}
voidQueryTable(structSStudent*stu,unsignednumber){structSStudent*temp,*next;next=stu;while(next->link){if(next->link->number==number){temp=next->link;next->link=next->link->link;free(temp);}elsenext=next->link;}}
voidPrintTable(structSStudent*stu){stu=stu->link;if(!stu){puts("ThetableisEMPTY!");return;}printf("number\tname\t\tscore1\tscore2\tscore3\n");while(stu){printf("%3d\t",stu->number);printf("%-10s\t",stu->name);printf("%4d\t",stu->score1);printf("%4d\t",stu->score2);printf("%4d\t\n",stu->score3);stu=stu->link;}}
voidSortTable(structSStudent*stu){structSStudent*next,*last,*temp;intflag;last=stu;while(last->link){next=stu;flag=1;while(next->link!=last->link){if(next->link->number>last->link->number){ temp=last->link; last->link=last->link->link; temp->link=next->link; next->link=temp; flag=0; break;}elsenext=next->link;}if(flag)last=last->link;}}
voidSave(structSStudent*stu){unsignedcharfilename[13];FILE*fileSave;printf("Pleaseinputthefilenameyouwantsavein:");scanf("%s",filename
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
- 6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 羽絨服飾行業(yè)美工設計心得
- 軟件開發(fā)行業(yè)安全生產(chǎn)工作總結(jié)
- 廣東省揭陽市榕城區(qū)2023-2024年六年級上學期英語期末試卷
- 2023-2024學年山東省濰坊市高二(下)期中地理試卷
- 2024年廣東省云浮市公開招聘警務輔助人員輔警筆試自考題1卷含答案
- 2022年黑龍江省牡丹江市公開招聘警務輔助人員輔警筆試自考題2卷含答案
- 2021年吉林省長春市公開招聘警務輔助人員輔警筆試自考題2卷含答案
- 2021年河南省安陽市公開招聘警務輔助人員輔警筆試自考題2卷含答案
- 2024年透閃石項目投資申請報告代可行性研究報告
- 2024年硬質(zhì)合金噴焊粉項目資金籌措計劃書
- 語法辨析-中考語文真題題源解密(遼寧版)(帶答案)
- 山西省晉中市2023-2024學年高一上學期期末考試 化學 含解析
- 2024-2030年中國電子駐車制動器(EPB)行業(yè)發(fā)展現(xiàn)狀及前景趨勢研究報告
- 過程審核表(產(chǎn)品組評分矩陣評審提問表(評分))-2024年百度過
- 操作手冊模板【范本模板】
- 油氣管道泄漏事故應急處理方案
- 2025年湖北省武漢市高考數(shù)學模擬試卷附答案解析
- DB11∕T 353-2021 城市道路清掃保潔質(zhì)量與作業(yè)要求
- 三方代收款委托協(xié)議書范文
- 2023-2024學年全國小學二年級上英語人教版期末考試試卷(含答案解析)
- 2024-2030年中國有機蔬菜市場營銷模式建議及供需渠道分析報告
評論
0/150
提交評論