C語言上機題庫百科園第章南信大_第1頁
C語言上機題庫百科園第章南信大_第2頁
C語言上機題庫百科園第章南信大_第3頁
C語言上機題庫百科園第章南信大_第4頁
C語言上機題庫百科園第章南信大_第5頁
免費預(yù)覽已結(jié)束,剩余33頁可下載查看

下載本文檔

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

文檔簡介

1、第1 .為表示關(guān)系xyz,應(yīng)使用的表達式是A.(x>=y)&&(y>=z)B.(x>=y>=z)C.(x>=y)AND(y>=z)D.(x>=y)&(y>=z)2 . 有以下程序main() int i;for(i=0; i<3; i+) switch(i) case 1: printf("%d", i);case 2: printf("%d", i);default : printf("%d", i);執(zhí)行后輸出結(jié)果是3. 對 for( 表達式 1; ;

2、表達式 3) 可理解為()。( 表達式1;1; 表達式3)( 表達式1;0; 表達式3)( 表達式1; 表達式1; 表達式3)( 表達式1; 表達式3; 表達式3)4. 若 i 為整型變量,則以下循環(huán)執(zhí)行次數(shù)是()。for(i=2;i=0;) printf("%d",i-);次次C.無限次次5. 有以下程序段int n=0,p;doscanf("%d",&p);n+;while(p!=12345&&n<3);此處 do-while 循環(huán)的結(jié)束條件是。的值等于12345且n的值大于等于3的值不等于12345且n的值小于3的值不

