C語言程序設(shè)計(jì)模擬試題2(附答案)_第1頁
C語言程序設(shè)計(jì)模擬試題2(附答案)_第2頁
C語言程序設(shè)計(jì)模擬試題2(附答案)_第3頁
已閱讀5頁,還剩19頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡介

1、C語言程序設(shè)計(jì)模擬試卷二一、填空題。(每空 2分,共30分)1. 設(shè)有變量說明語句int x=1,y=2;則執(zhí)行下述pri ntf 語句的輸岀結(jié)果是1.000000。prin tf("%fn",1.0+x/y);2. 執(zhí)行下述程序#i nclude <stdio.h>mai n()int x,y;sca nf("%2d%*2s%1d", &x,&y);prin tf("%dn",x+y);若從鍵盤輸入12345671則程序的輸岀結(jié)果是 _17。3. 以下程序的功能是:從鍵盤上輸入若干名學(xué)生的成績(百分制,可

2、帶小數(shù),以輸入負(fù)數(shù)或結(jié)束標(biāo)志),統(tǒng)計(jì)并輸出最高成績和最低成績。請(qǐng)?zhí)羁铡?i nclude <stdio.h>mai n()float x,amax,am in;sca nf("%f', &x);amax=x;amin=x;while ( X>0&& X<=100)if (x>amax)amax=x;else if (x<am in)amin=x;scanf("%f ”,&x);prin tf("namax=%fnami n=%fn",amax,ami n);4. 設(shè)n是整型變量,

3、1111122 33 4且已具有某正整數(shù)值。根據(jù)下述數(shù)學(xué)式1 求s的值并輸岀。n n 1可編寫如下之程序段實(shí)現(xiàn)之。請(qǐng)?zhí)羁铡nt k;double s,d;s=0.0;d=1.0;K=0;dos=s+d;_k+;d=1.O/(k*(k+1); while (k<=n);prin tf("%fn",s);5. 執(zhí)行下述程序的輸岀結(jié)果是_-3 -4 0 4 4 3 #i nclued <stdio.h>mai n()int a6,i;for (i=0;i<6;i+)ai=9*(i-2+4*(i>3)%5;prin tf("%3d"

4、;,ai);prin tf("n “);6. 執(zhí)行下述程序時(shí)的輸岀結(jié)果是 6#i nclude <stdio.h>mai n()int a=2,4,6,*ptr=&a0,x=8,y, z;for (y=0;y<3;y+)z=(*(pt r+y)<x)?*(pt r+y):x; prin tf("%dn",z);7. 執(zhí)行下述程序的輸岀結(jié)果是_60_=。#i nclude <stdio.h>mai n()int a2=10,20,30,40,50,60,(*p)2;p=a;prin tf("%dn" ,

5、*(*(p+2)+1);8. 執(zhí)行以下程序的輸岀結(jié)果是_s=10。#i nclude <stdio.h>mai n()int s,i,sum();for (i=1;i<=10;i+)s=sum(i);prin tf("s=%dn",s);sum(i nt k)int x=0;return (x+=k);9. 下述函數(shù)定義用來求岀兩個(gè)整數(shù)之和,并通過函數(shù)的模擬傳地址調(diào)用,傳回兩整數(shù)相加之和值,請(qǐng)?zhí)羁?。void add(i nt x,i nt y,int *z_)*z=x+y;10. 函數(shù)func的功能是將整型變量 x的值轉(zhuǎn)換成二進(jìn)制數(shù),并將該二進(jìn)制數(shù)的每一位

6、存入由整型 指針b所指向的一維數(shù)組 a,最低位存放于a0中,次低位存放于 a1中,依此類推。請(qǐng)?zhí)羁铡oid fun c(i nt x,i nt *b)in t r;dor=x%2;*b+=r;x/=2; while (x);11. 以下程序中函數(shù)in vert實(shí)現(xiàn)將數(shù)組內(nèi)所有數(shù)組元素的值逆置。比如,執(zhí)行本程序?qū)⑤敵?0987654321請(qǐng)?zhí)羁铡?i nclude <stdio.h>mai n()int a10=1,2,3,4,5,6,7,8,9,10,i, n=10;in vert(a, n-1);for (i=0;i<10;i+)printf("%3d ” ,a

7、i);prin tf("n");in vert(i nt *s,i nt n um)int *t,k;t=s+num;while (t>=s)k=*s;*s=*t;*t=k;s+;t-;12. 若有以下定義和說明,則結(jié)構(gòu)體變量w在內(nèi)存中所占的字節(jié)數(shù)是_18_union aafloat x;float y;char c;;struct stunion aa v;float w5;double ave; w;13. 執(zhí)行下述程序的輸岀結(jié)果是_95,Li_一_。#i nclude <stdio.h>struct strfloat x;char *y; *m;st

