第一篇:c語言實(shí)驗(yàn)二實(shí)驗(yàn)報(bào)告
一、實(shí)驗(yàn)?zāi)康?、2、3、4、掌握關(guān)系表達(dá)式和邏輯表達(dá)式的使用。掌握選擇結(jié)構(gòu)程序設(shè)計(jì)的一般方法。熟練使用if語句進(jìn)行程序設(shè)計(jì)。
掌握使用switch語句實(shí)現(xiàn)多分支選擇結(jié)構(gòu)。
二、實(shí)驗(yàn)內(nèi)容 有一分段函數(shù)如下:
編寫程序,輸入(x實(shí)數(shù))的值,輸出以如下格式:x=??.??,y=??.??(即小數(shù)部分保留2位)程序代碼:
#include “stdio.h” int main(){ float x,y;scanf(“%f”,&x);if(x<1)
y=x*x;if(x>=1&&x<10)
y=5*x-1;
if(x>=10)
y=2*x+4;printf(“x=%.2f,y=%.2fn”,x,y);return 0;}
2、從鍵盤輸入三個實(shí)數(shù),輸出最大數(shù)和最小數(shù)。樣例輸入:1.23 3.45 5.67 樣例輸出:5.67 1.23 程序代碼:
#include “stdio.h” int main(){ float a,b,c,max,min;scanf(“%f%f%f”,&a,&b,&c);if(a>b){max=a;min=b;} else {max=b;min=a;} if(a>c)
if(b>c){min=c;}
else {min=b;}
else {max=c;} printf(“%.2f %.2fn”,max,min);return 0;}
3、讀入3個非零的double數(shù)后,判別這三個值是否可以表示一個三角形的三條邊。樣例輸入1:1.23 1.23 1.23 樣例輸出1:yes.樣例輸入2:5.23 3.45-12.34 樣例輸出2:no.程序代碼: #include “stdio.h” int main(){ double a,b,c;scanf(“%lf%lf%lf”,&a,&b,&c);if(a>0&&b>0&&c>0)
if(a+b>c&&b+c>a&&a+c>b)
printf(“yes.n”);
else printf(“no.n”);
else printf(“no.n”);
return 0;}
4、讀入3個非零整數(shù)后,判別這三個值是否可以表示一個直角三角形的三條邊。樣例輸入1:3 4 5 樣例輸出1:yes.樣例輸入2:5 6 1 樣例輸出2:no.程序代碼:
#include “stdio.h” int main(){ int a,b,c;scanf(“%d%d%d”,&a,&b,&c);if(a>0&&b>0&&c>0)
if(a+b>c&&b+c>a&&a+c>b)
if(a*a+b*b==c*c||b*b+c*c==a*a||a*a+c*c==b*b)
printf(“yes.n”);
else printf(“no.n”);
else printf(“no.n”);
else printf(“no.n”);
return 0;}
5、編程設(shè)計(jì)一個簡單的計(jì)算器程序,要求根據(jù)用戶從鍵盤輸入的表達(dá)式:
操作數(shù)1 運(yùn)算符op操作數(shù)2
計(jì)算表達(dá)式的值,指定的運(yùn)算符為加(+)、減(-)、乘(*)、除(/)。
樣例輸入1:21.23+12.56 樣例輸出1:21.23+12.56=33.79 樣例輸入2:1*2
樣例輸出2:1.00*2.00=2.00 在做除法運(yùn)算時,若操作數(shù)2為0,則輸出:除數(shù)為0
程序代碼:
#include “stdio.h” int main(){ float x,y;char ch;scanf(“%f%c%f”,&x,&ch,&y);switch(ch){ case '+':printf(“%.2f+%.2f=%.2fn”,x,y,x+y);break;case '-':printf(“%.2f-%.2f=%.2fn”,x,y,x-y);break;case '*':printf(“%.2f*%.2f=%.2fn”,x,y,x*y);break;
case '/':if(y==0)
{printf(“除數(shù)為0n”);}
else printf(“%.2f/%.2f=%.2fn”,x,y,x/y);break;} return 0;}
6、描述
某產(chǎn)品生產(chǎn)成本c=c1+m*c2,其中c1為固定成本,c2為單位產(chǎn)品可變成本,m為生產(chǎn)數(shù)量。當(dāng)m<10000時,c1=20000元,c2=10元;當(dāng)m≥10000時,c1=40000元,c2=5元; 編寫一個程序,其功能為:根據(jù)輸入的生產(chǎn)數(shù)量,輸出總生產(chǎn)成本及單位生產(chǎn)成本。輸入 生產(chǎn)數(shù)量
輸出
生產(chǎn)數(shù)量 總生產(chǎn)成本 單位可變成本 樣例輸入 6000 樣例輸出 6000 80000 10
程序代碼:
#include “stdio.h” int main(){ int m,c1,c2,c;scanf(“%d”,&m);if(m<10000){c1=20000;c2=10;} else {c1=40000;c2=5;} c=c1+c2*m;printf(“%d %d %dn”,m,c,c2);return 0;}
7、描述
根據(jù)鍵盤輸入的一個字符所屬類別,判別它屬于:大寫字母(輸出:1)、小寫字母(輸出:2)、數(shù)字字符(輸出:3)、其它字符(輸出:4)。
輸入
一個字符 輸出
字符類別號
樣例輸入
A 樣例輸出 程序代碼
#include “stdio.h” int main(){ char ch;scanf(“%c”,&ch);if(65<=ch&&ch<=90)
printf(“1n”);
else if(97<=ch&&ch<=122)
printf(“2n”);else if(47<=ch&&ch<=58)
printf(“3n”);else
printf(“4n”);return 0;}
8、描述
實(shí)現(xiàn)如下分段函數(shù):
輸入
是一個實(shí)型數(shù)據(jù)。輸出
以如下格式輸出:x=0.250,y=5.250(即輸出一律保留3位小數(shù))樣例輸入 0.250 樣例輸出 x=0.250,y=5.250 程序代碼
#include “stdio.h” int main(){ float x,y;scanf(“%f”,&x);if(x<3){y=x+5;} else if(x==3){y=2*x;} else if(x<10){y=6*x-4;} else {y=3*x-11;} printf(“x=%.3f,y=%.3fn”,x,y);return 0;}
三、實(shí)驗(yàn)體會
通過選擇結(jié)構(gòu)這一章的學(xué)習(xí),我了解了關(guān)系表的事和邏輯表達(dá)式的使用以及選擇結(jié)構(gòu)程序設(shè)計(jì)的一般方法。知道了if語句的使用和switch語句多分支選擇結(jié)構(gòu)。經(jīng)過這一章的學(xué)習(xí),我對c語言程序設(shè)計(jì)有了更大的興趣,希望能帶給我以后更大的學(xué)習(xí)樂趣。
第二篇:實(shí)驗(yàn)1-C語言實(shí)驗(yàn)報(bào)告
C語言程序設(shè)計(jì)(A)
(2011-2012-1)
實(shí)驗(yàn)報(bào)告1
教學(xué)班級: 機(jī)械094 學(xué)號: 01 姓名:譚亮恩 課程教師:
曹瑛
實(shí)驗(yàn)輔導(dǎo)教師:
曹瑛
江西理工大學(xué)
P6-4:/*P6-4
表示第6頁 第四題*/
int main(){ float r,s;r=15.5;s=2*3.14*r;
printf(“r=%4.2f,s=%f”, r, s);return 0;}
結(jié)果是:r=15.5
s=97.34
P32-3-1: /*P32-3-1
表示第6頁 第四題 第一小題*/ #include
表示第6頁 第四題 第二小題*/ #include
結(jié)果是: *ABCDEF*
江西理工大學(xué)
第三篇:C語言實(shí)驗(yàn)報(bào)告_二_
C語言實(shí)驗(yàn)報(bào)告
(二)課程名稱 _____ C語言程序設(shè)計(jì)_____ 實(shí)驗(yàn)項(xiàng)目 ___順序結(jié)構(gòu)程序設(shè)計(jì)___ 實(shí)驗(yàn)儀器 ______計(jì)算機(jī)___________
系 別_____信息與通信工程學(xué)院_______ 專 業(yè)______物聯(lián)網(wǎng)_________ 班級/學(xué)號___ __
學(xué)生姓名 _______________ 實(shí)驗(yàn)日期 ____2014年11月13日___ 成 績 _______________________
指導(dǎo)教師
______ _____
一、實(shí)驗(yàn)?zāi)康?、2、3、4、掌握C語言中,選擇結(jié)構(gòu)
掌握C語言中,分段函數(shù)的輸入與輸出 掌握if,else條件語句的用法 掌握數(shù)學(xué)函數(shù)的使用
二、實(shí)驗(yàn)內(nèi)容
1.有一分段函數(shù)如下:
編寫程序,輸入x(實(shí)數(shù))的值,輸出以如下格式:x=??.??,y=??.??(即小數(shù)部分保留2位)·程序代碼:
#include “stdio.h” int main(){ float x,y;scanf(“%f”,&x);if(x<1)y=x*x;else if(x<10)y=5*x-1;else y=2*x+4;printf(“x=%.2f,y=%.2fn”,x,y);return 0;}
2.從鍵盤輸入三個實(shí)數(shù),輸出最大數(shù)和最小數(shù)。樣例輸入:1.23 3.45 5.67 樣例輸出:5.67 1.23 ·程序代碼:
#include“stdio.h” int main(){ double num1,num2,num3,min,max,t;scanf(“%lf%lf%lf”,&num1,&num2,&num3);min=num1;if(min>num2)min=num2;else min=num1;if(min>num3)
min=num3;max=num1;if(max 3.讀入3個非零的double數(shù)后,判別這三個值是否可以表示一個三角形的三條邊。 樣例輸入1:1.23 1.23 1.23 樣例輸出1:yes.樣例輸入2:5.23 3.45-12.34 樣例輸出2:no.·程序代碼: #include“stdio.h” int main(){ double a,b,c;scanf(“%lf%lf%lf”,&a,&b,&c);if(a+b>c&&b+c>a&&a+c>b)printf(“yes.n”);else printf(“no.n”);return 0;} 4.讀入3個非零整數(shù)后,判別這三個值是否可以表示一個直角三角形的三條邊。樣例輸入1:3 4 5 樣例輸出1:yes.樣例輸入2:5 6 1 樣例輸出2:no.·程序代碼: #include“stdio.h” #include“math.h” int main(){ int a,b,c;scanf(“%d%d%d”,&a,&b,&c);if(a+b>c&&b+c>a&&a+c>b){ if(a*a+b*b==c*c||a*a+c*c==b*b||b*b+c*c==a*a)printf(“yes.n”);else printf(“no.n”);} else printf(“no.n”);return 0;} 5.編程設(shè)計(jì)一個簡單的計(jì)算器程序,要求根據(jù)用戶從鍵盤輸入的表達(dá)式: 操作數(shù)1 運(yùn)算符op操作數(shù)2 計(jì)算表達(dá)式的值,指定的運(yùn)算符為加(+)、減(-)、乘(*)、除(/)。 樣例輸入1:21.23+12.56 樣例輸出1:21.23+12.56=33.79 樣例輸入2:1*2 樣例輸出2:1.00*2.00=2.00 在做除法運(yùn)算時,若操作數(shù)2為0,則輸出:除數(shù)為0 ·程序代碼: #include“stdio.h” int main(){ double a,b;char ch;scanf(“%lf%c%lf”,&a,&ch,&b);if(ch=='/'&&b==0)printf(“除數(shù)為0n”);else switch(ch){ case'+':printf(“%.2f+%.2f=%.2fn”,a,b,a+b);break;case'-':printf(“%.2f-%.2f=%.2fn”,a,b,a-b);break;case'*':printf(“%.2f*%.2f=%.2fn”,a,b,a*b);break;case'/':printf(“%.2f/%.2f=%.2fn”,a,b,a/b);break;} return 0;} 6.某產(chǎn)品生產(chǎn)成本c=c1+m*c2,其中c1為固定成本,c2為單位產(chǎn)品可變成本,m為生產(chǎn)數(shù)量。當(dāng)m<10000時,c1=20000元,c2=10元;當(dāng)m≥10000時,c1=40000元,c2=5元; 編寫一個程序,其功能為:根據(jù)輸入的生產(chǎn)數(shù)量,輸出總生產(chǎn)成本及單位生產(chǎn)成本。輸入 生產(chǎn)數(shù)量 輸出 生產(chǎn)數(shù)量 總生產(chǎn)成本 單位可變成本 樣例輸入 6000 樣例輸出 6000 80000 10 ·程序代碼: #include“stdio.h” int main(){ int c,m,c2;scanf(“%d”,&m);if(m<10000){c2=10;c=20000+c2*m;} else { c2=5;c=40000+c2*m;} } printf(“%d %d %dn”,m,c,c2);return 0; 7.根據(jù)鍵盤輸入的一個字符所屬類別,判別它屬于:大寫字母(輸出:1)、小寫字母(輸出:2)、數(shù)字字符(輸出:3)、其它字符(輸出:4)。 輸入 一個字符 輸出 字符類別號 樣例輸入 A 樣例輸出 1 ·程序代碼: #include“stdio.h” int main(){ char ch;scanf(“%c”, &ch);if(ch >= 'A' && ch <= 'Z')printf(“1n”);else if(ch >= 'a' && ch <= 'z')printf(“2n”);else if(ch >= '0' && ch <= '9')printf(“3n”);else printf(“4n”);return 0;} 8.輸入 是一個實(shí)型數(shù)據(jù)。 輸出 以如下格式輸出:x=0.250,y=5.250(即輸出一律保留3位小數(shù)) 樣例輸入 0.250 樣例輸出 x=0.250,y=5.250 ·程序代碼: #include“stdio.h” int main(){ char ch;scanf(“%c”, &ch);if(ch >= 'A' && ch <= 'Z')printf(“1n”);else if(ch >= 'a' && ch <= 'z')printf(“2n”);else if(ch >= '0' && ch <= '9')printf(“3n”);else printf(“4n”);return 0;} 實(shí)驗(yàn)報(bào)告 課程名稱:微機(jī)原理與接口技術(shù) 指導(dǎo)老師:李素敏 學(xué)生姓名: 學(xué)號: 專業(yè): 自動化 日期:2014-04-10 地點(diǎn):理工樓603 實(shí)驗(yàn)二 1.實(shí)驗(yàn)?zāi)康暮鸵?/p> ① 掌握keil軟件和STC-ISP 軟件的使用方法 ② 熟悉發(fā)光管的工作原理 ③ 通過編程體驗(yàn)發(fā)光管的延時閃爍及移位等功能 2.主要儀器設(shè)備 PC機(jī) 單片機(jī)學(xué)習(xí)開發(fā)套件(型號:89C52RC) 3.實(shí)驗(yàn)內(nèi)容 ①實(shí)驗(yàn)內(nèi)容1:第一個發(fā)光管以間隔200ms閃爍 源程序: #include //宏定義 main(){ while(1){ P1=0xfe;delay(200);P1=0xff;delay(200);} } void delay(uint z)//延時函數(shù),z的取值為這個函數(shù)的延時ms數(shù) { uint x,y;for(x=z;x>0;x--) for(y=110;y>0;y--); 一臺一件 } 實(shí)驗(yàn)結(jié)果說明:要使發(fā)光管閃爍,只需設(shè)置合適的時間延時即可。 ②實(shí)驗(yàn)內(nèi)容2 : 8個發(fā)光管由上至下間隔1s流動,其中每個管亮500ms,滅500ms,亮?xí)r蜂鳴器響,滅時關(guān)閉蜂鳴器,一直重復(fù)下去。 源程序: #include #include //宏定義 unsigned char a,b,k,j; //定義五個字符變量 sbit beep=P2^3;// 定義蜂鳴器的接口 void delay(uint z)//延時函數(shù),z的取值為這個函數(shù)的延時ms數(shù) { uint x,y;for(x=z;x>0;x--) for(y=110;y>0;y--);} void main(){ k=0xfe;//先給k一個初值11111110等待移位 while(1){ delay500ms(); beep=0;//打開蜂鳴器 delay500ms();//讓它響500ms beep=1;//關(guān)閉蜂鳴器 j=_crol_(k,1);//把k循環(huán)左移一位 k=j;//把移完的值再送給k P1=j;//同時把值送到P1口點(diǎn)亮發(fā)光二極管 } //再次循環(huán) } 實(shí)驗(yàn)結(jié)果說明:在此程序中用到了_crol_(k,l)函數(shù),此函數(shù)的功能在于循環(huán)移位,在每次發(fā)光管閃爍相應(yīng)時間后左移一位,把移完的值再送到P口,點(diǎn)亮對應(yīng)的發(fā)光管。這樣循環(huán)往復(fù),達(dá)到發(fā)光管流動的效果。 ③實(shí)驗(yàn)內(nèi)容3 :用8個發(fā)光管演示出8位二進(jìn)制數(shù)累加過程,即用8個二極管表示8個二進(jìn)制位(亮為1,滅為0),依次以二進(jìn)制形式顯示0,1,2,……255。 源程序: #include #include //宏定義 #define uchar unsigned char //宏定義 void delay(uint z)//延時函數(shù),z的取值為這個函數(shù)的延時ms數(shù),{ uint x,y;for(x=z;x>0;x--) for(y=110;y>0;y--);} void main() //主函數(shù) { } uchar a;while(1) //大循環(huán) { } a++;P1=~a;delay(200); 實(shí)驗(yàn)結(jié)果說明:在此定義一個無符號字符變量a,a的值進(jìn)行累加,但是由于表示的二進(jìn)制數(shù)要求亮為1,滅為0,與發(fā)光管的0亮1滅正好相反,所以將a的計(jì)數(shù)取反并設(shè)置相應(yīng)延時,重復(fù)此過程就得到了在發(fā)光管上顯示八位二進(jìn)制數(shù)的累加過程。 ④實(shí)驗(yàn)內(nèi)容4 :間隔300ms第一次一個管亮流動一次,第二次兩個管亮流動,依次到8個管亮,然后重復(fù)整個過程。 源程序: #include #include void delay(uint z)//延時函數(shù),z的取值為這個函數(shù)的延時ms數(shù) { uint x,y;for(x=z;x>0;x--) for(y=110;y>0;y--);} void main()//主函數(shù) { uchar a,i,j;while(1)//大循環(huán) } { } a=0xfe;//賦初值 for(j=0;j<8;j++){ for(i=0;i<8-j;i++)//左移 } { P1=a;//點(diǎn)亮小燈 delay(300);//延時300毫秒 a=_crol_(a,1);//將a變量循環(huán)左移一位 } a=_crol_(a,j);//補(bǔ)齊,方便下面的左移一位 P1=0xff;//全部關(guān)閉 a=a<<1;//左移一位讓多一個燈點(diǎn)亮 4.心得體會:此次實(shí)驗(yàn)中練習(xí)較多的就是閃爍和移位,在編程過程中,設(shè)置閃爍的時間必須達(dá)到人眼正常觀察的要求,這就需要計(jì)算合適的閃爍時間,不停的嘗試,最終選擇適宜觀察的時間間隔。發(fā)光管的循環(huán)移位時調(diào)用_crol_(k,l)函數(shù) 可以大大簡化編程的行數(shù)。所以熟悉單片機(jī)的函數(shù)庫,可以方便我們編程。所以在以后的實(shí)驗(yàn)中還得繼續(xù)學(xué)習(xí)這個函數(shù)庫,從而更輕松的完成實(shí)驗(yàn)內(nèi)容。 實(shí)驗(yàn)4 邏輯結(jié)構(gòu)程序設(shè)計(jì) 1、實(shí)驗(yàn)?zāi)康?、要?/p> (1)C語言表示邏輯量的方法。 (2)學(xué)會正確使用邏輯運(yùn)算符和邏輯表達(dá)式。 (3)熟悉掌握if語句和switch語句。 (4)掌握簡單的算法及程序調(diào)試。 2、實(shí)驗(yàn)內(nèi)容: (1)輸入程序并運(yùn)行,觀察運(yùn)行結(jié)果并分析。 #include int main() {int a=1,b=3,c=5,d=4,x; if(a If(c Else ????????????????????????2 If(a If(b Else x=3;????????????????????????4 Else x=6;????????????????????????2 Else x=7;????????????????????????1 printf(“x=%dn”,x); Return(0);} 實(shí)驗(yàn)前分析:因已知:A,B,C,D分別為1,3,5,4,故可知只有A (2)、編寫程序: Y=X(X<1);Y=2X-1(1= 程序編寫如下: #include Int main() {int x,y; Scanf(“%d”,x); If(x<1)y=x; If(x>=1&&x,10)y=2*x-1; If(x>=10)y=3*x-11; Printf(“%d”,y); Return(0);} 進(jìn)行檢驗(yàn),發(fā)現(xiàn)程序有錯誤,無法運(yùn)行。 將程序改為: #include Int main() {int x,y; Scanf(“%d”,x); If(x<1)y=x; Else if(x>=1&&x<10)y=2*x-1; Else if(x>=10)y=3*x-11; Printf(“%d”,y); Return(0);} 實(shí)驗(yàn)分析: 1、在if語句中,要注意IF和ELSE的配合使用,不能單獨(dú)使用IF。 2、此程序中還應(yīng)注意if語句的嵌套和各層之間的邏輯關(guān)系。 3、再輸入該程序時,涉及到乘法運(yùn)算的表示,應(yīng)注意計(jì)算機(jī)語言與書面語言的區(qū)別,在C語言中,*表示乘法運(yùn)算。 在程序中加入clrscr()運(yùn)算符,清空遺留數(shù)據(jù): #include Int main() {int x,y; Scanf(“%d”,x); Clrscr(); If(x<1)y=x; Else if(x>=1&&x<10)y=2*x-1; Else if(x>=10)y=3*x-11; Printf(“%d”,y); Return(0);} 運(yùn)行該程序,得到預(yù)期結(jié)果,但輸入數(shù)據(jù)被清除;將clrscr()移動到scanf之前。再次運(yùn)行,得到了預(yù)期的輸入和輸出數(shù)據(jù),故可知,clrscr()函數(shù)的作用是清楚該語句之前的所有的輸出的數(shù)據(jù)和輸入的數(shù)據(jù)。以后用此語句時要注意輸入位置。 (3)補(bǔ)足程序并運(yùn)行。 輸入兩個數(shù),將較小者輸出,應(yīng)用條件運(yùn)算符。 #include Int main() {int a, b,min; Printf(“n please input two numbersn”); Scanf(“%d%d”,&a,&b); Min=min(a,b); Printf(“min=%d”,min); Return(0;)} 運(yùn)行該程序,顯示程序錯誤,無法輸出結(jié)果。 將程序改為: #include Int main() {int a, b,min; Printf(“n please input two numbersn”); Scanf(“%d%d”,&a,&b); Min=(a>b?b:a); Printf(“min=%d”,min); 再次運(yùn)行程序,屏幕上顯示“please input two numbers”,輸入兩個數(shù)字6和9,輸出數(shù)字為6,再換多組數(shù)字,結(jié)果與與其相同,可知實(shí)驗(yàn)成功。 實(shí)驗(yàn)分析:輸入比較兩數(shù)大小的函數(shù)時,不能想當(dāng)然,如認(rèn)為“min=min(a,b)”就是輸出較小數(shù)的函數(shù),而應(yīng)使用三目運(yùn)算符(A?B:C)來表示。 (5)給出一個百分制成績,要求輸出成績等級A,B,C,D,E:90分以上為A,80——89分為 B,70——79分為C,60——69分為D,60分以下為E。 1、分別用IF和SWITCH語句來實(shí)現(xiàn)。 2、輸入成績?yōu)榇笥?00分或小于0分時,顯示出錯成績,程序結(jié)束。 用IF函數(shù)表示: #include Int main() {int a; Printf(“n please input your scoren ”); Scanf(“%d”,&a); If(a>=90&&a<=100)printf(“A”); Else if(a>=80&&a<=89)printf(“B”); Else if(a>=70&&a<=79)printf(“C”); Else if(a>=60&&a<=69)printf(“D”); Else if(a>=0&&a<=59)printf(“E”); Else printf(“data error”); Return(0);} 檢查無錯誤,運(yùn)行程序,無論輸入數(shù)值為多少,輸出結(jié)果均為“data error”。 將程序改為: #include Int main() {int a; Printf(“n please input your scoren ”); Scanf(“%d”,&a); {If(a>=90&&a<=100)printf(“A”); Else if(a>=80&&a<=89)printf(“B”); Else if(a>=70&&a<=79)printf(“C”); Else if(a>=60&&a<=69)printf(“D”); Else if(a>=0&&a<=59)printf(“E”); Else printf(“data error”);} Return(0);} 即在if函數(shù)外套一組大括號,使之成為一個語句。再次輸入數(shù)據(jù),得到正確結(jié)果。實(shí)驗(yàn)分析: 1、注意if和else的配套使用,不能遺漏。 2、邏輯運(yùn)算符&&表示“并且”,除此之外,“!”表示“非”,“||”表示“或”,以后使用注 意區(qū)分。 3、使用switch語句: #include {int a,b; Printf(“n please input your scoren”); Scanf(“%d”,&a); If(a<=100&&a>=0) {b=a/10; Switch(b) {case 10 printf(“A”);break; Case 9 printf(“A”);break; Case 8 printf(“B”);break; Case 7 printf(“C”);break; Case 6 printf(“E”);break; Case 5 printf(“E”);break; Case 4 printf(“E”);break; Case 3 printf(“E”);break; Case 2 printf(“E”);break; Case 1 printf(“E”);break; Case 0 printf(“E”);break; Default printf(“data error”);}} Else printf(“data error); Return(0);} 運(yùn)行程序,顯示程序有誤,經(jīng)檢驗(yàn),錯誤為case語句后沒有加冒號,加上后,限制結(jié)果與預(yù)期相同。 實(shí)驗(yàn)改進(jìn):該程序中,反復(fù)輸入case語句,效率低下,可將條件相同的情況進(jìn)行合并,進(jìn)行簡化,變成如下形式: #include Int main() {int a,b; Printf(“n please input your scoren”); Scanf(“%d”,&a); If(a<=100&&a>=0) {b=a/10; Switch(b) {case 10:Case 9 :printf(“A”);break; Case 8 :printf(“B”);break; Case 7 :printf(“C”);break; Case 6 :Case 5 :Case 4 :Case 3 :Case 2 :Case 1 :Case 0:printf(“E”);break;Default printf(“data error”);}} Else printf(“data error); Return(0);} 運(yùn)行后,得到相同的結(jié)果,故簡化成功。 實(shí)驗(yàn)分析:此實(shí)驗(yàn)中,應(yīng)注意break語句的使用,不能遺漏;case語句應(yīng)用大括號括住,表示整體的使用;條件允許可以對程序進(jìn)行適當(dāng)?shù)暮喕?,提高運(yùn)算效率;區(qū)分IF和SWITCH函數(shù)的共性與區(qū)別,提高對兩者的認(rèn)識。 實(shí)驗(yàn)心得: 1、注意IF語句的使用規(guī)則,要與ELSE搭配使用,掌握了多層IF函數(shù)的使用方法。 2、掌握了關(guān)系運(yùn)算符與邏輯運(yùn)算符“與”“或”“非”的使用法方法,“&&”“||”“!”。 3、注意區(qū)分?jǐn)?shù)學(xué)表達(dá)語句與計(jì)算機(jī)語句的區(qū)別,了解計(jì)算機(jī)語句的特點(diǎn)。 4、必要時可以利用輔助設(shè)計(jì)語句對程序進(jìn)行改進(jìn),或?qū)Τ绦蜻M(jìn)行簡化,便于加深理解,方 便操作。 5、掌握了IF語句與SWITCH語句用法的特點(diǎn),及其中的易錯點(diǎn)(ELSE的使用和BREAK的使用)。第四篇:單片機(jī)實(shí)驗(yàn)二實(shí)驗(yàn)報(bào)告
第五篇:c語言實(shí)驗(yàn)報(bào)告實(shí)驗(yàn)4.doc