3、等于12345或者n的值小于3的值等于12345或者n的值大于等于36. 有以下程序段int n=0,p;doscanf("%d",&p);n+;while(p!=12345&&n<3);以下描述中正確的是()。循環(huán)中 , 根據(jù)情況可以省略whileB. 由于 do-while 循環(huán)中循環(huán)體語句只能是一條可執(zhí)行語句, 所以循環(huán)體內(nèi)不能使用復(fù)合語句循環(huán)由do開始,用while結(jié)束,在while(表達式)后面不能寫分號D.在do-while循環(huán)體中,一定要有能使while后面表達式的值變?yōu)榱?"假")的操作7. 執(zhí)行語句for(

4、i=1;i+<4;); 后變量 i 的值是()。A. 不定8. 有以下程序main()int a=5, b=4, c=3, d=2;if(a>b>c)printf("%dn",d);else if(c-1 >= d) = 1)printf("%dn",d+1);else printf("%dn",d+2);執(zhí)行后輸出結(jié)果是C.編譯時出錯main()int x=1,a=0,b=0;switch (x) case 0: b+;case 1: a+;case 2: a+;b+;printf("a=%d,b=

5、%d",a,b); 該程序的輸出結(jié)果是( ) ,2,1,1,010. 以下程序的功能是:按順序讀入10名學(xué)生4門課程的成績,計算出每位學(xué)生的平均分并輸 出,程序如下:main() int n,k;float score,sum,ave;sum=;for(n=1;n<=10;n+)for(k=1;k<=4;k+ )scanf("%f",&score);sum+=score;ave=sum/;printf("NO%d:%fn",n,ave);這條語句上述程序運行后結(jié)果不正確,調(diào)試中發(fā)現(xiàn)有一條語句出現(xiàn)在程序中的位置不正確。是=su

6、m/=;+=score;("NO%d: %fn",n,ave);11. 運行以下程序后,輸出的結(jié)果是main() int k = -3;if(k <= 0)printf("*n");else printf("&&&&n");A.*B. 有語法錯誤不能通過編譯C.&&&&D.*&&&&12. 下面的程序片斷所表示的數(shù)學(xué)函數(shù)關(guān)系是y = -1;if(x != 0) y = 1;if(x > 0) y = 1;else y = 0;A

7、.B.C.D.13. 以下程序的輸出結(jié)果是main() int x, i;for(i = 1; i <= 100; i+) x = i;if( +x % 2 = 0)if( +x % 3 = 0 )if( +x % 7 = 0) printf( “ %d “ , x); printf( “ n” );7081846814. 以下程序段中,與語句:k=a>b?(b>c?1:0):0 ;功能相同的是()(a>b)&&(b>c) k=1;else k=0;(a>b)|(b>c) k=1;else k=0;(a>b) k=1;else i

8、f(b>c) k=1;else k=0;(a<=b) k=0;else if(b<=c) k=1;15. 為了避免在嵌套的條件語句if-else中產(chǎn)生二義性,C§言規(guī)定:else 子句總是與()配對。A. 其之后最近的ifB. 其之前最近的ifC.縮排位置相同的ifD.同一行上的if為int類型,進人下面的循環(huán)之前,t的值為0while( t=1 )則以下敘述中正確的是。A. 以上說法都不對B. 循環(huán)控制表達式的值為1C.循環(huán)控制表達式的值為0D.循環(huán)控制表達式不合法17. 以下程序段的輸出結(jié)果是int k, j, s;for(k = 2; k < 6; k+

9、, k+) s = 1;for(j = k; j < 6; j+)s += j;printf( “ %d n” , s);18. 語句while(!E);中的表達式!E等價于() !=1= =0 =1 !=019. 以下程序段的輸出結(jié)果是int x= 3; do pritnf( “ %3d” , x -=2); while (!(-x);A. 死循環(huán)-2 020. 以下程序的運行結(jié)果是()。 main() int i=1,sum=0;while(i<10) sum=sum+1;i+; printf("i=%d,sum=%d",i,sum); =10,sum=9B

10、. 運行出現(xiàn)錯誤 =2,sum=1 =9,sum=921. 設(shè)有定義:int a=1,b=2,c=3; 以下語句中執(zhí)行效果與其它三個不同的是()(a>b) c=a,a=b,b=c;(a>b) c=a,a=b,b=c;(a>b) c=a;a=b;b=c;(a>b) c=a;a=b;b=c;22. 以下程序中,while 循環(huán)的循環(huán)次數(shù)是main()int i=0;while(i<10) if(i<1) continue;if(i=5) break;i+;A. 死循環(huán),不能確定次數(shù)23. 選擇結(jié)構(gòu)中的條件與循環(huán)結(jié)構(gòu)中循環(huán)成立的條件,在寫法上可以是任一表達式,但其

11、值只能被判斷為“真”或“假”。 哪個數(shù)作為邏輯“假”值()。B. 非零的數(shù)a=1,b=2,c=3; if(a>b)a=b; if(a>c)a=c;貝Ua的值為()。B. 不一定25. 有以下程序,若想從鍵盤上輸入數(shù)據(jù),使變量mf的值為123, n中的值為456, p中的值為 789,則正確的輸入是()#include<>int main()int m,n,p;scanf("m=%dn=%dp=%d",&m,&n,&p);printf("%d%d%dn",m,n,p);return 0;=123 n=456

12、p=789=123n=456p=789456 789=123,n=456,p=78926. 有以下程序 main() int i=1,j=1,k=2;if ( ( j+|k+ ) &&i+) printf("%d,%d,%dn”,i,j,k);執(zhí)行后輸出結(jié)果是,2,2,2,3,1,2,2,127. 以下程序段的輸出結(jié)果為()。for(i=4;i>1;i-) for(j=1;j<i;j+) putchar('#');A.#B. 無C.#D.#28. 有如下程序main()float x=,y;if ( x<) y=;else if (

13、x<) y=x;else y=;printf ("%f'n",y ) ;該程序的輸出結(jié)果是29. 判斷兩個字符串是否相等, 正確的表達方式是(s1=s2)(s1= =s2)(strcmp(s1,s2)=0)(strcmp(s1,s2)= =0)30. 若x是int類型變量,以下程序段的輸出結(jié)果是for(x = 3; x < 6; x+)printf( (x%2)?(“ *%d” ):( “ #%d n” ),x);A.B.C.D.語言中 ,switch 后的括號內(nèi)表達式的值可以是A. 只能為整型和字符型B. 只能為整型C.任何類型D.只能為整型,字符型,

14、枚舉型32.設(shè)j和k都是int類型,則下面的for循環(huán)語句()。for(j=0,k=0;j<=9&&k!=876;j+) scanf("%d",&k);A. 最多執(zhí)行9次B. 循環(huán)體一次也不執(zhí)行C. 最多執(zhí)行10次D.是無限循環(huán)a=3,b=2,c=1; if(a>b>c)a=b; else a=c;貝Ua的值為()。34. 為了避免在嵌套的條件語句if-else中產(chǎn)生二義性,C語言規(guī)定:else總與()配對A. 同一行上的ifB. 其之后最近的ifC. 其之前最近的未配對的ifD.縮排位置相同的if35. 以下不正確的if 語句形式

15、是()。(x<y) x+;y+;(x>y&&x!=y);(x=y) x+=y;(x!=y) scanf("%d",&x) else scanf("%d",&y);36. 結(jié)構(gòu)化程序設(shè)計所規(guī)定的三種基本控制結(jié)構(gòu)是()。A. 樹形、網(wǎng)形、環(huán)形B. 輸入、處理、輸出C.主程序、子程序、函數(shù)D.順序、選擇、循環(huán)37. 以下程序的輸出結(jié)果是main() int y = 10for(; y > 0; y -)if(y % 3 = 0) pritnf( “ %d” , -y); continue;38. 以下程序的執(zhí)行

16、結(jié)果是main() int x = 0, s = 0;while( !x != 0 ) s += +x;printf( "%d ",s ); A. 無限循環(huán)D.語法錯誤a=1,b=2,c=3; if(a>c)b=a;a=c;c=b;貝Uc的值為()。C.不一定40. 以下敘述正確的是()。語句構(gòu)成的循環(huán)不能用其它語句構(gòu)成的循環(huán)來代替.B. 用 do-while 語句構(gòu)成的循環(huán), 在 while 后的表達式為零時結(jié)束循環(huán)C.用do-while語句構(gòu)成的循環(huán),在while后的表達式為非零時結(jié)束循環(huán) 語句構(gòu)成的循環(huán)只能用break 語句退出.41. 假定所有變量均已正確定義

17、,下列程序段運行后x的值是()。k1=1;k2=2;k3=3;x=15;if(!k1) x-;else if(k2) x=4;else x=3;42. 有以下程序, 程序運行后的輸出結(jié)果是()#include <>int main()int i,j,m=1;for(i=1;i<3;i+) for(j=3;j>0;j-)if(i*j>3) break;m*=i*j;printf( “ m=%dn” ,m);return 0;=2=6=4=543. 以下 for 循環(huán)的執(zhí)行次數(shù)是for(x=0,y=0;(y=123)&&(x<4);x+);()。

18、次B. 是無限循環(huán)次D.循環(huán)次數(shù)不定44. 下列程序的輸出結(jié)果是()。main()int x=1,y=0,a=0,b=0;switch(x)case 1:switch(y)case 0:a+;break;case 1:b+;break;case 2:a+;b+;break;case 3:a+;b+;break;printf("a=%d,b=%dn",a,b);=2,b=1=2,b=2=1,b=0=1,b=145 .有以下程序,當(dāng)執(zhí)行程序時,按下列方式輸入數(shù)據(jù)(從第1列開始,<CR我表回車,注意:回車也是一個字符)12<CR>34<CR>則輸出結(jié)

19、果是(B)#include <>int main()char a,b,c,d;scanf("%c%c",&a,&b);c=getchar(); d=getchar();printf("%c%c%c%cn",a,b,c,d);return 0;34346 . 以下程序的運行結(jié)果是()。main() int n;for(n=1;n<=10;n+)if(n%3=0) continue; printf("%d",n);語言中 while 和 do-while 循環(huán)的主要區(qū)別是()。的循環(huán)控制條件比do-whi

20、le 的循環(huán)控制條件更嚴(yán)格的循環(huán)體至少無條件執(zhí)行一次的循環(huán)體不能是復(fù)合語句允許從外部轉(zhuǎn)到循環(huán)體內(nèi)48. 以下不是無限循環(huán)的語句為()。(;x+=i);(1)x+;(y=0,x=1;x>+y;x=i+) i=x;(i=10;i-) sum+=i;49. 從循環(huán)體內(nèi)某一層跳出, 繼續(xù)執(zhí)行循環(huán)外的語句是語句語句語句D.空語句50. 下列程序的輸出為()。 main() int y=10;while(y-);printf("y=%dn",y);構(gòu)成無限循環(huán)=0 =-1=151. 有以下程序, 程序運行后的輸出結(jié)果是( )#include <>int main()i

21、nt a=1,b=2;while(a<6) b+=a;a+=2;b%=10;printf( “ %d,%dn” ,a,b);return 0; ,11,1 ,11,152. 在以下給出的表達式中,與 do-while(E) 語句中的(E)不等價的 表達式是()。A.(E=0)B.(E>0|E<0)C.(!E=0)D.(E!=0)53. 以下程序段的輸出結(jié)果是int i, j, m = 0;for(i = 1; i <= 15; i += 4)for(j = 3; j <= 19; j += 4) m+;printf( “ %d n” , m);54. 執(zhí)行下列語句

22、后的輸出為()。int j=-1;if(j<=1) printf("*n");else printf("%n");A.%cB. 有錯, 執(zhí)行不正確C.*D.%55. 以下程序的執(zhí)行結(jié)果是.main() int num = 0;while( num <= 2 ) num+; printf( "%d,",num ); ,2,3,2,3,4,2,1,256. 下面程序的運行結(jié)果是#include <>main()int y=10;doy-;while ( -y ) ;printf("%dn",y-

23、);57. 若有定義語句int a,b;double x; 則下列選項中沒有錯誤是()(int)(x)%2)case :a+;break;case :b+;break; default:a+;b+;(int)x%2)case 0:a+;break;case 1:b+;break;default:a+;b+;(x%2)case 0:a+;break;case 1:b+;break;default:a+;b+;(int)x%case 0:a+;break;case 1:b+;break;default:a+;b+;58. 設(shè)a、b和c都是int變量,且a=3, b=4, c=5;則以下的表達式中,

24、值為0的表達式是 |b+c&&b-c<=bC.!(a<b)&&!c|1)&&b語言程序的三種基本結(jié)構(gòu)是順序結(jié)構(gòu)、選擇結(jié)構(gòu)和結(jié)構(gòu) .A. 遞歸B. 轉(zhuǎn)移C.嵌套D.循環(huán)60. 在下述程序中,判斷i > j 共執(zhí)行了多少次#include <>main()int i = 0, j = 10, k = 2, s = 0;for( ; ; )i += k;if(i > j)printf( “ %d n” , s);break;s += i;循環(huán)結(jié)束的條件是()。(fabs(t)<1e-5)if(!s/10)bre