8、ruct str group3=95.0,"Li",82.5, "Wa ng",73.5, "Su n"mai n()m=group;pri ntf("%.lf,%sn",m->x,m->y);14. 下面的程序用來統(tǒng)計(jì)某文件文件中字符的個(gè)數(shù)。請(qǐng)?zhí)羁铡?i nclude <stdio.h>#in clude <stdlib.h>mai n()FILE *fp;long n um=0;if (fp=fope n("fnam.dat","r")

9、+)=NULL) printf("Can't open this file!n"); exit(O);while (!)fgetc(fp);n um+;pr intf("n um=%dn", num); fclose(fp);15. 執(zhí)行下述程序后,輸岀結(jié)果為29#in clude <stdio.h> #define FUN1(a,b) a+b#defi ne FUN2(a,b) a-b#defi ne CAL(a,b) a*b+a+3 mai n()prin tf("%dn",CAL(FUN1(3,5),FUN2

10、(4,5);1、 B7、B13、A14、 D2、B8、A15、A16、A17、 B4、C6、D10、C18、A11、D12、D20 C19、B單項(xiàng)選擇題。(每題 1分,共20分)1 以下不是c語言規(guī)定保留字的是( B )(D) un sig nedB )(D)3(A) float(B)i nteger(C)sig ned2. 設(shè)int型變量x有初始值3,則表達(dá)式x+*5/10的值是(A)0(B)1(C)23. 下述程序執(zhí)行后的輸岀結(jié)果是( A )# include <stdio.h>mai n()int x='f'prin tf("%cn",&#

11、39;a'+(x-'a'+1);(D)j(A)g(B)h(C)i4. 設(shè)有程序#in clude <stdio.h> mai n()int i,j;for (i=0,j=1;i<=j+1;i+=2,j-)prin tf("%dn",i);在運(yùn)行上述程序時(shí),for語句中循環(huán)體的執(zhí)行次數(shù)是 ( C(A)3(B)2(C)1(D)05. 在下述選項(xiàng)時(shí),沒有構(gòu)成死循環(huán)的程序是( C )(A)i nt i=100while (1) i=i%100+1;if (i>100)break;(B) for (;);(C) i nt k=1000;

