《C語(yǔ)言程序設(shè)計(jì)》復(fù)習(xí)題.doc

上傳人:小** 文檔編號(hào):16762956 上傳時(shí)間:2020-10-23 格式:DOC 頁(yè)數(shù):22 大小:124KB
收藏 版權(quán)申訴 舉報(bào) 下載
《C語(yǔ)言程序設(shè)計(jì)》復(fù)習(xí)題.doc_第1頁(yè)
第1頁(yè) / 共22頁(yè)
《C語(yǔ)言程序設(shè)計(jì)》復(fù)習(xí)題.doc_第2頁(yè)
第2頁(yè) / 共22頁(yè)
《C語(yǔ)言程序設(shè)計(jì)》復(fù)習(xí)題.doc_第3頁(yè)
第3頁(yè) / 共22頁(yè)

下載文檔到電腦,查找使用更方便

5 積分

下載資源

還剩頁(yè)未讀,繼續(xù)閱讀

資源描述:

《《C語(yǔ)言程序設(shè)計(jì)》復(fù)習(xí)題.doc》由會(huì)員分享,可在線(xiàn)閱讀,更多相關(guān)《《C語(yǔ)言程序設(shè)計(jì)》復(fù)習(xí)題.doc(22頁(yè)珍藏版)》請(qǐng)?jiān)谘b配圖網(wǎng)上搜索。

1、《C語(yǔ)言程序設(shè)計(jì)》復(fù)習(xí)題 一、 判斷題(本大題共60個(gè)小題) 1. C程序執(zhí)行的入口是main()函數(shù),所以main函數(shù)必須放在程序的開(kāi)頭。(B) 2. 定義一個(gè)函數(shù)包括數(shù)據(jù)說(shuō)明部分和執(zhí)行語(yǔ)句部分,兩者可以交叉出現(xiàn)。(B) 3. 注釋內(nèi)容太多會(huì)影響程序的執(zhí)行效率。(B) 4. 變量要“先定義,后使用”。(A) 5. 字符常量a與字符串常量"a"沒(méi)有區(qū)別。(B) 6. 數(shù)學(xué)公式y(tǒng)=-6xz+5[2(a-5)+3]寫(xiě)成C語(yǔ)言表達(dá)式是y=-6*x*z+5*[2*(a-5)+3]。(B) 7. 數(shù)學(xué)公式y(tǒng)=|x|+ab-c寫(xiě)成C語(yǔ)言表達(dá)式是y=fabs(x)+a*b-c。(A) 8.

2、 表達(dá)式5/2+5.0/2+7%6 的值為5.5。(A) 9. 設(shè)int b=7;float a=2.5,c=4.7;則表達(dá)式 a+(int)(b/2*(int)(a+c)/2)%4 的值為:4.5。(B) 10. 設(shè)int a=12; 則表達(dá)式a/=a+a的值是0.5。(B) 11. 在C語(yǔ)言中,運(yùn)算符!比&&的優(yōu)先級(jí)高。(A) 12. 在C語(yǔ)言中,運(yùn)算符的優(yōu)先級(jí)最小的是逗號(hào)運(yùn)算符。(A) 13. scanf("%d,%d",&x,&y);的輸入格式:3,4<回車(chē)>。(A) 14. 以下程序運(yùn)行結(jié)果是:1,7,0 (A) void main() { int x=1,

3、y=1,z=10; if(z< 0) if(y> 0) x=3; else x=5; printf(" %d," ,x); if(z=y< 0) x=3; else if(y==0) x=5; else x=7; printf(" %d,%d" ,x,z); } 15. 該程序運(yùn)行結(jié)果是:BCother (A) void main() { char x=‘B’; switch(x) { case ‘A’: printf(“A”); case ‘B’: printf(“B”); case ‘C’: printf(“C”); d

4、efault: printf(“other”); } } 16. 下面程序段運(yùn)行時(shí)輸出結(jié)果是a=2,b=8 (B) void main() { int x=1,y=1,a=2,b=7; switch(x) { case 1: switch(y) { case 0: a++;break; case 1: b++;break; } case 2: a++;b++;break; case 3: a++;b++; } printf("a=%d,b=%d\n",a,b); } 17. 下面程序,當(dāng)輸入為:

