C語(yǔ)言實(shí)習(xí)報(bào)告書(shū)_第1頁(yè)
C語(yǔ)言實(shí)習(xí)報(bào)告書(shū)_第2頁(yè)
C語(yǔ)言實(shí)習(xí)報(bào)告書(shū)_第3頁(yè)
C語(yǔ)言實(shí)習(xí)報(bào)告書(shū)_第4頁(yè)
C語(yǔ)言實(shí)習(xí)報(bào)告書(shū)_第5頁(yè)
已閱讀5頁(yè),還剩20頁(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、生命科學(xué)學(xué)院C語(yǔ)言大作業(yè)報(bào)告 (20142015學(xué)年第 二學(xué)期)報(bào)告題目:C語(yǔ)言功能庫(kù) 姓 名:_魏嘉呈 _ 專(zhuān) 業(yè): 生物科學(xué)類(lèi) 年級(jí)班級(jí):_1403班_ _ 指導(dǎo)教師:_晁 曉 菲 完成日期:_6月20日_目錄一、 大作業(yè)的目的和要求3二、 大作業(yè)任務(wù)內(nèi)容3三、總體設(shè)計(jì).4四.程序代碼.6五主要用到的函數(shù).19六程序調(diào)試及調(diào)試結(jié)果.21七.綜合訓(xùn)練心得體會(huì).24一、大作業(yè)的目的和要求大作業(yè)訓(xùn)練是重要的實(shí)踐性環(huán)節(jié)之一,是在學(xué)生學(xué)習(xí)完程序設(shè)計(jì)語(yǔ)言(C)課程后進(jìn)行的一次全面的綜合練習(xí)。本課綜合訓(xùn)練的目的和任務(wù):1. 鞏固和加深學(xué)生對(duì)C語(yǔ)言、數(shù)據(jù)結(jié)構(gòu)課程的基本知識(shí)的理解和掌握2. 掌握C語(yǔ)言編程和

2、程序調(diào)試的基本技能3. 利用C語(yǔ)言進(jìn)行基本的軟件設(shè)計(jì)4. 掌握書(shū)寫(xiě)程序設(shè)計(jì)說(shuō)明文檔的能力5. 提高運(yùn)用C語(yǔ)言、數(shù)據(jù)結(jié)構(gòu)解決實(shí)際問(wèn)題的能力二、 大作業(yè)任務(wù)內(nèi)容 1.實(shí)驗(yàn)內(nèi)容C語(yǔ)言功能庫(kù)包含C語(yǔ)言程序設(shè)計(jì)一書(shū)的全部章節(jié)的部分經(jīng)典例題和課后練習(xí)題。為了幫助大家熟悉C語(yǔ)言程序,了解和使用C語(yǔ)言進(jìn)行編譯程序,設(shè)計(jì)這次C語(yǔ)言功能庫(kù),方便同學(xué)們?cè)谑褂脮r(shí),能快速找到相應(yīng)的程序,并進(jìn)行運(yùn)行。2.實(shí)驗(yàn)特點(diǎn)經(jīng)過(guò)這么長(zhǎng)的學(xué)習(xí)C語(yǔ)言程序設(shè)計(jì),我們讀過(guò)和寫(xiě)過(guò)很多的程序,為了讓我們?cè)趶?fù)習(xí)的過(guò)程中更高效的找到老師上課的例題和實(shí)驗(yàn)的題目。我們運(yùn)用所學(xué)的switch-case結(jié)構(gòu)While結(jié)構(gòu),文件,指針,數(shù)組來(lái)解決這個(gè)問(wèn)題。定

3、義了八個(gè)文件夾,每個(gè)文件夾里面有兩個(gè)文件,分為例題和實(shí)驗(yàn)題目。通過(guò)文件和指針查找,在switch-case結(jié)構(gòu)選擇條件下,用戶輸入不同的數(shù)字輸出想要的程序3.算法設(shè)計(jì)定義不同的文件夾,通過(guò)switch-case結(jié)構(gòu)和文件夾如果匹配就輸出,需要用到指針查找更方便高效。軟件測(cè)試方法輸入合法的數(shù)字顯示程序,否則無(wú)顯示軟件測(cè)試數(shù)據(jù)和結(jié)果輸入2輸出文件夾2再輸入1顯示第二章的例題,如果輸入2,輸出文件夾2再輸入2輸出實(shí)驗(yàn)2。三、總體設(shè)計(jì)圖1.整體規(guī)劃圖練 習(xí) 題例 題章 節(jié)主 函 數(shù)循 環(huán)返回返回圖2.整體流程圖四.程序代碼(1)主程序:#include<stdio.h>#include&l