12、do+k;while (k>=10000);(D) int s=36;while (s);-s;6. 假定a和b為int型變量,則執(zhí)行下述語句組后,b的值為(D)a=1;b=10;dob-=a;Aa+; while (b-<0);(A)9(B)-2(C)-1(D)87. 設(shè)有變量說明語句int a=1,b=0;則執(zhí)行以下程序段的輸岀結(jié)果為( B )。switch (a)case 1:switch (b)case O:prin tf("*0*");break;case 1:prin tf("*1*");break;case 2:pri ntf(

13、"*2*");break;prin tf("n");(A)*0*(B)*0*2*(C)*0*1*2*(D)有語法錯(cuò)誤8.以下合法的數(shù)組說明是(A)。(A)ehar a7="stri ng"(B)i nt a5=0,1,2,3,4,5;(C)ehar a="stri ng"(D)INT a=0,12,3,4,5;9.下述程序代碼中有語法錯(cuò)誤的行是(D)。int i,ia10,ib10;/*第1行*/for (i=0;i<=9;i+)/*第2行*/iai=0;/*第3行*/ib=ia;/第4行*/(A)第1行(B

14、)第2行(C)第3行(D)第4行10.若已定義int a9,*p=a;并在以后的語句中未改變p的值,則不能表示a1地址的表達(dá)式是( C )(A)p+1(B)a+111. 若有下述說明和語句(C)a+(D)+pint *pp,*p,a=10,b=20;pp=&P;P=&a;p=&b;prin tf("%d,%dn",*p,*pp);則輸岀結(jié)果是(D )(A)10,10(B)10,20(C)20,10(D)20,2012. 執(zhí)行下述程序后的輸岀結(jié)果是(D )#in elude <stdio.h>fun e(i nt a)int b=0;a=e

15、+,b+;return (a);mai n() int a=2,i,k;for i=0;i<2;i+)k=fu nc(a+);prin tf("%dn",k);(A)3(B)0(C)5(D)413. 執(zhí)行下述程序的輸岀結(jié)果是 (A )。#i nclude <stdio.h>mai n()int aa33=2,4,6;int i,*p=&aa00;for (i=0;i<2;i+)if (i=0)aaii+1=*p+1;else+p;prin tf("%d",*p);prin tf("n");(A)23(B

16、)26(C)33(D)3614. 讀下面的程序,正確的輸岀結(jié)果是( D )#in clude <stdio.h>void f1(i nt a)prin tf("%d,",a+=1O);void f2(void)prin tf("%d,",a+=3);void mai n()int a=10;f1(a);f2();prin tf("%dn",a);(D)20,53,10(A)60,63,60(B)20,23,23(C)20,13,1015. 執(zhí)行下述程序的輸岀結(jié)果是( A ) o#i nclude <stdio.h&g

17、t;int power(i nt x,i nt y);mai n()float a=2.6,b=3.4;int p;p=power(i nt)a,(i nt)b);prin tf("%dn",p);int power(i nt x,i nt y)for (i=y;i>0;i-)p=p*x;return (p);(C)27(D)81(A)8(B)916. 已知函數(shù)scopy的定義如下void scopy(char *s,char *t)while (*s+=*t+);則該函數(shù)的功能是(A )(A)串復(fù)制(B)求串長度(C)串比較(D)串反向17. 執(zhí)行下述程序的輸岀是(

18、 B )#i nclude <stdio.h>void mai n()struct complexint re;int im;struct complex cp3=2,5,4,7;cp2.re=cp0.re+cp1.re;cp2.im=cp0.im+cp1.im;prin tf("%d %dn",cp2.re,cp2.im);(D)12 6(A)7 11(B)6 12(C)9 918. 執(zhí)行下述程序的輸岀結(jié)果是( A )#in clude <stdio.h>mai n()unionint k;char i2;*s,a;s=&a;s->i