5、"abc?" 時(shí),執(zhí)行結(jié)果是:abc (A) void main() { char c; c=getchar(); while (c!=? ) { putchar(c); c=getchar();} } 18. 該程序運(yùn)行結(jié)果是:< > < > < > # (A) void main() { int i; for(i=1;i<=5;i++) { if(i%2) putchar(‘<’); else continue; putchar(‘>’); } putchar(‘#’); } 19. break語(yǔ)句可用于循環(huán)語(yǔ)句和if語(yǔ)句中。(

6、B) 20. continue語(yǔ)句不可用于循環(huán)語(yǔ)句中。(B) 21. 以下程序的功能是判斷一個(gè)數(shù)是否是素?cái)?shù) (A) #include #include void main( ) { int m,i; scanf(" %d" ,& m); for(i=2;i< =sqrt(m);i++) if(m%i==0) break; if(i> sqrt(m)) printf(“%d 是素?cái)?shù)" ,m); else printf(“%d 不是素?cái)?shù)" ,m); } 22. 以下程序的功能是計(jì)算2+4+6+8+...+98+100。(B)

7、void main() { int i,s ; for(i=2;i< =100;i+=2 ) s+=i; } (注意s的初始值) 23. 數(shù)組的下標(biāo)是從1開(kāi)始計(jì)數(shù)的。(B) 24. 若有int s[4]={1,2,3,4};,則s[s[0]+2*s[2]-s[3]]的值是4。(A) 25. 下面程序段運(yùn)行時(shí)輸出結(jié)果是:0 15 24 (A) void main() { int i=0,a[10]; for(i=0;i< =9;i++) a[i]=i*3; printf(" %d %d %d" ,a[0],a[5],a[8]); } 26. 下面程序段運(yùn)行時(shí)輸出結(jié)果是: 1 0 3

8、 3 4 5 6 6 (B) void main() { int a[8]={1,0,1,0,1,0,1,0},i; for(i=2;i< 8;i++) a[i]+= a[i-1] + a[i-2]; for(i=0;i< 8;i++) printf(“%d ”,a[i]); } 27. 以下程序的功能是:將一個(gè)數(shù)組中的元素按逆序重新存放并打印交換后的數(shù)組。(A) #define N 7 #include < stdio.h> void main() { static int a[N]={12,9,16,5,7,2,1},k,s; for (k=0;k< N

9、/2;k++) { s=a[k]; a[k]=a[N-1-k]; a[N-1-k] =s; } printf(" \n交換后的數(shù)組:\n" ); for(k=0;k< N;k++)printf(" %4d" ,a[k]); } 28. 若有定義int a[3][5];則排列在數(shù)組中的第9個(gè)元素是a[1][3]。(A) 29. 下面程序段運(yùn)行時(shí)輸出結(jié)果是:456 (B) void main() { int a[][3]={ 1,2,3,4,5,6,7,8,9},i,k=2; for(i=0;i< 3;i++) printf(“%d”,a[k][i]); } 30. 下面程序段運(yùn)行時(shí)輸

