《C語言習(xí)題集》word版

上傳人:tia****g98 文檔編號:144061375 上傳時間:2022-08-26 格式:DOC 頁數(shù):102 大小:332.02KB
收藏 版權(quán)申訴 舉報(bào) 下載
《C語言習(xí)題集》word版_第1頁
第1頁 / 共102頁
《C語言習(xí)題集》word版_第2頁
第2頁 / 共102頁
《C語言習(xí)題集》word版_第3頁
第3頁 / 共102頁

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

14.9 積分

下載資源

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

資源描述:

《《C語言習(xí)題集》word版》由會員分享,可在線閱讀,更多相關(guān)《《C語言習(xí)題集》word版(102頁珍藏版)》請?jiān)谘b配圖網(wǎng)上搜索。

1、第一部分 數(shù)據(jù)類型、運(yùn)算符、表達(dá)式 2 第二部分 結(jié)構(gòu)化程序設(shè)計(jì)的三大結(jié)構(gòu) 12 第三部分 數(shù)組 29 第四部分 結(jié)構(gòu)體、共用體、枚舉類型 45 第五部分 函數(shù) 52 第六部分 指針 68 第一部分 數(shù)據(jù)類型、運(yùn)算符、表達(dá)式 及簡單的輸入輸出語句 一、 選擇題: 1. char型常量在內(nèi)存中存放的是: A)ASCII碼 B)原碼 C)內(nèi)碼值 D)十進(jìn)制代碼值 2. C語言中整數(shù)-8在內(nèi)存中存儲形式是: A)1111,1111,1111,10

2、00 B)1000,0000,0000,1000 C)0000,0000,0000,1000 D)1111,1111,1111,0111 3. C語言提供的合法的數(shù)據(jù)類型關(guān)鍵字是: A) Double B) short C) integer D) Char 4. 在C語言中,合法的長整型常數(shù)是: ? A) 0L B) 4962710 C)0.054838743 D) 2.1869e10 5. 在C語言中,合法的字符常量是: ?

3、 A) ‘\084' B) ‘\x43' C) 'ab' D) “\0” 6. 下面標(biāo)識符中,不合法的用戶標(biāo)識符為: A)pad B)a_13 C)CHAR D)a#b 7. 下列變量定義中合法的是: A)short _a=1-.le-1; B) double b=1+5e2.5; C)long do=0xfdaL; D) float 2_and=1-e-3; 8. 下列不正確的轉(zhuǎn)義字符分別為: A)’\\’ B)

4、’011’ C)’\’’ D)’\Xaa’ 9. 設(shè)m,n,a,b,c,d均為0,執(zhí)行(m=a==b)||(n=c==d)后,m,n的值是: A)0,0 B)0,1 C)1,0 D)1,1 10. 設(shè)有如下定義:int a=1,b=2,c=3,d=4,m=2,n=2;則執(zhí)行表達(dá)式:(m=a>b)&&(n=c>d)后,n的值為: A)1 B)2 C)3 D)0 11. 設(shè) int b=2;表達(dá)式(b>>2)/(b>>1)的值是

5、: A) 0 B) 2 C) 4 D) 8 12. 設(shè) int x=1, y=1; 表達(dá)式(!x||y--)的值是: A) 0 B) 1 C) 2 D) -1 13. 設(shè)a為5 ,執(zhí)行下列語句后,b的值不為2的是: A)b=a/2 B)b=6-(--a) C)b=a%2 D)b=a>3?2:2 14. 設(shè)x、y、z和k都是int型變量,則執(zhí)行表達(dá)式:x=(y=4,z=16,k=32)后,x的值為:

6、 A)4 B)16 C)32 D)52 15. 設(shè)有語句 int a=3;,則執(zhí)行了語句a+=a-=a*a;后,變量a的值是: A)3 B)0 C)9 D)-12 16. 設(shè)整型變量a,b,c的值均為2,表達(dá)式a+++b+++c++的結(jié)果是: A)6 B)9 C)8 D)表達(dá)式出錯 17. 設(shè)a=1,b=2,c=3,d=4,則表達(dá)式:a

