c語言上機實驗.doc_第1頁
c語言上機實驗.doc_第2頁
c語言上機實驗.doc_第3頁
c語言上機實驗.doc_第4頁
c語言上機實驗.doc_第5頁
已閱讀5頁,還剩6頁未讀 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

實驗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;程序錯誤;提示語言-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 時出錯.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é)果:在賦值和運算中是從右到左。分析:A 變量名可以是數(shù)字,英文字母(大小寫均可)。下劃線。B大小寫可以區(qū)分是成不同文件。C 賦值運算的特點是自右向左的。實驗4(1) 整數(shù)除的危險性#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;程序在運行結(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)整除不成立時,結(jié)果為0,所以結(jié)論會影響下一次的運行。(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,因為先引用,a是6,因為是增值的結(jié)果,+b是9,是因為先增值,b是9,是因為后引用的結(jié)果。(3)對這些表達(dá)式進(jìn)行測試分析。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) 對這些表達(dá)式進(jìn)行測試分析。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 時出錯.Cpp1.exe - 1 error(s), 0 warning(s)結(jié)論:程序是錯誤的。1分析結(jié)果:整除有危險性。A因為小數(shù)不能除大的數(shù)字,會顯示0。還有結(jié)果一定是整數(shù)。B算數(shù)運算的方向是自左向右。2分析結(jié)果:Ai+“先引用,后增值”:+i“先增值,后引用”所以 a+是5,因為先引用,a是6,因為是增值的結(jié)果,B+b是9,是因為先增值,b是9,是因為后引用的結(jié)果。3分析結(jié)果:A可靠性低B不容易讀懂 實驗 5printf (“l(fā)ong”,sizeof(long);編程:#include int main()int i=0;printf (long: %d bytesn,sizeof(long);return 0;結(jié)果:(2)編寫程序來測試基本數(shù)據(jù)類型的取值范圍下。編程:#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) 編寫程序來測試基本數(shù)據(jù)類型的有效長度和精度編程:#include int main()float d1=0.123456789,d2=12345678901234567890.123456789;printf(%lf,%lfn,d1,d2);結(jié)果:(2) 編寫程序來測試不同類型之間的轉(zhuǎn)換所在出現(xià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) 編寫程序來測試字符型數(shù)據(jù)的算術(shù)特征編程:#include int main()char c1=35,c2=A,c3;c3=c1+c2;printf(%d,%cn,c3,c3);結(jié)果:;(4) 編寫程序來測試轉(zhuǎn)移字符的用法如printf(7,7,7”);編程:#include int main()printf(7,7,7);在程序中只是會輸出兩個,。因為7顯示的是所在高度,所以只會顯示,。實驗6(1)設(shè)計一個程序來測試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é)果:因為程序輸出是從右向左進(jìn)行的。(2) 設(shè)計一個程序來測試printf()函數(shù)中格式的意義。舉例:Double d=123456789.23456789;Printf (“%e”,d);編程:#include int main()double d=123456789.23456789;printf (%e,d);結(jié)果:。(3) 設(shè)計一個程序來測試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è)計一個程序來測試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è)計一個程序來測試用scanf()輸入含有字符型數(shù)據(jù)的多項時,數(shù)據(jù)項之間的分割問題。舉例如下: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. 本站所有資源如無特殊說明,都需要本地電腦安裝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)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

最新文檔

評論

0/150

提交評論