10、出結(jié)果是:"AAAA" (B) void main() { char ch[3][5]={ "AAAA" ,"BBB" ,"CC" }; printf(" \"%s\" " ,ch[1]); } 31. strlen("How are you\n")的值是 12 。(A) 32. C語(yǔ)言中字符串結(jié)束的標(biāo)志是\0 (A) 33. strcmp("how","How")的值>0 。(A) 34. 以下程序的功能是:字符串a(chǎn)連接到字符串b,并顯示字符串b。(B) void main() { char a[200]=”how are you.”, b[200]; int i=0;

11、 while(a[i] != \0 ) {b[i]=a[i]; i++; } b[i]= \0 ; printf(“新字符串是%s”,b); } 35. 當(dāng)運(yùn)行以下程序時(shí),從鍵盤(pán)輸入:AAAaaaAAA Abcd234abc AAaa,運(yùn)行結(jié)果為:AaaAAAaaa。 void main() { char s[80], c=a; int i=0; scanf("%s",s); (注意scanf遇到空格的處理,與gets的不同) while(s[i++]!=\0) if(s[i] == c) s[i]=s[i]-32;

12、else if(s[i]==c-32) s[i]=s[i]+32; puts(s); } (A) 36. 下面程序段運(yùn)行時(shí)輸出結(jié)果是:6 (B) void main() { int *p,a=5,b=1; p=& a; *p=10; a=*p+b; printf(“%d”,a); } 37. 下面程序段運(yùn)行時(shí)輸出結(jié)果是:135 (A) void main() { int a[2][3]={1,3,5,7,9,11}; int m,*ptr; ptr=& a[0][1]; m=(*ptr)*(*(ptr+1))*(*(ptr+3)); printf(" %

13、d" ,m); } 38. 下面程序段運(yùn)行時(shí)輸出結(jié)果是: -5, -12, -7(A) void sub(int x,int y,int *z) { *z=y-x; } void main() { int a,b,c; sub(10,5,&a); sub(7,a,&b); sub(a,b,&c); printf("%4d,%4d,%4d\n",a,b,c); } 39. 下面程序段運(yùn)行時(shí)輸出結(jié)果是:4 (A) fun(char *s) { char *p=s; while (*p) p++;

14、 return(p-s); } void main() { char *str="abcd"; int i; i=fun(str); printf("%d",i); } 40. int *f();表示函數(shù)返回一個(gè)整型指針。(A) 41. 下面程序段運(yùn)行時(shí)輸出結(jié)果是:0,0 1,3 (B) f() { int x=0; static int y=0; printf(" %d,%d " ,x,y); x++; y=y+3; } void main() { int i; for(i=0;i< 2;i++) f(); } 42. 下面程序段運(yùn)行時(shí)輸出結(jié)果是2

15、 (A) int f(int n) { int s; if(n==1||n==2) s=1; else s=n-f(n-1); return s; } void main() { printf(“%d”,f(3));} 43. 下面程序段運(yùn)行時(shí)輸出結(jié)果是7 (B) void fun(int x,int y,int z) {z=x+y;} void main() { int a=3; fun(5,2,a); printf("%d",a); } 44. 在定義函數(shù)時(shí),函數(shù)名后面的括號(hào)中的變量名稱(chēng)為實(shí)參。(B) 45. 為了保證被調(diào)用函數(shù)不返回任何值,其函數(shù)定義的類(lèi)型應(yīng)為 vo

16、id 。(A) 46. 若定義的函數(shù)沒(méi)有參數(shù),則函數(shù)名后的圓括號(hào)可以省略。(B) 47. 函數(shù)的實(shí)參和形參可以是相同的名字。(A) 48. 函數(shù)調(diào)用中,形參與實(shí)參的類(lèi)型和個(gè)數(shù)必須保持一致。(A) 49. 函數(shù)的函數(shù)體可以是空語(yǔ)句。(A) 50. 在調(diào)用一個(gè)函數(shù)的過(guò)程中又出現(xiàn)直接或間接調(diào)用該函數(shù)本身,稱(chēng)為函數(shù)的遞歸調(diào)用。(A) 51. 在函數(shù)內(nèi)定義的變量是局部變量,在函數(shù)外定義的變量是外部變量。外部變量是全局變量。(A) 52. 變量的存儲(chǔ)類(lèi)別有 自動(dòng)型 、 靜態(tài)型 、 寄存器型 、和 外部類(lèi)型 共4種,它們分別用 auto 、 static 、 register 、 exter

17、n 標(biāo)識(shí)。(A) 53. 對(duì)10個(gè)數(shù)進(jìn)行從小到大排序。要求排序在函數(shù)sort內(nèi)完成,用起泡算法。main函數(shù)內(nèi)進(jìn)行數(shù)據(jù)輸入、調(diào)用排序函數(shù)sort、并輸出排序后的數(shù)據(jù)。判斷以下程序是否正確: (B) void sort(int a[],int n) { int i,j,k; for ( i=0; i< n-1; i++) for ( j=0; j< n-1-i; j++) if (a[j]> a[j+1]) { k=a[j];a[j]=a[j+1];a[j+1]=k; } } void main( ) { int a[10], i, j, k; for ( i

18、=0 ; i< 10 ; i++) scanf(" %d" , & a[i]) ; printf(" \n" ) ; sort(a[10],10); (注意數(shù)組作函數(shù)參數(shù)) for (i=0; i< 10; i++) printf(“%d," ,a[i]); } 54. 預(yù)處理命令#include的作用是文件包含 。 55. 結(jié)構(gòu)體的成員不能是結(jié)構(gòu)體變量。(A) 56. “按位與”運(yùn)算指兩個(gè)運(yùn)算數(shù)相應(yīng)的二進(jìn)制位中只要有一個(gè)為1,則該位結(jié)果值為1,比如0|0=0,1|0=1。(B) 57. C語(yǔ)言庫(kù)函數(shù)fgets(str,n,fp)的功能是從文件fp中讀取n個(gè)字符串存入str指

19、向的內(nèi)存。(B) 58. 函數(shù)rewind的作用是使位置指針自動(dòng)移至下一個(gè)字符位置。(B) 59. 函數(shù)fseek的作用是使位置指針移至第一個(gè)字符位置。(B) 60. C語(yǔ)言中以w+方式打開(kāi)文件后,可執(zhí)行的文件操作是可任意讀寫(xiě)。(B) 二、 單項(xiàng)選擇題 (本大題共45個(gè)小題) 61. 一個(gè)C語(yǔ)言程序總是從 B 開(kāi)始執(zhí)行。 A. 主過(guò)程 B. 主函數(shù) C. 子程序 D.主程序 62. 下面四個(gè)選項(xiàng)中,均是不合法的用戶(hù)標(biāo)識(shí)符的選項(xiàng)是 C 。 A. BA 、x_0、do B. float、1a0、_Y C. x-y、got

20、o、123 D. _123、tmp、CHAR 63. C語(yǔ)言中,int型數(shù)據(jù)在內(nèi)存中的存儲(chǔ)形式是 D 。 A. ASCII碼 B.原碼 C.反碼 D.補(bǔ)碼 64. 下列屬于C語(yǔ)言合法的字符常量的是 C 。 A. ‘\85’ B. “n” C. ‘\t’ D.“\0” 65. 下面正確的字符串常量是 C 。 A.a B. 376 C."\\n" D.376 66. 不合法的常量是: D 。 A. ‘\2’ B

21、. " " C. ‘3’ D. ‘\483’ 67. 字符串"\\\"123\"\\"的長(zhǎng)度是 B 。 A. 11 B. 7 C. 5 D. 3 68. 存儲(chǔ)字符串"\\\abc\376"需要的字節(jié)數(shù)是 D 。 A.11 B.13 C.)6 D.)7 69. 表達(dá)式A+4*25.0-b的正確結(jié)果是 B 。 A. 67 B. 67.0 C. 不確定 D. 67L 70. 下面哪個(gè)式子在a為奇數(shù)時(shí)結(jié)果為假 C 。 A.a%2==1 B.

22、 !(a%2==0) C. ?。╝%2) D. a%2 71. 若x是int型變量,y是float型變量,所用的scanf調(diào)用語(yǔ)句格式為: scanf("x=%d,%f",&x,&y);則為了將數(shù)據(jù)10和66.6分別賦給x和y,正確的輸入應(yīng)是: A 。 A. x=10,66.6<回車(chē)> B. 10 66.6<回車(chē)> C. 10<回車(chē)>66.6<回車(chē)> D. x=10<回車(chē)>66.6<回車(chē)> 72. w=4,x=3,y=2,z=1,則條件表達(dá)式w