7、 A)4 B)3 C)2 D)1 18. 若a為整型變量,以下語句: a=-2L; printf(“%d”,a);則 A)賦值不合法 B)輸出-2 C)輸出不確定 D)輸出2 19. 下列程序執(zhí)行后的輸出結(jié)果是(小數(shù)點(diǎn)后只寫一位) A) 6 6 6.0 6.0 B) 6 6 6.7 6.7 C) 6 6 6.0 6.7 D) 6 6 6.7 6.0 main() { double d; float f; long l; i

8、nt i; i=f=1=d=20/3; printf("%d %ld %f %f \n", i,l,f,d); } 20. 設(shè)a為整型變量,不能正確表達(dá)數(shù)學(xué)關(guān)系:1010&&a<15 D)!(a<=10)&&!(a>=15) 21. 能正確表示a和b同時為正或同時為負(fù)的邏輯表達(dá)式是: A)(a>=0||b>=0)&&(a<0||b<0) B)(a>=0&&b>=0)

9、&&(a<0&&b<0) C)(a+b>0)&&(a+b<=0) D)a*b>0 22. 能滿足x在-10~10,100~110的表達(dá)式為; A)(10>x>-10)||(100>x>-100) B)!((x<=-10||(x>=10))||!((x<100)||(x>=110)) C)(x<10)&&(x>-10)&&(x>100)&&(x<110) D)(x>-10)&&(x<10)&&(x<110)&&(x>100) 23. 若有以下定義:char a, int b, float c, double d ,則表達(dá)式 a*b+d-c值的類

10、型為: A)float B)int C)char D)double 24. 若有以下定義:char a;int b;float c;double d;c=*b+d-c,則c的類型為: A)float B)int C)char D)double 25. 表達(dá)式“10!=9”的值是: A)true B)非零值 C)0 D)1 26. 設(shè)a,b,的c都是int 型變量,且a=3,b=4,c=5,則下面表達(dá)式中值為0的是 : A)

11、’a’&&’b’ B)a<=b C)a||b+c&&b-c D)?。ǎ╝=’A’&&ch<=’Z’)?(ch+32):ch A)A B)a C)Z     ?。模﹛ 28. 假定有以下變量定義:int k=7 ,x=12; 則能使值為3的表達(dá)式是: A)x%=(K%=5) B) x%=(k-k%5) C)x%=k-k%5

12、 D) (x%=k)-(k%=5) 29. 當(dāng)c的值不為0時,在下列選項(xiàng)中能正確將c的值賦給變量a、b的是 A)c=b=a; B)(a=c)||(b=c); C)(a=c)&&(b=c); D)a=c=b; 30. 下列使i的運(yùn)算結(jié)果為4的表達(dá)式為: A)int i=0,j=0 B)int i==1,j=0; (i=3,(j++)+i); j=i=((i=3)*2); C)int i=0,j=1; D)int i=

13、1,j=1; (j==1)?i=1:i=3; i+=j+=2; 31. 下列不正確的表達(dá)式是: A)k=j++ B)(int)x+0.4 C)y+=x++ D)a=2*a=3 32. 下列不正確的表達(dá)式是: A)x%(-3) B)w+=-2 C)k=(a=2,b=3,a+b) D)a+=a-=(b=4)*(a=3) 33. 下列不正確的說法是: A) 變量要先定義后使用; B) APH與aph是兩個不同的變量; C

14、) 同類型的a,b,執(zhí)行了a=b;后,a,b的值相同; D) 輸入數(shù)據(jù)時,對整型變量只能輸入整數(shù)。 34. 以下正確的說法是: A) 語句間須用分號分隔; B) 實(shí)型變量中可存放整數(shù); C) 整數(shù)和實(shí)數(shù)都能準(zhǔn)確表示; D) 運(yùn)算符%只能用于整數(shù)間的運(yùn)算。 35. 以下不正確的說法是: A) 好的程序要有詳盡注釋; B) #include和#define均不是語句; C) 賦值運(yùn)算符優(yōu)先級最低; D) j++;是一條賦值語句。 36. 設(shè)a=3,b=4,執(zhí)行“printf(“%d,%d”,(a,b),(b,a));”的輸出是: A)3,4

15、 B)4,3 C)3,3 D)4,4 37. 下列程序執(zhí)行后的輸出結(jié)果是 A) G B) H C) I D) J main(){ int x='f'; printf("%c \n",'A'+(x-'a'+1)); } 38. 若有以下定義和語句則輸出結(jié)果是: ? char c1='b',c2='e';? printf(“%d,%c\n”,c2-c1,c2-'a');? ? A)2,M B)3,E

