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

下載本文檔

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

文檔簡介

《C語言程序設(shè)計》模擬試卷二一、填空題。(每空2分,共30分).設(shè)有變量說明語句intx=l,y=2;則執(zhí)行下述printf語句的輸出結(jié)果是oprintf(z,%f\nz,,1.0+x/y);.執(zhí)行下述程序#include<stdio.h>main()intx,y;scanfC%2d%*2s%ldz,,&x,&y);printf(〃%d\n〃,x+y);}若從鍵盤輸入12345671則程序的輸出結(jié)果是o.以下程序的功能是:從鍵盤上輸入若干名學(xué)生的成績(百分制,可帶小數(shù),以輸入負數(shù)或0為結(jié)束標志),統(tǒng)計并輸出最高成績和最低成績。請?zhí)羁铡include<stdio.h>main()(floatx,amax,amin;scanf&x);amax=x;amin=x;while()(if(x>amax)amax=x;elseif(x<amin)amin=x;scanf(〃%f‘,&x);printf(zz\namax=%f\namin=%f\nz,,amax,amin);inta=2,i,k;for(i=0;i<2;i++)k=func(a++);printf(〃%d\n〃,k);}(A)3(B)0(C)5(D)4.執(zhí)行下述程序的輸出結(jié)果是()。ttinclude<stdio.h>main()(intaa[3][3]={{2},{4},{6}};inti,*p=&aa[0][0];for(i=0;i<2;i++)(if(i==0)a.a[i][i+l]=*p+l;else++p;printf(〃%d〃,*p);printf(〃\n〃);)(A)23(B)26(C)33(D)36.讀下面的程序,正確的輸出結(jié)果是()ottinclude<stdio.h>staticinta=50;voidfl(inta)printf(,z%d,z,,a+=10);voidf2(void)printf(〃%d,〃,a+二3);)voidmain(){inta=10;fl(a);f2();printf(級d\n〃,a);)(D)20,53,10(A)60,63,60(B)20,23,23(C)20,13,10.執(zhí)行下述程序的輸出結(jié)果是()o(D)20,53,10ttinclude<stdio.h>intpower(intx,inty);main(){floata=2.6,b=3.4;intp;p=power((int)a,(int)b);printf(〃%d\n〃,p);}intpower(intx,inty)(inti,p=l;for(i=y;i〉0;i--)p=p*x;return(p);(A)8(B)9(027(D)81.已知函數(shù)scopy的定義如下voidscopy(char*s,char*t)while(*s++=*t++);)則該函數(shù)的功能是()o(A)串復(fù)制(B)求串長度(A)串復(fù)制(B)求串長度(C)串比較(D)串反向.執(zhí)行下述程序的輸出是()o^include<stdio.h>voidmain()(structcomplex(intre;intim;structcomplexcp[3]={2,5,4,7};cp[2],re=cp[O].re+cp[l].re;cp[2].im=cp[O].im+cp[l].im;printf(〃%d%d\n〃,cp[2].re,cp[2].im);(A)711(B)612(C)99(D)126.執(zhí)行下述程序的輸出結(jié)果是()ottinclude<stdio.h>main()!union

