




版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)
文檔簡介
中國礦業(yè)大學(xué)(北京)機電學(xué)院——計算機科學(xué)與技術(shù)系實驗報告課程名稱 C程序設(shè)計 成績 實驗名稱 C語言的運行環(huán)境、運行過程和體現(xiàn)式的使用 班級 姓名 學(xué)號同組人 實驗日期 20 教師簽字 實驗一C語言的運行環(huán)境、運行過程和體現(xiàn)式的使用一、目的與規(guī)定1、理解Dos、Windows環(huán)境下C語言的運行環(huán)境,理解所用的計算機系統(tǒng)的基本操作辦法,學(xué)會獨立使用該系統(tǒng)。2、理解在該系統(tǒng)上如何編輯、編譯、連接和運行一種C程序。3、通過運行簡樸的C程序,初步理解C源程序的特點。4、掌握C語言數(shù)據(jù)類型,熟悉如何定義一種整型、字符型、實型變量,以及對它們賦值的辦法,理解以上類型數(shù)據(jù)輸出時所用的格式轉(zhuǎn)換符。5、學(xué)會使用C的有關(guān)算術(shù)運算符,以及包含這些運算符的體現(xiàn)式二、上機實驗及運行成果例題實驗及運行成果例一:#include"stdio.h"voidmain(){printf("Hello,World!\n");printf("WolcometotheClanguageworld!\n");printf("Everyonehasbeenwaitingfor.\n");}運行成果為Hello,world!WelcometotheClanguageworld!Everyonehasbeenwaitingfor.在第一次輸入源程序時,由于粗心在printf(“Hello,world!”)背面忘記輸入“;”,在編譯中檢查出來,修改后編譯成功。例二:#include"stdio.h"voidmain(){inta,b,sum; a=123;b=456; sum=a+b; printf("sumis%d\n",sum);}運行成果為:sumis579。一次編譯就成功了。例三:#include"stdio.h"voidmain(){inta,b,c;intmax(int,int);scanf("%d,%d",&a,,&b);c=max(a,b);printf("max=%d",c);}intmax(intx,inty){intz;if(x>y)z=x;elsez=y;return(z);}鍵盤輸入“8,9”,屏幕上輸出“max=9”例四:#include"stdio.h"voidmain(){charc1,c2;c1=97;c2=98;printf("%c%c",c1,c2);}在此基礎(chǔ)上1)加一種printf語句,并運行之。printf(“%d,%d”,c1,c2);2)再將第二行改為: intc1,c2;再使之運行。3)再將第三行改為: c1=300;c2=400;在修改程序之前,運行成果為“a,b”。第一次修改程序后,運行成果為“a,b97,98”。第二次修改程序后運行成果為“a,b97,98。第三次修改程序后,運行成果為“,?300,400錯誤分析:在最初輸入時,將“printf(“%c%c”,c1,c2);“中兩個%c之間習(xí)慣性的加入了“,”,在編譯過程中沒發(fā)現(xiàn)錯誤,但運行成果為“,,?300,400”運行成果分析:由于ASCⅡ代碼是從000到127,在未修改之前,c1=97,c2=98,由于97和98都在ASCⅡ代碼范疇內(nèi),因此能夠輸出“a,b”.第一次修改程序后,字符型數(shù)據(jù)在特定狀況下可作為整型數(shù)據(jù)解決,故輸出97,98。第二次修改后,整型數(shù)據(jù)能夠作為字符型數(shù)據(jù)解決,故不變。第三次修改后,由于c1=300,c2=400,均超出了ASCⅡ代碼的范疇。例五:#include"stdio.h"voidmain(){charc1='a',c2='b',c3='c',c4='\101',c5='\116';printf("a%cb%c\tc%c\tabc\n",c1,c2,c3);printf("\t%c%c",c4,c5);}運行成果為aabbccabcAN在輸入源程序時由于粗心,將“charc1=’a’,c2=’b’,c3=’c’,c4=’\101’,c5=’\116’;”中的c4和c5背面的等號忘記輸入,在編譯中檢測出c4,c5例六:#include"stdio.h"voidmain(){inti,j,m,n;i=8;j=10;m=++i;n=j++;printf("%d,%d,%d,%d",i,j,m,n);}分別作下列改動之后,先分析再運行:1)將第四行改為:m=i++;n=++j;2)程序改為:main(){inti,j;i=8;j=10;printf(“%d,%d”,i++,j++);}3)在2)的基礎(chǔ)上,將printf語句改為:printf(“%d,%d”,++i,++j);4)再將printf語句改為:printf(“%d,%d,%d,%d”,i,j,i++,j++);5)程序改為:main(){inti,j,m=0,n=0;i=8;j=10;m+=i++;n-=--j;printf(“i=%d,j=%d,m=%d,n=%d”,i,j,m,n);}修改前運行成果為“9,11,9,10”。第一次修改后運行成果為“9,11,8,10”。第二次修改后運行成果為“8,10”。第三次修改后運行成果為“9,11”。第四次修改后運行成果為“8,10,8,10”。第五次修改后運行成果為“程序編寫#include“stdio.h”voidmain(){printf(“****************************\n”);printf(“Hello,World\n”);printf(“****************************\n”);}三、實驗心得在本次上機實驗操作中,我學(xué)會了某些C語言程序編寫的具體環(huán)節(jié),理解了某些基本背景和知識,基本達(dá)成了學(xué)習(xí)C語言的目的。有關(guān)輸入輸出語句,特別是在其中的某些細(xì)節(jié)問題,像“”,括號,下一行的指令輸入,都是需要特別留心的地方。尚有某些特殊字符的編寫,特殊符號的運用,更是一點也馬虎不得。但愿在后來的進(jìn)一步學(xué)習(xí)中,更多地注意細(xì)節(jié)問題,理解的C編寫,真正的掌握C語言。實驗二次序構(gòu)造與選擇構(gòu)造程序設(shè)計一、實驗?zāi)康募耙?guī)定理解C語言程序的次序構(gòu)造;掌握慣用的C語言語句,純熟應(yīng)用賦值、輸入、輸出語句;理解C語句表達(dá)邏輯量的辦法(以0代表“假”以1代表“真”);學(xué)會對的使用邏輯運算符和邏輯體現(xiàn)式;純熟掌握if語句和switch語句。二、實驗內(nèi)容1、已知圓半徑r=1.5,圓柱高h(yuǎn)=3,求圓周長,圓面積,圓球表面積,圓球體積,圓柱體積。解答:#definePI3.14#include"stdio.h"voidmain(){doubler,h,l,s1,s2,v1,v2;r=1.5;h=3;l=2*PI*r;s1=PI*r*r;s2=4*PI*r*r;v1=(4/3)*PI*r*r*r;v2=PI*r*r*h;printf("%f,%f,%f,%f,%f﹨n",l,s1,s2,v1,v2);}2、輸入一種華氏溫度,規(guī)定輸出攝氏溫度。公式為c=5/9*(f-32)。解答:#include"stdio.h"voidmain(){intc,f;scanf("%d",&f);c=5/9*(f-32);printf("%d\n",c);}3、有3個整數(shù)a、b、c,由鍵盤輸入,編程序按從小到大的次序?qū)⑺鼈兣判虿⑤敵?。解答?include"stdio.h"voidmain(){ floata,b,c,t; scanf("%f,%f,%f",&a,&b,&c); if(a>b) {t=a;a=b;b=t;} if(a>c) {t=a;a=c;c=t;} if(b>c) {t=b; b=c; c=t;} printf("%5.2f,%5.2f,%5.2f\n",a,b,c);}4、編程序計算下面的函數(shù):e-10<x<1y=|x|+23≤x≤4sin(x2)當(dāng)x取其它值時解答:#include"stdio.h"#include"math.h"voidmain(){intx,y;scanf("%d",&x);if(0<x<1)y=exp(sqrt(x))-1;elseif(3<=x<=4)y=fabs(x)+2;elsey=sin(x*x);printf("x=%d,y=%d﹨n",x,y);}5、輸入一種整數(shù)m,判斷它能否被7、11、17整除,如果能被以上三個數(shù)之一整除,則輸出它能被整除的信息,否則輸出m不能被7、11、17整除的信息。解答:#include"stdio.h"voidmain(){intm;scanf("%d",&m);if(m%7==0)printf("%d能被7整除\n",m);elseif(m%11==0)printf("%d能被11整除\n",m);elseif(m%17==0)printf("%d能被17整除\n",m);elseprintf("%d不能被7,11,17整除\n",m);}6、電文加密的算法是:將字母A變成字母G,a變成g,B變成H,b變成h,依這類推,并且U變成A,V變成B,等等。從鍵盤輸入一種電文字符,輸出其對應(yīng)的密碼。解答:#include"stdio.h"voidmain(){charc;while((c=getchar())!='\n'){ if((c>='a'&&c<='z')||(c>='A'&&c<='Z')) {c=c+6; if(c>'Z'&&c<='Z'+6||c>'z') c=c-26; } printf("%c",c);}printf("\n");}7、公司發(fā)放的獎金根據(jù)利潤分成。若利潤I≤10萬元,獎金可提10%;若10萬<I≤20萬時,則低于等于10萬元的部分按10%分成,高于10萬元部分,可分成7.5%;若20萬<I≤40萬時,低于等于20萬元的部分仍按上述方法分成,高于20萬元部分按5%分成;按類似的方法,若40萬<I≤60萬元時,高于40萬元部分按3%分成;若60萬<I≤100萬元時,高于60萬元的部分按1.5%分成;若I>100萬時,超出100萬元部分按1%分成。從鍵盤輸入當(dāng)月利潤I,求應(yīng)發(fā)獎金總數(shù)。解答:#include"stdio.h"voidmain(){floatI,sum;scanf("%f",&I);if(I<=100000)sum=I*0.1;elseif(100000<I<=00)sum=100000*0.1+(I-100000)*0.075;elseif(00<I<=400000)sum=100000*0.1+100000*0.075+(I-00)*0.05;elseif(400000<I<=600000)sum=100000*0.1+100000*0.075+00*0.05+(I-400000)*0.03;elseif(600000<I<=1000000)sum=100000*0.1+100000*0.075+00*0.05+400000*0.03+(I-600000)*0.015;elsesum=100000*0.1+100000*0.075+00*0.05+400000*0.03+600000*0.015+(I-1000000)*0.01;printf("sumis%f",sum);}三、實驗成果分析對實驗成果進(jìn)行檢查,如成果出現(xiàn)錯誤,分析產(chǎn)生錯誤的因素并修改程序、改正錯誤。附:習(xí)題5.6和5.7題的源程序5.6給出一百分制成績,規(guī)定輸出成績等級′A′﹑′B′﹑′C′﹑′D′﹑′E′。90分以上為′A′,80~89分為′B′,70~79分為′C′,60~69分為′D′,60分一下為′E′。源程序:#include"stdio.h"voidmain(){intscore,temp,logic;chargrade;logic=1;while(logic){ scanf("%d",&score);if(score>=0&&score<=100)logic=0;}if(score==100)temp=9;elsetemp=(score-score%10)/10;switch(temp){ case9:grade='A';break; case8:grade='B';break; case7:grade='C';break; case6:grade='D';break; case5: case4: case3: case2: case1: case0:grade='E';}printf("score=%d,grade=%c",score,grade);}5.7給定一種不多于5位的正整數(shù),規(guī)定:①求它是幾位數(shù);②分別打印出每一位數(shù)字;③按逆序打印出各位數(shù)字。例如原數(shù)為321,應(yīng)輸出123。源程序:#include"stdio.h"voidmain(){ longintnum; intindiv,ten,hundred,thousand,ten_thousand,place; scanf("%ld",&num); if(num>9999)place=5; elseif(num>999)place=4; elseif(num>99)place=3; elseif(num>9)place=2; elseplace=1; printf("place=%d\n",place); ten_thousand=num/10000; thousand=(num-ten_thousand*10000)/1000; hundred=(num-ten_thou
溫馨提示
- 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)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 公司搬家物流合同范本
- 合同范本寫好的
- 2025年萊卡棉低腰內(nèi)褲項目投資可行性研究分析報告
- 苗木賣買合同范本
- 專利信托合同范本
- 異形鉚釘出售合同范本
- 電子商務(wù)平臺的營銷與運營策略整合
- 算法價格歧視的反壟斷法律規(guī)制研究
- 城市品質(zhì)、要素集聚與創(chuàng)新能力提升
- 林地買賣合同范本(15篇)
- 2025年企業(yè)法務(wù)顧問聘用協(xié)議范本
- 《康復(fù)評定技術(shù)》課件-第五章 運動控制
- 【理特咨詢】2024生成式人工智能GenAI在生物醫(yī)藥大健康行業(yè)應(yīng)用進(jìn)展報告
- 2025新人教版英語七年級下單詞默寫表(小學(xué)部分)
- 2025年春新外研版(三起)英語三年級下冊課件 Unit6第1課時Startup
- 平拋運動的經(jīng)典例題
- 錄井作業(yè)現(xiàn)場風(fēng)險評估及控制措施
- 2025年度商會工作計劃
- 社區(qū)管理與服務(wù)專業(yè)實習(xí)總結(jié)范文
- 施工現(xiàn)場5S管理規(guī)范
- 【MOOC】中級財務(wù)會計-西南交通大學(xué) 中國大學(xué)慕課MOOC答案
評論
0/150
提交評論