25、ak;(t)<1e-5&&!s/10(t)<1e-5>=1e-5&&t<=-1e-5&&s>-10&&s<10 10=062. 以下敘述正確的是:A. 用 do-while 構(gòu)成循環(huán)時,只有在while 后的表達式為非零時結(jié)束循環(huán)語句構(gòu)成的循環(huán)不能用其它語句構(gòu)成的循環(huán)來代替。C. 用 do-while 構(gòu)成循環(huán)時,只有在while 后的表達式為零時結(jié)束循環(huán)語句構(gòu)成的循環(huán)只能用break 語句退出。63. 以下程序的輸出結(jié)果是main() int i, sum;for(i = 1; i <

26、6; i+) sum += i;printf( “ %d n” sum);B. 不確定64. 有以下程序, 程序運行后的輸出結(jié)果是()#include<>int main()char b,c; int i;b='a' c='A'for(i=0;i<6;i+)if(i%2) putchar(i+b);else putchar(i+c);printf("n");return 0;65. 有如下程序main()int x=1,a=0,b=0;switch ( x)case 0: b+;case 1: a+;case 2: a+;b

27、+;printf("a=%d,b=%dn",a,b );該程序的輸出結(jié)果是=1,b=1=2,b=1=1,b=0=2,b=266. 以下程序段中,能夠正確地執(zhí)行循環(huán)的是()。int a; while(a)s=6; do s-=2; while(s);(i=1;i>10;i+)s=6; m:if(s<100) exit(0); else s-=2; goto m:判斷char型變量c是否為大寫字母的C的表達式是A. A <=c<= ZB. ( A <=c)AND( Z >=c)C. (c>= A )&&(c<= Z

28、)D.(c>= A )&(c<= Z)下列程序的輸出結(jié)果是()。main() int x=1,y=0,a=0,b=0;switch(x)case 1:switch(y)case 0:a+;break;case 1:b+;break;case 2:a+;b+;break;case 3:a+;b+;break;printf("a=%d,b=%dn",a,b);=2,b=1=1,b=0=2,b=2=1,b=1下面有關(guān)for 循環(huán)的正確描述是()。循環(huán)是先執(zhí)行循環(huán)循環(huán)體語句, 后判斷表達式B. 在 for 循環(huán)中 , 不能用 break 語句跳出循環(huán)體循環(huán)只能用