23、C. 2 D. 1 73. 能表示條件0≤x≤100的表達(dá)式是 D 。 A. 0<=x<=100 B. x>=0,x<=100 C. 0≤x≤100 D. x>=0&&x<=100 74. 判斷char型變量ch為數(shù)字的正確表達(dá)式是 B 。 A. ch>="0"&&ch<="9" B. ch>=0&&ch<=9 C. 0≤ch≤9 D. ch>=0||ch<=9 75. 分析以下程序, 下列說(shuō)法正確的是 D 。 void main() { int x=0,a=0,b=0;

24、 if(x=a+b) printf("tttt\n"); else printf("kkkk\n"); } A. 有語(yǔ)法錯(cuò),不能通過(guò)編譯 B. 通過(guò)編譯,但不能連接 C. 輸出tttt D. 輸出kkkk 76. 程序段如下,則以下說(shuō)法中正確的是: B 。 int k=-5; while(k=0) k=k+1; A. while循環(huán)執(zhí)行5次 B. 循環(huán)體語(yǔ)句一次也不執(zhí)行 C. 循環(huán)是無(wú)限循環(huán) D. 循環(huán)體語(yǔ)句執(zhí)行一次 77. 下述f

25、or循環(huán)語(yǔ)句 B 。 int i,k; for(i=0,k=-1;k=2;i++,k++) printf("* * * *"); A. 判斷循環(huán)結(jié)束的條件非法 B. 是無(wú)限循環(huán) C. 只循環(huán)一次 D. 一次也不循環(huán) 78. 下列程序段執(zhí)行后k值為 A 。 int k=0,i,j; for(i=0;i<5;i++) for(j=0;j<3;j++) k=k+1 ; A. 15 B. 3 C. 5 D. 8 79. 以下關(guān)于數(shù)組的描述正