16、 C)2,E D)3,M 39. 若有以下定義和語句,則輸出結(jié)果是: ? int u=010,v=0x10,w=10; printf(“%d,%d,%d\n”,u,v,w); A) 8,16,10 B)10,10,10? C) 8,8,10 D) 8,10,10 40. int a=256,執(zhí)行語句 “printf(“%x” ,a);”的結(jié)果是: A)0100 B)0256 C) 0FFE D)00FF 41. 設(shè)有int i=010,j=10;則printf

17、(“%d,%d\n”,++i,j--);的輸出是: A)11,10 B)9,10 C)010,9 D)10,9 42. 設(shè)a,b為字符型變量,執(zhí)行“scanf(“a=%c,b=%c”,&a,&b);”后使a為‘A’,b為‘B’,從鍵盤上正確輸入是: A)’A’”B’ B)’A’,’B’ C)A=A,B=B D)a=A,b=B 43. .以下敘述中正確的是: A)輸入項(xiàng)可以是一個實(shí)型常量; 例如:scanf(“%f”,3.5); B)只有格式控制,沒有輸入項(xiàng),也能正確輸入數(shù)據(jù)到內(nèi)存; 例如:scan

18、f(“a=%d ,b=%d”)' C)當(dāng)輸入一個實(shí)型數(shù)據(jù)時,格式控制部分可以規(guī)定小數(shù)點(diǎn)后的位數(shù); 例如:scanf(“%4.2f”,&d); D)當(dāng)輸入數(shù)據(jù)時,必須指明變量地址。例如:scanf(“%f”,&f); 44. 設(shè)x和y均為int 型變量,則以下語句:x=x+y; y=x-y; x=x-y;的功能是: A) 把x 和y按從大到小排列 B) 把x和y按從小到大排列 C) 無確定結(jié)果 D) 交換x和y中的值 45. 語言中標(biāo)準(zhǔn)庫函數(shù)fgets(string,m,fp)的作用

19、是: A)從fp所指向的文件中讀取長度不超過m的字符串存入由指針string指向的內(nèi)存。 B)從fp所指向和文件中讀取長度為m的字符中存入由指針string所指向的內(nèi)存。 C)從fp所指向的文件中讀取m個字符串存入由指針string指向的內(nèi)存。 D)fp所指向的文件中讀取長度不超過m-1的字符串存入由指針string指向的內(nèi)存。 46. fgets(str,n,fp)是從文件讀入一字符串,以下敘述正確的是: A)字符串讀入后不會自動加入‘\0’ B)fp是file類型指針 C)以上函數(shù)從文件中最多讀入n-1個字符 D)以上函數(shù)從文件中最多讀入n個字符

20、 二、填空題: 1. 結(jié)構(gòu)化程序設(shè)計(jì)規(guī)定的三種基本結(jié)構(gòu)是: 結(jié)構(gòu)、選擇結(jié)構(gòu)和 結(jié)構(gòu)。 2. 在C語言中,表示邏輯值“真”用 ,表示邏輯值“假”用 。 3. 在C語言中,任一語句必定以字符 結(jié)束。 4. 在C語言,當(dāng)關(guān)系表達(dá)式中的關(guān)系成立時,則該關(guān)系表達(dá)式的值為: 5. 設(shè)x為整型變量,則表達(dá)式~x^x的值用十六進(jìn)制表式為_______. 6. 設(shè)x為整型變量,則表達(dá)式(x&1)==(x%2)的值為——— 7. 數(shù)學(xué)表達(dá)式sin(25?)+x*xcos(30?)的C語言表達(dá)式為_________. 8.

21、代數(shù)式的合法C語言表達(dá)式為: 9. 字符串"ab\034\\\x79"的長度為________. 10. 設(shè)變量定義:int a=10,c=9;則表達(dá)式 (--a==c++)?--a:++c的值為________。執(zhí)行語句后變量a的值為_______.變量c的值為________。 11. 表達(dá)式8.0*(1/2)的值為________。 12. 定義int x=10,y,z;執(zhí)行y=z=x;x=y==z后,變量x的值為________. 13. 寫出滿足下列各要求的判斷表達(dá)式。 1) 判斷x的值是否為0,使表達(dá)式的值為“真”,否則使表達(dá)式有值為“假”。