19、0=0x39;s->i1=0x38;prin tf("%xn",s->k);(D)390038(A)cccc3839(B)3938(C)38003919. 有以下程序,則結(jié)果為_B。struct abc int a, b, c; ;mai n() struct abc s2=1,2,3,4,5,6;int t;t=s0.a+s1.b;printf( “%dn” ,t);A) 5B) 6C) 7D) 820. 以下程序for語句循環(huán)體中printf語句執(zhí)行次數(shù)是( C#i nclude <stdio.h>#defi ne N 2#defi ne M N

20、+1#defi ne NUM (M+1)*M/2mai n()for (i=1;i<=NUM;i+)prin tf("%dn" ,i);(C)8(D)9(A)5(B)6三、程序分析題(每題5分,共30分)1. 閱讀程序,寫岀執(zhí)行該程序的輸岀結(jié)果。#in elude <stdio.h>mai n()char s="press a key."int i;char ch;for (i=0;(ch=si)!='0'i+)switch (ch)case 'p':case 'a': case '

21、;k':putchar(ch-32);c on ti nue;case ' ':putchar('*');break;case '.':putchar('!');break;default :putchar(ch);c ontin ue;putchar('n');Press*A*Key!2. 閱讀程序,寫岀執(zhí)行該程序的輸岀結(jié)果。#in clude <stdio.h>#defi ne N 5mai n()int i,j;int aNN;for (i=O;i<N;i+)for (j=0;j&l

22、t;N;j+)if (i>=j)aij=1;elseaij=aij-1+1;for (i=0;j<N;j+)for (j=0;j<N;j+)prin tf("%3d",aij);prin tf("n “);不輸出任何結(jié)果3. 閱讀程序,寫岀執(zhí)行該程序的輸岀結(jié)果#i nclude <stdio.h>mai n()int m5, n 5,*px,*py,k;px=m;py=n;for (k=1;k<4;k+,px+,py+)*px=k;*py=2*k;prin tf("%d,%d",mk-1, n k-1);pr

23、i ntf("n");px=&m1; py=&n 1;for (k=1;k<3;k+)*px+=k;*py*=k;prin tf("%d,%d,",*px+,*py+);prin tf("n “);1,22,43,63,4 , 4,8 ,4. 閱讀程序,寫岀執(zhí)行該程序的輸岀結(jié)果。#i nclude <stdio.h>void f(i nt y)static int i=5;int j=3;j+;prin tf("%d%d%d=%dn",i,j,y,i+j+y); i*=2;void mai

24、n()int x;for (x=1;x<+3;+x)f(x);541=101042=115. 閱讀下列程序,寫岀程序運(yùn)行的輸岀結(jié)果。#in clude <stdio.h>void mai n() char a20="1A2B3C",b20,*p1,*p2; p1=a,p2=b;doif (!(*p1>='0 &&*p1<='9')*p2=*p1;p2+;*p2=*p1;else*p2=*p1;p1+,p2+;while(*p 仁'0');*p2=*p1;printf(“ %sn"

25、,b);16. 閱讀下列程序,寫岀程序的主要功能mai n()int n, I;prin tf("nplease in put a n umber: n");sca nf("%d", &n);prin tf("%d=", n);for(i=2,i<=n ,i+ )while(n != i)if(n % i = 0)prin tf("%d*", i);n = n / i;elsebreak;prin tf("%d", n);將整數(shù)n表示為其所有質(zhì)因子乘積四、程序設(shè)計(jì)題(每小題10分,

26、共20分)1、編寫.程序求1、2、3、4個(gè)數(shù)字能組成多少個(gè)互不相同且無重復(fù)數(shù)字的三位數(shù)?都是多少?。#i nclude<stdio.h>Void mai n()Int i,j,k,m=0;For(i=1;i<=4;i+)For(j=1;j<=4;j+)For(k=1;k<=4;k+)While(i!=j&&j匸k&&k!=i)Printf(“%5d ,100*i+10*j+k);m+;Printf(“ n”);Printf("所有不重復(fù)的三位數(shù)個(gè)數(shù)為:%d ,m);Printf(“ n”);2、 有一對(duì)兔子,從岀生后第3個(gè)月起每個(gè)月都生一對(duì)兔子,小兔子長到第三個(gè)月后每個(gè)月又生一對(duì)兔子,假如兔子都不死,問每個(gè)月的兔子總數(shù)為多少?#i nclude<stdio.h>Int fani o(i nt n)lf(n=1)Retur n 1;Else if(n=2)Retur n 1;ElseReturn fanio(n-1)+fanio(n-2);Void mia n()In t i, n;Printf(“請(qǐng)輸入月份上限n ”);Scanf( “ %d,&n);Printf(“所有月份的兔子總數(shù)n ”);Fo

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

評(píng)論

0/150

提交評(píng)論