第一篇:C語(yǔ)言實(shí)驗(yàn)報(bào)告
C語(yǔ)言程序設(shè)計(jì)(B)
(2010-2011-2)
實(shí)驗(yàn)報(bào)告
教學(xué)班級(jí):
學(xué)號(hào):
姓名:
課程教師:王華金
實(shí)驗(yàn)輔導(dǎo)教師:王華金
江西理工大學(xué)P123--
五、1、編寫(xiě)函數(shù),找出5*5數(shù)組對(duì)角線上元素的最小值,并在主函數(shù)中調(diào)用它。要求元素的值通過(guò)鍵盤(pán)輸入。
實(shí)驗(yàn)前的源程序:
#include
for(j=0;j<5;j++)
if(i==j)
if(p[i][j] return min;} void main(){ int i,j,m,a[5][5];printf(“請(qǐng)輸入a[5][5]:n”);for(i=0;i<5;i++)for(j=0;j<5;j++)scanf(“%d”,&a[i][j]);printf(“a[5][5]:n”);for(i=0;i<5;i++){for(j=0;j<5;j++)printf(“%4d”,a[i][j]);printf(“n”);} m=func(a);printf(“主對(duì)角線上元素的最小值為:%dn”,m);} 實(shí)驗(yàn)錯(cuò)誤報(bào)告: [Error] C:Users陶鑫DocumentsC-FreeTemp未命名4.cpp:13: error: `main' must return `int' [Warning] C:Users陶鑫DocumentsC-FreeTemp未命名4.cpp:27:2: warning: no newline at end of file 構(gòu)建中止 未命名4: 1 個(gè)錯(cuò)誤, 1 個(gè)警告 江西理工大學(xué) 實(shí)驗(yàn)后的源程序: #include for(j=0;j<5;j++) if(i==j) if(p[i][j] return min;} main(){ int i,j,m,a[5][5];printf(“請(qǐng)輸入a[5][5]:n”);for(i=0;i<5;i++)for(j=0;j<5;j++)scanf(“%d”,&a[i][j]);printf(“a[5][5]:n”);for(i=0;i<5;i++){for(j=0;j<5;j++)printf(“%4d”,a[i][j]);printf(“n”);} m=func(a);printf(“主對(duì)角線上元素的最小值為:%dn”,m);} P123-- 五、3、編寫(xiě)從整形數(shù)組中檢索給定數(shù)值的函數(shù),若找到則輸出該數(shù)值在數(shù)組中的位置。 實(shí)驗(yàn)前的源程序: #include “stdio.h” int Find(int array[],int Array size,int num){ int i;for(i=0;i 江西理工大學(xué)int main(){ int a[]={1,2,3,4,5};num=4,n=5,index;index=find(a,5,num);if(index)printf(“%d在數(shù)組中第%d位置”,num,index);else printf(“數(shù)組中沒(méi)有這個(gè)數(shù)!”);} 實(shí)驗(yàn)錯(cuò)誤報(bào)告: [Error] C:Users陶鑫DocumentsC-FreeTemp未命名3.cpp:2: error: expected `,' or `...' before “size” [Error] C:Users陶鑫DocumentsC-FreeTemp未命名3.cpp:5: error: expected `;' before “size” [Error] C:Users陶鑫DocumentsC-FreeTemp未命名3.cpp:5: error: `size' was not declared in this scope [Error] C:Users陶鑫DocumentsC-FreeTemp未命名3.cpp:5: error: expected `)' before ';' token [Error] C:Users陶鑫DocumentsC-FreeTemp未命名3.cpp:5: error: expected `;' before ')' token [Error] C:Users陶鑫DocumentsC-FreeTemp未命名3.cpp:13: error: `num' was not declared in this scope [Error] C:Users陶鑫DocumentsC-FreeTemp未命名3.cpp:13: error: `n' was not declared in this scope [Error] C:Users陶鑫DocumentsC-FreeTemp未命名3.cpp:13: error: `index' was not declared in this scope 江西理工大學(xué)[Error] C:Users陶鑫DocumentsC-FreeTemp未命名3.cpp:14: error: `find' was not declared in this scope [Warning] C:Users陶鑫DocumentsC-FreeTemp未命名3.cpp:19:2: warning: no newline at end of file 實(shí)驗(yàn)后的源程序: #include “stdio.h” int Find(int Array[], int Array_size, int num){ int i;for(i=0;i P123-- 五、6、輸入10名學(xué)生5門(mén)課的成績(jī),分別用函數(shù)求:(1)每門(mén)課的平均分。(2)找出最高的分?jǐn)?shù)所對(duì)應(yīng)的學(xué)生和成績(jī)。 實(shí)驗(yàn)前的源程序: #include for(i=0;i<10;i++) { printf(“輸入第%d個(gè)學(xué)生五門(mén)課的成績(jī):”,i+1); for(j=0;j<5;j++) scanf(“%f”,&a[i][j]); } } void aver_cour(float a[10][5])//課程的平均分 江西理工大學(xué) { int i,j; float sum; for(i=0;i<5;i++) { sum=0; for(j=0;j<10;j++) sum+=a[j][i]; printf(“第%d門(mén)課的平均成績(jī)?yōu)椋?6.2fn”,i+1,sum/10); } } void highest(float a[10][5])//查找最高分 { int i,j,flag1,flag2;float max=0; for(i=0;i<10;i++) { for(j=0;j<5;j++) { if(max { max=a[i][j]; flag1=i; flag2=j; } } } printf(“最高分對(duì)應(yīng)的是學(xué)生:%d課程:%dn”,flag1+1,flag2+1);} void main(){ float a[10][5]; input(a); aver cour(a); highest(a); } 實(shí)驗(yàn)錯(cuò)誤報(bào)告: [Error] C:Users陶鑫DocumentsC-FreeTemp未命名6.cpp:35: error: `main' must return `int' [Error] C:Users陶鑫DocumentsC-FreeTemp未命名6.cpp:38: error: `aver' was not declared in this scope [Error] C:Users陶鑫DocumentsC-FreeTemp未命名6.cpp:38: error: expected `;' before “cour” 江西理工大學(xué)[Warning] C:Users陶鑫DocumentsC-FreeTemp未命名6.cpp:40:4: warning: no newline at end of file 構(gòu)建中止 未命名6: 3 個(gè)錯(cuò)誤, 1 個(gè)警告 實(shí)驗(yàn)后的源程序: #include for(i=0;i<10;i++) { printf(“輸入第%d個(gè)學(xué)生五門(mén)課的成績(jī):”,i+1); for(j=0;j<5;j++) scanf(“%f”,&a[i][j]); } } void aver_cour(float a[10][5])//課程的平均分 { int i,j; float sum; for(i=0;i<5;i++) { sum=0; for(j=0;j<10;j++) sum+=a[j][i]; printf(“第%d門(mén)課的平均成績(jī)?yōu)椋?6.2fn”,i+1,sum/10); } } void highest(float a[10][5])//查找最高分 { int i,j,flag1,flag2;float max=0; for(i=0;i<10;i++) { for(j=0;j<5;j++) { if(max { max=a[i][j]; flag1=i; flag2=j; } } } printf(“最高分對(duì)應(yīng)的是學(xué)生:%d課程:%dn”,flag1+1,flag2+1);} main() 江西理工大學(xué) { float a[10][5]; input(a); aver_cour(a); highest(a);} P173- 五、2、對(duì)具有10個(gè)元素的char類型的數(shù)組,從下標(biāo)為6的元素開(kāi)始全部設(shè)置'#'號(hào),保持前6個(gè)元素中的內(nèi)容不變。 實(shí)驗(yàn)前的源程序: #include“stdio.h” main(){int i;char a[10]={'h','e','l','l','o','j','p','i','j','d'};for(i=0;i<10;i++)printf(“%c”,a[i]);printf(“n”); for(pi=(a+6);pi<(a+10);pi++) *pi='#';for(i=0;i<10;i++)printf(“%c”,a[i]);} 實(shí)驗(yàn)錯(cuò)誤報(bào)告: [Error] C:Users陶鑫DocumentsC-FreeTemp未命名1.cpp:8: `pi' undeclared(first use this function)[Error] C:Users陶鑫DocumentsC-FreeTemp未命名1.cpp:8:(Each undeclared identifier is reported only once [Error] C:Users陶鑫DocumentsC-FreeTemp未命名1.cpp:8: for each function it appears in.) 構(gòu)建中止 未命名1: 3 個(gè)錯(cuò)誤, 0 個(gè)警告 江西理工大學(xué) 實(shí)驗(yàn)后的源程序: #include“stdio.h” main(){int i;char a[10]={'h','e','l','l','o','j','p','i','j','d'}, *pi;for(i=0;i<10;i++)printf(“%c”,a[i]);printf(“n”); for(pi=(a+6);pi<(a+10);pi++) *pi='#';for(i=0;i<10;i++)printf(“%c”,a[i]);} P173- 五、5、輸入10個(gè)整數(shù),將其中最小的數(shù)與第一個(gè)數(shù)對(duì)換,把最大的數(shù)與最后一個(gè)數(shù)對(duì)換,并輸出對(duì)換后的10個(gè)數(shù)。 實(shí)驗(yàn)前的源程序: #include int max,min; max=min=0;for(i=0;i<10;i++){ if(*(p+i)>*(p+max))max=i; if(*(p+i)<*(p+min))min=i;} m=p[0];p[0]=p[max];p[max]=m;m=p[9];p[9]=p[min];p[min]=m;} void Show(int *p){ int i=0;printf(“交換后結(jié)果如下:n”);while(i<10) printf(“%d ”,*(p+i++));printf(“n”);} 江西理工大學(xué)void main(){ int data[10];int i=0;printf(“請(qǐng)輸入十個(gè)數(shù):n”);while(i<10) scanf(“%d”,data+i++)Deal(data);Show(data);} 實(shí)驗(yàn)錯(cuò)誤報(bào)告: [Error] C:Users陶鑫DocumentsC-FreeTemp未命名7.cpp:24: error: `main' must return `int' [Error] C:Users陶鑫DocumentsC-FreeTemp未命名7.cpp:30: error: expected `;' before “Deal” [Warning] C:Users陶鑫DocumentsC-FreeTemp未命名7.cpp:32:2: warning: no newline at end of file 構(gòu)建中止 未命名7: 2 個(gè)錯(cuò)誤, 1 個(gè)警告 實(shí)驗(yàn)后的源程序: #include 江西理工大學(xué)} void Show(int*p){ int i=0;printf(“交換后結(jié)果如下:n”);while(i<10)printf(“%d”,*(p+i++));printf(“n”);} void main(){ int data[10];int i=0;printf(“請(qǐng)輸入十個(gè)數(shù):n”);while(i<10)scanf(“%d”,data+i++);Deal(data);Show(data);} P173- 五、7、編寫(xiě)小學(xué)生做加、減、乘、除四則運(yùn)算的程序。例如在操作系統(tǒng)下,鍵入cal 15*15< 回車>,則在屏幕上顯示15*15=225.實(shí)驗(yàn)前的源程序: 實(shí)驗(yàn)錯(cuò)誤報(bào)告: 實(shí)驗(yàn)后的源程序: #include int i,j,k;char *f[2];int b[2];scanf(“%s”,&f[1]);scanf(“%d”,&b[1]); 江西理工大學(xué) 江西理工大學(xué)12 } scanf(“%s”,&f[2]);scanf(“%d”,&b[2]);i=b[1];j=b[2];k=i*j;printf(“%d*%d=%d”,i,j,k); 《Matlab語(yǔ)言》實(shí)驗(yàn)(報(bào)告)題庫(kù) 1、TDOA信號(hào)分析類 (1)已給出一段事先采集的信號(hào),該信號(hào)為進(jìn)行TDOA定位使用的基本信號(hào),其格式為GPS+IQ + GPS+IQ …,即每包數(shù)據(jù)由GPS頭文件和IQ信號(hào)構(gòu)成,GPS頭文件共58B,其數(shù)據(jù)格式為 $HT,20130114,084556,N3606.82273,E10343.59311,M1538.7,11,0*,每包IQ數(shù)據(jù)共8192B,其數(shù)據(jù)格式為I0,Q0,I1,Q1,I2,Q2…,I2047,Q2047,即I數(shù)據(jù)2048點(diǎn)、Q數(shù)據(jù)2048點(diǎn)交叉出現(xiàn)。換言之,每包數(shù)據(jù)實(shí)際內(nèi)容為:$HT,20130114,084556,N3606.82273,E10343.59311,M1538.7,11,0* I0 Q0 I1 Q1 I2 Q2 … I2047 Q2047,程序前期已實(shí)現(xiàn)讀取IQ數(shù)據(jù)文件并進(jìn)行關(guān)鍵信息讀取分解,請(qǐng)根據(jù)程序提醒,完成相關(guān)功能(數(shù)據(jù)及程序見(jiàn)“1-實(shí)際IQ信號(hào)實(shí)驗(yàn)”文件夾)。 2、TDOA時(shí)差估計(jì)仿真類 (2)在TDOA定位技術(shù)中,時(shí)差估計(jì)是一個(gè)非常重要的環(huán)節(jié)。自行仿真2個(gè)具有一定時(shí)差的信號(hào),用廣義互相關(guān)法(GCC)計(jì)算該2個(gè)信號(hào)的時(shí)差,并與設(shè)定時(shí)差進(jìn)行對(duì)比分析(需給出詳細(xì)過(guò)程及適當(dāng)?shù)姆抡鎴D)。 (3)在TDOA定位技術(shù)中,時(shí)差估計(jì)是一個(gè)非常重要的環(huán)節(jié)。自行仿真2個(gè)具有一定時(shí)差的信號(hào),用互模糊函數(shù)法計(jì)算該2個(gè)信號(hào)的時(shí)差,并與設(shè)定時(shí)差進(jìn)行對(duì)比分析(需給出詳細(xì)過(guò)程及適當(dāng)?shù)姆抡鎴D)。 (4)在TDOA定位技術(shù)中,時(shí)差估計(jì)是一個(gè)非常重要的環(huán)節(jié)。自行仿真2個(gè)具有一定時(shí)差的信號(hào),用廣義互相關(guān)(GCC)結(jié)合多項(xiàng)式擬合方法計(jì)算該2個(gè)信號(hào)的時(shí)差,并比較廣義互相關(guān)法估計(jì)時(shí)差和廣義互相關(guān)結(jié)合多項(xiàng)式擬合方法估計(jì)時(shí)差的結(jié)果,進(jìn)行分析(需給出詳細(xì)過(guò)程及適當(dāng)?shù)姆抡鎴D)。 (5)在TDOA定位技術(shù)中,時(shí)差估計(jì)是一個(gè)非常重要的環(huán)節(jié)。自行仿真2個(gè)具有一定時(shí)差的信號(hào),自選方法計(jì)算該2個(gè)信號(hào)的時(shí)差,并與設(shè)定時(shí)差進(jìn)行對(duì)比分析(需給出詳細(xì)過(guò)程及適當(dāng)?shù)姆抡鎴D)。 3、TDOA時(shí)差估計(jì)實(shí)測(cè)類 下面三題使用“3-TDOA實(shí)測(cè)類-數(shù)據(jù)”。 (6)在TDOA定位技術(shù)中,時(shí)差估計(jì)是一個(gè)非常重要的環(huán)節(jié)。根據(jù)提供的TDOA數(shù)據(jù),用廣義互相關(guān)(GCC)計(jì)算該2路信號(hào)的時(shí)差,統(tǒng)計(jì)每包數(shù)據(jù)計(jì)算結(jié)果,并分析之(需給出詳細(xì)解決過(guò)程及適當(dāng)?shù)姆治鰣D)。 (7)在TDOA定位技術(shù)中,時(shí)差估計(jì)是一個(gè)非常重要的環(huán)節(jié)。根據(jù)提供的TDOA數(shù)據(jù),用廣義互相關(guān)(GCC)結(jié)合多項(xiàng)式擬合方法計(jì)算該2路信號(hào)的時(shí)差,比較廣義互相關(guān)法估計(jì)時(shí)差和廣義互相關(guān)結(jié)合多項(xiàng)式擬合方法估計(jì)時(shí)差的結(jié)果,并分析之(需給出詳細(xì)解決過(guò)程及適當(dāng)?shù)姆治鰣D)。 (8)在TDOA定位技術(shù)中,時(shí)差估計(jì)是一個(gè)非常重要的環(huán)節(jié)。根據(jù)提供的TDOA數(shù)據(jù),自選方法計(jì)算該2路信號(hào)的時(shí)差,統(tǒng)計(jì)每包數(shù)據(jù)計(jì)算結(jié)果,并分析之(需給出詳細(xì)解決過(guò)程及適當(dāng)?shù)姆治鰣D)。 4、信號(hào)頻域分析類 (9)生成一個(gè)帶有噪聲的正弦波信號(hào),信號(hào)的頻率、幅度,噪聲的幅度自行設(shè)定。(將帶有噪聲的正弦信號(hào)放入for循環(huán)中,利于pause,實(shí)現(xiàn)噪聲動(dòng)態(tài)變化效果,并在for循環(huán)內(nèi)畫(huà)出其時(shí)域圖和幅頻圖(采樣率和采樣點(diǎn)數(shù)自行設(shè)定),觀察動(dòng)態(tài)變化情況),最后總結(jié)系統(tǒng)采樣率和采樣點(diǎn)數(shù)對(duì)仿真信號(hào)效果的影響。 (10)自行生成一段時(shí)域信號(hào),要求在不同的時(shí)間,信號(hào)具有不同的頻率(即非平穩(wěn)信號(hào)),用短時(shí)傅里葉變換對(duì)其進(jìn)行時(shí)頻分析,并呈現(xiàn)時(shí)頻分析結(jié)果。 (11)自行生成一段時(shí)域信號(hào),要求在不同的時(shí)間,信號(hào)具有不同的頻率(即非平穩(wěn)信號(hào)),用小波變換對(duì)其進(jìn)行時(shí)頻分析,并呈現(xiàn)時(shí)頻分析結(jié)果。 5、信號(hào)調(diào)制解調(diào)類 (12)自行產(chǎn)生正弦信號(hào)作為基帶信號(hào)、載波,試合成AM信號(hào),在AM信號(hào)上加高斯白噪聲,并將AM信號(hào)解調(diào),畫(huà)出各信號(hào)(基帶信號(hào)、載波、合成的AM信號(hào)、解調(diào)后的基帶信號(hào))時(shí)域圖及頻譜圖,并對(duì)比總結(jié)解調(diào)效果。 (13)自行產(chǎn)生正弦信號(hào)作為基帶信號(hào)、載波,試合成FM信號(hào),在FM信號(hào)上加高斯白噪聲,并將FM信號(hào)解調(diào),畫(huà)出各信號(hào)(基帶信號(hào)、載波、合成的FM信號(hào)、解調(diào)后的基帶信號(hào))時(shí)域圖及頻譜圖,并對(duì)比總結(jié)解調(diào)效果。 (14)自行產(chǎn)生一個(gè)正弦信號(hào),以此為載波,生成一段2ASK信號(hào),其中數(shù)字序列隨機(jī)生成,畫(huà)出數(shù)字基帶序列、正弦信號(hào)、2ASK信號(hào)的時(shí)域圖。 (15)自行產(chǎn)生兩個(gè)不同頻率的正弦信號(hào),以此為載波,生成一段2FSK信號(hào),其中數(shù)字序列隨機(jī)生成,畫(huà)出數(shù)字基帶序列、兩個(gè)正弦信號(hào)、2FSK信號(hào)的時(shí)域圖。 (16)用Matlab模擬通信系統(tǒng)收發(fā)過(guò)程,要求:發(fā)射站發(fā)射FM調(diào)制信號(hào),接收站接收該信號(hào),并進(jìn)行解調(diào),系統(tǒng)參數(shù)及傳播環(huán)境/過(guò)程參數(shù)自定。 6、信號(hào)分離類 (17)自行生成一個(gè)含有3個(gè)頻率(信號(hào)頻率相近,如200Hz,210Hz,300Hz)的信號(hào),其他參數(shù)自定,直接用FFT難以將不同頻率信號(hào),尤其頻率較近的信號(hào)進(jìn)行分離,試用AR等高階功率譜方法,將該信號(hào)進(jìn)行分離,并繪制分離前后的頻譜圖(即信號(hào)的FFT圖、信號(hào)的AR分離圖)。 (18)自行生成一個(gè)含有不同頻率或不同相位的信號(hào),直接用FFT難以將不同頻率信號(hào),尤其頻率較近或同頻率不同相位的信號(hào)進(jìn)行分離,試用MUSIC方法,將該信號(hào)進(jìn)行分離,并繪制分離前后的頻譜圖(即原信號(hào)的FFT圖、信號(hào)的MUSIC分離圖),并總結(jié)現(xiàn)象。 (19)自行產(chǎn)生一段含有低頻、高頻和噪聲成分的信號(hào),嘗試設(shè)計(jì)不同的濾波器,將高頻信號(hào)及噪聲濾掉,并繪制濾波前后的信號(hào)對(duì)比圖(含時(shí)域、頻域圖)。 7、深度學(xué)習(xí)類 (20)設(shè)計(jì)一個(gè)神經(jīng)網(wǎng)絡(luò)(可以是任意類型的神經(jīng)網(wǎng)絡(luò)),對(duì)手寫(xiě)數(shù)字進(jìn)行分類,要求小組內(nèi)每個(gè)成員至少每人手寫(xiě)一個(gè)數(shù)字,然后識(shí)別,并分析識(shí)別準(zhǔn)確率。 (21)自行找一個(gè)預(yù)訓(xùn)練好的網(wǎng)絡(luò),對(duì)日常生活物品進(jìn)行識(shí)別,要求小組內(nèi)每個(gè)成員拍照1~2個(gè)物品,通過(guò)網(wǎng)絡(luò)進(jìn)行識(shí)別,并分析識(shí)別效果。 學(xué)號(hào):__________ 姓名:__________ 班級(jí):__________ 日期:__________ 指導(dǎo)教師:__________ 成績(jī):__________ 實(shí)驗(yàn)一 上機(jī)操作初步和簡(jiǎn)單的C程序設(shè)計(jì) 一、實(shí)驗(yàn)?zāi)康?、熟悉C語(yǔ)言運(yùn)行環(huán)境Turbo C++3.02、會(huì)簡(jiǎn)單的程序調(diào)試 3、熟悉C語(yǔ)言各種類型數(shù)據(jù)的輸入輸出函數(shù)的使用方法 4、掌握順序結(jié)構(gòu)程序設(shè)計(jì) 二、實(shí)驗(yàn)內(nèi)容 1、上機(jī)運(yùn)行本章3個(gè)例題,熟悉所用系統(tǒng)的上機(jī)方法與步驟。(習(xí)題1.7) 2、編寫(xiě)一個(gè)C程序,輸入a、b、c 3個(gè)值,輸出其中最大者。(習(xí)題1.6) 3、設(shè)圓半徑r=1.5,圓柱高h(yuǎn)=3,求圓周長(zhǎng)、圓面積、圓球表面積、圓球體積、圓柱體積。用scanf輸入數(shù)據(jù),輸出計(jì)算結(jié)果,輸出時(shí)要求有文字說(shuō)明,取小數(shù)點(diǎn)后2位數(shù)字。注意:在Trubo C++ 3.0中不能輸入漢字,只能輸入英文或拼音。(習(xí)題4.8) 4、運(yùn)行如下程序,寫(xiě)出運(yùn)行結(jié)果。第一┆范文網(wǎng)004km.cn整理該文章,版權(quán)歸原作者、原出處所有...#include void main() { int a=1,b=2; a=a+b;b=a-b;a=a-b; printf(“%d,%dn”,a,b); } 三、實(shí)驗(yàn)步驟與過(guò)程 四、程序調(diào)試記錄 C語(yǔ)言程序設(shè)計(jì)(B) (2010-2011-2) 實(shí)驗(yàn)報(bào)告 教學(xué)班級(jí): 學(xué)號(hào): 姓名: 課程教師: 實(shí)驗(yàn)輔導(dǎo)教師: 江西理工大學(xué) 自由編輯的程序 一、實(shí)驗(yàn)前的源程序: //任意整數(shù)的疊加 #include 實(shí)驗(yàn)錯(cuò)誤報(bào)告: [Error] D:Program FilesC-Free 4temp未命名10.cpp:7: parse error before `for' [Error] D:Program FilesC-Free 4temp未命名10.cpp:7: parse error before `)' 構(gòu)建中止 未命名10: 2 個(gè)錯(cuò)誤, 0 個(gè)警告 實(shí)驗(yàn)后的源程序: //任意整數(shù)的疊加 #include int i,j,sum=0;printf(“please input a int numbern”);scanf(“%d”,&j);for(i=0;i<=j;i++)sum=sum+i;printf(“此數(shù)的疊加=%dn”,sum);} 二、實(shí)驗(yàn)前的源程序: /*小寫(xiě)字母轉(zhuǎn)大寫(xiě)字母*/ #include 江西理工大學(xué) } c2='s';c1=c1-32;c2=c2-32;printf(“%c,%cn”,c1,c); 實(shí)驗(yàn)錯(cuò)誤報(bào)告: [Error] D:Program FilesC-Free 4temp未命名11.cpp:9: `c' undeclared(first use this function)[Error] D:Program FilesC-Free 4temp未命名11.cpp:9:(Each undeclared identifier is reported only once [Error] D:Program FilesC-Free 4temp未命名11.cpp:9: for each function it appears in.)構(gòu)建中止 未命名11: 3 個(gè)錯(cuò)誤, 0 個(gè)警告 實(shí)驗(yàn)后的源程序: /*小寫(xiě)字母轉(zhuǎn)大寫(xiě)字母*/ #include 三、實(shí)驗(yàn)前的源程序: /*查看某一年是否為閏年*/ #include { if(year%100==0) { if(year%400==0) i=1; else 江西理工大學(xué) i=0; } else i=1; } else i=0;if(i) printf(“%d 是閏年n”,year);else printf(“%d 不是閏年n”,year);} 實(shí)驗(yàn)錯(cuò)誤報(bào)告: [Error] D:Program FilesC-Free 4temp未命名14.cpp:15: parse error before `else' [Error] D:Program FilesC-Free 4temp未命名14.cpp:25: parse error at end of input 構(gòu)建中止 未命名14: 2 個(gè)錯(cuò)誤, 0 個(gè)警告 實(shí)驗(yàn)后的源程序: /*查看某一年是否為閏年*/ #include { if(year%100==0) { if(year%400==0) i=1; else i=0; } else i=1; } else i=0;if(i) 江西理工大學(xué) printf(“%d 是閏年n”,year);else printf(“%d 不是閏年n”,year);} 數(shù)據(jù)的輸入和輸出 四、程序改錯(cuò)題 改錯(cuò)前的源程序;#include #include 改錯(cuò)前的源程序;#include 江西理工大學(xué) #include long x=7654123;x*=10;printf(“x=%7d”,x);} 改錯(cuò)前的源程序: #include #include 五、程序編寫(xiě)題:已知char ch’b’;int i=3 ,j=5;float x=22.354,y=435.6789;根據(jù)下面的輸出結(jié)果編寫(xiě)程序。ch =’b’,ASCII=98 i=3□□□□□□j=5 x=22.35□□□y=435.68 實(shí)驗(yàn)前的源程序: #include 江西理工大學(xué){ char ch='b';int i=3,j=5;float x=22.354,y=435.6789;printf(“ch='%c',ASCII=%dn”,ch,ch);printf(“i=%d j=%dn”,i,j);printf(“x=%.2f y=%.2fn”,x,y);} 實(shí)驗(yàn)錯(cuò)誤報(bào)告:無(wú) 實(shí)驗(yàn)后的源程序: #include j=%dn”,i,j);printf(“x=%.2f y=%.2fn”,x,y);} 六、從鍵盤(pán)輸入一行字符,統(tǒng)計(jì)其中小寫(xiě)字母、大寫(xiě)字母和其它字符的個(gè)數(shù): 實(shí)驗(yàn)前的源程序: #include “stdio.h” void main(){ printf(“請(qǐng)任意輸入一串字符:n”); char ch,sum1=0,sum2=0,other=0; ch=getchar(); while(c!='n') { if(c>='A'&&c<='Z')sum1++; else if(c>='a'&&c<='z')sum2++; else other++; c=getchar(); } printf(“大寫(xiě)字母的個(gè)數(shù):%dn”,sum1);printf(“小寫(xiě)字母的個(gè)數(shù):%dn”,sum2); 江西理工大學(xué)printf(“其他字符母?jìng)€(gè)數(shù):%dn”,other);} 實(shí)驗(yàn)錯(cuò)誤報(bào)告: [Error] D:Program FilesC-Free 4temp未命名7.cpp:7: `c' undeclared(first use this function)[Error] D:Program FilesC-Free 4temp未命名7.cpp:7:(Each undeclared identifier is reported only once [Error] D:Program FilesC-Free 4temp未命名7.cpp:7: for each function it appears in.)構(gòu)建中止 未命名7: 3 個(gè)錯(cuò)誤, 0 個(gè)警告 實(shí)驗(yàn)后的源程序: #include “stdio.h” void main(){ printf(“請(qǐng)任意輸入一串字符:n”); char ch,sum1=0,sum2=0,other=0; ch=getchar(); while(ch!='n') { if(ch>='A'&&ch<='Z')sum1++; else if(ch>='a'&&ch<='z')sum2++; else other++; ch=getchar(); } printf(“大寫(xiě)字母的個(gè)數(shù):%dn”,sum1);printf(“小寫(xiě)字母的個(gè)數(shù):%dn”,sum2);printf(“其他字符母?jìng)€(gè)數(shù):%dn”,other);} 七、使用以下公式求∏的近似值,要求精確到最后一項(xiàng)的絕對(duì)值小于10e-4 ∏/4=1-1/3+1/5-1/7+…… 實(shí)驗(yàn)前的源程序: #include “stdio.h” #include “math.h” main(){ 江西理工大學(xué) } float sum=0;int i,j;for(i=1;;i++){ j=2*i-1;if(1.0/j>0.0001){ sum+=pow(-1,i+1)*(1.o/j);continue;break;} printf(“∏=%fn”,sum*4.0); 實(shí)驗(yàn)錯(cuò)誤報(bào)告: [Error] D:Program FilesC-Free 4temp未命名9.cpp:13: nondigits in number and not hexadecimal [Error] D:Program FilesC-Free 4temp未命名9.cpp:19: parse error at end of input 構(gòu)建中止 未命名9: 2 個(gè)錯(cuò)誤, 0 個(gè)警告 實(shí)驗(yàn)后的源程序: #include “stdio.h” #include “math.h” main(){ float sum=0;int i,j;for(i=1;;i++){ j=2*i-1;if(1.0/j>0.0001){ sum+=pow(-1,i+1)*(1.0/j);continue;} break;} printf(“∏=%fn”,sum*4.0);} 八、用選擇法對(duì)10個(gè)整數(shù)排序: 實(shí)驗(yàn)前的源程序: 江西理工大學(xué)#include scanf(“%d”,a[i]);} printf(“n”);for(i=0;i<10;i++)for(j=0;j<10-j;j++){ if(a[j]>a[j+1]) { k=a[j]; a[j]=a[j+1]; k=a[j+1];} printf(“這10個(gè)整數(shù)從小到大排列為:”);for(j=0;j<10;j++){ printf(“%d ”,a[j]);} printf(“n”);printf(“這10個(gè)整數(shù)從大到小排列為:”);for(j=9;j>=0;j--){ printf(“%d ”,a[j]);} 實(shí)驗(yàn)錯(cuò)誤報(bào)告: [Error] D:Program FilesC-Free 4temp未命名1.cpp:33: parse error at end of input 構(gòu)建中止 未命名1: 1 個(gè)錯(cuò)誤, 0 個(gè)警告 實(shí)驗(yàn)后的源程序: //用選擇法對(duì)10個(gè)整數(shù)排序 #include 江西理工大學(xué) int i,j,k;for(i=0;i<10;i++){ scanf(“%d”,a[i]);} printf(“n”);for(i=0;i<10;i++)for(j=0;j<10-j;j++){ if(a[j]>a[j+1]){ k=a[j]; a[j]=a[j+1]; k=a[j+1];} } printf(“這10個(gè)整數(shù)從小到大排列為:”);for(j=0;j<10;j++){ printf(“%d ”,a[j]);} printf(“n”);printf(“這10個(gè)整數(shù)從大到小排列為:”);for(j=9;j>=0;j--){ printf(“%d ”,a[j]);} } 九、求一個(gè)3*3的整數(shù)矩陣對(duì)角線元素之積: 實(shí)驗(yàn)前的源程序: #include scanf(“%d”,&a[i][j])} for(i=0;i<3;i++) 江西理工大學(xué) { for(j=0;j<3;j++) { printf(“%d ”,a[i][j]); } printf(“n”); } printf(“n”); for(i=0;i<3;i++) { for(j=0;j<3;j++) if(i=j) ji*=a[i][j]; printf(“主對(duì)角線的積為:%dn”,ji); } } 實(shí)驗(yàn)錯(cuò)誤報(bào)告: [Error] D:Program FilesC-Free 4temp未命名4.cpp:11: parse error before `}' 構(gòu)建中止 未命名4: 1 個(gè)錯(cuò)誤, 0 個(gè)警告 實(shí)驗(yàn)后的源程序: #include scanf(“%d”,&a[i][j]);} for(i=0;i<3;i++){ for(j=0;j<3;j++) { printf(“%d ”,a[i][j]); } printf(“n”); } 江西理工大學(xué) printf(“n”); for(i=0;i<3;i++) { for(j=0;j<3;j++) if(i=j) ji*=a[i][j]; printf(“主對(duì)角線的積為:%dn”,ji); } } 十、將一個(gè)數(shù)組中的值按你需從新存放。例如,原來(lái)順序?yàn)?,6,5,4,1。要求改為1,4,5,6,8。 實(shí)驗(yàn)前的源程序: #include scanf(“%d”,&a[i]);} for(i=0;i t=a[i]; a[i]=a[j-i-1]; t=a[j-i-1];} printf(“該數(shù)組逆序排列為:”); for(i=0;i printf(“%d ”,a[i]);printf(“n”);} 實(shí)驗(yàn)錯(cuò)誤報(bào)告: [Error] D:Program FilesC-Free 4temp未命名3.cpp:25: parse error at end of input 構(gòu)建中止 未命名3: 1 個(gè)錯(cuò)誤, 0 個(gè)警告 江西理工大學(xué)實(shí)驗(yàn)后的源程序: #include scanf(“%d”,&a[i]);} for(i=0;i t=a[i]; a[i]=a[j-i-1]; a[j-i-1]=t;} printf(“該數(shù)組逆序排列為:”); for(i=0;i printf(“%d ”,a[i]);} printf(“n”);} 江西理工大學(xué) 實(shí)驗(yàn)一 熟悉C語(yǔ)言程序的運(yùn)行環(huán)境 一、實(shí)驗(yàn)?zāi)康?/p> 1、了解在該系統(tǒng)上如何編輯、編譯、連接和運(yùn)行一個(gè)C 程序; 2、通過(guò)運(yùn)行簡(jiǎn)單的C程序,初步了解C程序的特點(diǎn)。 二、實(shí)驗(yàn)預(yù)習(xí) 1、認(rèn)真閱讀簡(jiǎn)單的C程序介紹,C程序上機(jī)步驟部分內(nèi)容; 2、編寫(xiě)好所需要的程序,程序的書(shū)寫(xiě)應(yīng)該清楚整潔,一般檢查應(yīng)該是沒(méi)有明顯的錯(cuò)誤。 如果在程序中有疑問(wèn)的地方,可以標(biāo)記起來(lái),以便于上機(jī)調(diào)試時(shí)予以注意。初學(xué)者特別忌諱 上機(jī)前自己不編寫(xiě)程序,到時(shí)隨便地抄別人的程序。 三、實(shí)驗(yàn)指導(dǎo) 1、輸入并運(yùn)行一個(gè)簡(jiǎn)單的程序,從而熟悉所用系統(tǒng)的上機(jī)方法與步驟。(1)選擇File->New,使編輯窗口變成空白(2)輸入下面的程序(例題1.1)#include (4)如果編譯無(wú)錯(cuò)誤,按【Ctrl+F9】鍵使程序運(yùn)行,按【Alt+F5】鍵,切換到用戶 屏,觀察分析運(yùn)行結(jié)果。 2、輸入并運(yùn)行一個(gè)需要在運(yùn)行時(shí)輸入數(shù)據(jù)的程序(1)清空編輯窗口,輸入下面的程序(例題1.2)。#include 四、實(shí)驗(yàn)內(nèi)容 1、在C 編輯環(huán)境下編輯實(shí)驗(yàn)指導(dǎo)中給出的程序、編譯并運(yùn)行。 2、試編寫(xiě)一程序完成如下信息的顯示。********************************** “How are you!” ********************************** 3、編寫(xiě)一個(gè)C 程序(習(xí)題1.6):輸入a, b, c 三個(gè)值,輸出其中最大者。根據(jù)上述題目要求編程并上機(jī)調(diào)試運(yùn)行。 五、實(shí)驗(yàn)報(bào)告要求 實(shí)驗(yàn)結(jié)束后,應(yīng)整理實(shí)驗(yàn)報(bào)告,其內(nèi)容應(yīng)包括: 1、實(shí)驗(yàn)題目 2、設(shè)計(jì)思路 3、寫(xiě)出程序源代碼 4、寫(xiě)出程序運(yùn)行結(jié)果 5、對(duì)實(shí)驗(yàn)結(jié)果進(jìn)行分析、總結(jié) 六、設(shè)計(jì)思路 1.5題:以main為主函數(shù),對(duì)三條語(yǔ)句進(jìn)行編碼,分別輸出,即可達(dá)到所要求的結(jié)果。1.6題:以main為主函數(shù),先輸入三個(gè)整形十進(jìn)制數(shù),任取其一,與其它兩個(gè)中的任一進(jìn)行對(duì)比,取其最大,再與剩余的一個(gè)進(jìn)行對(duì)比,可得最大。 七、源程序清單 1.5題: #include printf(“n**********************n”);printf(“ ”how are you“n”);printf(“**********************n”);} 1.6題: #include 八、分析、總結(jié)、及心得 通過(guò)本次實(shí)驗(yàn)讓我學(xué)會(huì)c程序的編寫(xiě)應(yīng)注意的一些細(xì)節(jié),理解一些簡(jiǎn)單程序的編寫(xiě)方法。 實(shí)驗(yàn)二 數(shù)據(jù)類型,運(yùn)算符與表達(dá)式 一、實(shí)驗(yàn)?zāi)康?/p> 1、掌握C 語(yǔ)言數(shù)據(jù)類型,以及對(duì)它們賦值的方法; 2、掌握不同的數(shù)據(jù)類型之間賦值的規(guī)律; 3、學(xué)會(huì)使用C 的有關(guān)算術(shù)運(yùn)算符,以及包含這些運(yùn)算符的表達(dá)式,特別是自加和自減運(yùn)算符的使用; 4、進(jìn)一步熟悉C 程序的編輯、編譯、連接和運(yùn)行的過(guò)程。 二、實(shí)驗(yàn)預(yù)習(xí) 1、認(rèn)真閱讀教材數(shù)據(jù)類型,算術(shù)運(yùn)算符和表達(dá)式,賦值運(yùn)算符和表達(dá)式部分內(nèi)容。 三、實(shí)驗(yàn)指導(dǎo) 1、輸入并運(yùn)行下面的程序: #include (1)將一個(gè)負(fù)整數(shù)賦給一個(gè)無(wú)符號(hào)的變量,會(huì)得到什么結(jié)果。 (2)將一個(gè)大于32767 的長(zhǎng)整數(shù)賦給整形變量,會(huì)得到什麼結(jié)果。 (3)將一個(gè)長(zhǎng)整數(shù)賦給無(wú)符號(hào)的變量,會(huì)得到什麼結(jié)果(分別考慮該長(zhǎng)整數(shù)的值大于或等于65535 以及小于65535 的情況)。 同學(xué)們可以改變程序中各變量的值,以便比較。例如: a = 65580, b =-40000, e = 65535,f = 65580。 2、輸入下面程序: #include (4)在(3)的基礎(chǔ)上,將printf 語(yǔ)句改為: printf(“%d,%d”, ++i, ++j);運(yùn)行并分析結(jié)果。(5)再將printf 語(yǔ)句改為: printf(“%d,%d,%d,%d”, i, j, i++, j++);運(yùn)行并分析結(jié)果。(6)將程序改為: #include 四、實(shí)驗(yàn)內(nèi)容 1、在C 編輯環(huán)境下編輯實(shí)驗(yàn)指導(dǎo)中給出的程序、編譯并運(yùn)行。 2、試編一程序?qū)崿F(xiàn)輸入長(zhǎng)寬高,計(jì)算長(zhǎng)方體的表面積。 3、按習(xí)題3.7 的要求編程序并上機(jī)運(yùn)行,該題的要求是: 要將“China”譯成密碼,譯碼規(guī)律是:用原來(lái)字母后面的第4個(gè)字母代替原來(lái)的字母。例如,字母“A”后面第4 個(gè)字母是“E”,用“E”代替“A”。因此,“China”應(yīng)譯為“Glmre”。請(qǐng)編一程序,用賦初值的方法使c1、c2、c3、c4、c5 五個(gè)變量的值分別為’C’、’h’、’i’、’n’、’a’,經(jīng)過(guò)運(yùn)算,使c1、c2、c3、c4、c5 分別變?yōu)椤疓’、’l’、’m’、’r’、’e’、,并輸出。 (1)輸入編好的程序,并運(yùn)行該程序。分析是否符合要求。 五、實(shí)驗(yàn)結(jié)果 1題: (1):100,-100 100,65436 100,65436(2):-15536,32767(3):5000,32767 2題: (1):9,119,10(2):9,11,8,11(3):8,10(4):9,11(5):9,11,8,10(6):i=9,j=9,m=8,n=-9 六、源程序清單 四.2題 #include #include 七、分析、總結(jié)、及心得 通過(guò)本次的實(shí)驗(yàn),熟悉如何定義一個(gè)整型、字符型和實(shí)型的變量,掌握算術(shù)運(yùn)算符的使用,以及包含這些運(yùn)算符的表達(dá)式,特別是自加和自減運(yùn)算符的使用,學(xué)會(huì)一些簡(jiǎn)單程序編寫(xiě)所注意的問(wèn)題。 實(shí)驗(yàn)三 簡(jiǎn)單C程序設(shè)計(jì) 一、實(shí)驗(yàn)?zāi)康?/p> 1、掌握C 語(yǔ)言中賦值語(yǔ)句的使用方法; 2、掌握不同類型數(shù)據(jù)的輸入輸出方法,能正確使用各種格式轉(zhuǎn)換符; 二、實(shí)驗(yàn)預(yù)習(xí) 1、認(rèn)真閱讀數(shù)據(jù)的輸入輸出部分內(nèi)容。 三、實(shí)驗(yàn)指導(dǎo) 1、從鍵盤(pán)輸入兩個(gè)0 到127 的整數(shù),求兩數(shù)的平方差并輸出其值以及這兩個(gè)整數(shù)的ASCII 碼對(duì)應(yīng)的字符。 (1)算法分析:標(biāo)準(zhǔn)ASCII 碼值范圍是0 到127,所以在這范圍內(nèi)的數(shù)可以以字符形式輸出,實(shí)現(xiàn)方法是用格式輸出函數(shù)并用格式符c 控制輸出。(2)根據(jù)結(jié)果書(shū)寫(xiě)源程序 #include 注意輸入時(shí)兩數(shù)間應(yīng)以空格間隔,不能用逗號(hào),只有源程序輸入函數(shù)中兩格式符以逗號(hào)間隔時(shí)輸入才可以是:100,50↙(6)查看結(jié)果【Alt+F5】 2、輸入程序 #include (2)在此基礎(chǔ)上,修改程序的第7~11 行: a=61;b=62;c1=a;c2=b;f=3157.890121;g=0.123456789 d=f;e=g;p=a=m=50000;q=b=n=-60000;運(yùn)行程序,分析結(jié)果。(3)將printf 語(yǔ)句改為: printf(“a=%d,b=%dnc1=%c,c2=%cnd=%15.6f,e=%15.12fn”,a,b,c1,c2,d,e);printf(“f=%f,g=%fnm=%d,n=%dnp=%d,q=%dn”,f,g,m,n,p,q);運(yùn)行程序,分析結(jié)果。 (4)將p、q 改用%o 格式符輸出。運(yùn)行程序,分析結(jié)果。 四、實(shí)驗(yàn)內(nèi)容 1、在C 編輯環(huán)境下編輯實(shí)驗(yàn)指導(dǎo)中給出的程序、編譯并運(yùn)行。 2、本節(jié)實(shí)驗(yàn)題目: (1)若a=3,b=4,c=5,x=1.2,y=2.4,z=-3.6,u=51274,n=128765,c1='a',c2='b'。想得到以下的輸出格式和結(jié)果,請(qǐng)寫(xiě)出程序。要求輸出結(jié)果如下:(注意空格的輸出)a= 3 b= 4 c= 5 x=1.200000,y=2.400000,z=-3.600000 x+y= 3.60 y+z=-1.20 z+x=-2.40 u= 51274 n= 128765 c1='a' or 97(ASCII)c2='B' or 98(ASCII)(2)假設(shè)m是一個(gè)三位數(shù),試編寫(xiě)一程序完成將m的個(gè)位,十位,百位反序輸出(例如:123反序輸出為321)。 五、實(shí)驗(yàn)結(jié)果 三、1: d,2,7500 2、(1): a=61,b=62 c1=a,c2=b d= 3.56,e=-6.87 f= 3157.890121,g= 0.123456789000 m=50000,n=-60000 p=32768,q=40000(2): a=-15536,b=5536 c1==,c2=> d=3157.89,e= 0.12 f= 3157.890121,g= 0.123456789000 m=50000,n=-60000 p=50000,q=5536(3): c1==,c2=> d= 3157.890137,e= 0.123456791043 f=3157.890121,g=0.123457 m=-15536,n=0 p=5536,q=-1(4): a=15536,b=5536 c1==,c2=> d= 3157.890137,e= 0.123456791043 f=3157.890121,g=0.123457 p=12640,q=177777 六、源程序清單 2(1): #include }(2:)#include } 七、分析、總結(jié)、及心得 在本次實(shí)驗(yàn)中,學(xué)會(huì)了賦值語(yǔ)句的使用方法,不同類型數(shù)據(jù)的輸入輸出,尤其是某些空格應(yīng)特別注意,了解了在scanf語(yǔ)句中不能用n,這也是我一直犯的錯(cuò)誤。 實(shí)驗(yàn)四 選擇結(jié)構(gòu)程序設(shè)計(jì) 一、實(shí)驗(yàn)?zāi)康?/p> 1、學(xué)會(huì)正確使用邏輯運(yùn)算符及邏輯表達(dá)式; 2、熟練掌握if 語(yǔ)句與switch 語(yǔ)句; 二、實(shí)驗(yàn)預(yù)習(xí) 1、認(rèn)真閱讀if 語(yǔ)句和switch 語(yǔ)句部分內(nèi)容。 2、編寫(xiě)好所需要的程序。 三、實(shí)驗(yàn)指導(dǎo) 1、輸入三角形的三邊長(zhǎng),判斷這個(gè)三角形是否是直角三角形。 (1)算法分析:直角三角形斜邊最長(zhǎng),要先找出三邊中最長(zhǎng)的邊,判斷最長(zhǎng)邊的平方 是否等于其余兩邊的平方和,若相等就是直角三角形。根據(jù)分析結(jié)果書(shū)寫(xiě)源程序。#include t=a; a=b; b=t;}/* a 中放a,b 中較長(zhǎng)邊*/ if(a t=a; a=c; c=t;}/* a 中放a,b,c 中的最長(zhǎng)邊*/ if(a*a==b*b+c*c) printf(“Y”);else printf(“N”);}(2)編輯源程序(3)編譯【F9】,直到?jīng)]有錯(cuò)誤。(4)運(yùn)行【Ctrl+F9】,輸入: 3,4,5↙ (5)查看結(jié)果【Alt+F5】,輸出: Y 四、實(shí)驗(yàn)內(nèi)容 1、在C 編輯環(huán)境下編輯實(shí)驗(yàn)指導(dǎo)中給出的程序、編譯并運(yùn)行。 2、本節(jié)實(shí)驗(yàn)題目: (1)給出一個(gè)百分制成績(jī),要求輸出成績(jī)等級(jí)A、B、C、D。90 分以上為A,80~89分為B,70~79 分為C,60~69 分為D,60 分以下為E。 ①事先編好程序,要求分別用if 語(yǔ)句和switch 語(yǔ)句實(shí)現(xiàn)。運(yùn)行程序,并檢查結(jié)果是否正確。 ②再運(yùn)行一次程序,輸入分?jǐn)?shù)為負(fù)值(如-70),這顯然是輸入時(shí)出錯(cuò),不應(yīng)給出等級(jí)。 ③修改程序,使之能正確處理任何數(shù)據(jù)。當(dāng)輸入數(shù)據(jù)大于100 或小于0 時(shí),通知用戶“輸入數(shù)據(jù)錯(cuò)”,程序結(jié)束。 (2)給出一個(gè)不多于5位的正整數(shù),要求:①求出它是幾位數(shù)。②分別打印出每一位數(shù)。③按逆序打印出各位數(shù)字。 五、簡(jiǎn)述編程思路 2.1.1首先寫(xiě)一段程序(switch語(yǔ)句)來(lái)對(duì)不是所要求的輸入的判斷與執(zhí)行,其次寫(xiě)出主要要執(zhí)行的語(yǔ)句對(duì)于switch要求用break跳出,if則不同,六、源程序清單 2.1.1:(用switch)#include scanf(“%f”,&a);} switch((int)a/10){ case 0: case 1: case 2: case 3: case 4: case 5:b='E';break; case 6:b='D';break; case 7:b='C';break; case 8:b='B';break; case 9: case 10:b='A';} printf(“b=%cn”,b); } 2.1.2:(用if) #include scanf(“%f”,&a);} if(a>=0&&a<60) b='E';else if(a>=60&&a<70) b='D';else if(a>=70&&a<80) b='C';else if(a>=80 &&a<90) b='B';else b='A'; printf(“b=%cn”,b); } 2.2: #include } 七、實(shí)驗(yàn)心得 通過(guò)本次實(shí)驗(yàn),明白了if和switch的聯(lián)系,以及長(zhǎng)整形在打印時(shí)注意的地方,學(xué)會(huì)使用邏輯運(yùn)算符及邏輯表達(dá)式。 實(shí)驗(yàn)五 循環(huán)控制 一、實(shí)驗(yàn)?zāi)康?/p> 1.熟練掌握f(shuō)or 語(yǔ)句、while 語(yǔ)句、do-while 語(yǔ)句實(shí)現(xiàn)循環(huán)的方法; 2.理解循環(huán)嵌套及其使用方法; 3.掌握break 語(yǔ)句與continue 語(yǔ)句的使用; 4.掌握用循環(huán)實(shí)現(xiàn)一些常用算法(如窮舉、迭代、遞推等)。 二、實(shí)驗(yàn)預(yù)習(xí)1.認(rèn)真閱讀本章教材中循環(huán)控制部分.2.編寫(xiě)好所需要的程序。 三、實(shí)驗(yàn)指導(dǎo) 1.打印如下圖案 * * * * * * * * * * * * * * * * (1)算法分析:從圖案中找出行數(shù),空格數(shù),星號(hào)數(shù)間的關(guān)系如下: 行數(shù)空格數(shù)星號(hào)數(shù) 1 3 1 2 2 3 3 1 5 4 0 7 i 4-i 2*i-1 可用雙重循環(huán)控制整個(gè)圖案的輸出。若用循環(huán)變量i,j 分別控制外層,內(nèi)層循環(huán),則 i 的取值從1 到4,表示行數(shù),在每行中要確定前面空格個(gè)數(shù)和星號(hào)個(gè)數(shù),空格個(gè)數(shù)是4-i,星號(hào)個(gè)數(shù)是2*i-1。 (2)根據(jù)分析結(jié)果寫(xiě)出源程序 #include (6)查看結(jié)果【Alt+F5】。輸出題目要求的圖案。 四、實(shí)驗(yàn)內(nèi)容 1.在C 編輯環(huán)境下編輯實(shí)驗(yàn)指導(dǎo)中給出的程序,編譯并運(yùn)行。2.要求學(xué)生獨(dú)立完成如下題目: (1)輸出100到1000之間的所有水仙花數(shù)。所謂水仙花數(shù)是指一個(gè)三位數(shù),其各位數(shù)字立方和等于該數(shù)本身。 (2)輸入一行字符,分別統(tǒng)計(jì)出其中英文字母、空格、數(shù)字 和其他字符的個(gè)數(shù)。 (3)試?yán)脠D形函數(shù)完成極坐標(biāo)函數(shù)ρ=cos(3*X)圖像的繪制?!具M(jìn)階題目,選做】 根據(jù)以上題目要求編程并上機(jī)調(diào)試運(yùn)行。 五、編程思路 2(1)對(duì)一個(gè)數(shù)字每一位的輸出的前提下在利用一個(gè)if語(yǔ)句即可。2(2)先明白英文字母、空格、數(shù)字的ASCII,在用if函數(shù)即可。 六、程序運(yùn)行結(jié)果 2(1): #include printf(“%dn”,a); a++;} }(2): #include if(c>=65&&c<=90||c>96&&c<=122) i++; else if(c>=48&&c<=57) j++; else if(c==32) k++; else l++;} printf(“i=%d,j=%d,k=%d,l=%dn”,i,j,k,l); }(3): #include int main(){ int gdriver, gmode;float p,x,px,py,zx,zy;gdriver=VGA;gmode=VGAHI;initgraph(&gdriver, &gmode, “c: c”);for(x=0;x<=2*PI;x+=0.01){ p=cos(3*x); zx=p*cos(x); zy=p*sin(x); px=320+zx*100; py=240-zy*100; putpixel(px,py,14);} getch();closegraph();return 0;} 七、實(shí)驗(yàn)總結(jié)、心得 通過(guò)本次實(shí)驗(yàn),理解了一些循環(huán)語(yǔ)句的選擇、運(yùn)用,對(duì)一些簡(jiǎn)單循環(huán)的嵌套有了更進(jìn)一步的理解。第二篇:《Matlab語(yǔ)言》實(shí)驗(yàn)報(bào)告
第三篇:c語(yǔ)言實(shí)驗(yàn)報(bào)告
第四篇:C語(yǔ)言 實(shí)驗(yàn)報(bào)告
第五篇:c語(yǔ)言實(shí)驗(yàn)報(bào)告