26、確的是 C 。 A. 數(shù)組的大小是固定的,但可以有不同的類(lèi)型的數(shù)組元素。 B. 數(shù)組的大小是可變的,但所有數(shù)組元素的類(lèi)型必須相同。 C. 數(shù)組的大小是固定的,但所有數(shù)組元素的類(lèi)型必須相同。 D. 數(shù)組的大小是可變的,但可以有不同的類(lèi)型的數(shù)組元素。 80. 在c語(yǔ)言中引用數(shù)組元素時(shí),其數(shù)組下標(biāo)的數(shù)據(jù)類(lèi)型允許是 C 。 A.整型常量 B.整型表達(dá)式 C.整型常量或整型表達(dá)式 D.任何類(lèi)型的表達(dá)式 81. 對(duì)以下說(shuō)明語(yǔ)句的正確理解是 B 。 int a[10]={6,7,8,9,10}; A.將5個(gè)初值

27、依次賦給a[1]至a[5] B.將5個(gè)初值依次賦給a[0]至a[4] C.將5個(gè)初值依次賦給a[6]至a[10] D.因?yàn)閿?shù)組長(zhǎng)度與初值的個(gè)數(shù)不相同,所以此語(yǔ)句不正確 82. 在執(zhí)行int a[][3]={1,2,3,4,5,6};語(yǔ)句后,a[1][1]的值是 D 。 A. 4 B. 1 C. 2 D. 5 83. 對(duì)于類(lèi)型相同的兩個(gè)指針變量之間,不能進(jìn)行的運(yùn)算是 C 。 A. < B. = C. + D. - 84. 以下不能正確賦值的是 A 。 A. char s1[10];s1="te

28、st"; B. char s2[]={’t’,’e’,’s’,’t’} C. char s3[20]= "test"; D. char s4[4]={ ’t’,’e’,’s’,’t’} 85. 對(duì)字符串"Boy"進(jìn)行完整賦值的操作是 B 。 A.char s[3] = {B,o,y}; B. char s[] = "Boy"; C.char s[3] = {"Boy"}; D.char s[3]; s="Boy"; 86. 在C語(yǔ)言程序中,以下描述正確的是 B 。 A. 函數(shù)的定義可以嵌套,但函數(shù)的調(diào)用不

29、可以嵌套 B. 函數(shù)的定義不可以嵌套,但函數(shù)的調(diào)用可以嵌套 C. 函數(shù)的定義和函數(shù)的調(diào)用均不可以嵌套 D. 函數(shù)的定義和函數(shù)的調(diào)用均可以嵌套 87. 以下函數(shù)調(diào)用語(yǔ)句中實(shí)參的個(gè)數(shù)為 A 。 exce((v1,v2),(v3,v4,v5),v6); A. 3 B. 4 C. 5 D. 6 88. 下述函數(shù)定義形式正確的是 C 。 A. int f(int x; int y) B. int f(int x,y) C. int f(int x, int y) D. int f(x,y: int) 89. 關(guān)于函數(shù)參數(shù),說(shuō)法正確的是

30、 A 。 A. 實(shí)參與其對(duì)應(yīng)的形參各自占用獨(dú)立的內(nèi)存單元 B. 實(shí)參與其對(duì)應(yīng)的形參共同占用一個(gè)內(nèi)存單元 C. 只有當(dāng)實(shí)參和形參同名時(shí)才占用同一個(gè)內(nèi)存單元 D. 形參是虛擬的,不占用內(nèi)存單元 90. 一個(gè)函數(shù)的返回值由 D 確定。 A. return語(yǔ)句中的表達(dá)式 B. 調(diào)用函數(shù)的類(lèi)型 C. 系統(tǒng)默認(rèn)的類(lèi)型 D. 被調(diào)用函數(shù)的類(lèi)型 91. 當(dāng)調(diào)用函數(shù)時(shí),實(shí)參是一個(gè)數(shù)組名,則向函數(shù)傳送的是___B____。 A.?dāng)?shù)組的長(zhǎng)度 B.數(shù)組的首地址 C.?dāng)?shù)組每一個(gè)元素的地址 D.數(shù)組每個(gè)元素中的值 92. 若有以下說(shuō)明: int a