29、于循環(huán)次數(shù)已經(jīng)確定的情況循環(huán)的循環(huán)體語句中, 可以包含多條語句, 但必須用花括號括起來假定所有變量均已正確定義,下面語句段執(zhí)行后的x的值是a = b = c = 0; x = 35;if(!a) x-; else if(b) ; if(c) x = 3; else x = 4;在C語言中,為了結(jié)束由while語句構(gòu)成的循環(huán),while后一對圓括號 中表達式的值應(yīng)該為()。D.非0有以下程序, 程序執(zhí)行后的輸出結(jié)果是( )#include <>int main()int y=10;while(y-);printf( “ y=%d n” ,y);return 0;=-1=1構(gòu)成無限循環(huán)

30、=0有以下程序, 程序運行后的輸出結(jié)果是()#include <>int main()int a=1,b=0;if(!a) b+;else if(a=0) if(a) b+=2;else b+=3;printf("%dn",b);return 0;有輸入語句:scanf("a=%d,b=%d,c=%d",&a,&b,&c);為使變量a的值為1, b的值為3, c的值 為 2,則正確的數(shù)據(jù)輸入方式是() 。=1 b=3 c=2 /=1,b=3,c=2 /,3,2 /程序段:int x=12;double y=;print

31、f( “ %d%8.6”f ,x,y) ;的輸出結(jié)果是()若變量已正確定義,有以下程序段i=0;do printf( “ %d,” ,i); while(i+);printf( “ %d n” ,i); 其輸出結(jié)果是(),08. 程序進入無限循環(huán),1,1下列條件語句中輸出結(jié)果與其他語句不同的是( a)printf("%dn",x); else printf("%dn",y);( a=0)printf("%dn",y); else printf("%dn",x);( a=0)printf("%dn"

32、;,x); else printf("%dn",y);( a!=0 ) printf("%dn",x); else printf("%dn",y);有以下程序, 程序運行后的輸出結(jié)果是( )#include<>int main() int x=1,y=0;if(!x) y+;else if(x=0)if (x) y+=2;else y+=3;printf("%dn",y);return 0;有以下程序段char name20;int num;scanf("name=%s num=%d"