chari[2];}*s,a;s=&a;s->i[0]=0x39;s->i[l]=0x38;printf(z,%x\n/?,s->k);)(A)cccc3839(B)3938(C)380039(D)390038.有以下程序,則結(jié)果為ostructabc{inta,b,c;};main(){structabcs[2]={{1,2,3},{4,5,6}};intt;t=s[O].a+s[1].b;printf(\n”,t);)A)5B)6C)7D)8.以下程序for語句循環(huán)體中printf語句執(zhí)行次數(shù)是()。#include<stdio.h>#defineN2ttdefineMN+l#defineNUM(M+l)*M/2main()(inti;for(i=l;i〈=NUM;i++)printf(〃%d\n〃,i);(A)5(B)6(C)8(D)9三、程序分析題(每題5分,共30分).閱讀程序,寫出執(zhí)行該程序的輸出結(jié)果。#include<stdio.h>main()(chars口=“pressakey.z,;inti;charch;for(i=0;(ch=s[i])!=,\Q9;i++)(switch(ch)(case'p’:case'a’:case'k':putchar(ch-32);continue;case'':putchar('*');break;case'.':putcharC!');break;default:putchar(ch);continue;)putchar\n,);)}.閱讀程序,寫出執(zhí)行該程序的輸出結(jié)果。#include<stdio.h>#defineN5main()(inti,j;inta[N][N];for(i=0;i<N;i++)for(j=0;j<N;j++)if(i>=j)a[i][j]=l;elsea[i][j]=a[i]Lj-1]+1;for(i=0;j<N;j++)(for(j=0;j<N;j++)printf("%3d〃,a[i][j]);printf(〃\n〃);}}3.閱讀程序,寫出執(zhí)行該程序的輸出結(jié)果#include<stdio.h>main()(intm[5],n[5],*px,*py,k;px=m;py=n;for(k=l;k〈4;k++,px++,py++)(*px=k;*py=2*k;printf("%d,%d",m[k-l],n[k-l]);)printf(〃\n〃);px=&m[l];py=&n[l];for(k=l;k<3;k++){*px+=k;*py*二k;printf(zz%d,%d,z,,*px++,*py++);.閱讀程序,寫出執(zhí)行該程序的輸出結(jié)果。ttinclude<stdio.h>voidf(inty)(staticinti=5;intj=3;j++;printf(z,%d%d%d=%d\n,z,i,j,y,i+j+y);i*二2;}voidmain()(intx;for(x=l;x<+3;++x)f(x);).閱讀下列程序,寫出程序運行的輸出結(jié)果。ttinclude<stdio.h>voidmain(){chara[20]={〃lA2B3C〃},b[20],*pl,*p2;pl=a,p2=b;do{if(!(*pl>='\0'&&*pl〈二'9')){*p2=*pl;p2++;*p2=*pl;)else*p2=*pl;pl++,p2++;}while(*pl='\0');*p2=*pl;printf(〃%s\n〃,b);}6.閱讀下列程序,寫出程序的主要功能。main()(intn,I;printf(,z\npleaseinputanumber:\n,z);scanf(〃%d〃,&n);printf(,z%d=z,,n);for(i=2,i<=n,i)(while(n!=i)(if(n%i==0)(printfi);n=n/i;}elsebreak;}!printf(〃%d〃,n);)四、程序設(shè)計題(每小題10分,共20分)1、編寫.程序求1、2、3、4個數(shù)字能組成多少個互不相同且無重復(fù)數(shù)字的三位數(shù)?都是多少?。2、有一對兔子,從出生后第3個月起每個月都生一對兔子,小兔子長到第三個月后每個月又生一對兔子,假如兔子都不死,問每個月的兔子總數(shù)為多少?試卷二參考答案一、填空題。1.000000TOC\o"1-5"\h\z17x!=0&&x<100&&x>0k++-3-40443660s=10int*z*(b++)t>s1895,Li!feof(fp)29二、單項選擇題。1、B2、B3、A4、C5、C6、D7、B8、A9、D10、c11、D12、D13、A14、D15、A16、A17、B18、A19、B20、C三、程序分析題1>PressAKey!2、無任何輸出結(jié)果。1,22,43,64,5,12,541=101042=165、16、求一個正整數(shù)分解質(zhì)因數(shù)。四、程序設(shè)計題1、#include"stdio.h"main()(inti,j,k;printf(n\nn);for(i=l;i<5;i++)/*以下為三重循環(huán)*/for(j=l;j<5;j++)for(k=l;k<5;k++)if(i!=k&&i!=j&&j!=k)/*確保i、j、k三位互不相同*/printfC^d,%d,%d\nn,i,j,k);.設(shè)n是整型變量,且已具有某正整數(shù)值。根據(jù)下述數(shù)學(xué)式11(-???-!求s的值并輸出。22334nn+1可編寫如下之程序段實現(xiàn)之。請?zhí)羁?。intk;doubles,d;s=0.0;d=l.0;K=0;do]s=s+d;d=l.0/(k*(k+l));}while(k<=n);printf(〃%f\n〃,s);,執(zhí)行下述程序的輸出結(jié)果是ottinclued<stdio.h>main()(inta[6],i;for(i=0;i<6;i++)(a[i]=9*(i-2+4*(i>3))%5;printf("%3d〃,a[i]);}printf(〃\n〃);!.執(zhí)行下述程序時的輸出結(jié)果是#include<stdio.h>main()(inta[]={2,4,6,},*ptr=&a[0],x=8,y,z;for(y=0;y<3;y++)z=(*(ptr+y)<x)?*(ptr+y):x;2、#include"stdio.h"main()longfl,f2;intI;fl=f2=1;for(i=1;i<=20;i++)(printfC'%ld%ldH,fl,f2);if(i%2==0)printf(n\nH);/*控制輸出,每行四個*/fl=fl+f2;/*前兩個月加起來賦值給第三個月*/f2=fl+f2;/*前兩個月加起來賦值給第三個月*/.執(zhí)行下述程序的輸出結(jié)果是。#include<stdio.h>main()(inta[][2]={10,20,30,40,50,60},(*p)[2];P=a;printf(〃%d\n〃,*(*(p+2)+1));},執(zhí)行以下程序的輸出結(jié)果是o#include<stdio.h>main()(ints,i,sum();for(i=l;i<=10;i++)s=sum(i);printf(〃s=%d\n〃,s);)sum(intk)!intx=0;return(x+二k);).下述函數(shù)定義用來求出兩個整數(shù)之和,并通過函數(shù)的模擬傳地址調(diào)用,傳回兩整數(shù)相加之和值,請?zhí)羁?。voidadd(intx,inty,)(*z=x+y;)10.函數(shù)func的功能是將整型變量x的值轉(zhuǎn)換成二進制數(shù),并將該二進制數(shù)的每一位存入由整型指針b所指向的一維數(shù)組a,最低位存放于a[0]中,次低位存放于中,依此類推。請?zhí)羁?。voidfunc(intx,int*b)(intr;r=x%2;=r;x/=2;}while(x);)IL以下程序中函數(shù)invert實現(xiàn)將數(shù)組內(nèi)所有數(shù)組元素的值逆置。比如,執(zhí)行本程序?qū)⑤敵?include<stdio.h>main()(inta[10]={l,2,3,4,5,6,7,8,9,10},i,n=10;invert(a,n-1);for(i=0;i<10;i++)printf,a[i]);printf(〃\n〃);}invert(int*s,intnum)(int*t,k;t=s+num;while()(k二*s;*s=*t;*t=k;s++;t—;)).若有以下定義和說明,則結(jié)構(gòu)體變量w在內(nèi)存中所占的字節(jié)數(shù)是unionaafloatx;floaty;charc[6];);structst(unionaav;floatw[5];doubleave;}w;.執(zhí)行下述程序的輸出結(jié)果是。^include<stdio.h>structstr(floatx;char*y;}*m;structstrgroup[3]={95.0,〃Li〃,82.5,"Wang",73.5,〃Sun〃);main()(m=group;printf(〃%,If,%s\n,z,m->x,m->y);).下面的程序用來統(tǒng)計某文件文件中字符的個數(shù)。請?zhí)羁铡tinclude<stdio.h>ttinclude<stdlib.h>FILE*fp;longnum=0;if((fp=fopen(^fnam.dat〃,〃r〃))=二NULL)(printf(,zCan,topenthisfile!\n〃);exit(0);}while(){fgetc(fp);num++;)printf("num二%d\n〃,num);fclose(fp);).執(zhí)行下述程序后,輸出結(jié)果為ottinclude<stdio.h>#defineFUN1(a,b)a+bftdefineFUN2(a,b)a-b#defineCAL(a,b)a*b+a+3main()(printf(級d\n〃,CAL(FUN1(3,5),FUN2(4,5)));二、單項選擇題。(每題1分,共20分).以下不是c語言規(guī)定保留字的是()。(A)float(B)integer(C)signed(D)unsigned.設(shè)int型變量x有初始值3,則表達式x++*5/10的值是().下述程序執(zhí)行后的輸出結(jié)果是(#include<stdio.h>main()(intx=,f';printf(〃%c\n〃,'a'+(x-,a'+1));(A)g(B)h(C)i(D)j.設(shè)有程序ttinclude<stdio.h>main()(inti,j;for(i=0,j=l;i<=j+l;i+=2,j-)

printfi);)TOC\o"1-5"\h\z在運行上述程序時,for語句中循環(huán)體的執(zhí)行次數(shù)是()(A)3(B)2(C)l(D)0.在下述選項時,沒有構(gòu)成死循環(huán)的程序是()(A)inti=100while(1)i=i%100+l;if(i>100)break;(B)for;(C)intk=1000;++k;}while(k>=10000);(D)ints=36;while(s);-s;6,假定a和b為int型變量,則執(zhí)行下述語句組后,b的值為(a=1;b=10;do(b-=a;)oa++;}while(b--<0);(A)9(B)-2(0-17.設(shè)有變量說明語句inta=l,b=0;則執(zhí)行以下程序段的輸出結(jié)果為(switch(a)(case1:switch(D)8)o(b)case0:printf(〃**0**〃);breakcase1:printf(〃**1**〃);breakcase2:prin

溫馨提示

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

評論

0/150

提交評論