31、[10]={1,2,3,4,5,6,7,8,9,10} ,*p=a ; 則數(shù)值為3 的表達(dá)式是 C 。 A. *p+3 B. *(p+3) C. *p+=2 D. p+2 93. 下面程序用于輸出數(shù)組中的最大值,則程序段中空白處應(yīng)是 A 。 void main() { int a[5]={3,2,5,6,4},*p,*s; for(p=a,s=a;p-a<10;p++) if( ) s=p; printf(“max is %d”,*s); } A. *s<*p B. s

32、]p-s 94. 設(shè)有如下的程序段: char str[ ]=“china" ; char *ptr ; ptr=str ; 執(zhí)行上面的程序段后 ,*(ptr+5)的值為 B 。 A. o B. \0 C. 不確定的值 D. o的地址 95. 以下程序輸出結(jié)果為 A 。 main() { char *str[]={"zhao","qian","sun","li"}; int i; for (i=0;i<4;i++) printf("%c",str[i][0]); }

33、 A. zqsl B.zhaoqiansunli C.zhao D.以上都不對(duì) 96. 若x=5,y=5,則x&y的結(jié)果是____D_____. A. 0 B. 2 C. 3 D. 5 97. 在位運(yùn)算中,操作數(shù)每左移兩位,則結(jié)果相當(dāng)于___D_____. A. 操作數(shù)乘以2 B. 操作數(shù)除以2 C. 操作數(shù)除以4 D. 操作數(shù)乘以4 98. 當(dāng)用戶(hù)定義一個(gè)結(jié)構(gòu)體變量時(shí),系統(tǒng)分配給它的內(nèi)存為各成員所需內(nèi)存的 A A.和 B.最大值 C.不確定 D.無(wú)關(guān) 99. 若有以下結(jié)構(gòu)體定義,則正確的引用或定義是

34、 B 。 struct example { int x;int y; }v1; A. example.x=10; B. example v2.x=10; C. struct v2;v2.x=10; D. struct example v2={10}; 100. 設(shè)有如下定義:struct sk {int a ;float b ;}data ,*p ;若有p=& data ; ,則對(duì)data 中的a 域的正確引用是 D 。 A.(*p).data.a B.(*p).a C.p-> data.a D.p.data

35、.a 101. C語(yǔ)言可以處理的文件類(lèi)型是 B 。 A. 文本文件和數(shù)據(jù)文件 B. 文本文件和二進(jìn)制文件 C. 數(shù)據(jù)文件和二進(jìn)制文件 D. 數(shù)據(jù)代碼文件 102. 如果要打開(kāi)C盤(pán)file文件夾下的abc.dat文件,fopen函數(shù)中第一個(gè)參數(shù)應(yīng)為 D 。 A. c:file\abc.dat B. c:\file\abc.dat C. "c:\file\abc.dat" D. "c:\\file\\abc.dat" 103. 若想對(duì)文本文件只進(jìn)行讀操作,打開(kāi)此文件的方式為 A 。 A."r

36、" B."W" C."a" D."r+" 104. 在C程序中,可把整型數(shù)以二進(jìn)制形式存放到文件中的函數(shù)是 C 。 A.fprintf函數(shù) B.fread函數(shù) C.fwrite函數(shù) D.fputc函數(shù) 105. 打開(kāi)文件,操作完畢后用 C 函數(shù)關(guān)閉它。 A.fopen B.open C.fclose D.close 三、 編程題(本大題共1016個(gè)小題) 106. 求200到800之間所有能被3整除但不能被7整除的數(shù)的和。 答: #include void main() { int i,sum=0; for(i

37、=200;i<=800;i++) if(i%3==0&&i%7!=0) sum=sum+i; printf("TheVsumVis: %d\n",sum); } 107. 輸入一百分制成績(jī),要求輸出成績(jī)等級(jí)‘A’,‘B’,‘C’,‘D’,‘E’。90分及以上為‘A’ ,80-89分為‘B’,70-79分為‘C’,60-69分為‘D’,60分以下為‘E’。 答: #include void main( ) { int score,temp; char grade;