22、 2) 寫出j小于0,或大于10時為“真”的表達(dá)式。 3) 寫出a的值必須是2,3,5,6,7的判斷表達(dá)式。 14. 已說明int a=256,執(zhí)行語句"printf("%x",a);"的結(jié)果是________。 15. 執(zhí)行語句printf(“The program\’s name is c:\tools book.txt”);后的輸出是

23、: 16. 若想通過以下輸入語句給a賦于1,給b賦于2, 則輸入數(shù)據(jù)的形式應(yīng)該是 。 ?int a,b; ? scanf(“a=%d,b=%d”,&a,&b); 17. 若想通過以下輸入語句使a中存放字符串1234,b中存放 字符5,則輸入數(shù)據(jù)的形式應(yīng)該是: char a [10],b; scanf(“a=%sb=%c”,a,&b); 18. 下列程序的輸出結(jié)果是: main() { double d=3.2; int x,y; x=1.2; y=(x+3.8)/5.0; printf("%d \n

24、", d*y); } 19. 下列程序執(zhí)行后的輸出結(jié)果是 main() { int x='f'; printf("%c \n",'A'+(x-'a'+1)); } 20. 在C語言中,對文件的存取是以 為單位的。 21. 在C語言的文件系統(tǒng)中,最重要的概念是“文件指針”,定義文件指針的方法為: *fp;其中fp是一個指向 類型結(jié)構(gòu)體的指針變量。 22. 如果調(diào)用fopen函數(shù)不成立,則函數(shù)的返回值為: ,如果調(diào)用fclose函數(shù)不成立,則函數(shù)返回值為: 三、讀程題: 1. 讀下列

25、程序的運(yùn)行結(jié)果 main() { int a=-1,b=4,k; k=(++a<0)&&(b--<0); printf("%d,%d,%d\n",k,a,b); } 2. 讀下列程序的運(yùn)行結(jié)果 #include main() { int x=5,y=0,z=6; printf("x&&y&&z=%d\n",x&&y&&z); printf("x>y||z==y&&xz=%d\n",x>y||z==y&&xy&&z==y&&x

26、%d\n",x>y&&z==y&&x<); } 3. 讀下列程序的運(yùn)行結(jié)果 #include main() { int x,y,z; x=y=5;z=++x; printf(“\n %d %d %d”,z,x,y,); x=y=5;z=x++; printf(“\n %d %d %d”,z,x,y,); x=y=5;z=--x; printf(“\n %d %d %d”,z,x,y,); x=y=5;z=x--; printf(“\n %d %d %d”,z,x,y,); } 4. 讀下列程序

27、的運(yùn)行結(jié)果 main() { int w,x,z; w=3; x=z=10; printf("%d",x>10?x+100:x-10); printf("%d",w--||z++); printf("%d",x++>=z); printf("%d",!--w&&z); printf("%d%d%d\n",w,x,z); } 5. 讀下列程序的運(yùn)行結(jié)果 main( ) { char c1,c2; c1=‘a(chǎn)’+’6’-’2’; c2=‘a(chǎn)’+’6’-’3’; printf(“%

28、c,%d\n”,c2,c1);} 6. 讀下列程序的運(yùn)行結(jié)果 #include main() { int a,b,cd,x,y,z; x=634;y=19;z=28; a=3*(b=x/(y-4))-z/2; printf(“\n%10d%10d”,a,b,); a=100;b=45; c=-19,d=94,x=-2;y=5; a+=6; b-=x; c*=10,d/=x+y;,z%=8; printf(“\n%10d%10d%10d%10d%10d”,a,b,c,d,z); } 7. 讀下列程序的運(yùn)行結(jié)果

29、 #include main() { printf(“\n char: %d byte”,sizeof(char)); printf(“\n int: %d byte”,sizeof(char)); printf(“\n long: %d byte”,sizeof(char)); printf(“\n foat: %d byte”,sizeof(char)); printf(“\n double: %d byte”,sizeof(char)); } 8. 從鍵盤上輸入12345678,則讀下列程序的運(yùn)行結(jié)果

30、 #include “stdio.h” main ( ) { char c1,c2,c3,c4,c5,c6; scanf(“%c%c%c%c”,&c1,&c2,&c3,&c4); c5=getchar( ); c6=getchar( ); putchar(c1); putchar(c2); printf(“%c%c\n”,c5,c6); } 9. 讀下列程序的運(yùn)行結(jié)果 main() { int j,k,l,a=3,b=2; j=(-a==b++)?--a:++b; k=a++; l=b; printf("%d,%d,%d

31、",j,k,l); } 10. 讀下列程序的運(yùn)行結(jié)果 main() { int j,k,l,a=3,b=2; j=(--a==b++)?--a:++b; k=a++; l=b; printf("%d,%d,%d",j,k,l); } 11. 讀下列程序的運(yùn)行結(jié)果 #include #include main() { int a=1,b=4,c=2; float x=5.5,y=9.0,z; z=(a+b)/c+sqrt((double)y)*1.2/c+x; printf("%f\n",z); } 12

32、. 四、完善程序題(即:給出了程序所完成的功能,根據(jù)此功能在 上填寫合適的一條語句) 1. 下面的程序是借肋于第三個變量將a,b中的值交換。 main() { int a,b,c; scanf(“%d%d”,&a,&b); printf(“a=%d b=%d\n”,a,b); c=a; ; ; printf(“a=%d b=%d\n”,a,b); } 2. 求三個數(shù)值中的較大的數(shù): #include main() { int x,y,z,max; printf("input x,y,z

33、:\n"); scanf("%d%d%d", ); max=(x>y)?x:y; max= ; printf("max=%d\n",max); } 3. 從鍵盤上輸入一個小寫字母字符,將它轉(zhuǎn)換為大寫字母。 #include main() { char ch; ch=getchar(); ; putchar( ); } 4. 從鍵盤上輸入一個大寫字母字符,將它轉(zhuǎn)換為小寫字母。 #include main() { char ch; ch=g

34、etchar(); ; putchar( ); } 第二部分 結(jié)構(gòu)化程序設(shè)計(jì)的三大結(jié)構(gòu) 一、選擇題: 1. 下列關(guān)于switch語句和break語句的結(jié)論中,只有 是正確的。 A)break語句是switch語句中的一部分; B)在switch語句中可以根據(jù)需要使用或不使用break語句; C)在switch語句中必須使用break語句; D)以上三個結(jié)論有兩個是正確的。 2. if語句的圓括號內(nèi)表達(dá)式是: A)只能是邏輯表達(dá)式 B)只能是關(guān)系表達(dá)式 C)只能是邏輯表達(dá)式或關(guān)系表達(dá)式