33、;,name;&num);當(dāng)執(zhí)行上述程序,并從鍵盤輸入:name=Lili num=1001<回車后,name勺值() num=Lili =Lili num=1001執(zhí)行下列程序片段時輸出的結(jié)果是(int x=13,y=5;printf("%d",x%=(y/=2);已知有如下定義和輸入語句,若要求 a1,a2,c1,c2的值分別為10, 20,用口 B,當(dāng)從第一列開 始輸入數(shù)據(jù)時,正確的數(shù)據(jù)輸入方式是() 。int a1,a2; char c1,c2;scanf("%d%c%d%c",&a1,&c1,&a2,&am

34、p;c2);A.10A20B/B.10A20 B/C.10 A20B/D.10 A 20 B /若定義x為double型變量,則能正確輸入x值的語句是()。("%5.1f",&x);("%f",x);("%lf",&x);("%f",&x);以下程序段中的變量已正確定義for(i=0;i<4;i+,i+)for(k=1;k<3;k+) printf( “ * ” ); 程序段的輸出結(jié)果是( )A.*B.*C.*D.*有以下程序段, 以下敘述中正確的是()int main()whi

35、le( getchar()!='n');A. 此 while 語句將無限循環(huán)B. 當(dāng)執(zhí)行此 while 語句時,只有按回車鍵程序才能繼續(xù)執(zhí)行C.當(dāng)執(zhí)行此while語句時,按任意鍵程序就能繼續(xù)執(zhí)行() 不可以出現(xiàn)在while 語句的條件表達式中有以下程序:程序運行后的輸出結(jié)果是( )#include <>int main()int a=7;while(a-);printf("%dn",a);return 0;if 語句的基本形式是:if( 表達式 )語句,以下關(guān)于"表達式 "值的敘述中正確的是()A. 必須是正數(shù)B. 可以是任意

36、合法的數(shù)值C.必須是整數(shù)值D.必須是邏輯值設(shè)變量均已正確定義并且賦值,以下與其他三組輸出結(jié)構(gòu)不同的一組語句是( )=+x; printf("%dn",n);=x+; printf("%dn",n);C.+x; printf("%dn",x);+; printf("%dn",x);若有定義:int a,b;,通過語句scanf( "%d;%d ,&a,&b);,能把整數(shù)3賦給變量a,5付給變量b 的輸入數(shù)據(jù)是( ),55 ;5有以下程序#include <>int main()i

37、nt a1,a2; char c1,c2;scanf("%d%c%d%c",&a1,&c1,&a2,&c2);printf("%d,%c,%d,%c",a1,c1,a2,c2);return 0;若想通過鍵盤輸入,使得al的值為12, a2的值為34, cl的值為字符a, c2的值為字符b, 程序輸出結(jié)果是:12, a, 34, b則正確的輸入格式是(以下_代表空格,<CR代表回車) ,a,34,b<CR><CR>C.12a34b<CR><CR>有以下程序, 程序運行后

38、的輸出結(jié)果是( )#include <> int main() int a=1,b=2;for(;a<8;a+) b+=a;a+=2; printf( “ %d,%dn” ,a,b); return 0;,11,11,18,14若i和k都是int類型變量,有以下for語句 for(i=0,k=-1;k=1;k+) printf("*n");下面關(guān)于語句執(zhí)行情況的敘述中正確的是()A. 構(gòu)成無限循環(huán)B. 循環(huán)體一次也不執(zhí)行C.循環(huán)體執(zhí)行兩次D.循環(huán)體執(zhí)行一次程序設(shè)計/*編寫函數(shù)fun,它的功能是:求n以內(nèi)(不包括n)同時能被5與11整除的所有自然數(shù)之和的平

39、方根s,并作為函數(shù)值返回。例如,n為1000時, 函數(shù)值應(yīng)為s=。注意: 部分源程序給出如下。請勿改動main函數(shù)和其他函數(shù)中的任何內(nèi)容,僅在函數(shù)fun的花括號中填入所編寫的若干語句。試題程序:*/#include <>#include <>#include<>double fun(int n)/*Begin*/ /* End */ void main()FILE *wf;printf("s=%fn", fun(1000);/*/wf=fopen("debug","w");fprintf(wf,&q

40、uot;%lf",fun(1000);fclose(wf);/*/ 【參考代碼】 double fun(int n) double s=;int i;for(i=0;i<n;i+)if(i%5=0&&i%11=0)s=s+i;s=sqrt(s); /*對 s 求平方根*/return s;P=m!/(n!(m-n)!),例如,m=12,n=8時,運行結(jié)果為。注意 : 部分源程序給出如下。請勿改動main函數(shù)和其他函數(shù)中的任何內(nèi)容,僅在函數(shù)fun的花括號中填入所編寫的若干語 句。試題程序:*/#include <>#include <>fl

41、oat fun (int m, int n)/*Begin*/* End */void main ()FILE *wf;printf ("p=%fn",fun (12,8) ) ;/*/wf=fopen("debug","w");fprintf (wf,"%f",fun(13,8); fclose(wf);/*/ 【參考代碼】int i;double p=;for(i=1;i<=m;i+)p=p*i; /* 求 m!*/for(i=1;i<=n;i+)p=p/i; /*求 m!/n!*/for(i=1;

42、i<=m-n;i+)p=p/i;/*求 m!/(n!(m-n)!)*/return p;/*編寫函數(shù)fun,它的功能是:利用以下所示的簡單迭代方法求方程 cos(x)-x=0的一個實根。Xn+1=C0S(X n)迭代步驟如下:(1)取x1初值為;(2)x0=x1,把x1的值賦給x0;x1=cos(x0),求出一個新的xl;若x0-x1,的絕對值小于,則執(zhí)行步驟(5),否則執(zhí)行步驟(2);(5)所求x1就是方程cos(x)-x=0的一個實根,作為函數(shù)值返回。程序?qū)⑤敵鼋Y(jié)果Root=0注意:部分源程序給出如下。請勿改動main函數(shù)和其他函數(shù)中的任何內(nèi)容,僅在函數(shù)fun的花括號中填入所編寫的若

43、 干語句。試題程序:*/#include <>#include <> float fun() (/*Begin*/ /* End */void main()(FILE *out;float f=fun();printf("Root=%fn",f);/*/out =fopen("debug","w");fprintf(out,"%f",f);fclose(out);/*/ 【參考代碼】 float x1=,x0; dox0=x1;x1=cos(x0);while (fabs(x0-x1)>

44、;=1e-6);return x1;/*輸入一個無符號整數(shù),判斷該數(shù)是否為回文數(shù)(注:一個整數(shù),從左向右讀和從右向左讀都是一樣的數(shù),則該數(shù)稱為回文數(shù),如123321),編寫函數(shù)fun(),判斷給定的數(shù)是否為回文數(shù)*/ #include<>int fun( int n) (/*Begin*/*End*/ int main()FILE *out;int i,n,k4=123,123321,3443,200;out=fopen("debug","w");scanf("%d",&n);if(fun(n)printf(&qu

45、ot; 是回文數(shù)!n");elseprintf(" 不是回文數(shù)!n");for(i=0;i<4;i+)fprintf(out,"%dn",fun(ki);fclose(out);return 0;【參考代碼】int m,t=0;m=n;while(m!=0)t=t*10+m%10;m=m/10;if(t=n)return 1;elsereturn 0;/* 編寫函數(shù) fun, 函數(shù)的功能是: 根據(jù)以下公式計算s, 計算結(jié)果作為函數(shù)值返回;n 通過形參傳入。S=1+1/(1+2)+1/(1+2+3)+ +1/(1+2+3+ +n)例如,若n

46、的值為11時,函數(shù)的值為。注意 : 部分源程序給出如下。請勿改動main函數(shù)和其他函數(shù)中的任何內(nèi)容,僅在函數(shù)fun的花括號中填入所編寫的若 干語句。試題程序 : */#include <>#include <>#include <>float fun(int n) /*Begin*/ /* End */void main()FILE *wf;int n;float s;printf("nPlease enter N: ");scanf("%d",&n);s=fun(n);printf("The res

47、ult is:%fn " , s);/*/wf=fopen("debug","w");fprintf (wf,"%fn",fun(13);fclose(wf);/*/ 【參考代碼】int i,s1=0; /* 定義整型變量s1, 表示分母*/float s=;/* 定義單精度變量s, 表示每一項*/for(i=1;i<=n;i+) s1=s1+i; /*求每一項的分母*/s=s+s1;/* 求多項式的值*/return s;/*請編寫函數(shù)fun,其功能是:將兩個兩位數(shù)的正整數(shù)a、b合并成一個整數(shù)放在c中。合并的方式是:

48、將a數(shù)的十位和個位數(shù)依次放在c數(shù)的十位和千位上口數(shù)的十位和個位數(shù)依次 放在c數(shù)的個位和百位上。例如, 當(dāng) a=45,b=12, 調(diào)用該函數(shù)后,c=5241 。注意: 部分源程序給出如下。請勿改動main函數(shù)和其他函數(shù)中的任何內(nèi)容,僅在函數(shù)fun的花括號中填入所編寫的若干語句。試題程序:*/#include <>#include<>long int fun(int a ,int b) /*Begin*/ /* End */ void main() int a,b,i;long c;FILE *out,*in;printf("Input a ,b: ")

49、;scanf("%d%d",&a,&b);c=fun(a,b);printf("The result is :%ldn",c);l*lin=fopen("","r");out=fopen("debug","w");for(i=0;i<10;i+)fscanf(in,"%d %d”,&a,&b);c=fun(a+11,b+22);fprintf(out,"%ld'n",c);fclose(in);fcl

50、ose(out);l*l參考代碼】long fun(int a,int b)(return (a%10)*1000+(b%10)*100+(a/10)*10+b/10; )/*請編一個函數(shù)float fun(double h),函數(shù)的功能是:對變量h中的值保留兩位小數(shù),并對第 三位進行四舍五入(規(guī)定h中的值為正數(shù))例如,若h值為,則函數(shù)返回;若卜值為,則函數(shù)返回。 注意:部分源程序給出如下。請勿改動main函數(shù)和其他函數(shù)中的任何內(nèi)容,僅在函數(shù)fun的花括號中填入所編寫的若干語 旬。試題程序:*/#include <>#include <> float fun (floa

51、t h )/*Begin*/ /* End */ void main()FILE *wf,*in;float a;printf("Enter a:");scanf ("%f",&a);printf("The original data is :");printf("%fnn", a);printf("The result : %fn", fun(a);/*/in=fopen("","r");wf=fopen("debug",&q

52、uot;w");for(int i=0;i<10;i+)fscanf(in,"%f',&a);fprintf(wf,"%fn",fun(a);fclose(in);fclose(wf);/*/ 【參考代碼】long t;t=(h*1000+5)/10;return (float)t/100;/*請編寫函數(shù)fun,它的功能是計算:s= 在C語言中可調(diào)用log(n)函數(shù)求ln(n)。 注意:部分源程序給出如下。,ln(1)ln(2)ln(3)ln(m)例如,若m勺值為20,則fun函數(shù)值為。請勿改動main函數(shù)和其他函數(shù)中的任何內(nèi)容,僅

53、在函數(shù)fun的花括號中填入所編寫的若干語 句。試題程序:*/#include <>#include <>#include <>double fun(int m)/*Begin*/* End */void main()FILE *wf;printf("%lfn ",fun(20);/*/wf=fopen("debug","w");fprintf(wf,"%lf",fun(20);fclose(wf);/*/ 【參考代碼】int i;double s=;for(i=1;i<=m

54、;i+)s=s+log(i);return sqrt(s);程序改錯/*下列給定程序中,函數(shù)fun的功能是:計算S=f(-n)+f(-n+1)+f(0)+f(1)+f(2)+- - f(n)的值。例如,當(dāng)n為5時,函數(shù)值應(yīng)為。f(x)函數(shù)定義如下:(x 1)(x0(x 1) (x f(x)=2)x 0x 0或 x 22)x 0請改正程序中的錯誤, 使它能得出正確的結(jié)果。注意:不要改動main函數(shù),不得增行或刪行,也不得更改程序的結(jié)構(gòu)。試題程序: */#include <>#include <>#include <>/*ERROR*/f(double x)if(x=|x=return ;else if(x<return(x-1)/(x-2);elsereturn(x+1)/(x-2);double fun(int n)int i; double s=,y;for(i=-n; i<=n;i+) y=f(1.0*i); s+=y;/*ERROR*/return svoid main()printf("%lfn", fun(5);【參考答案】double f(double x)【參考答案】r

溫馨提示

  • 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)容負責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論