c語(yǔ)言上機(jī)實(shí)驗(yàn).doc_第1頁(yè)
c語(yǔ)言上機(jī)實(shí)驗(yàn).doc_第2頁(yè)
c語(yǔ)言上機(jī)實(shí)驗(yàn).doc_第3頁(yè)
c語(yǔ)言上機(jī)實(shí)驗(yàn).doc_第4頁(yè)
c語(yǔ)言上機(jī)實(shí)驗(yàn).doc_第5頁(yè)
免費(fèi)預(yù)覽已結(jié)束,剩余6頁(yè)可下載查看

下載本文檔

版權(quán)說(shuō)明:本文檔由用戶(hù)提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡(jiǎn)介

實(shí)驗(yàn)3 (1) 程序#include int main()int a=3,b=5,c=7,x=1,y,z;a=b=c;x+2=5;z=y+3;return 0;程序錯(cuò)誤;提示語(yǔ)言-Configuration: fd - Win32 Debug-Compiling.fd.cppC:Documents and SettingsAdministrator桌面fd.cpp(2) : error C2447: missing function header (old-style formal list?)執(zhí)行 cl.exe 時(shí)出錯(cuò).fd.exe - 1 error(s), 0 warning(s)修改為:#include int main()int a=3,b=5,c=7,x=1,y,z;a=b=c;x=5+3;z=y+3;return 0;分析結(jié)果:在賦值和運(yùn)算中是從右到左。分析:A 變量名可以是數(shù)字,英文字母(大小寫(xiě)均可)。下劃線。B大小寫(xiě)可以區(qū)分是成不同文件。C 賦值運(yùn)算的特點(diǎn)是自右向左的。實(shí)驗(yàn)4(1) 整數(shù)除的危險(xiǎn)性#include int main()int a=5,b=7,c=100,d,e,f;d=a/b*c;e=a*c/d;f=c/b*a;程序在運(yùn)行結(jié)果為:0 0 0;分析原因:A 5/7*100,結(jié)果是5/7等于0,再0乘上100等于0。B 5*100/7,結(jié)果是5*100等于500,再500/7等于0。C 100/7*5 結(jié)果是100/7等于0,再0*5等于0。結(jié)論:原因在于,當(dāng)整除不成立時(shí),結(jié)果為0,所以結(jié)論會(huì)影響下一次的運(yùn)行。(2) #include main()int a=5,b=8;printf(“a+=%d”,a+);printf(“a=%d”,a);printf(“+b=%d”,+b);printf(“b=%d”,b);得到結(jié)論為 分析結(jié)果:i+“先引用,后增值”:+i“先增值,后引用”所以 a+是5,因?yàn)橄纫?,a是6,因?yàn)槭窃鲋档慕Y(jié)果,+b是9,是因?yàn)橄仍鲋担琤是9,是因?yàn)楹笠玫慕Y(jié)果。(3)對(duì)這些表達(dá)式進(jìn)行測(cè)試分析。b+a+ab+(a+)+ab+a+(+a)b+a+a+編程:#include main()int a=1,b=1;printf(“b+a+a=%d”, b+a+a);結(jié)果:#include main()int a=1,b=1;printf(“b+(a+)+a=%d”, b+(a+)+a);結(jié)果:#include main()int a=1,b=1;printf(“b+a+(+a)=%d”, b+a+(+a);結(jié)果:#include main()int a=1,b=1;printf(“b+a+a+=%d”, b+a+a+);結(jié)果:#include main()int a=1,b=;printf(“b+a+a=%d”, b+a+a); (4) 對(duì)這些表達(dá)式進(jìn)行測(cè)試分析。i,ji+1,j+1i+,j+i,+ji+j編程:#include main()int i=1,j=1;printf(“i=%d”,i); printf(“j=%d”,j);結(jié)果:#include main()int i=1,j=1;printf(“i+1=%d”,i+1); printf(“j+1=%d”,j+1);結(jié)果:#include main()int i=1,j=1;printf(“i+=%d”,i+); printf(“j+=%d”,j+);結(jié)果:#include main()int i=1,j=1;printf(“+i=%d”,+i); printf(“+j=%d”,+j);結(jié)果:#include main()int i=1,j=1;printf(“i+j=%d”,i+j); 結(jié)果:-Configuration: Cpp1 - Win32 Debug-Compiling.Cpp1.cppC:Documents and SettingsAdministrator桌面Cpp1.cpp(5) : error C2105: + needs l-valueC:Documents and SettingsAdministrator桌面Cpp1.cpp(6) : warning C4508: main : function should return a value; void return type assumed執(zhí)行 cl.exe 時(shí)出錯(cuò).Cpp1.exe - 1 error(s), 0 warning(s)結(jié)論:程序是錯(cuò)誤的。1分析結(jié)果:整除有危險(xiǎn)性。A因?yàn)樾?shù)不能除大的數(shù)字,會(huì)顯示0。還有結(jié)果一定是整數(shù)。B算數(shù)運(yùn)算的方向是自左向右。2分析結(jié)果:Ai+“先引用,后增值”:+i“先增值,后引用”所以 a+是5,因?yàn)橄纫?,a是6,因?yàn)槭窃鲋档慕Y(jié)果,B+b是9,是因?yàn)橄仍鲋?,b是9,是因?yàn)楹笠玫慕Y(jié)果。3分析結(jié)果:A可靠性低B不容易讀懂 實(shí)驗(yàn) 5printf (“l(fā)ong”,sizeof(long);編程:#include int main()int i=0;printf (long: %d bytesn,sizeof(long);return 0;結(jié)果:(2)編寫(xiě)程序來(lái)測(cè)試基本數(shù)據(jù)類(lèi)型的取值范圍下。編程:#include int main()char c0,c1,c2,c4,c5,c6;c0=-129,c1=-128,c2=-127,c4=128,c5=127,c6=126;printf(%dn%dn%dn%dn%dn%dn,sizeof(c0),sizeof(c1),sizeof(c2),sizeof(c4),sizeof(c5),sizeof(c6);結(jié)果為;gjhjhgjh。(1) 編寫(xiě)程序來(lái)測(cè)試基本數(shù)據(jù)類(lèi)型的有效長(zhǎng)度和精度編程:#include int main()float d1=0.123456789,d2=12345678901234567890.123456789;printf(%lf,%lfn,d1,d2);結(jié)果:(2) 編寫(xiě)程序來(lái)測(cè)試不同類(lèi)型之間的轉(zhuǎn)換所在出現(xiàn)的截取高位,丟失精度和變得不可知等問(wèn)題。編程:#include int main()float f1=2.1234567,f2=12345678901234567.123456789;int i1,i2;i1=f1;i2=f2;printf(%d,%dn,i1,i2);結(jié)果:(3) 編寫(xiě)程序來(lái)測(cè)試字符型數(shù)據(jù)的算術(shù)特征編程:#include int main()char c1=35,c2=A,c3;c3=c1+c2;printf(%d,%cn,c3,c3);結(jié)果:;(4) 編寫(xiě)程序來(lái)測(cè)試轉(zhuǎn)移字符的用法如printf(7,7,7”);編程:#include int main()printf(7,7,7);在程序中只是會(huì)輸出兩個(gè),。因?yàn)?顯示的是所在高度,所以只會(huì)顯示,。實(shí)驗(yàn)6(1)設(shè)計(jì)一個(gè)程序來(lái)測(cè)試printf()函數(shù)中數(shù)據(jù)參數(shù)被引用的順序Int a=1;Printf(“%d,%d%d,a+,a+,a+”);編程: #include int main()int a=1;printf(%d,%d,%d,+a,+a,+a);結(jié)果: 分析結(jié)果:因?yàn)槌绦蜉敵鍪菑挠蚁蜃筮M(jìn)行的。(2) 設(shè)計(jì)一個(gè)程序來(lái)測(cè)試printf()函數(shù)中格式的意義。舉例:Double d=123456789.23456789;Printf (“%e”,d);編程:#include int main()double d=123456789.23456789;printf (%e,d);結(jié)果:。(3) 設(shè)計(jì)一個(gè)程序來(lái)測(cè)試printf()函數(shù)定義域與精度的方法。編程:#include int main()printf(%12.5fn,123.1234567);printf(%12fn,123.1234567);printf(%12.5gn,123.1234567);printf(%5.10s%sn,”abcdefghijkm”,”a”);printf(%12.8dn,12345);return 0;結(jié)果:(4)設(shè)計(jì)一個(gè)程序來(lái)測(cè)試scanf()函數(shù)中格式的意義。舉例:double x,y;scanf(%f,%lf,&x,&y);printf(%f,%lf,&x,&x);printf(%f,%lf,&y,&y);編程:#include int main()double x,y;scanf(%f,%lf,&x,&y);printf(%f,%lf,&x,&x);printf(%f,%lf,&y,&y);結(jié)果:(1) 設(shè)計(jì)一個(gè)程序來(lái)測(cè)試用scanf()輸入含有字符型數(shù)據(jù)的多項(xiàng)時(shí),數(shù)據(jù)項(xiàng)之間的分割問(wèn)題。舉例如下:Char c1,c2,c3;Int a1,a2,a3;Scanf(“%d%d%d,&a1,&a2,&a3”);printf(“%d%d%d,a1,a2,a3”); Scanf(“%c%c%c,&c1,&c2,&c3”);printf(“%c%c%c,c1,c2,c3”);Scanf(“%c%c%c,&c1,&c2,&c3”);printf(“%c%c%c,c1,c2,c3”);編程:#include int main()char c1,c2,c3;int a1,a2,a3;scanf(%d%d%d,&a1,&a2,&a3);printf(%d%d%d,a1,a2,a3); scanf(%c%c%c,&c1,&c2,&c3);printf(%c%c%c,c1,c2,c3);scanf(%c %c %c,&c1,&c2,&c3);prin

溫馨提示

  • 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶(hù)所有。
  • 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ì)用戶(hù)上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶(hù)上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶(hù)因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

評(píng)論

0/150

提交評(píng)論