4、t;string.h>#include<stdlib.h>#include"封皮1.h"#include"封皮2.h"#include"wnjian.h"#include"2-1.h"#include"2-2.h"#include"3-1.h"#include"3-2.h"#include"4-1.h"#include"4-2.h"#include"5-1.h"#include&

5、quot;5-2.h"#include"6-1.h"#include"6-2.h"#include"7-1.h"#include"7-2.h"#include"8-1.h"FILE*fi;void main()fengpi1(1);int x;while(1)fengpi2(1);scanf("%d",&x);switch(x)case 1:system("cls");printf("1.例題");printf(&qu

6、ot;2.練習(xí)題");int a;scanf("%d",&a);switch (a)case 1:char a100;fi=fopenfun("2-1.txt","r");while (!feof(fi)/ 讀文件fgets(a,100,fi); / 屏幕輸出printf ("%s", a);fclose(fi);zj21(1);break; case 2:char a100;fi=fopenfun("2-2.txt","r");while (!feof(f

7、i)/ 讀文件fgets(a,100,fi); / 屏幕輸出printf ("%s", a);fclose(fi);zj22(1);break; break; break;case 2:system("cls");printf("1.例題");printf("2.練習(xí)題");int a;scanf("%d",&a);switch(a)case 1:char a100;fi=fopenfun("3-1.txt","r");while (!feof(f

8、i)/ 讀文件fgets(a,100,fi); / 屏幕輸出printf ("%s", a);fclose(fi);zj31(1);break; case 2:char a100;fi=fopenfun("3-2.txt","r");while (!feof(fi)/ 讀文件fgets(a,100,fi); / 屏幕輸出printf ("%s", a);fclose(fi);zj32(1); break;break; break;case 3:system("cls");printf("

9、;1.例題");printf("2.練習(xí)題");int a;scanf("%d",&a);switch(a)case 1:char a100;fi=fopenfun("4-1.txt","r");while (!feof(fi)/ 讀文件fgets(a,100,fi); / 屏幕輸出printf ("%s", a);fclose(fi);zj41(1);break; case 2:char a100;fi=fopenfun("4-2.txt","r

10、");while (!feof(fi)/ 讀文件fgets(a,100,fi); / 屏幕輸出printf ("%s", a);fclose(fi);zj42(1);break; break; break;case 4:system("cls");printf("1.例題");printf("2.練習(xí)題");int a;scanf("%d",&a);switch(a)case 1:char a100;fi=fopenfun("5-1.txt","r

11、");while (!feof(fi)/ 讀文件fgets(a,100,fi); / 屏幕輸出printf ("%s", a);fclose(fi);zj51(1);break; case 2:char a100;fi=fopenfun("5-2.txt","r");while (!feof(fi)/ 讀文件fgets(a,100,fi); / 屏幕輸出printf ("%s", a);fclose(fi);zj52(1);break; break; break;case 5:system("c

12、ls");printf("1.例題");printf("2.練習(xí)題");int a;scanf("%d",&a);switch(a)case 1:char a100;fi=fopenfun("6-1.txt","r");while (!feof(fi)/ 讀文件fgets(a,100,fi); / 屏幕輸出printf ("%s", a);fclose(fi);zj61(1);break; case 2:char a100;fi=fopenfun("

13、;6-2.txt","r");while (!feof(fi)/ 讀文件fgets(a,100,fi); / 屏幕輸出printf ("%s", a);fclose(fi);zj62(1);break;break;break;case 6:system("cls");printf("1.例題");printf("2.練習(xí)題");int a;scanf("%d",&a);switch(a)case 1:char a100;fi=fopenfun("7

14、-1.txt","r");while (!feof(fi)/ 讀文件fgets(a,100,fi); / 屏幕輸出printf ("%s", a);fclose(fi);zj71(1);break; case 2:char a100;fi=fopenfun("7-2.txt","r");while (!feof(fi)/ 讀文件fgets(a,100,fi); / 屏幕輸出printf ("%s", a);fclose(fi);zj72(1);break; break;break;ca

15、se 7:system("cls");printf("1.例題");printf("2.練習(xí)題");int a;scanf("%d",&a);switch(a)case 1:char a100;fi=fopenfun("8-1.txt","r");while (!feof(fi)/ 讀文件fgets(a,100,fi); / 屏幕輸出printf ("%s", a);fclose(fi);zj81(1);break; break;break; pr

16、intf("輸入1鍵返回主界面n");scanf("%d",&x);fengpi2(1); (2)分程序2-1:#include<stdio.h>int zj21(int n);int zj21(int n)printf("題目:逗號(hào)運(yùn)算符及逗號(hào)表達(dá)式n");int c=5;printf("%d,%d,%dn",c+=c+,c+8,+c);c=5;printf("%dn",(c+=c+,c+8,+c);c=5;printf("%dn",c+=c+,c+8,

17、+c);return 0;2-2:#include <stdio.h>int zj22(int n);int zj22(int n) printf("題目:邏輯表達(dá)式的計(jì)算和邏輯表達(dá)式的值。n");int a=3,b=4,c=5;printf("答案:%dn",3*(a+b)>c&&a+|c!=0&&!EOF);printf("n");return 0;3-1:#include <stdio.h>int zj31(int n);int zj31(int n) printf(

18、"題目:猜數(shù)游戲:若用戶猜對(duì)了,屏幕顯示“*Right*”,然后結(jié)束程序運(yùn)行");int magic=123; int guess; printf("Enter your guess:"); scanf("%d",&guess); if (guess=magic) printf("*Right*n"); return 0;3-2:#include <math.h>#include <stdio.h>int zj32(int n);int zj32(int n) printf(&quo

19、t;題目:請(qǐng)編制程序計(jì)算e的近似值,要求被舍棄的首項(xiàng)|1/m|<0.000001");int m=1; float e=0,t=1.0; while (fabs(t)>=1E-6) e=e+t; t=t/m; m+; printf("e=%fn",e); return 0; 4-1:#include<stdio.h>int zj41(int n);int zj41(int n) printf("題目:輸出楊輝三角");int i,j,N; int a8080; scanf("%d",&N);f

20、or(i=0; i<N; i+) aii = 1; ai0 = 1; for(i=2; i<N; i+) for(j=1; j<i; j+) aij = ai-1j-1+ai-1j; for(i=0; i<N; i+) for(j=0; j<=i; j+) printf("%d ",aij); printf("n");return 0;4-2:#include <stdio.h>#include <stdlib.h>#include <string.h>int zj42(int n);in

21、t zj42(int n)printf("題目:從鍵盤(pán)上輸入10個(gè)學(xué)生姓名并按升序排序后輸出");char a1020,t20; int i,j; for(i=0;i<10;i+) printf("請(qǐng)輸入第%d個(gè)學(xué)生姓名:",i+1); gets(ai); for(i=0;i<10;i+) printf("第%d個(gè)學(xué)生姓名是:%sn",i+1,ai); for(i=0;i<9;i+) for(j=i+1;j<10;j+) if(strcmp(ai,aj)>0) strcpy(t,ai); strcpy(a

22、i,aj); strcpy(aj,t); for(i=0;i<10;i+) printf("第%d個(gè)學(xué)生姓名是:%sn",i+1,ai); return 0;5-1:#include<stdio.h>#define N 10int zj51(int n);int zj51(int n)printf("題目:指針排序");int aN,i,j,*p=a,t;for(i=0;i<N;i+)scanf("%d",&pi);for(i=0;i<N-1;i+)for(j=0;j<N-i-1;j+)if

23、(pj>pj+1)t=pj,pj=pj+1,pj+1=t;for(i=0;i<N-1;i+)printf("%d ",*(p+i);printf("%dn",pN-1);return 0;5-2:include<stdio.h>#define N 10int zj52(int n);int zj52(int n)printf("題目:最大數(shù)放最后最小數(shù)放最前");int aN,i,*p=a,t,max=N-1,min=0;for(i=0;i<N;i+)scanf("%d",(p+i);

24、for(i=0;i<N;i+)if(*(p+i)<pmin)min=i;if(*(p+i)>pmax)max=i;if(min!=0)t=*(p+min);pmin=p0;p0=t; if(max!=N-1)t=*(p+max);pmax=pN-1;pN-1=t;if(min=N-1&&max=0)t=pN-1;pN-1=p0;p0=t;for(i=0;i<N;i+)printf("%d ",*(p+i);return 0;6-1:#include<stdio.h>void px(int *p,int n)int i,j,

25、t;for(i=0;i<n-1;i+)for(j=i+1;j<n;j+)if(pi<pj)t=pi;pi=pj;pj=t;int zj61(int n);int zj61(int n)printf("題目: 排序函數(shù)設(shè)計(jì)");int a80,i,m;scanf("%d",&m); for(i=0;i<m;i+)scanf("%d",&ai);px(a,m);for(i=0;i<m;i+)printf("%d ",ai);return 0;6-2:#include <

26、;stdio.h>float myabs(float x);int zj62(int n);int zj62(int n)float x=-7;printf("%gn",myabs(x);return 0;float myabs(float x)if(x<0) return -x;else return x;7-1:#include<stdio.h>struct stchar name20;char id20;int age;float money;x;int zj71(int n);int zj71(int n)printf("題目:結(jié)構(gòu)

27、體的定義與引用");gets();gets(x.id);scanf("%d%f",&x.age,&x.money);puts();puts(x.id);printf("%dn%.2fn",x.age,x.money);return 0;7-2:#include<stdio.h>int zj72(int n);int zj72(int n)printf("題目:判斷正負(fù)數(shù)");int a,b=0x8000;scanf("%x",&a);if(a&a

28、mp;b)=0)printf("is positive numbern");elseprintf("is negative numbern");return 0;8-1:#include<stdlib.h>int zj81(int n);int zj81(int n) printf("題目:文本文件中字符統(tǒng)計(jì)");char ch, filename200; int count = 0; FILE *fp; /* 定義文件指針 */ scanf("%s", filename);/輸入文本文件名 if(fp

29、=fopen(filename,"r")=NULL) printf("File open error!n"); exit(1); while(ch=fgetc(fp)!=EOF) count+; printf("%dn",count); if(fclose(fp) printf("File close error!n"); exit(1); return 0;文件函數(shù):#include<stdio.h>#include<string.h>FILE *fopenfun(char*file,ch

30、ar*model);FILE *fopenfun(char*file,char*model)FILE*fp;if(fp=fopen(file,model)=NULL)printf("Cannot open file of %s.n",file);exit(0);else return fp;封皮函數(shù)1:#include<stdio.h>int fengpi1( int n);int fengpi1( int n)printf("n");printf("n");printf("制作人n");printf(

31、" *n");printf("n");printf(" 1403 魏嘉呈nn");printf("nn");printf(" 1403 崔國(guó)棟nn");printf("nn");printf(" 1403 楊建軍nn");printf("nn");printf(" 1403 李巧艷nn");printf("nn");printf(" 1403 黃珍珍nn");printf(&q

32、uot;n"); printf(" *nn");int i;scanf("%d",&i);return 0;封皮函數(shù)2:#include<stdio.h>int fengpi2( int n);int fengpi2( int n)printf(" *n");printf("n");printf(" 1.第二章nn");printf("n");printf(" 2.第三章nn");printf("n");p

33、rintf(" 3.第四章nn");printf("n");printf(" 4.第五章nn");printf("n");printf(" 5.第六章nn");printf("n");printf(" 6.第七章nn");printf("n");printf(" 7.第八章nn");printf("n"); printf(" *n");return 0;五主要用到的函數(shù)(1)switch-case語(yǔ)句switch的用法是判斷case后面的表達(dá)式和switch后面的表達(dá)式是否相匹配,一旦case匹配,就會(huì)順序執(zhí)行后面的程序代碼,而不管后面的case是否匹配,直到遇見(jiàn)break。嵌套兩層Switch的循環(huán),更加方便找到想要運(yùn)行的程序。利用Switch,使得循環(huán)結(jié)構(gòu)也更加的清楚明白,整體效果好。(2)文件打開(kāi)程序1、調(diào)用方式通常為:復(fù)制代碼 代碼如下:FILE *fp;fp=fopen(文件名, 打開(kāi)方式);2、參數(shù)說(shuō)明: 文件名: 形如"myfile.dat&quo

溫馨提示

  • 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)論