35、D)可用任意表達(dá)式 3. 假定所有變量均已正確定義,下列程序段運(yùn)行后x的值是 a=b=c=0;x=35; if(!a) x--; else if(b); if(c) x=3; else x=4; A)34 B)4 C)35 D)3 4. 下面的程序片段所表示的數(shù)學(xué)函數(shù)關(guān)系是: y=-1; if(x!=0) if(x>0) y=1; else y=0; A) B) C) D) 5. 以下程序輸出結(jié)果是: main ( )

36、{int m=5; if (m>5) printf (“%d\n”,m); else printf (“%d\n”,m--); } A) 7 B) 6 C)5 D)4 6. 若要求在 if 后一對圓括號中表示a不等于0的關(guān)系,則能正確表示這一關(guān)系的表達(dá)式為: A) a<>0 B)!a C)a==0 D)a 7. 兩次運(yùn)行下面的程序,如果從鍵盤上分別輸入7和6,則輸出結(jié)果是: A)

37、 7 和 5 B)6和3 C)8和7 D)6和4 main() {int x; scanf(“%d”,&x); if(x++>5) printf(“%d”,x); else printf(“%d\n”,x--); } 8. 下列語句中錯誤的是: A)while(x=y) 5; B)d0 x++; while(x==10); C)while(0); D) do 2 ; while (a==b); 9. 若 i,j已定義為 int 型,則以下程序段中內(nèi)循環(huán)的執(zhí)行次數(shù)是