38、 scanf("%d",&score); if ((score>100)||(score<0)) printf("\ndata error\n"); else { if(score= =100) temp=9; else temp=score/10; switch (temp) { case 9 : grade=A;break; case 8 : grade=

39、B;break; case 7: grade=C;break; case 6: grade=D ; break; case 5: case 4: case 3: case 2: case 1: case 0: grade=E ; } printf("%d,%c\n", score,grade); } } 108. 輸入任意十個(gè)數(shù),打印出它們中的最

40、大數(shù)、最小數(shù)。 答: #include void main( ) { int i, k,min,max; scanf("%d",&k); i=1; max=min=k; for(i=2;i<=10;i++) { scanf("%d",&k); if(maxk) min=k; } printf("最大:%d\n",max); printf("最小:%d\n", min); } 109. 輸入一行字符,統(tǒng)計(jì)其中的英文字母、數(shù)字、空格和其他字符個(gè)數(shù)。 答: #in

41、clude void main( ) { int n1,n2,n3,n4; char c; n1=n2=n3=n4=0; c=getchar(); while(c!=’\n’) { if(c>=’a’&&c<=’z’ || c>=’A’&&c<=’Z’) n1++; else if(c>=’0’&&c<=’9’) n2++; else if(c==’ ’) n3++; else n4++; c=getchar(); //why? } printf("%d %d %d %d\n",n

42、1,n2,n3,n4); } 110. 求1!+2!+3!+…+100!。 答: #include void main() { int i; double t,s; i=1;t=i; s=t; for(i=2;i<=100;i++) { t=t*i s+=t; } printf("%ld ",s); } 111. 打印如下7行7列的左直角三角形: 答: #include void main( ) { int i,j; for (i=1;i<=7;i++) { for (j=1;j<=

43、i;j++) printf (" *"); printf("\n"); } } 112. 打印出所有的“水仙花數(shù)”,所謂“水仙花數(shù)”是指一個(gè)三位數(shù), 其各位數(shù)字立方和等于該數(shù)本身。例如 153是一個(gè)水仙花數(shù),因?yàn)?153=。 答: 方法1: #include void main( ) { int i,k1,k2,k3; for (i=100;i<=999;i++) { k1=i%10; k2=i/10%10; k3=i/100;

44、 if (i==k1*k1*k1+k2*k2*k2+k3*k3*k3) printf("%d=%d^3+%d^3+%d^3\n",i,k1,k2,k3); } } 方 法 2 #include void main( ) { int k1,k2,k3,i; for (k1=1;k1<=9;k1++) for (k2=0;k2<=9;k2++) for (k3=0;k3<=9;k3++) { i=k1*100+k2*10+k

45、3; if (i==k1*k1*k1+k2*k2*k2+k3*k3*k3) printf("%d=%d^3+%d^3+%d^3\n",i,k1,k2,k3); } } 有10個(gè)地區(qū)的面積,要求對(duì)它們按由小到大的順序排列(采用起泡法排序)。 113. 有10個(gè)地區(qū)的面積,要求對(duì)它們按由小到大的順序排列(采用起泡法排序)。 答: #include void main( ) { int a[10]; int i,j,t; printf("inp

46、ut 10 numbers :\n"); for (i=0;i<10;i++) scanf("%d",&a[i]); printf("\n"); for(j=0;j<9;j++) for(i=0;i<9-j;i++) if (a[i]>a[i+1]) {t=a[i];a[i]=a[i+1];a[i+1]=t;} printf("the sorted numbers :\n"); for(i=0;i<10;i++) printf("%d ",a[i]); printf("\n"); } 114. 已知5個(gè)

47、整數(shù),已經(jīng)由大到小排好序,現(xiàn)輸入一個(gè)數(shù),將其插入到該數(shù)組適當(dāng)位置,使其仍然有序。 答: #include void main( ) { int a[6]={20,15,12,8,6}; int i,k=9; if(k<=a[4]) a[5]=k; else { for (i=4;i>=0;i--) if(k>a[i]) { a[i+1]=a[i]; } else break; a[i+1]=k; } for (i=0;i<6;i++) printf("%d ",a[i]);

