




版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、青島理工大學(xué)課程實(shí)驗(yàn)報(bào)告課程名稱計(jì)算機(jī)程序設(shè)計(jì)(C)班級(jí)軟件111實(shí)驗(yàn) 日期姓名趙業(yè)東學(xué)號(hào)9實(shí)驗(yàn)成績(jī)實(shí)驗(yàn)名稱實(shí)驗(yàn)一 C程序的運(yùn)行環(huán)境和運(yùn)行 C程序的方法實(shí)驗(yàn)?zāi)康募耙? .熟悉Visual C+環(huán)境。2了解建立控制臺(tái)應(yīng)用程序的基本步驟。3. 初步了解Visual C+的環(huán)境設(shè)置。4. 初步學(xué)會(huì)簡(jiǎn)單的程序調(diào)試方法。5. 學(xué)會(huì)編寫簡(jiǎn)單的C程序。6. 初步熟悉C語(yǔ)言操輸入seanf函數(shù)、輸出printf函數(shù)的使用。7. 掌握C語(yǔ)言基本數(shù)據(jù)類型,熟悉變量的疋義及變量的初始化 和賦值操作。8. 掌握不同的類型數(shù)據(jù)之間賦值的規(guī)律。9. 掌握C語(yǔ)言的算術(shù)運(yùn)算符的使用以及算術(shù)表達(dá)式的使用;掌 握自加自減運(yùn)算符
2、的特點(diǎn)及使用。實(shí)驗(yàn)環(huán)境Visual + Windows 7實(shí) 驗(yàn) 內(nèi) 容i按照上述步驟,創(chuàng)建一個(gè)基于控制臺(tái)的應(yīng)用程序,該程序項(xiàng)目中只 包含一個(gè)源程序文件。功能為求兩個(gè)整數(shù)的和,數(shù)據(jù)從鍵盤輸入。2創(chuàng)建一個(gè)基于控制臺(tái)的應(yīng)用程序,求一元二次方程的根。使得當(dāng)輸入三個(gè)實(shí)數(shù) a,b,c (滿足b*b-4*a*c>0 ),能夠求出方程 a*x*x+b*x+c=0 的 兩個(gè)實(shí)根,并顯示在屏幕上。分析提示:通過鍵盤輸入方程系數(shù) a,b,c的值,而后根據(jù)求根公式計(jì)算并輸出它的兩個(gè)根。算法描述實(shí)驗(yàn)一1、先定義兩個(gè)變量a,b。2、鍵入a和b。3、輸出兩個(gè)數(shù)的 和。實(shí)驗(yàn)二及 實(shí) 驗(yàn) 步 驟1、定義并輸入 a b
3、c 。2、判斷d=bA2-4ac的大小。3、如果小 于零則無(wú)解,等于零有一個(gè)解,x1=(-b)/(2*a)。4、大于零有兩個(gè)解。調(diào) 試 過 程 及 實(shí) 驗(yàn) 結(jié) 果48 156& +156=204anyto continue& h c : 1 & G兩個(gè)解:xl=-2 , x2 =-3Pi*es: amy key 七a Gontxnueh c :L 2 1一個(gè)解:?C=-1Press 代ny hey to continueh e :4 1 1雖解Press any kev to cent inu&x1=(-b+sqrt(d)/(2*a);x2=(-b-sqrt(d
4、)/(2*a);5、輸出結(jié)果。掌握了掌握C語(yǔ)言基本數(shù)據(jù)類型,變量的定義及變量的初始化和 總 賦值操作,不同的類型數(shù)據(jù)之間賦值的規(guī)律。了解了 C語(yǔ)言的算術(shù)運(yùn)算符的使用以及算術(shù)表達(dá)式的使用, 自加 結(jié) 自減運(yùn)算符的特點(diǎn)及使用。實(shí)驗(yàn)一 1#in clude<> void mai n()int a,b,s;sca nf("%d%d",&a,&b); prin tf("s=%dn",a+b);實(shí)驗(yàn)一 2#in clude<>#in clude<> void mai n()double a,b,c,d,x1,x2;
5、prin tf("a b c :");sca nf("%lf%lf%lf&a,&b,&c); d=b*b-4*a*c;if (d<0)prin tf("無(wú)解 n");else if (d=0)X仁(-b)/(2*a); printf("一個(gè)解:x=%gn",x1);elsex1= (-b+sqrt(d)/(2*a); x2=(-b-sqrt(d)/(2*a); printf("兩個(gè)解:x仁 g,x2=%gn",x1,x2);40青島理工大學(xué)課程實(shí)驗(yàn)報(bào)告課 程名稱計(jì)算機(jī)程序設(shè)計(jì)
6、(C)班 級(jí)壬軟件111實(shí)驗(yàn) 日期姓 名趙業(yè)東學(xué)號(hào)9實(shí)驗(yàn)成績(jī)實(shí) 驗(yàn)名稱實(shí)驗(yàn)二選擇結(jié)構(gòu)程序設(shè)計(jì)實(shí)驗(yàn)?zāi)康募耙? 掌握賦值語(yǔ)句的使用方法。2 掌握各種類型數(shù)據(jù)的輸入輸出方法,能正確使用各種格式轉(zhuǎn) 換符。3能正確使用關(guān)系運(yùn)算符及表達(dá)式、邏輯運(yùn)算符及表達(dá)式。4. 熟練掌握if語(yǔ)句,學(xué)會(huì)使用if-else 語(yǔ)句設(shè)計(jì)雙分支和多分 支結(jié)構(gòu)程序。5. 熟練掌握switch語(yǔ)句的特點(diǎn),學(xué)會(huì)使用switch語(yǔ)句設(shè)計(jì)多 分支結(jié)構(gòu)程序。實(shí)驗(yàn)環(huán)境Visual + Win dows 7實(shí) 驗(yàn) 內(nèi) 容3. 編寫程序,根據(jù)輸入的學(xué)生成績(jī),給出相應(yīng)的等級(jí)。 90分以 上的等級(jí)為A, 60分以下的等級(jí)為E,其余每10分為一個(gè)等級(jí)
7、。要 求分別用if語(yǔ)句和switch語(yǔ)句實(shí)現(xiàn)。4. 使用switch語(yǔ)句編寫簡(jiǎn)單的四則運(yùn)算程序。算 法 描 述 及 實(shí) 驗(yàn) 步 驟實(shí)驗(yàn)3用if語(yǔ)句時(shí):先輸入學(xué)生成績(jī),判斷等級(jí),然后直接 輸出等級(jí)代號(hào)A,B,C,D,E。用switch語(yǔ)句時(shí):先輸入學(xué)生成績(jī),除以十,取整。 根據(jù)數(shù)值6到9判斷等級(jí)。然后輸出等級(jí)代號(hào) A,B,C,D,E。實(shí)驗(yàn)4先定義字符變量c和數(shù)值變量a,b。然后判斷字符變量 為何種運(yùn)算符號(hào)。最后輸出相應(yīng)結(jié)果。調(diào) 試 過 程 及 實(shí) 驗(yàn) 結(jié) 果|4/55*8Ifpess any k日野 to continuePress an日 J<et continue4掌握了賦值語(yǔ)句的使用
8、方法,各種類型數(shù)據(jù)的輸入輸出方法,能 正確使用各種格式轉(zhuǎn)換符、關(guān)系運(yùn)算符及表達(dá)式、邏輯運(yùn)算符及表達(dá)式。結(jié)掌握了 if語(yǔ)句,學(xué)會(huì)使用if-else 語(yǔ)句設(shè)計(jì)雙分支和多分支結(jié)構(gòu)程序;掌握了 switch語(yǔ)句的特點(diǎn),學(xué)會(huì)使用switch語(yǔ)句設(shè)計(jì) 多分支結(jié)構(gòu)程序?qū)嶒?yàn)二3用if語(yǔ)句:#in clude<> void mai n() int a;prin tf("請(qǐng)輸入學(xué)生成績(jī):n");sca nf("%d",&a);if (a>90)printf("該學(xué)生成績(jī)等級(jí)是An");else if (a>80)print
9、f("該學(xué)生成績(jī)等級(jí)是Bn");else if (a>70)printf("該學(xué)生成績(jī)等級(jí)是Cn");else if (a>60)printf("該學(xué)生成績(jī)等級(jí)是Dn");elseprintf("該學(xué)生成績(jī)等級(jí)是En");用switch 語(yǔ)句:#in clude<> void mai n()int a,m;prin tf("請(qǐng)輸入學(xué)生成績(jī):n");sea nf("%d",&a);m=a/10; switeh(m)ease 9:printf(”該
10、學(xué)生的成績(jī)等級(jí)是:An");ease 8:printf(”該學(xué)生的成績(jī)等級(jí)是:Bn");ease 7:printf(”該學(xué)生的成績(jī)等級(jí)是:Cn");ease 6:printf(”該學(xué)生的成績(jī)等級(jí)是:Dn");default:printf("該學(xué)生的成績(jī)等級(jí)是:En");實(shí)驗(yàn)二4#in clude<> void mai n() float a,b;ehar e;scan f("%f%c%f",&a,&c,&b);switeh(e)ease '+':pri ntf(&
11、quot;%fn",a+b);break; ease '-':pri ntf("%fn",a-b);break; ease '*':pri ntf("%fn",a*b);break; ease '/':pri ntf("%fn",a/b);break;青島理工大學(xué)課程實(shí)驗(yàn)報(bào)告課程名稱計(jì)算機(jī)程序設(shè)計(jì)(C)班級(jí)軟件111實(shí) 驗(yàn)日期2012-5-2姓 名趙業(yè)東學(xué)號(hào)9實(shí) 驗(yàn)成績(jī)實(shí)驗(yàn)名稱實(shí)驗(yàn)三循環(huán)結(jié)構(gòu)程序設(shè)計(jì)實(shí)驗(yàn)?zāi)康募耙? .熟練掌握 while、do-while、for語(yǔ)句的特點(diǎn),學(xué)
12、會(huì)設(shè)計(jì)循環(huán)結(jié)構(gòu)程序。2 .掌握break語(yǔ)句以及continue語(yǔ)句的特點(diǎn)及使用范圍。3 .學(xué)會(huì)編寫循環(huán)嵌套程序。3 .結(jié)合程序掌握一些簡(jiǎn)單的算法。4 .進(jìn)一步學(xué)習(xí)調(diào)試程序。實(shí) 驗(yàn) 環(huán) 境Visual + Win dows 7實(shí) 驗(yàn) 內(nèi) 容4.編程練習(xí)。漳x2xn的部分和。直到最后一項(xiàng)的值小于。e1 X 2i n!.提示:第 n 項(xiàng) u n=xn/n!,第 n+1 項(xiàng) u n+i= x n+1/(n+1)!及 u n+1 = u n(x/(n +1)5.編程練習(xí)。有1、2、3、4四個(gè)數(shù)字,能組成多少個(gè)互不相同且無(wú)重復(fù)數(shù)字的三位 數(shù)分別是多少算法描述及實(shí)驗(yàn)步驟頭驗(yàn)四1、調(diào)用<math,h&
13、gt;函數(shù)。2、疋義x s i j。輸入x。3、直到n大于10000。 4、i=i*(x/(j+1);s=s+i; 5、輸出 s實(shí)驗(yàn)五 1、定義 i j k fre=0。2、利用三重 for 語(yǔ)句。for(i=1;i<=4;i+)for(j=1;jv=4;j+); for(k=1;k<=4;k+)。3、if(i!=k&&i!=j&&k!=j),輸出 i*100+j*10+k。4、最后輸出("總數(shù)為:dn",fre)調(diào) 試3、£5=810-PressKB8391S anyto coni過 程 及 實(shí) 驗(yàn) 結(jié) 果412312
14、41321341421432132142312342412433123143213231342112413421423431432總數(shù)為屹4Pj'Css any key co continue總結(jié)(對(duì)實(shí)驗(yàn)結(jié)果進(jìn)行分析,問題回答,實(shí)驗(yàn)心得體會(huì)及改進(jìn)意見)附 錄實(shí)驗(yàn)三3#in clude<>#in clude<>void mai n()int x;double s,i,j;scan f("%d", &x);s=1,j=0;for(i=1;i>=pow(10,-4);j+)i=i*(x/(j+1); s=s+i;prin tf(&qu
15、ot;s=%fn",s);實(shí)驗(yàn)三4#in clude <>void mai n() int i,j,k,fre=0;for(i=1;i<=4;i+) for(j=1;j<=4;j+)for(k=1;k<=4;k+)if(i!=k&&i!=j&&k!=j)prin tf("%5d",i*100+j*10+k); fre=fre+1;prin tf("n");printf("總數(shù)為:dn",fre);青島理工大學(xué)課程實(shí)驗(yàn)報(bào)告課程名稱計(jì)算機(jī)程序設(shè)計(jì)(C)班級(jí)軟件111實(shí)
16、 驗(yàn)日期2012-5-2姓 名趙業(yè)東學(xué)號(hào)9實(shí) 驗(yàn)成績(jī)實(shí)驗(yàn)名稱實(shí)驗(yàn)四數(shù)組程序設(shè)計(jì)實(shí)驗(yàn)?zāi)康募耙?. 掌握一維數(shù)組、二維數(shù)組的定義、引用及其存儲(chǔ)方式。2. 掌握字符數(shù)組、字符串以及字符串?dāng)?shù)組的含義及區(qū)別。3. 掌握常用字符函數(shù)及字符串函數(shù)的使用。4. 掌握常用數(shù)組的排序、查找等算法。實(shí) 驗(yàn) 環(huán) 境Visual C+ Windows XP實(shí) 驗(yàn) 內(nèi) 容2 編寫程序,定義一個(gè)含有30個(gè)兀素的int類型數(shù)組.依次給數(shù)組兀素賦奇數(shù)1、3、5、7;然后按每行十個(gè)數(shù)順序輸出,最后再按每行十個(gè)數(shù)逆序輸出。3 .已知數(shù)組中的值在 0-9的范圍內(nèi),統(tǒng)計(jì)每個(gè)整數(shù)的個(gè)數(shù)。算法 描 述 及 實(shí) 驗(yàn) 步 驟實(shí)驗(yàn)2 1、定義
17、一個(gè)一維數(shù)組a30,i,j=1。2、利用for循環(huán)輸出,ai+1=ai+2;pri ntf("%6d",ai)。3、輸出數(shù)組,定義初始值1或者59。確定順、逆序。 實(shí)驗(yàn)3 1、定義一個(gè)一維隨機(jī)數(shù)組含20個(gè)數(shù)。2、輸出該一維數(shù)組。3 、禾U 用 for 循 環(huán) intm,n,k;for(m=0;m<=9;m+)for(n=0;n< 20; n+)if(m=an)。4、輸出每個(gè)數(shù)各有幾個(gè)。調(diào) 試 過 程2、13S79111315171921232?2931333537394143454749535557595?5?5553435333129
18、27252321191?IS131197531Press anykeyto cont inute.及實(shí)驗(yàn)結(jié)果key to continue0948624 L b1711527&34yna 7個(gè)個(gè)個(gè)個(gè)個(gè)個(gè)個(gè)個(gè)個(gè)個(gè)S 1420331221 S 1有有有有有有有有有有re掌握常用字符函數(shù)及字符串函數(shù)的使用,掌握常用數(shù)組的 排序、查找等算法。實(shí)驗(yàn)2#in clude<> void mai n()int a30,i,j=1;for(i=1;i<31;i+)a1=1; ai+1=ai+2;prin tf("%6d",ai); if(i%10=0) prin t
19、f("n");prin tf("n"); for(i=1;i<31;i+)a1=59; ai+1=ai-2;prin tf("%6d",ai); if(i%10=0) prin tf("n");實(shí)驗(yàn)4#in clude<>#in clude<> void mai n() int i,a20;for(i=0;i<20;i+)ai=ra nd()%10; prin tf("%3d",ai);prin tf("n");int m, n,k;for
20、(m=0;m<=9;m+)k=0;for(n=0;n< 20; n+) if(m=a n) k+;prin tf("%d有 d(n",m,k);青島理工大學(xué)課程實(shí)驗(yàn)報(bào)告課程名稱計(jì)算機(jī)程序設(shè)計(jì)(C)班 級(jí)壬軟件111實(shí)驗(yàn)日期2012-57姓名趙業(yè)東學(xué)號(hào)9實(shí)驗(yàn)成績(jī)實(shí)驗(yàn)名稱實(shí)驗(yàn)五函數(shù)實(shí)驗(yàn)?zāi)康募耙?.掌握函數(shù)定義的各個(gè)要素。如函數(shù)返回值的類型、 形式參數(shù)與實(shí)際參數(shù)等。2 掌握變量的作用域和生存期的概念。3.掌握局部變量與全局變量的區(qū)別、靜態(tài)局部變量和局部變量的區(qū)別、靜態(tài)全局變量和全局變量的區(qū)別;理解外部變量和外部函數(shù)的概念。4 理解數(shù)組作為函數(shù)的參數(shù)的含義。5 理解函
21、數(shù)的嵌套調(diào)用。6 掌握函數(shù)的遞歸調(diào)用。實(shí)驗(yàn)環(huán)境Visual C+ window7實(shí) 驗(yàn) 內(nèi) 容3 .求100200之間的素?cái)?shù)。要求:每行10個(gè)數(shù) 輸出;定義 子函數(shù)isprime ,函數(shù)原 型為int isprime( int n);、r32232,亠 yt4.設(shè) f(x)=(2x+3x -4x+1)/(10x+3),q(x)=3f(x)+2f(x)+f(x),編程實(shí)現(xiàn)輸入x的值,計(jì)算輸出q(x)的值,要求有q(x)和f(x)的定義。5.求菲波那契數(shù)列 1, 1, 2, 3, 5, 8, 13, 21, 34的前20項(xiàng)。要求:使用遞歸;每行輸出 5個(gè)數(shù)。算法描述實(shí)驗(yàn) 3 1、定義函數(shù) ispr
22、ime(int n)。2、當(dāng)(n%i=0)時(shí),返回0.否則返回1。3、定義main函數(shù)。確定范圍100200. 4、當(dāng)isprime 函數(shù)成立,每五個(gè)一行輸出。實(shí)驗(yàn)4 1、定義函數(shù)及 實(shí) 驗(yàn) 步 驟f= (2*pow(x,3)+3*pow(x,2)-4*x+1)/(10*pow(x,2)+3);q= 3*pow(f(x),3)+2*pow(f(x),2)+f(x);。2、定義 main 函數(shù)。3、輸出q函數(shù)。實(shí)驗(yàn)51 、定義fib函數(shù)。前兩項(xiàng)為、利用遞歸函。Fib(x)= fib(x-1)+fib(x-2);。3、每五項(xiàng)一行輸出。調(diào) 試 過 程 及 實(shí) 驗(yàn) 結(jié) 果3、1011031071091
23、1312713111511571631671731791811199Ppess any key to continue.37139149911931?74、33,165050Press an5,to continu&5、112358132134舟S91442233?9&1898?159?25844181Ppess any kev to cont inue總結(jié)1, 掌握了函數(shù)定義的各個(gè)要素。2, 如函數(shù)返回值的類型、形式參數(shù)與實(shí)際參數(shù)等.3, 需要進(jìn)一步掌握函數(shù)。附 錄實(shí)驗(yàn)3#in clude<>int isprime(i nt n)int i;for(i=2;i &
24、lt;n ;i+)if(n %i=0)return 0;return 1;mai n()int n,m=0;for(n=100 ;n<=200; n+)if(isprime( n)prin tf("%5d", n); m+; if(m%10=0) prin tf("n");prin tf("n");實(shí)驗(yàn)4#in clude<>#in clude<>double f(float x)double c;c=(2*pow(x,3)+3*pow(x,2)-4*x+1)/(10*pow(x,2)+3); retur
25、n c;double q(float x)double c;c=3*pow(f(x),3)+2*pow(f(x),2)+f(x); return c;mai n()float x;double y;sca nf("%f", &x);y=q(x);prin tf("%lfn",y);實(shí)驗(yàn)5#in clude<>int fib(i nt x)if(x=1|x=2)return 1;elsereturn fib(x-1)+fib(x-2);mai n()int n ,s;for(n=1; n <=20; n+) s=fib( n);p
26、rin tf("%-5d",s);if(n %5=0)prin tf("n");prin tf("%n");青島理工大學(xué)課程實(shí)驗(yàn)報(bào)告課程名稱計(jì)算機(jī)程序設(shè)計(jì)(C)壬軟件111實(shí)驗(yàn) 日期2012-516姓名趙業(yè)東學(xué)號(hào)9實(shí)驗(yàn)成績(jī)實(shí)驗(yàn)名稱實(shí)驗(yàn)六指針實(shí) 驗(yàn) 目 的 及 要 求1. 理解指針的定義,學(xué)會(huì)指針變量的初始化以及指針可以參與的 運(yùn)算。2. 掌握指針和一維數(shù)組的關(guān)系。3. 理解指針和二維數(shù)組的關(guān)系、理解行指針(或數(shù)組指針)的概 念。4. 理解指針數(shù)組和數(shù)組指針的區(qū)別。5. 理解指針和函數(shù)的關(guān)系以及指針函數(shù)和函數(shù)指針的含義。6. 了解指針的
27、指針(即二級(jí)指針)。實(shí)驗(yàn)環(huán)境Visual C+ window7實(shí) 驗(yàn) 內(nèi) 容6 編寫程序。讀入三個(gè)浮點(diǎn)數(shù),將整數(shù)部分和小數(shù)部分分別輸 出。要求使用指針作形參。7編寫一個(gè)函數(shù),返回?cái)?shù)組元素中最大值的地址,并在主函數(shù) 中輸出該元素。算法描實(shí)驗(yàn)6 1、定義函數(shù),指針做形參。2、定義a為整數(shù)部分,*p-a 既是小數(shù)部分。然后輸出。3、主函數(shù)中,鍵入三個(gè)浮點(diǎn)型數(shù)。并使述及實(shí)驗(yàn) 步 驟用fu函數(shù)。實(shí)驗(yàn)71、定義dizhi函數(shù),指針做形參。返回地址。2、定義主 函數(shù),以及一個(gè)數(shù)組。3、調(diào)用dizhi函數(shù),輸出數(shù)組和最大值。調(diào) 試 過 程 及 實(shí) 驗(yàn) 結(jié) 果6、L-5 2-3整數(shù)部分是牛數(shù)部分是整數(shù)罷分是N
28、:、數(shù)鋼分是0-300000 典數(shù)審分是樂樂敎當(dāng)分是D - 700000PressIkey to conitinueH7、1L74094882最大數(shù)是f 9 地址是:1244912Presskey to continue4總結(jié)1.運(yùn)用指針時(shí)應(yīng)時(shí)刻注意指針指向的改變,避免邏輯上的錯(cuò)誤, 加大編程時(shí)的難度。2.通過指針變量可以提高程序質(zhì)量,編寫程序方 便靈活,可以實(shí)現(xiàn)多個(gè)值的返回附 錄實(shí)驗(yàn)6#in clude<>void fu(float *p)int a;a=(i nt)*p;printf("整數(shù)部分是%d小數(shù)部分是fn",a,*p-a); mai n()floa
29、t a3;int i;for(i=0;i<3;i+)sca nf("%f",&ai);fu(&ai);實(shí)驗(yàn)7#in clude<>int dizhi (int *p)int s;p=&s;printf(" 地址是:%dn",p);return p;mai n()int i,s,a10,*p;for(i=0;i<10;i+) ai=ra nd()%10;prin tf("%d ",ai);prin tf("n");s=a0;for(i=0;i<10;i+) if(
30、s<ai+1) s=ai;printf("最大數(shù)是;%dn",s);dizhi(&s);青島理工大學(xué)課程實(shí)驗(yàn)報(bào)告課程名稱計(jì)算機(jī)程序設(shè)計(jì)(C)班 級(jí)壬軟件111實(shí)驗(yàn) 日期2012-516姓名趙業(yè)東學(xué)號(hào)9實(shí)驗(yàn)成績(jī)實(shí)驗(yàn)名稱指針實(shí) 驗(yàn) 目 的 及 要 求1. 理解指針的定義,學(xué)會(huì)指針變量的初始化以及指針可以參與的 運(yùn)算。2. 掌握指針和一維數(shù)組的關(guān)系。3. 理解指針和二維數(shù)組的關(guān)系、理解行指針(或數(shù)組指針)的概 念。4. 理解指針數(shù)組和數(shù)組指針的區(qū)別。5. 理解指針和函數(shù)的關(guān)系以及指針函數(shù)和函數(shù)指針的含義。6. 了解指針的指針(即二級(jí)指針)。實(shí)驗(yàn)環(huán)境Visual C+
31、 window7實(shí) 驗(yàn) 內(nèi)6 編寫程序。讀入三個(gè)浮點(diǎn)數(shù),將整數(shù)部分和小數(shù)部分分別輸 出。要求使用指針作形參。7編寫一個(gè)函數(shù),返回?cái)?shù)組元素中最大值的地址,并在主函數(shù)容中輸出該元素。算法 描述及 實(shí) 驗(yàn) 步 驟實(shí)驗(yàn)6 1、定義函數(shù),指針做形參。2、定義a為整數(shù)部分,*p-a 既是小數(shù)部分。然后輸出。3、主函數(shù)中,鍵入三個(gè)浮點(diǎn)型數(shù)。并使 用fu函數(shù)。實(shí)驗(yàn)71、定義dizhi函數(shù),指針做形參。返回地址。2、定義主 函數(shù),以及一個(gè)數(shù)組。3、調(diào)用dizhi函數(shù),輸出數(shù)組和最大值。調(diào) 試 過 程 及 實(shí) 驗(yàn) 結(jié) 果6、1-5 2-3整數(shù)部分是J個(gè)數(shù)部分是a - 整數(shù)簾分是衛(wèi)個(gè)數(shù)簾分是0-300000 馨藪希
32、分洋水藪部分是D - 700800PressIkeconitinue7、IL74094882最大數(shù)是'9地址是:1244912Presskey to continue4總結(jié)1.運(yùn)用指針時(shí)應(yīng)時(shí)刻注意指針指向的改變,避免邏輯上的錯(cuò)誤, 加大編程時(shí)的難度。2.通過指針變量可以提高程序質(zhì)量,編寫程序方 便靈活,可以實(shí)現(xiàn)多個(gè)值的返回附 錄實(shí)驗(yàn)6#in clude<>void fu(float *p)int a;a=(i nt)*p;printf("整數(shù)部分是%d小數(shù)部分是fn",a,*p-a); mai n()float a3;int i;for(i=0;i<
33、;3;i+)sca nf("%f",&ai);fu(&ai);實(shí)驗(yàn)7#in clude<>int dizhi (int *p)int s;p=&s;printf("地址是:dn",p);return p;mai n()int i,s,a10,*p;for(i=0;i<10;i+) ai=ra nd()%10;prin tf("%d ",ai);prin tf("n");s=a0;for(i=0;i<10;i+)if(s<ai+1) s=ai;printf(&qu
34、ot;最大數(shù)是;%dn",s);dizhi(&s);青島理工大學(xué)課程實(shí)驗(yàn)報(bào)告課程名稱計(jì)算機(jī)程序設(shè)計(jì)(C)班級(jí)£軟件111實(shí)驗(yàn) 日期2011-530姓名趙業(yè)東學(xué)號(hào)9實(shí)驗(yàn)成績(jī)實(shí)驗(yàn)名稱實(shí)驗(yàn)七鏈表實(shí)驗(yàn)?zāi)康募耙? 掌握結(jié)構(gòu)體類型變量的定義和使用。2 掌握結(jié)構(gòu)體類型數(shù)組的概念和應(yīng)用。3 掌握鏈表的概念,初步學(xué)會(huì)對(duì)鏈表進(jìn)行操作。VC+實(shí) 驗(yàn) 環(huán) 境實(shí) 驗(yàn) 內(nèi) 容1 編寫程序。有5個(gè)學(xué)生,每個(gè)學(xué)生的數(shù)據(jù)包括學(xué)號(hào)、姓名、3門課的成績(jī),從鍵盤輸入5個(gè)學(xué)生數(shù)據(jù),要求輸出 3門課總平均成績(jī),以及最高分的學(xué) 生的數(shù)據(jù)(包括學(xué)號(hào)、姓名、3門課的成績(jī)、平均分?jǐn)?shù))。2 .建立一個(gè)學(xué)生鏈表,每個(gè)結(jié)
35、點(diǎn)包括:學(xué)號(hào)、姓名、性別、年齡。輸入 一個(gè)年齡,如果鏈表中的結(jié)點(diǎn)所包含的年齡等于此年齡,則將此結(jié)點(diǎn)刪去。算 法 描 述 及 實(shí) 驗(yàn) 步 驟第一題定義一個(gè)結(jié)構(gòu)體變量,包含學(xué)號(hào)、姓名、3門課的成績(jī) 定義一個(gè)可以輸入學(xué)生信息的函數(shù)。 定義一個(gè)函數(shù)可以求平均分并返回。輸出3門課總平均成績(jī),以及最高分的學(xué)生的數(shù)據(jù)(包括學(xué)號(hào)、姓名、3門課的成績(jī)、平均分?jǐn)?shù))。第二題定義一個(gè)結(jié)構(gòu)體變量,包括學(xué)號(hào)、姓名、性別、年齡和指向下一個(gè)節(jié) 點(diǎn)的指針。創(chuàng)建鏈表,輸入學(xué)生信息。 定義一個(gè)可以輸出學(xué)生信息函數(shù)。定義一個(gè)可以刪除節(jié)點(diǎn)的函數(shù),當(dāng) 輸入一個(gè)年齡時(shí),如果鏈表中的 結(jié)點(diǎn)所包含的年齡等于此年齡,則將此結(jié)點(diǎn)刪去。調(diào) 試 過
36、程 及 實(shí) 驗(yàn) 結(jié) 果前入斡俘101 nary 86俞入第2個(gè)學(xué)102 bob 7?俞入第3個(gè)學(xué)生f193 alice ?63 38 生信息= 54 9?i&=9S 97 俞入第4個(gè)學(xué)主信息:104 fi-ink S5 陌 S8 繭入第£個(gè)學(xué)生信息;105 ftlloi' 9G 58 67孰門平均年SG-G0紀(jì)門平均分三G7-G0商門平 tS4r=S7.eecontinue垮第霍陰生信息如下1三自221已刪降裘* 2-顯喬槌裘詔-刪除相同年齡-0-退出操作第1個(gè)2xiNobini第;!個(gè)學(xué)生信息:3dLap&ny n191-創(chuàng)建鏈表,2-顯示鏈喪.3 -刪除相
37、同年齡胡-退出操作學(xué)號(hào)“姓名、性別、年齡可5991 yadontf n 2Q輸入第2個(gè)學(xué)生信息032 xlaabln * 21輸入第3個(gè)學(xué)生信息003 dapeng n 1?一創(chuàng)建辟表Z顯示錐表孑刪除相同年齡-退岀操作 嘉入要?jiǎng)h除的年齡202可熟練地掌握共用體 在寫程序時(shí)以熟練地使用鏈表進(jìn)行數(shù)據(jù)操作。egree1+studa.degree2+studa.degree3)/;for(i=0;i<3;i+)printf("第4門平均分:t",i+1);prin tf("%.2lfn",averi);printf("分?jǐn)?shù)最高的學(xué)生信息如下:n&
38、quot;);prin tf("%dt%st%.2lf %.2lf %.2lf %.2lfn",studa.no,studa. name,studa.degree1,studa.degree2,studa.degr ee3,avg);voidin put(structstude ntstud)o,studi. name,&studi.degree1,&studi.degree2,&st udi.degree3);double av1(struct stude nt stud)egree1;b=a/N;return b;double av2(struc
39、t stude nt stud)egree2;b=a/N;return b;double av3(struct stude nt stud)egree3;b=a/N;return b;intmax(structstude ntstud)egree1+studi.degree2+studi.degree3;if(m<ai)m=ai;k=i;return k;握文件以及緩沖文件系統(tǒng)、文件指針的概念。2.學(xué)會(huì)使用文件打開、關(guān)閉、讀、寫等文件操作函數(shù)。3.通過一個(gè)綜合程序,使學(xué)生對(duì)綜合運(yùn)用C語(yǔ)言程序設(shè)計(jì)語(yǔ)言有初步的認(rèn)識(shí)。實(shí) 驗(yàn) 環(huán) 境VC+實(shí) 驗(yàn) 內(nèi) 容一、學(xué)生管理系統(tǒng)1、學(xué)生基本信息的管理,包
40、括添加、修改、刪除、查找、 全刪等操作;2、課程數(shù)據(jù)的管理,包括添加、修改、刪除、查找、全 刪等操作;3、學(xué)習(xí)成績(jī)數(shù)據(jù)的管理,包括添加、修改、刪除、查找、 全刪等操作;4、學(xué)生成績(jī)查詢系統(tǒng),包括按學(xué)號(hào)、按課程號(hào)、 按班號(hào) 統(tǒng)計(jì)學(xué)生的成績(jī)。算法描述及實(shí)驗(yàn)步驟首先自定義學(xué)生信息、課程數(shù)據(jù)、學(xué)生成績(jī)的結(jié)構(gòu)體,定義這些 變量的鏈表,一邊對(duì)這些數(shù)據(jù)進(jìn)行操作。一、在寫主函數(shù)時(shí),先把數(shù)據(jù)從文件中提取到鏈表中,操作后再 寫入文件中進(jìn)行保存。二、在學(xué)生信息管理系統(tǒng)中,添加,即是判斷是否存在相同學(xué)號(hào),沒有通過鏈表進(jìn)行添加操作,有的話進(jìn)行提示,修改時(shí)只改對(duì)應(yīng)學(xué)號(hào)的信息,學(xué)號(hào)不需要修改,但需要同時(shí)修改成績(jī)管理系統(tǒng)中的
41、對(duì)應(yīng) 學(xué)號(hào)的學(xué)生姓名,在進(jìn)行刪除操作時(shí),先查找是否有和需要修改的學(xué) 號(hào)相對(duì)應(yīng)的學(xué)生信息,有的話則按照鏈表刪除操作進(jìn)行刪除,查找時(shí) 判斷是否有需要查找的學(xué)號(hào),若有,輸出對(duì)應(yīng)的學(xué)生信息,進(jìn)行全刪操作時(shí),和鏈表的釋放操作差不多,但是要注意的是不能釋放頭結(jié)點(diǎn) 的地址,它是一個(gè)全局變量,釋放后不能進(jìn)行其他操作。在課程數(shù)據(jù)、學(xué)習(xí)成績(jī)數(shù)據(jù)的處理時(shí),采取同樣的處理方式; 二、學(xué)生成績(jī)查詢系統(tǒng)分按學(xué)號(hào)、按課程號(hào)、按班號(hào)二種方式來(lái) 統(tǒng)計(jì)學(xué)生的成績(jī)。調(diào) 試 過 程 及 實(shí) 驗(yàn) 結(jié) 果4-查找,J-顯示,67231”冇56341姓名課程號(hào) 哈哈張分?jǐn)?shù)785676895-刪除上-全flf ,0-返回-學(xué)生管理乂-課程管
42、理 3-成績(jī)管理查詢管理上-退岀班號(hào) 二玫 _班 _班年齡1922:生信息輸出定韋_-添加罷-修政謳-顯示M-查找止-刪除刪丄-返回齊生信息如戸 產(chǎn)號(hào)黑名1 李旭2張畝欣3 呵呵19 二10,2-前人修改學(xué)生信息,格式:姓各 年齡、班號(hào)陽(yáng)-顯7TS,4查找刪除工-全刪,0-返回亦入要修改的學(xué)生學(xué)號(hào)1 溢需-mo * 2 -修改山-顯示4-查押5-刪陰全刪” 0-返回-學(xué)生管理理-課程管理腫-成績(jī)管理山-查詢管理/-退出-添加 2-修改舅-顯示.4-查找弱-刪除-全刪-返回驚II年齡班號(hào)20 二班2張欣欣 22 班3 呵呵 19 一班 學(xué)生信息輸暢畢_-添;1口 ” 2 -傷改顯示沁-查找,5-
43、刪除上-全刪理-返回void deleallstu();exter n StudNode *stude nthead;exter n ScoreNode *scorehead;void stude nt()int x;doprintf("1-添加,2-修改,3-顯示,4-查找,5-刪除,6-全刪,0-返回 n");scan f("%d", &x);switch(x)case 1:addstude nt();break;case 2:alterstude nt();break;case 3:displaystude nt();break;case
44、4:fi ndstude nt();break;case 5:deletstude nt();break;case 6:deleallstu();break;case 0:break;default :pri ntf("選擇錯(cuò)誤 n");break;while(x!=0);void addstude nt()添加一個(gè)學(xué)生信息StudNode *p=stude nthead->n ext,*s,*q=stude nthead;int no ;StudType st;printf("輸入添加的學(xué)生學(xué)號(hào)n");scan f("%d",
45、&no);while(p!=NULL && p->!=no)q=p;p=p->n ext;if(p=NULL)學(xué)號(hào)不重復(fù)s=(StudNode *)malloc(sizeof(StudNode);printf("輸入學(xué)生信息格式:姓名、年齡、班號(hào)n");scan f("%s%d%s",&,;=no;s->data=st;s->n ext=q->n ext;q->n ext=s;kelseprintf("學(xué)號(hào)重復(fù) n");void displaystude nt()St
46、udNode *p=stude nthead->n ext;if(p!=NULL)printf("學(xué)生信息如下:n");prin tf("學(xué)號(hào) 姓名年齡 班號(hào)n");while(p!=NULL)prin tf("%3d%8s%5d%8sn",p->,p->,p->,p->p=p->n ext;printf("學(xué)生信息輸出完畢n");elseprintf("無(wú)學(xué)生信息n");void alterstude nt()/修改一個(gè)學(xué)生的信息,但是學(xué)號(hào)不改變,同時(shí)改變成
47、績(jī)管理文 件的姓名StudNode *p=stude nthead->n ext;int no ;StudType st;if(p!=NULL)printf(”輸入要修改的學(xué)生學(xué)號(hào)n");scan f("%d",&no);while(p!=NULL&& p->!=no)p=p->n ext;if(p!=NULL)printf("輸入修改學(xué)生信息,格式:姓名、年齡、班號(hào)n");scan f("%s%d%s",&,;=no;p->data=st;cha ngen ame,;
48、elseprintf("未查到要修改信息的學(xué)生n");void cha ngen ame(i nt no ,char n ame)修改學(xué)生成績(jī)管理系統(tǒng)中的名字ScoreNode *p2=scorehead->n ext;while(p2!=NULL&&p2->!=no) p2=p2->n ext;if(p2!=NULL)strcpy(p2->,n ame);elseprintf(”在成績(jī)管理系統(tǒng)中未發(fā)現(xiàn)要修改的學(xué)生資料n");void fin dstude nt()根據(jù)學(xué)號(hào)查找學(xué)生信息并輸出StudNode *p=stude
49、 nthead;int no;printf("輸入要查找的學(xué)生學(xué)號(hào)n");scan f("%d",&no);while(p!=NULL &&p->!=no)p=p->n ext;if(p!=NULL)printf("要查找的學(xué)生信息如下:n");prin tf("%3d%8s%5d%8sn",p->,p->,p->,p->elseprintf("未找到該學(xué)號(hào)的學(xué)生信息n");void deletstude nt()根據(jù)學(xué)號(hào)刪除學(xué)生信息S
50、tudNode *p=stude nthead,*q;int no;printf("輸入要?jiǎng)h除的學(xué)生學(xué)號(hào)n");scan f("%d",&no);while(p!=NULL &&p->!=no)q=p;p=p->n ext;if(p!=NULL)q->n ext=p->n ext;free(p);printf("學(xué)號(hào)對(duì)應(yīng)學(xué)生信息已刪除n");kelse printf("要?jiǎng)h除的學(xué)生信息不存在n");void deleallstu()刪除全部學(xué)生信息StudNode *
51、p=stude nthead->n ext,*q;if(stude nthead-> next!=NULL)q=p->n ext;while(q!=NULL)free(p);p=q;q=q->n ext;free(p);stude nthead->n ext=NULL; printf(" 文件已全刪n");elseprintf("不存在學(xué)生信息n");Score文件#in clude<>#in clude<>#i nclude""#define N 100void addscore
52、();void showscore();void alterscore();void fin dscore();void delescore();void deleallsc();exter n CourseNode *coursehead;exter n ScoreNode *scorehead;void score()int x;doprintf("1-添加,2-修改,3-顯示,4-查找,5-刪除,6-全刪,0-返回 n");scan f("%d",& x);switch(x)case 1:addscore();break;case 2:al
53、terscore();break;case 3:showscore();break;case 4:fi ndscore();break;case 5:delescore();break;case 6:deleallsc();break;case 0:break; default:pri ntf("選擇錯(cuò)誤 n");break;while(x!=O);void addscore()添加一個(gè)分?jǐn)?shù)記錄ScoreNode*p2=scorehead->n ext,*r2=scorehead,*s2,*tN;ScoreType sc;i nt n=0,i;printf("
54、;輸入添加學(xué)生學(xué)號(hào)n");scan f("%d",&while(p2!=NULL)if(p2->=t n=p2;n+;r2=p2;p2=p2->n ext;if(n=0)學(xué)號(hào)不重復(fù),可以添加s2=(ScoreNode *)malloc(sizeof(ScoreNode);printf("輸入要添加的學(xué)生信息格式:名字、課程號(hào)、課程名、分?jǐn)?shù)n");sca nf("%s%d%s%lf",,&,,&s2->data=sc;s2->n ext=r2->n ext;r2->n ext=s2;else if(n> 0)/學(xué)號(hào)重復(fù)要考慮課程號(hào)是否重復(fù),不重復(fù)就添 加printf("輸入想要添加的課程號(hào) n");sea nf("%d",&for(i=0;i< n;i+)if(ti->=printf("該學(xué)生的此課程分?jǐn)?shù)信息已存在n");return;if(i=n)s2=(ScoreNode *)malloc(sizeof(ScoreNode);printf("輸入要添加的學(xué)生信息格式:名字、課程名、
溫馨提示
- 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ù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 甘肅省部分普通高中2024-2025學(xué)年高考模擬(二)語(yǔ)文試題含解析
- 招商銀行校園招聘銀行動(dòng)態(tài)企業(yè)文化考試歷年真題庫(kù)筆試題
- 貴州國(guó)企招聘2025中國(guó)儲(chǔ)備糧管理集團(tuán)有限公司貴州分公司招聘22人筆試參考題庫(kù)附帶答案詳解
- 2025甘肅人力資源服務(wù)股份有限公司招聘3人筆試參考題庫(kù)附帶答案詳解
- 2025河南省水利第二工程局集團(tuán)招聘68人筆試參考題庫(kù)附帶答案詳解
- 2025年湖南湘江研究院有限責(zé)任公司招聘11人筆試參考題庫(kù)附帶答案詳解
- 2025年湖南省低空經(jīng)濟(jì)發(fā)展集團(tuán)有限公司招聘11人筆試參考題庫(kù)附帶答案詳解
- 2025年河北邯鄲武安市國(guó)有企業(yè)春季博碩人才引進(jìn)40名筆試參考題庫(kù)附帶答案詳解
- 2024年度天津市護(hù)師類之主管護(hù)師通關(guān)題庫(kù)(附答案)
- 2025山東濰坊市天成水利建設(shè)有限公司招聘30人筆試參考題庫(kù)附帶答案詳解
- 2025屆貴州省安順市高三二模語(yǔ)文試題
- 2025中國(guó)海洋大學(xué)輔導(dǎo)員考試題庫(kù)
- 新疆維吾爾自治區(qū)普通高職(專科)單招政策解讀與報(bào)名課件
- 2024年昆明渝潤(rùn)水務(wù)有限公司招聘考試真題
- 2025-2030中國(guó)小武器和輕武器行業(yè)市場(chǎng)發(fā)展趨勢(shì)與前景展望戰(zhàn)略研究報(bào)告
- 高中主題班會(huì) 高考勵(lì)志沖刺主題班會(huì)課件
- 高三復(fù)習(xí):2025年高中化學(xué)模擬試題及答案
- 月考試卷(1~3單元)(試題)-2024-2025學(xué)年六年級(jí)下冊(cè)數(shù)學(xué)人教版(帶答案)
- 8.1薪火相傳的傳統(tǒng)美德 教學(xué)設(shè)計(jì)-2024-2025學(xué)年統(tǒng)編版道德與法治七年級(jí)下冊(cè)
- GB/T 30726-2014固體生物質(zhì)燃料灰熔融性測(cè)定方法
- 可吸收絲素修復(fù)膜(CQZ1900597)
評(píng)論
0/150
提交評(píng)論