38、: for(i=5;i;i--) for(j=0;j<4;j++) {…} A) 20 B)24 C)25 D)30 10. 假定a和b為int 型變量,則執(zhí)行以下語句后b的值為: a=1;b=10; do{ b-=a;a++;} while(b--<0); A) 9 B)-2 C)-1 D)8 11. 設(shè)x和y均為int 型變量,則執(zhí)行下面的循環(huán)后,y的值為: for(y=1,x=1;y<=

39、50;y++) {if(x>=10) break; if(x%2==1){ x+=5;continue;} x-=3; } A)2 B)4 C)6 D)8 12. 在C語言中,下列說法中正確的是: B) do-while語句構(gòu)成的循環(huán)不能用其它語句構(gòu)成的循環(huán)來代替。 C) “do語句 while (條件)”的循環(huán)必須使用“break”造句退出循環(huán); D) “do語句while(條件)”的循環(huán)中,當(dāng)條件為非0時將結(jié)束循環(huán); E) “do語句while(條件)”的循環(huán)中,

40、當(dāng)條件為0時將結(jié)束循環(huán)。 13. 與do…while(E)中E不等價的表達(dá)式是: A)!E= =0 B)E>0||E<0 C)E= =0 D)E!=0 14. 在do-while語句中,while后的括號內(nèi)的表達(dá)式為 結(jié)束循環(huán) A) 0 B)1 C)true D)非0 15. 循環(huán)語句 for(x=0,y=0;(y!=123)||(x<4);x++);的循執(zhí)行: A)無限次 B)32767 C)4次 D)3次 16. 執(zhí)行語句:for(

41、i=1;i++<4;)后;變量i的值是 A)3 B)4 C)5 D)不定 17. 以下 不是無限循環(huán) A)j=100;while(1){j=j%100;j++;if(j>100)break;} B)for(; ;); C)k=32764;do {k++;k++;}while(k>0); D)s=32764;while(s++%2||s%2)s++; 18. 當(dāng)執(zhí)行以下程序段時 A)循環(huán)體將執(zhí)行一次 B)循環(huán)體將執(zhí)行兩次 C)循環(huán)體將執(zhí)行無限次

42、 D)系統(tǒng)將提示有語法錯誤 x=-1; do { x=x*x;} while(!x); 19. 在下列選項(xiàng)中,沒有構(gòu)成死循環(huán)的程序是 。 A) int i =100; while(1) { i=i%1001; if (i>100)break; } B)for (;;); C)int k=1000; do {k;} while(k>=1000); D)int s=36; while (s); --s; 20. 若k 為整型,則while循環(huán)

43、k=10; while(k=0) k=k-1; A)執(zhí)行10次 B)無限循環(huán) C)一次也不執(zhí)行 D)執(zhí)行一次 21. 以下程序的輸出結(jié)果是 A)-1 1 B)0 1 C)1 0 D)0 0 main( ) { int a= -1,b=1,k; if((++a<0)&& ! (b-- <=0)) printf("%d %d\n",a,b); else printf("%d %d\n",b,a); } 22. 執(zhí)行以下程序后,輸出的結(jié)果是

44、 A)-1 B)1   C)8  ?。模? main( ) { int y=10; do {y--;} while(--y); printf(“%d\n”,y--); } 23. 下列程序的輸出為: A)0,3 B) 0,5 C)1,3 D)1,5 main( ){int j,k,l=0,m=0; for(j=0;j<2;j++) {for(k=0;k<3;k++)l++; l-=k;} m=j+k; printf

45、(“%d,%d”,l,m);} 24. 與 y=(x>0?1:x<0?-1:0);的功能相同的if語句是 A) if (x>0) y=1; else if(x<0)y=-1; y=0; B) if(x>0)y=1; else y=0; else if(x<0)y=-1; else y=0; C) if(x>=0) else if(x==0)y=0; else y=-1; else y=-1; D) if(x<0) y=-1; else if(x>0) y=1; else y=0; 二、 填空題 1. 定義int i=1

