版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)
文檔簡介
《C語言程序設(shè)計》實驗報告2023~2023學(xué)年第二學(xué)期班級姓名學(xué)號指導(dǎo)教師實驗一實驗項目名稱:C程序的運營環(huán)境和運營C程序的方法所使用的工具軟件及環(huán)境:VisualC++6.0?一、實驗?zāi)康模?.了解在VisualC++6.0環(huán)境下如何編輯、編譯、連接和運營一個C程序;2.通過運營簡樸的C程序,初步了解C源程序的特點。二、預(yù)習(xí)內(nèi)容:教材《C語言程序設(shè)計教程》第1章。三、實驗內(nèi)容:1.在VisualC++6.0環(huán)境下輸入并運營下面的程序:#include<stdio.h>intmain(){printf("ThisisaCprogram.\n");return0;}2.在VisualC++6.0環(huán)境下輸入下面的程序(有語法錯誤),編譯、連接、調(diào)試該程序,直至程序無語法錯誤,然后運營程序,并觀測分析運營結(jié)果。#include<stdio.h>intmain(){inta,b,suma=3;b=4;sun=a+b;print(“%d+%d=%d\n”,a,b,sum);return0;}四、實驗結(jié)果:1.運營結(jié)果(或截圖):ThisisaCprogram.Pressanykeytocontinue?2.(1)改正后的源程序:#include<stdio.h>intmain(){ inta,b,sum;?a=3; b=4; sum=a+b;?printf("%d+%d=%d\n",a,b,sum);?return0;}(2)運營結(jié)果(或截圖):?? 3+4=7五、思考題:1.一個C程序上機的環(huán)節(jié)有哪些?答:上級輸入與編輯源程序—對原程序進行編譯–與庫函數(shù)鏈接–運營可執(zhí)行的目的程序。2.組成C程序的基本單位是函數(shù),一個函數(shù)涉及哪幾個部分?答:一個函數(shù)涉及兩部分:分別為函數(shù)頭或函數(shù)首部和函數(shù)體。成績指導(dǎo)教師署名實驗二實驗項目名稱:數(shù)據(jù)類型、運算符和表達式 所使用的工具軟件及環(huán)境:VisualC++6.0一、實驗?zāi)康模海?掌握整型、實型與字符型這三種基本類型的概念;2.掌握常量及變量的使用方法;3.掌握基本算術(shù)運算符及其表達式的使用方法;4.掌握++、--運算符、賦值運算符及其表達式的使用方法。二、預(yù)習(xí)內(nèi)容:教材《C語言程序設(shè)計教程》第2章。三、實驗內(nèi)容:1.在VisualC++6.0環(huán)境下輸入下面的程序,編譯、連接、調(diào)試該程序。main(){charm,n;m=280;n=320;printf(“%d\t%d\n”,m,n);printf(“%c\t%c\n”,m,n);}2.在VisualC++6.0環(huán)境下輸入并運營下面的程序,觀測分析運營結(jié)果。#include<stdio.h>intmain(){inta=3,b=4,c=8;floatd,e;d=a+b/c;e=a+(float(yī))b/c;//請將此處d改為bprintf("d=%f,e=%f\n",d,e);}3.在VisualC++6.0環(huán)境下輸入并運營下面的程序,觀測分析運營結(jié)果。#include<stdio.h>main(){inta,b,c,d,i,j,m,n;a=b=c=d=3;i=a++;j=++b;m=c--;n=--d;printf("a=%d,b=%d,c=%d,d=%d,i=%d,j=%d,m=%d,n=%d\n",a,b,c,d,i,j,m,n);}4.在VisualC++6.0環(huán)境下輸入并運營下面的程序,觀測分析運營結(jié)果。#include<stdio.h>main(){inta=4;a+=a-=a*a+a;printf("a=%d\n",a);}四、實驗結(jié)果:1.運營結(jié)果(或截圖):2464?@2.運營結(jié)果(或截圖):d=3.000000,e=3.500000d=3.000000,e=3.3750003.運營結(jié)果(或截圖):a=4,b=4,c=2,d=2,i=3,j=4,m=3,n=24.運營結(jié)果(或截圖):a=-32五、思考題:1.給變量命名應(yīng)當(dāng)注意哪些問題?答:每個變量必須進行數(shù)據(jù)類型說明;2.程序2的運營結(jié)果中,d和e的值為什么不同?答:d的賦值語句中,除法是兩個整型數(shù)字的運算,其結(jié)果沒有小數(shù)位;而e中對b進行了強制轉(zhuǎn)換為實型,所以其除法運算結(jié)果有小數(shù)位。 3.程序3的運營結(jié)果中,i和j的值為什么不同?m和n的值為什么不同?//改為程序3答:i(m)是通過后自增(后自減)實現(xiàn)的,而后自增(后自減)是先參與其他運算,后對變量遞增(遞減); 而j(n)是通過前自增(前自減)實現(xiàn)的,其是先對變量遞增(遞減),后再參與其他運算。4.請分析表達式a+=a-=a*a+a的運算過程(寫出運算環(huán)節(jié))。??答:先將a-(a*a+a)賦值給a,再將a+a賦值給a。成績指導(dǎo)教師署名實驗三實驗項目名稱:簡樸的輸入輸出及順序程序設(shè)計 所使用的工具軟件及環(huán)境:VisualC++6.0一、實驗?zāi)康模?.掌握整型、實型與字符型數(shù)據(jù)的對的輸入方法(scanf函數(shù)的使用);2.掌握整型、實型與字符型數(shù)據(jù)的對的輸出方法(printf函數(shù)的使用);3.掌握編寫順序程序的方法。二、預(yù)習(xí)內(nèi)容:教材《C語言程序設(shè)計教程》第3章。三、實驗內(nèi)容:1.編寫C程序,按下列公式計算并輸出S的值,其中a和b的值有鍵盤輸入。main(){inta,b;floats;scanf(“%d,%d”,&a,&b);s=2.0*a*b/(a+b)/(a+b);printf(“s=%f\n”,s);}①輸入并調(diào)試。②將scanf函數(shù)改為scanf(“%d%d”,&a,&b);再編譯,運營。③觀測結(jié)果。2.在VisualC++6.0環(huán)境下輸入并運營下面的程序,觀測分析程序運營過程及結(jié)果。#include<stdio.h>intmain(){inta,b,sum;printf("請輸入第一個整數(shù):");scanf("%d",&a);printf("請輸入第二個整數(shù):");scanf("%d",&b);sum=a+b;printf("%d+%d=%d\n",a,b,sum);}3.設(shè)圓半徑r=1.5,編寫程序求圓周長、圓面積和圓球的體積。規(guī)定用scanf語句輸入半徑,輸出時取小數(shù)點后兩位。四、實驗結(jié)果:1.輸入數(shù)據(jù)4,5輸入修改后的數(shù)據(jù)454↙5↙運營結(jié)果s=0.493827運營結(jié)果s=0.493827s=0.493827因素字符控制串中有“,”,所以輸入時必須有“,”因素字符控制串中沒有除說明符以外的其他字符,所以輸入時可以通過空格分隔字符控制串中沒有除說明符以外的其他字符,所以輸入時可以通過回車分隔2.運營結(jié)果(或截圖):請輸入第一個整數(shù):1請輸入第二個整數(shù):21+2=33.(1)程序中用到的變量(類型)單精度浮點數(shù) (2)算法(用偽代碼描述或自然語言) c=2*pi*r; s=pi*r*r; v=4*(pi*r*r*r)/3;(3)源程序清單#include<stdio.h>intmain()#definepi3.14{ floatr,c,s,v;?printf("請輸入圓的半徑:");?scanf("%f",&r);?c=2*pi*r;?s=pi*r*r;?v=4*(pi*r*r*r)/3.0;?printf("c=%.2f,s=%.2f,v=%.2f\n",c,s,v);}? (4)運營結(jié)果(或截圖)請輸入圓的半徑:1.5c=9.42,s=7.07,v=14.13五、思考題:scanf(“%d,%d”,&a,&b)與scanf(“%d%d”,&a,&b)輸入數(shù)據(jù)的方式有什么不同?從兩種輸入方式的對比中你得到什么啟發(fā)?答:第一種輸入方式用戶必須以“,”分隔,而第兩者可用空格、回車分隔,用戶在不知情的情況下,很難知道用“,”分隔輸入的數(shù)據(jù)。所以編程人員可以在scanf()語句前用printf()語句進行注釋,讓用戶知道用什么來分隔輸入的數(shù)據(jù)。成績指導(dǎo)教師署名實驗四實驗項目名稱:選擇結(jié)構(gòu)程序設(shè)計 所使用的工具軟件及環(huán)境:VisualC++6.0一、實驗?zāi)康模?.對的使用關(guān)系運算符和關(guān)系表達式;2.對的使用邏輯運算符和邏輯表達式;3.純熟使用if語句實現(xiàn)選擇結(jié)構(gòu)程序;2.純熟使用switch語句實現(xiàn)多分支選擇結(jié)構(gòu)程序。二、預(yù)習(xí)內(nèi)容:教材《C語言程序設(shè)計教程》第4章。三、實驗內(nèi)容:1.下面程序的功能是:輸入學(xué)生成績,若成績在90分以上,輸出“Excellent!”;若成績在60—89分之間,輸出“Pass!”;若成績在60分以下,輸出“Fail!”。請將程序補充完整,并上機運營程序。#include<stdio.h>intmain(){intscore;printf("請輸入分數(shù)(0--100):");scanf("%d",&score);if(score>100||score<0)printf("InputError!\n");elseif(score>=90)printf("Excellent!\n");elseif(score>=60)printf("Pass!\n");elseprintf("Fail!\n");}運營該程序4次,分別輸入4個不同的數(shù)據(jù),相應(yīng)4種不同的情況,記錄運營結(jié)果:輸入數(shù)據(jù)206199111運營結(jié)果Fail!Pass!Excellent!InputError!2.有如下分段函數(shù):請輸入x的值,求解相應(yīng)的y值。3.給出一個百分制成績,規(guī)定輸出成績等級’A’、’B’、’C’、’D’、’E’。90-100為’A’,80-89為’B’,70-79為’C’,60-69為’D’,60分以下為’E’。用switch語句寫。四、程序中所用的變量及其類型:2.變量:x、y;數(shù)據(jù)類型:都為單精度浮點數(shù)3.變量:score數(shù)據(jù)類型:整型五、算法(用偽代碼或自然語言描述):2.?if(x>=10)? printf("y=%f\n",3*x-11);?elseif(x>=1)??printf("y=%f\n",2*x-1);?else??printf("y=%f\n",x);3.switch(score/10) {??case10: ? printf("A\n");? ?break;? case9: ??printf("A\n"); ?break; ?case8:? ?printf("B\n");?? break; case7:???printf("C\n");?? break; ?case6: ??printf("D\n");?? break;??default: ? printf("E\n"); }六、源程序清單:2.#include<stdio.h>intmain(void){?floatx,y; printf("請輸入一個x:"); scanf("%f",&x);?if(x>=10)? printf("y=%f\n",3*x-11); elseif(x>=1)? printf("y=%f\n",2*x-1);?else? printf("y=%f\n",x);?return0;}3.#include<stdio.h>intmain(void){ intscore; printf("請輸入一個成績:");?scanf("%d",&score); switch(score/10)?{ case10: printf("A\n"); break;??case9: ?printf("A\n");???break;? case8: ? printf("B\n"); break;??case7: ? printf("C\n");? break;? case6:???printf("D\n"); ?break;??default: ? printf("E\n");?} return0;}七、實驗結(jié)果:2.運營結(jié)果(執(zhí)行程序3次,分別輸入不同的3個數(shù),相應(yīng)3種不同的情況):輸入數(shù)據(jù)211-5運營結(jié)果3.00000022.000000-5.0000003.運營結(jié)果(執(zhí)行程序5次,分別輸入5組不同的數(shù)據(jù),相應(yīng)5種不同的情況):輸入數(shù)據(jù)9980706259運營結(jié)果ABCDE成績指導(dǎo)教師署名實驗五實驗項目名稱:簡樸循環(huán)程序設(shè)計?所使用的工具軟件及環(huán)境:VisualC++6.0一、實驗?zāi)康?1.掌握循環(huán)程序的基本結(jié)構(gòu);2.純熟掌握while、do—while及for語句,并會用來編寫循環(huán)結(jié)構(gòu)程序。二、預(yù)習(xí)內(nèi)容:教材《C語言程序設(shè)計教程》第4章。三、實驗內(nèi)容:1.編寫一個程序,計算并輸出數(shù)列:1,3,5,…,2n-1,…的前幾項之和,其中n由鍵盤輸入。規(guī)定分別用3種循環(huán)語句實現(xiàn)。方法1:用for語句實現(xiàn)。main(){longs,n,k,i;scanf(“%ld“,&n);k=2*n-1;s=0;for(i=1;i<=k;i+=2)s+=i;printf(“1+3+…+%ld=%ld\n”,k,s);}方法2:用while語句實現(xiàn)。main(){longs=0,n,i=1;scanf(“%ld”,&n);while(i<=(2*n-1)){s+=i;i+=2;}printf(“1+3+…+%ld=%ld\n”,2*n-1,s);}方法3:用do-while語句實現(xiàn)。main(){longs=0,n,i=1;scanf(“%ld”,&n);do{s+=i;i=i+2;}while(i<=(2*n)-1);printf(“1+3+…+%ld=%ld\n”,2*n-1,s);}填上所缺的空,運營程序,寫出結(jié)果。2.輸入兩個正整數(shù),求其中最大公約數(shù)和最小公倍數(shù)。四、程序中所用的變量(類型及其初值):2.變量i,k,j,m,least,great(yī)est均為整型變量,沒有對其賦予初值。五、算法(用偽代碼描述):2. for(j=i;j<=i||j>=1;j--)//此處for循環(huán)為求最大公約數(shù)?{? if(i%j==0) ? greatest=j;? else? ;? if(k%greatest==0) ?{ ? printf("%d和%d的最大公約數(shù)為%d!\n",i,k,greatest); ? break; ?}??else?? ; }?least=i*k/greatest;?printf("%d和%d最小公倍數(shù)為%d!\n",i,k,least);六、源程序清單:2.#include<stdio.h>intmain(void){ inti,k,j,m,least,greatest;//i,k存儲的是兩個正整數(shù),least為最小公倍數(shù),great(yī)est為最大公約數(shù)?printf("請輸入兩個正整數(shù)(中間以空格分隔):");?scanf("%d%d",&i,&k); for(j=i;j<=i||j>=1;j--)//此處for循環(huán)為求最大公約數(shù)?{ if(i%j==0)???greatest=j;??else ? ;? if(k%greatest==0)? {???printf("%d和%d的最大公約數(shù)為%d!\n",i,k,greatest); ? break;? }? else ? ;?}?least=i*k/greatest;?printf("%d和%d最小公倍數(shù)為%d?。躰",i,k,least); return0;}七、實驗結(jié)果:1.在下表中寫出輸入的數(shù)據(jù)及其運營結(jié)果:方法1方法2方法3輸入數(shù)據(jù)121212運營結(jié)果1+3+…+23=1441+3+…+23=1441+3+…+23=1442.運營結(jié)果(或截圖):請輸入兩個正整數(shù)(中間以空格分隔):361236和12的最大公約數(shù)為12!36和12最小公倍數(shù)為36!成績指導(dǎo)教師署名實驗六實驗項目名稱:多層循環(huán)程序設(shè)計及break、continue語句在循環(huán)程序中的應(yīng)用 所使用的工具軟件及環(huán)境:VisualC++6.0一、實驗?zāi)康?1.掌握多層循環(huán)程序的執(zhí)行過程及設(shè)計方法;2.掌握break及continue語句在循環(huán)程序中的使用方法。二、預(yù)習(xí)內(nèi)容:教材《C語言程序設(shè)計教程》第4章。三、實驗內(nèi)容:1.百馬百擔(dān)問題。有100匹馬,馱100擔(dān)。大馬馱3擔(dān),中馬馱2擔(dān),兩個小馬馱1擔(dān)。問大、中、小馬各多少?(考慮適當(dāng)減少循環(huán)次數(shù))2.編程輸出100以內(nèi)的所有素數(shù)。3.編程輸出所有水仙花數(shù)(所謂“水仙花數(shù)”,是指一個3位數(shù),其各位數(shù)字的立方和等于該數(shù)自身,例如,153=13+53+33,所以153是一個水仙花數(shù))。四、程序中所用的變量(類型及其初值):1.變量x,y,z均為整型變量,均未賦予初值2.整型變量x,y,均未賦予初值3.整型變量i,m,n,n初值為0,m、n未賦予初值?五、算法(用偽代碼或自然語言描述):1. for(x=0;x<=20;x++)?{ for(y=0;y<=33;y++)? {???z=100-x-y; ? if(z%2==0&&3*x+2*y+z/2==100)????printf("大馬有%d匹,中馬有%d匹,小馬有%d匹!\n",x,y,z);??} }2. for(i=1;i<=100;i+=1) {??for(j=2;j<=i;++j) ?{? if(i%j==0)???{?? ?if(i==j) ?printf("%-5d",i); ? ?else? break;???} ?} }3.?for(i=100;i<=999;++i) { ?intm,n=0;? m=i%10;??n+=m*m*m; ?m=(i/10)%10; ?n+=m*m*m;? m=(i/100)%10;??n+=m*m*m; if(n==i)? printf("%d\n",i); else ;?}六、源程序清單:1.#include<stdio.h>intmain(void){?intx,y,z;?for(x=0;x<=20;x++) {? for(y=0;y<=33;y++) ?{ z=100-x-y;?? if(z%2==0&&3*x+2*y+z/2==100) ??printf("大馬有%d匹,中馬有%d匹,小馬有%d匹!\n",x,y,z); }?} return0;}2.#include<stdio.h>intmain(void){?inti,j;?for(i=1;i<=100;i+=1)?{ for(j=2;j<=i;++j) ?{ if(i%j==0)? {? ? if(i==j) ? printf("%-5d",i);?? ?else break;?? } ?}?}?return0;}3.#include<stdio.h>intmain(void){ inti;?for(i=100;i<=999;++i) { ?intm,n=0;??m=i%10; n+=m*m*m; ?m=(i/10)%10;??n+=m*m*m; m=(i/100)%10;??n+=m*m*m;? if(n==i) ? printf("%d\n",i);? else? ?;?} return0;}七、實驗結(jié)果:1.運營結(jié)果(或截圖):大馬有2匹,中馬有30匹,小馬有68匹!大馬有5匹,中馬有25匹,小馬有70匹!大馬有8匹,中馬有20匹,小馬有72匹!大馬有11匹,中馬有15匹,小馬有74匹!大馬有14匹,中馬有10匹,小馬有76匹!大馬有17匹,中馬有5匹,小馬有78匹!大馬有20匹,中馬有0匹,小馬有80匹!2.運營結(jié)果(或截圖):23571113171923293137414347535961677173798389973.運營結(jié)果(或截圖):153370371407成績指導(dǎo)教師署名實驗七實驗項目名稱:一維、二維和字符數(shù)組程序設(shè)計?所使用的工具軟件及環(huán)境:VisualC++6.0一、實驗?zāi)康?1.掌握一維數(shù)組和二維數(shù)組的定義、賦值和輸入輸出的方法;2.掌握字符數(shù)組的使用。二、預(yù)習(xí)內(nèi)容:教材《C語言程序設(shè)計教程》第5章。三、實驗內(nèi)容:1.從鍵盤輸入一個整數(shù)n(n<=10)和n個整數(shù),存入數(shù)組a中,先依次輸入各個數(shù)組元素的值,然后對數(shù)組a的所有元素值從小到大的順序重新排列后,再依次輸出。main(){inta[10],n,i,j,min,ax;printf(“inputn=”);scanf(“%d”,&n);printf(“inputarray[0]a[1]…a[%d]:\n”,n-1);for(i=0;i<n;i++)scanf(“%d”,&a[i]);printf(“beforesort:array\n”);for(i=0;i<n;i++)printf(“%d”,a[i]);printf(“\n”);for(i=0;i<n;i++){min=i;for(j=i+1;j<n;j++)if(a[j]<a[min])min=j;ax=a[i];a[i]=a[min];//加一個空格a[min]=ax;}printf(“aftersort:array\n”);for(i=0;i<n;i++)printf(“%d”,a[i]);}2.打印出以下楊輝三角形(規(guī)定打印出10行)。111121133114641……3.將兩個字符串連接起來,不要用strcat函數(shù)。四、程序中所用的變量(類型及其初值):2.整型變量i,j,未對其進行賦予初值3.五、算法(用偽代碼描述):2. for(i=0;i<10;i++)?{ for(j=0;j<=i;j++) ?{???if(j==0) ? {?? ?a[i][j]=1; ? printf("%-5d",a[i][j]);? }?? else ? printf("%-5d",a[i][j]=a[i-1][j-1]+a[i-1][j]); } ?printf("\n"); }3.?chars1[80],s2[40]; inti=0,j=0; printf("請輸入數(shù)組s1:");?gets(s1);?printf("請輸入數(shù)組s2:");?gets(s2);?while(s1[i]!='\0')? i++; while(s2[j]!='\0') s1[i++]=s2[j++];?s1[i]='\0'; printf("%s\n",s1);六、源程序清單:2.#include<stdio.h>voidmain(){ inta[10][10]={{1}},j,i;??for(i=0;i<10;i++) { for(j=0;j<=i;j++) ?{? if(j==0)?? { ??a[i][j]=1;?? printf("%-5d",a[i][j]); ?} ? else ?printf("%-5d",a[i][j]=a[i-1][j-1]+a[i-1][j]);??} printf("\n"); }}3.#include<stdio.h>voidmain(){?chars1[80],s2[40];?inti=0,j=0; printf("請輸入數(shù)組s1:");?gets(s1);?printf("請輸入數(shù)組s2:");?gets(s2);?while(s1[i]!='\0') ?i++;?while(s2[j]!='\0')? s1[i++]=s2[j++]; s1[i]='\0';?printf("%s\n",s1);}七、實驗結(jié)果:1.運營結(jié)果(執(zhí)行程序3次,分別輸入不同的n,相應(yīng)3種不同的情況):輸入整數(shù)n輸入n個元素排序后結(jié)果549531134594951615697495613212345692.運營結(jié)果(或截圖):111121133114641151010511615201561172135352171182856705628811936841261268436913.運營結(jié)果(或截圖):成績指導(dǎo)教師署名實驗八實驗項目名稱:函數(shù)調(diào)用和參數(shù)傳遞 所使用的工具軟件及環(huán)境:VisualC++6.0一、實驗?zāi)康模?.掌握定義函數(shù)的方法;2.掌握函數(shù)實參與形參的相應(yīng)關(guān)系。二、預(yù)習(xí)內(nèi)容:教材《C語言程序設(shè)計教程》第6章6.1~6.4節(jié)。三、實驗內(nèi)容:1.求2~100間的素數(shù)。intprime(int);/*prime函數(shù)聲明*/main(){intm,flag;for(m=2;m<=100;m+=1){flag=prime(m);if(m==flag)printf(“%4d”,m);}}intprime(inta){inti,flag;for(i=2;i<a;i++)if(a%i==0)break;if(i==a)flag=1;elseflag=0;returni;}2.求方程ax2+bx+c=0的根,用3個函數(shù)分別求當(dāng)b2-4ac大于0、等于0和小于0時的根,并輸出結(jié)果。從主函數(shù)輸入a,b,c的值。四、程序中所用的變量(數(shù)據(jù)類型):2.五、算法(用偽代碼或自然語言描述):2.六、源程序清單:2.七、實驗結(jié)果:1.運營結(jié)果:2.運營結(jié)果(執(zhí)行程序3次,分別輸入不同的a,b,c,相應(yīng)3種不同的情況):輸入a輸入b輸入c方程的根1442.551.5521.5成績指導(dǎo)教師署名實驗九實驗項目名稱:函數(shù)與預(yù)解決?所使用的工具軟件及環(huán)境:VisualC++6.0一、實驗?zāi)康模?.掌握數(shù)組名作為函數(shù)參數(shù);2.掌握全局變量與局部變量;3.掌握宏,文獻包含的用法。二、預(yù)習(xí)內(nèi)容:教材《C語言程序設(shè)計教程》第6章6.5~6.9節(jié)。三、實驗內(nèi)容:1.從鍵盤輸入10個數(shù)存入數(shù)組a中,調(diào)用fmax求數(shù)組中的最大值并輸出。#include<stdio.h>main(){inta[10],i,jmax;for(i=0;i<10;++i)scanf(“%d”,&a[i]);jmax=fmax(,10);printf(“%d”,jmax);}fmax(intb[],intt){inti,imax;imax=b[0];for(i=1;i<t;i++)if(b[i]>imax);return;}2.用“冒泡法”對輸入的10個字符排序后按從小到大的順序輸出。#defineN10charstr[N];sort(){inti,j;chart;for(j=1;j<N;j++)for(i=0;i<N-j;i++)if(str[i]>){t=str[i];___________;____________;}}main(){inti;for(i=0;i<10;i++)scanf("%c",&str[i]);sort();for(i=0;i<N;i++)printf("%c",str[i]);printf("\n");}3.輸入10個學(xué)生5門課程的成績,分別用函數(shù)求:①每個學(xué)生平均分,并輸出;②每門課的平均分,并輸出。4.定義一個帶參數(shù)的宏,使兩個參數(shù)的值互換,并寫出程序,輸入兩個數(shù)作為使用宏時的實參。輸出已互換后的兩個值。四、程序中所用的變量(數(shù)據(jù)類型):3.4.五、算法(用偽代碼或自然語言描述):3.六、源程序清單:3.4.七、實驗結(jié)果:1.運營結(jié)果(或截圖):2.運營結(jié)果(或截圖):3.運營結(jié)果(或截圖):4.運營結(jié)果(或截圖):成績指導(dǎo)教師署名實驗十實驗項目名稱:指針?所使用的工具軟件及環(huán)境:VisualC++6.0一、實驗?zāi)康?1.通過實驗進一步掌握指針的概念,會定義和使用指針變量。2.能對的使用數(shù)組的指針和指向數(shù)組的指針變量。3.能對的使用字符串的指針和指向字符串的指針變量。4.了解指向函數(shù)的指針變量。二、預(yù)習(xí)內(nèi)容:教材《C語言程序設(shè)計教程》第7章。三、實驗內(nèi)容:1.輸入2個整數(shù),互換順序后輸出,程序規(guī)定使用指針解決。程序提醒:自定義互換函數(shù):voidswap(int*p1,int*p2)//實現(xiàn)*p1與*p2互換{ }//main函數(shù)結(jié)構(gòu)如下:intn1,n2;int*q1,*q2;?//輸入2個數(shù),q1,q2分別指向這n1,n2這2個數(shù)?swap(q1,q2);//調(diào)用函數(shù)swap printf(“%5d%5d”,n1,n2);//輸出互換后的值2.將一個數(shù)組的10個元素反序,用一函數(shù)實現(xiàn)。程序提醒:在主函數(shù)中用for循環(huán)通過scanf函數(shù)輸入數(shù)組元素值,調(diào)用函數(shù),用for循環(huán)輸出結(jié)果。voidinverse(int*p){ 循環(huán)for(i=0;i<10/2;i++)*(p+i)與*(p+9-i)互換,就能實現(xiàn)反序}3.下面程序是用指針法將一個字符串a(chǎn)復(fù)制到字符串b中,修改程序?qū)崿F(xiàn)問題(1)(2)。main(){chara[]="Iamaboy.",b[20],*p1,*p2;inti;p1=a;p2=b;for(;*p1!=’\0’;p1++,p2++)*p2=*p1;*p2=’\0’;printf("stringais:%s\n",a);printf("stringbis:");for(i=0;b[i]!=’\0’;i++)printf("%c",b[i]);}(1)將第一個for循環(huán)改為while循環(huán);(2)分別用指針變量p1和p2輸出字符串a(chǎn)和b。4.用一個函數(shù)實現(xiàn)兩個字符串的比較,自定義compare函數(shù)已給出,編寫main函數(shù):設(shè)p1指向字符串s1,p2指向字符串s2。規(guī)定當(dāng)兩個字符相同時返回0,若兩個字符串不相等,則返回返回它們兩者第一個不同字符的ASCII碼的差值。兩個字符串s1,s2由主函數(shù)輸入,compare函數(shù)的返回值也由主函數(shù)輸出。程序提醒:使用以下函數(shù)進行比較:intcompare(char*p1,char*p2){?inti; for(i=0;*(p1+i)!=’\0’;i++)if(*(p1+i)!=*(p2+i))break;//不相等,循環(huán)結(jié)束return*(p1+i)-*(p2+i);}main(){}5.下面的程序的功能是將字符數(shù)組ch中第2維下標(biāo)是偶數(shù)的元素取出后,構(gòu)成一個十進制整數(shù)。#include<stdio.h>main(){charch[2][5]={"1213","8421"},*p[2];inti,j,s=0;for(i=0;i<2;i++)p[i]=;for(i=0;i<2;i++)for(j=0;p[i][j]>'\0'&&p[i][j]<='9';j+=2)s=;printf("%d",s);}四.重要變量用途說明:1.2.3.4.5.五、源程序補充后完整清單:1.2.3.4.5.六、實驗結(jié)果(寫出典型測試數(shù)據(jù)輸入和輸出)1.運營結(jié)果:2.運營結(jié)果:3.運營結(jié)果:4.運營結(jié)果:5.運營結(jié)果:成績指導(dǎo)教師署名實驗十一實驗項目名稱:結(jié)構(gòu)體與共用體 所使用的工具軟件及環(huán)境:VisualC++6.0一、實驗?zāi)康模海?掌握結(jié)構(gòu)體的概念;2.學(xué)會通過結(jié)構(gòu)體成員來使用結(jié)構(gòu)體;3.對的使用結(jié)構(gòu)體數(shù)組;4.學(xué)會共用體成員值的輸出。二、預(yù)習(xí)內(nèi)容:教材《C語言程序設(shè)計教程》第8章。三、實驗內(nèi)容:1.讀懂并輸入程序,完畢填空后輸出結(jié)果。建立學(xué)習(xí)成績單結(jié)構(gòu),并建立一個同學(xué)王林(wanglin)的記錄。#include<stdio.h>main(){structgrade/*定義結(jié)構(gòu)體類型*/ {intnumber;charname[10]; intmath;intenglish;};structwanglin;/*結(jié)構(gòu)體變量*/printf("Pl(wèi)easeinputthenumber,name,mat(yī)h,english:\n");scanf("%d%s%d%d",&,wanglin.name,,&wanglin.english);//輸入數(shù)據(jù)printf("wanglinggradeis:%d%s%d%d\n",wanglin.number,wanglin.name,wanglin.math,wanglin.english);}2.編寫一個程序,解決5個學(xué)生的信息,每個學(xué)生的信息涉及:學(xué)號、姓名、三門成績。規(guī)定輸出成績表(涉及每個學(xué)生的學(xué)號、姓名、三門成績及平均分數(shù)),并輸出平均分在前3名的學(xué)生的姓名及平均分。解決5個學(xué)生的信息的參考程序:#include"stdio.h"structSTU{intsn;charname[20];intscore[3];floataverage;}students[5]={{1,"A",81,80,80,0},{2,"B",51,80,80,0},{3,"C",61,80,80,0},{4,"D",71,80,80,0},
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 施工現(xiàn)場施工防自然災(zāi)害侵襲制度
- 教職工職稱評定制度
- 吉林省白城市2026屆高三生物第一學(xué)期期末質(zhì)量跟蹤監(jiān)視試題含解析
- 2026廣東茂名市電白區(qū)城鎮(zhèn)公益性崗位招聘2人備考題庫(第一批)及完整答案詳解一套
- 2026河北衡水街關(guān)中學(xué)高中部招聘備考題庫有答案詳解
- 智能網(wǎng)聯(lián)汽車數(shù)據(jù)平臺白皮書 -重構(gòu)數(shù)據(jù)底座:決勝智能網(wǎng)聯(lián)汽車的“AI 與軟件定義”時代 - 面向全生命周期價值變現(xiàn)的云器Lakehouse解決方案白皮書
- 2026屆上海市莘莊中學(xué)等四校生物高三上期末達標(biāo)測試試題含解析
- 2026廣東廣州中醫(yī)藥大學(xué)第三附屬醫(yī)院招聘備考題庫(第二批)完整答案詳解
- 銀行結(jié)算制度
- 財政所內(nèi)部財務(wù)制度
- 24秋人教版英語七上單詞表(Vocabulary in Each Unit)總表
- ISO 15609-1 2019 金屬材料焊接工藝規(guī)程和評定-焊接工藝規(guī)程-電弧焊(中文版)
- 2024年四川省成都市青羊區(qū)中考數(shù)學(xué)二診試卷(含答案)
- 肥胖患者麻醉管理
- 小鯉魚跳龍門電子版
- 2019年急性腦梗死出血轉(zhuǎn)化專家共識解讀
- 《混凝土結(jié)構(gòu)工程施工規(guī)范》
- 社會實踐登記表
- 土地證延期申請書
- 硫乙醇酸鹽流體培養(yǎng)基適用性檢查記錄
- 進階切分技法advanced funk studies rick latham-藍色加粗字
評論
0/150
提交評論