48、 } 115. 有一行文字,要求刪去某一個(gè)字符。此行文字和要?jiǎng)h去的字符均由鍵盤(pán)輸入,要?jiǎng)h去的字符以字符形式輸入(如輸入 a表示要?jiǎng)h去所有的 a字符)。 答: #include void main() { char str1[100],str2[100]; char ch; int i=0,k=0; while ((str1[i]=getchar())!=’\n’) i++; str1[i]=\0; scanf("%c",&ch); for (i=0;str1[i]!=’\0’;i++) if (str1[i]!=ch)

49、 { str2[k]=str1[i]; k++; } str2[k]=\0; printf("\n%s\n",str2); } 116. 有一個(gè) 34的矩陣,編程求出其中值最大的那個(gè)元素的值,以及其所在的行號(hào)和列號(hào)。 答: #include void main() { int a[3][4],i,j,max,x,y; for (i=0;i<3;i++) for(j=0;j<4;j++) scanf(“%d”,&a[i][j]); max=a[0][0];x=y=0; for (i=0;i<3;i++) f

50、or(j=0;j<4;j++) if (max void main() { int a[4][10],b[4],i,j; for(i=0;i<4;i++) for(j=0;j<10;j++) scanf("%d",&a[i][j]); for(i=0;i<4;i++) { b[i]=a[i][

51、0]; for(j=1;j<10;j++) if(b[i] #defi

52、ne N 10 void f(int a[],int n) { int i, t, j=0, min=a[0]; for(i=1;i<=n-1;i++) if(a[i]

53、N個(gè)數(shù)到數(shù)組中,輸出所有大于N個(gè)數(shù)平均值的數(shù)。要求:定義函數(shù)average,計(jì)算N個(gè)數(shù)的平均值用函數(shù)實(shí)現(xiàn);在主函數(shù)main中輸入任意10個(gè)數(shù),調(diào)用average,輸出大于平均值的數(shù)。 答: #include #define N 10 float average(float s[],int n) { int i; float sum=0; for(i=0;i

54、or(i=0;iavr) printf(“%f”,&a[i]); } 120. 打印出1-100之間的全部素?cái)?shù)(要求編寫(xiě)兩個(gè)函數(shù),一個(gè)命名為prime,用于判斷一個(gè)數(shù)是否是素?cái)?shù),另一個(gè)是main函數(shù),在main函數(shù)中調(diào)用該函數(shù)實(shí)現(xiàn)打印1-100之間的全部素?cái)?shù))。 答: int prime(int m) { int i; for(i=2;i

55、urn 1; } void main() { int i; for(i=2;i<100;i++) if(prime(i)) printf(" %d ",i); } 121. 編一函數(shù)mystrcat,將兩個(gè)字符串連接起來(lái)(即實(shí)現(xiàn)字符串連接函數(shù)strcat()的功能)。在main函數(shù)內(nèi)實(shí)現(xiàn)對(duì)該函數(shù)的調(diào)用,即輸入任意兩個(gè)字符串,調(diào)用該函數(shù),并把連接后的字符串輸出。 答: #include void mystrcat (char a[],char b[]) { int i,j; for(i=0;a[i]!=\0;i++); for(j=0;b[j]!=\0;j++) { a[i++]=b[j]; } a[i]=\0; } void main() { char a[80],b[30]; gets(a); gets(b); mystrcat (a,b); puts(a); puts(b); } 共22頁(yè),第22頁(yè)

展開(kāi)閱讀全文
溫馨提示:
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. 裝配圖網(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ì)自己和他人造成任何形式的傷害或損失。

相關(guān)資源

更多
正為您匹配相似的精品文檔
關(guān)于我們 - 網(wǎng)站聲明 - 網(wǎng)站地圖 - 資源地圖 - 友情鏈接 - 網(wǎng)站客服 - 聯(lián)系我們

copyright@ 2023-2025  zhuangpeitu.com 裝配圖網(wǎng)版權(quán)所有   聯(lián)系電話(huà):18123376007

備案號(hào):ICP2024067431號(hào)-1 川公網(wǎng)安備51140202000466號(hào)


本站為文檔C2C交易模式,即用戶(hù)上傳的文檔直接被用戶(hù)下載,本站只是中間服務(wù)平臺(tái),本站所有文檔下載所得的收益歸上傳人(含作者)所有。裝配圖網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶(hù)上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)上載內(nèi)容本身不做任何修改或編輯。若文檔所含內(nèi)容侵犯了您的版權(quán)或隱私,請(qǐng)立即通知裝配圖網(wǎng),我們立即給予刪除!