46、; 執(zhí)行語句"while(i++<5)";后,i的值為________。 2. 如下三個條件語句中(其中s1和s2表示是C語言的語句),它們描述的功能是否等價__________. A)if(a) s1; else s2; B)if(a==0)s2; else s1; C)if(a!=0)s1;else s2; 3. 若有定義語句“int a=25,b=14,c=19;”,以下語句的執(zhí)行結(jié)果是: if(a++<=25&&b--<=2&&c++) printf(“***a=%d,b=%d,c=%d\n”,a,b,c); else printf(“###

47、a=%d,b=%d,c=%d\n”,a,b,c); 4. 以下兩條if語句可合并成一條if語句為: if(a<=b) x=1; else y=2; if(a>b) printf(“****y=%d\n”,y); else printf(“####x=%d\n”,x); 5. 選擇合法的語句(設(shè)int x,a,b,c;): A) if(a=b) x++; B) if(a=b) x++; E) if(a

48、<=b<=c) x++; F) if(1) x++; 6. 設(shè)i,j,k均為 int 型變量,則執(zhí)行完下面的 for 循環(huán)后,i,j的值為: for(i=0,j=10;i<=j;i++,j--) k=i+j; 7. 下列程序段運(yùn)行后x的值是: k1=1;k2=2;k3=3;x=15; if(k1)x--; else if(k2)if(k3)x=3; else x=4; 8. 設(shè)a=1,b=2,c=3,執(zhí)行下列語句后,a,b,c分別是:① ② ③ ④ ①if(a>c);b=a;a=c;c=b;

49、 ②if(a>c)b=a;a=c;c=b;) ③if(a>c)b=a,a=c;c=b; ④if(a>b)a=b; if(b>c)b=c; else c=b;c=a; 9. 下列程序段的輸出結(jié)果是: s=7; while(--s);s-=2; printf(“%d”,s); 10. 從鍵盤上輸入 6,8后,該程序的運(yùn)行結(jié)果為: main ( ) {int m,n; printf("Enter m,n:"); scanf("%d%d",&m,&n); while(m!=n) {while(m>n)m-=n; while

50、(n>m)n-=m; } printf("m=%d\n",m); } 11.執(zhí)行下面程序段后,k值是 k=1; n=263; do{ k*=n%10; n/=10;} while(n); 三、閱讀下列程序,并且寫出其運(yùn)行結(jié)果。 1. 從鍵盤鍵入this is book!后,該程序的輸出結(jié)果是: #include main() { int i,ch,count=0; for(i=0;(ch=getchar())!='\n';i++) { if(ch==' ')

51、 { count=0; putchar(' '); } else if(count==0) { ch=ch-32; count=count+1; putchar(ch);} else putchar(ch); } } 2. 下面程序的運(yùn)行結(jié)果為 #include main() { int num=0; while(num<=2) { num++; printf("%d\n",num)

52、; } } 3. 下面程序的運(yùn)行結(jié)果為 main( ) { int i; for(i=1; ;i++) if(i%3==2&&i%5==3&&i%7==5) { printf(“%d\n”,i); break; } } 4. 執(zhí)行下面的程序后,a和b的值分別為: main() { int a,b; for(a=1,b=1;a<=100;a++) {if(b>=20) break; if(b%3=

53、=1) { b+=3; b-=5; } } printf("%d,%d",a,b);} 5. 下面程序的運(yùn)行結(jié)果為 main( ) { int i,j,x=0; for(i=0,i<2;i++) { x ++; for(j=0;j<3;j++) { if(j%2)continue; x++; } x++ } printf(“x=%d\n”,x); } 6. 下面程

54、序的運(yùn)行結(jié)果為 #include main() { int i; for(i=1;i<=5;i++) { if(i%2) printf("*"); else continue; printf("#"); } printf("$\n"); } 7. 下面程序的運(yùn)行結(jié)果為: main() { int i=1; while(i<=15) if(++i%3!=2) continue;

55、 else printf("%d ",i); printf("\n"); } 8. 下列程序的運(yùn)行結(jié)果是: #include main() { int a=10,y=0; do{ a+=2;y+=a; if(y>50)break; } while(a=14); printf(“%d,%d\n”,a,y); } 9. 下面程序的運(yùn)行結(jié)果為: main() { int i,j,k; char space=' '; for(i=0;i<=5;i++) { for(j

56、=1;j<=i;j++) printf("%c",space); for(k=0;k<=5;k++) printf("%c",'*'); printf("\n"); } } 10. 運(yùn)行以下程序后,如果從鍵盤上輸入china#《回車》,則輸出結(jié)果為 #include main( ) { int v1=0,v2=0; char ch ; while ((ch=getchar( ))!='#') switch (ch )

57、{ case 'a': case 'h': default:v1++; case '0':v2++; } printf("%d,%d\n",v1,v2); } 11. 從鍵盤輸入1234,則下列程序的運(yùn)行結(jié)果是 #include main() { int c; while((c=getchar())!='\n') switch(c-'2') { case 0:case 1:putchar(c+4); case 2: putchar

