資源描述:
《上機(jī)實(shí)驗(yàn)三_順序結(jié)構(gòu)程序設(shè)計(jì)》由會(huì)員上傳分享,免費(fèi)在線閱讀,更多相關(guān)內(nèi)容在教育資源-天天文庫(kù)。
1、上機(jī)實(shí)驗(yàn)三順序結(jié)構(gòu)程序設(shè)計(jì)學(xué)號(hào):姓名:一.目的要求1.掌握順序結(jié)構(gòu)程序的組成部分——表達(dá)式語(yǔ)句和函數(shù)調(diào)用語(yǔ)句。2.掌握格式輸入輸出scanf()函數(shù)、printf()函數(shù)的調(diào)用語(yǔ)法;整型、實(shí)型、字符型數(shù)據(jù)的輸入輸出格式。3.掌握字符輸入輸出函數(shù)getchar()、putchar()函數(shù)的調(diào)用語(yǔ)法。4.能夠編寫(xiě)簡(jiǎn)單順序結(jié)構(gòu)的程序。二.實(shí)驗(yàn)內(nèi)容思考問(wèn)題:scanf()與printf()的格式控制串在用法上有什么區(qū)別?scanf()與printf()中不同數(shù)據(jù)類(lèi)型對(duì)應(yīng)的格式說(shuō)明符是怎樣的?2.1基礎(chǔ)題【實(shí)驗(yàn)題1】請(qǐng)將下列源程序填寫(xiě)完
2、整。#includevoidmain(){inta,b;floatx,y;doubler,s;scanf("",,);/*line6:輸入a,b的值*/scanf("",,);/*line7:輸入x,y的值*/scanf("",,);/*line8:輸入r,s的值*/printf("a=%d,b=%d",a,b);/*line9*/printf("x=%f,y=%f",x,y);/*line10*/printf("r=%f,s=%f",r,s);/*line11*/}編譯、連接并運(yùn)行程序,分三行輸
3、入以下內(nèi)容:12345.6789-7.823712.45922.191768則輸出結(jié)果顯示為:如將標(biāo)有/*line9*/、/*line10*/、/*line11*/的三個(gè)語(yǔ)句分別改寫(xiě)為:printf("a=%5d,b=%5d",a,b);printf("x=%.2f,y=%.2f",x,y);printf("r=%8.f,s=%8.f",r,s);重新編譯、連接并運(yùn)行,輸入內(nèi)容同上,則輸出結(jié)果顯示為:思考題——位于%與字母d或f之間加入的數(shù)字起什么作用?其中,%5d中的5:%.2f中的2:%8.f中的8:【實(shí)驗(yàn)題2
4、】.程序填空:求100~200之間奇數(shù)之和,輸出求和的結(jié)果。思路1:對(duì)每一個(gè)數(shù)字1,2,3,4,5,…,99,100判斷奇偶性,如果是奇數(shù)累加到sum中,源程序如下。#includevoidmain(){inti,sum;sum=;for(i=;i<=;i++)if()sum=sum+i;/*如果i是奇數(shù),累加至sum*/printf("sum=%d",sum);}編譯、連接并運(yùn)行程序,輸出結(jié)果是:思路2:直接將101,103,105,…,199等奇數(shù)累加到sum中。那么,循環(huán)變量i的值應(yīng)如何改變?#in
5、cludevoidmain(){inti,sum;sum=;for(i=;i<=;i)/*將101~199之間所有的奇數(shù)累加至sum*/sum=sum+i;printf("sum=%d",sum);}編譯、連接并運(yùn)行程序,輸出的結(jié)果為:【實(shí)驗(yàn)題3】.程序填空:輸入正整數(shù)n,求多項(xiàng)式的前n項(xiàng)之和,輸出時(shí)保留3位小數(shù)(參考例2-11)。源程序如下:#includevoidmain(){inti,n,flag;doubleitem,sum=0;printf("Inputn:");scanf("
6、%d",);flag=;for(i=1;i<=n;i++)/*line8*/{item=;sum=sum+item;flag=;}printf("sum=%.3f",sum);}編譯、連接并運(yùn)行程序,測(cè)試結(jié)果:nsum258在標(biāo)有/*line8*/這一行的末尾加上分號(hào)“;”,即這一行改寫(xiě)為for(i=1;i<=n;i++);重新編譯、連接并運(yùn)行程序,則測(cè)試結(jié)果為:nsum258為什么輸入相同的整數(shù)n,會(huì)出現(xiàn)不同的求和結(jié)果?【實(shí)驗(yàn)題4】程序填空:定義函數(shù)max(x,y),用于求兩個(gè)實(shí)數(shù)x,y中的最大數(shù);在主函數(shù)中輸入三個(gè)實(shí)數(shù)
7、p,q和r,調(diào)用自定義函數(shù)max(),輸出三者中的最大者。提示:分兩次調(diào)用max函數(shù):第一次求p,q的最大數(shù),第二次求該數(shù)值與r的最大數(shù)。未完成的源程序:#include/*line2:函數(shù)聲明*/voidmain(){doublep,q,r,s;printf(“Inputp,q,r:”);scanf(“%lf%lf%lf”,&p,&q,&r);s=max(,);s=max(,);printf(“maxofp,q,ris:%f”,);}doublemax(doublex,doubley){doublez;if
8、()z=a;elsez=b;return;}編譯、連接并運(yùn)行程序,測(cè)試結(jié)果為:pqrs2.53.124.6545-13-8.31222.0510.22.2思考題第1題運(yùn)行下面的程序,寫(xiě)出輸出結(jié)果。main(){inta=5,b=7;floatx=67.8564,y=-789.