58、(c+4);break; case 3: putchar(c+3); default:putchar(c+2);break; } printf("\n"); } 12. 分析下列程序的輸出結(jié)果 main( ) { int x=1,y=1,z; while(y<10) ++y; x+=y; printf("%d %d\n",x,y); x=y=1; while(y<10) x+=++y; x=2; while(y<=10) {

59、 x=y++; z=++y; } printf("%d %d%d\n",x,y,z); for(y=2;(x=y)<10; y++) printf("%d%d\n",x,y); for(x=1,y=1000;y>2;x++,y/=10) printf("%d %d\n",x,y); } 四、完善程序題: 1.以下程序是判斷整數(shù)m能否被n整除,若能打印“YES”,否則打印“NO”。 main() {int m,n; scanf(“%d%d”,&m,&n); if(_________) printf(

60、“YES”); else printf(”NO”); } 2.用while 語句求1到100之和。 main( ) { int i,sum; sum=0;i=1; ________________ { sum=sum+i; printf("i=%2d,s=%2d\n",i,sum); ________; } } 3.求 #include main() { int p=1; float t=1,n,s=0; for(n=1;________;n+=2) { _______

61、___; s=s+t*p; p=-p; } printf("s=%10.6f\n",s); } 4.計(jì)算直角三角形的邊長。 main() {int a,b,c; for (c=3;c<=25;c++) for(_____________) if(____________) printf("A=%d,B=%d,C=%d\n",a,b,c); } 5.分析添充下列程序 main( ) { int x,y,z; for(x=1;x<=9;x+ +) for(y=0;y<=9;y+ +)

62、 { if(y==x) ___________; for(z=1;z<=9;z+ +) {if________________ contiue; if(x*100+y*10+z+z*100+y*10+x==1231) printf(“%d%d%d\n”,x,y,z); } } } 6.下列程序的功能是輸入一個正整數(shù),判斷是否是素?cái)?shù),若是素?cái)?shù)輸出1,否則輸出0,請為程序填空。 main() {int i,x

63、,y=1; scanf("%d",&x); for(i=2;i<=x/2;i++) if(x%i==0) {y=0;________} printf("%d\n",y); } 7.求100以內(nèi)的素?cái)?shù) main( ) { int m, n, i=0, prime; for(m=2; m<=100; m++) {__________; for(n=2; n

64、i++; if (i%5==0) printf("\n");} } if(i%5!=0) printf("\n"); } 8.從鍵盤上輸入一批整數(shù),求其最大值,以輸入-1為結(jié)束標(biāo)志。 main() {int i,max,x,n; scanf("%d",&x); max=x; while(________) {if(x>max)_________; _____________;} printf("max=%d\n",max);} 9.程序的功能是:計(jì)算1到10之間奇數(shù)之和及偶數(shù)之和,請?zhí)羁铡? #i

65、nclude main() { int a, b, c, i; a=c=0; for(i=0;i<=10;i+=2) { a+=i; ___________; c+=b; } printf("偶數(shù)之和=%d\n",a); printf("奇數(shù)之和=%d\n",c-11); } 10.以下程序用來判斷輸入的數(shù)f是否為素?cái)?shù)。當(dāng)f為素?cái)?shù)時,輸出字符串YES,否則輸出NO。請?zhí)羁?。程序中,變量ok用來標(biāo)志f是否是素?cái)?shù),ok的值為“真”表示是素?cái)?shù),否則不是素?cái)?shù)。 #include main( ) {int i,n,f;

66、 __________; printf("Enter a Number :"); scanf("%d",&f); ok=1;i=2;n=f/2; while(ok &&______ ) if(f%i) i=i+1; else ok=0; printf("f=%d",f); if (ok) printf(_________); else printf(________); } 11.以下程序用來求兩個正整數(shù)的最大公約數(shù)。 #include main( ) { int r,m,n; printf("Enter m,n :"); scanf("%d%d ",_________ ); r=m%n; while(____) { m=___; n=___; r=________;} printf("H.C.F=%d\n",n); } 12.下面程序的功能是:輸出100以內(nèi)能被3整除且個位數(shù)為6的所有整數(shù)。 #include main() { int i, j; fo

展開閱讀全文
溫馨提示:
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)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

相關(guān)資源

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

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

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


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