大一下學(xué)期計算機題庫_第1頁
大一下學(xué)期計算機題庫_第2頁
大一下學(xué)期計算機題庫_第3頁
大一下學(xué)期計算機題庫_第4頁
大一下學(xué)期計算機題庫_第5頁
已閱讀5頁,還剩41頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

教材:習(xí)題10一、選擇題要調(diào)用數(shù)學(xué)處理函數(shù)時,在#include命令行中應(yīng)包含(C)。''stdio.h''B.‘'string.h''C.‘'math.h''D.‘'ctype.h''對于以下遞歸函數(shù)f,調(diào)用f(4),其返回值為(A)。intf(intn){if(n)returnf(n-1)+n;elsereturnn;}A.10B.4C.0D.以上都不是2.執(zhí)行下列程序:#defineMA(x,y)(x*y)i=5;i=MA(i,i+1)-7;變量i的值應(yīng)為(B)。A.30B.19C.23D.1宏定義"#defineDIV(a,b)a/b"經(jīng)DIV(x+5,y-5)引用,替換展開后是(A)。A.x+5/y-5B.(x+y/y-5)C.(x+5)/(y-5)D.(x+5)/(y-5);定義帶參數(shù)的宏“#defineJH(a,b,t)t=a;a=b;b=”,對兩個參數(shù)a、b的值進行交換,下列表述中正確的是(C)。A.不定義參數(shù)a和b將導(dǎo)致編譯錯誤B.不定義參數(shù)a、b、t將導(dǎo)致編譯錯誤C.不定義參數(shù)t將導(dǎo)致編譯錯誤D.不必定義參數(shù)a、b、t類型執(zhí)行下面程序,正確的輸出是(A)。Intx=5,y=7;voidswap(){intz;z=x;x=y;y=z;}intmain(void){intx=3,y=8;swap();printf("%d,%d\n",x,y);}A.3,8B.8,3C.5,7D.7,5下面說法中正確的是(A)。若全局變量僅在單個C文件中訪問,則可以將這個變量修改為靜態(tài)全局變量,以降低模塊間的耦合度若全局變量僅由單個函數(shù)訪問,則可以將這個變量改為該函數(shù)的靜態(tài)局部變量,以降低模塊間的耦合度設(shè)計和使用訪問動態(tài)全局變量、靜態(tài)全局變量、靜態(tài)局部變量的函數(shù)時,需要考慮變量生命周期問題靜態(tài)全局變量使用過多,可那會導(dǎo)致動態(tài)存儲區(qū)(堆棧)溢出、填空題C語言的編譯預(yù)處理功能主要包扌舌條件編譯、宏定義和文件包含執(zhí)行完下列語句段后,i值為5。inti;intf(intx){return((x>0)?f(x-1)+f(x-2):1);}i=f(3);下列程序段A與B功能等價,請?zhí)顚懗绦蚨蜝中相應(yīng)的語句。程序段A:intf(intn){if(n<=1)returnn;Elsereturnf(n-1)+f(n-2);}程序B:Intf(intn){intt,tO,t1;t0=0;t1=1;t=n;while(n>1){t=tO;tO=t1;t1=t;n--;}returnt;}下面程序用于計算f(k,n)=1Ak+2Ak+...+nAk,其中power(m,n)求m^n。請?zhí)顚懗绦蛑邢鄳?yīng)語句#include<stdio.h>intpower(intm,intn){inti;intp=1;for(i=1;i<=n;i++)intp=pm;returnp;}intf(intk,intn){inti;ints=0:for(i=1;i<=n;i++)

s=s+power(i,k);returns;}intmain(void){intk,n;scanf("%d%d",&k,&n);printf("f(%d,%d)=%ld",k,n,f(k,n));return0;}下列遞歸程序的輸出結(jié)果為。#include<stdio.h>intfib(intg){switch(g){case0:return0;case1:case2:return2;}printf("g=%d,",g);returnfib(g-1)+fib(g-2);}intmain(void){intk;k=fib(4);printf("k=%ld\n",k);return0;}下列語句的運算結(jié)果為。#defineF(x)x-2#defineD(x)x*F(x)printf("%d,%d",D(3),D(D(3)));第6章數(shù)據(jù)類型和表達式一、選擇題1、C語言中最簡單的數(shù)據(jù)類型包括(B)。A、整型、實型、邏輯型B、整型、實型、字符型C、整型、字符型、邏輯型D、整型、實型、邏輯型、字符型2、下列選項中,值為1的表達式是(B)。A、1-‘0'BA、1-‘0'B、1-‘\0'C、'1‘-0D、'\0'-‘0'3、下列程序的輸出結(jié)果是(D)Intmain(void){Intk=11;Printf(“k=%d,k=%o,k=%x\n”,k,k,k);Return0;}A、k=11,k=12,k=11B、k=11,k=13,k=13C、k=11,k=013,k=0xbD、k=11,k=13,k=b4、設(shè)有定義"inta=1,b=2,c=3,d=4,m=2,n=2;",則執(zhí)行表達式"(m二a>b)&&(n=c>d)"后,n的值為(B)oA、1B、2C、3D、05、以下選項中,非法的字符常量是(C)oA、‘t'B、'\65'C、“n”D、‘\t'7、設(shè)變量x為float型且已賦值,貝9以下語句中能將x中的數(shù)值保留到小數(shù)點后兩位,并將第三位四舍五入的是(C)oA、x=x*100+0.5/100.0;B、x=(x*100+0.5)/100.0;C、x=(int)(x*100+0.5)/100.0;D、x=(x/100+0.5)*100.0;9、已有定義“intx=3,y=4,z=5;“,則表達式”!(x+y)+z-1&&y+z/2“的值是(D)A、6B、0C、2D、110、已知字符“A“的ASCII代碼值是65,字符變量cl的值是”A“,c2的值是”D“。執(zhí)行語句”printf(“%d,%d”,c1,c2-2);“后,輸出結(jié)果是(C)A、A,BB、A,68C、65,66D、65,6811、在以下一組運算符中,優(yōu)先級最高的運算符是(C)A、<=B、=C、%D、&&12、若有定義“charc1='b',c2='e';:則語句”printf(“%d,%c\n”,c2-c1,c2-‘a(chǎn)'+'A');“的輸出結(jié)果是(B)。A、2,MB、3,EC、2,ED、格式控制不一致,結(jié)果不確定13、若有定義“chara;intb;floatc;doubled;",則表達式a*b+d-c值的類型為(D)。A、floatB、intC、charD、double二、填空題1、已定義“charc='‘;inta=1,b;"(c為空格字符),執(zhí)行"b二!c&&a;"后b的值為(0)。2、若變量s為int型,且其值大于0,則表達式s%2+(s+1)%2的值為(1)。3、假定x和y為double型,則表達式x=2,y=x+3/2的值為(3.000000)。5、設(shè)有“intw二'A',x=14,y=15;",則執(zhí)行"w=((x||y)&&(w<'a'));“后w的值為(1)。7、下列程序的輸出結(jié)果是(004)。Intmain(viod){inta=-1,b=4,k;K=(++a<0)&&!(b--<=0);Printf(“%d%d%d\n",k,a,b);Return0;}8、下列程序的運行結(jié)果是(m=4k=4i=5k=5)。Intk=0;Voidfun(intm){m+=k;k+=m;printf(“m=%dk=%d”,m,k++);}Intmain(void){inti=4;Fun(i++);printf(“i=%dk=%d\n”,I,k);Return0;}13、設(shè)有定義floatx=123.4567;則執(zhí)行”printf(“%f\n”,(int)(x*100+0.5)/100.0);”語句后的輸出結(jié)果是(123.460000)。14、以下程序的輸出結(jié)果是(252137)。Intmain(void){inta,b,c;a=25;b=025;c=0x25;printf(“%d%d%d\n”,a,b,c);return0;}15、下列程序運行時如果從鍵盤上輸入“ABCdef<回車〉“,則輸出結(jié)果是(abcDEF)。Intmain(void){charch;While((ch=getchar())!='\n'){if(ch>='A'&&ch<='Z')ch=ch+32;Elseif(ch>='a'&&ch<='z')ch=ch-32;Printf(“%c”,ch);}Printf(“\n”);Return0;}題庫整理一、選擇題執(zhí)行下面的程序之后變量a的值為__A__intmain(void){inta,b;for(a=1,b=1;a<=100;a++){if(b>10)break;if(b%3==1){b+=3;continue;}b-=3;}return0;}A.5B.6C.7D.8下列程序段的輸出結(jié)果是___B___intmain(void){inti,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);D.x=12return0;}D.x=12A.x=4B.x=8C.x=6以下程序段的輸出結(jié)果是___A___intmain(void){inti=0,s=0;do{if(j%2){i++;continue;}i++;s+=i;}while(i<7);printf("%d\n",s);return0;}

A.16B.12C.28D.21A.16B.12C.28D.21以下程序段的輸出結(jié)果是___A___for(inti=1;i<=5;i++){if(i%2)printf("<");elsecontinue;printf(">");}printf("$");A.<><><>$B.<<<$C..<><>$D.<<<>>>$8?若ij已定以為int類型,貝【J在以下程序段中內(nèi)循環(huán)體的總的執(zhí)行次數(shù)是___A___for(i=5;i;i--)for(j=0;j<4;j++){...}A.20B.25C.24D.30以下程序段的輸出結(jié)果是___B___inti,j;for(j=10;j<11;j++)for(i=9;i==j-1;i++)printf("%d",j);A.11B.10C.9D.1011以下程序段的輸出結(jié)果是___B___intx=23;do{printf("%d",x--);}while(!x);A.321B.23C.22D.死循環(huán)在下列給出的表達式中,與while(E)中的(E)不等價的表達式是___C___A.(!E==0)B.(E>0||E<0)C.(E==0)D.(E!=0)若變量已正確定義,要求程序段完成求5!的計算,以下不能完成此操作的是___B___for(i=1,p=1;i<=5;i++)p*=i;for(i=1;i<=5;i++){p=1;p*=i;}i=1;p=1;while(i<=5){p*=i;i++;}i=1;p=1;do{p*=i;i++;}while(i<=5);二、填空題以下程序的功能是:鍵盤上輸入若干個學(xué)生的成績,統(tǒng)計并輸出最高成績和最低成績,當(dāng)輸入負(fù)數(shù)時結(jié)束輸入,請在劃線處填空。intmain(void){floatx,amax,amin;scanf("%f",&x);amax=x;amin=x;

while(___x>=0___){if(x>amax)amax=x;if(___x<amin)amin=x;scanf("%f",&x);}printf("\namax=%f\namin=%f\n",amax,amin);return0;}以下程序運行后的輸出結(jié)果是___52inti=10,j=0;do{j=j+i;i--;}while(i>2);8921printf("%d\n",j);8921以下程序運行后從鍵盤上輸入1298,則輸出結(jié)果為intmain(void){intn1,n2;scanf("%d",&n2);while(n2!=0){n1=n2%10;n2=n2/10;printf("%d",n1);}

return0;}有下列程序段,且變量已正確定義和賦值。for(s=1.0,k=1;k<=n;k++)s=s+1.0/(k*(k+1));printf("s=%f\n\n",s);完成下面程序段的填空,使該程序段的功能與上述完全相同s=1.0;k=1;while(__k<=n_){s=s+1.0/(k*(k+1));k++;}printf("s=%f\n\n",s);7.下面程序的功能是輸出以下形式的金字塔圖案。7.下面程序的功能是輸出以下形式的金字塔圖案。請?zhí)羁铡?********intmain(void)inti,j;for(i=1;i<=4;i++){for(j=1;j<=4-i;j++)printf("");for(j=1;j<=__2*i-1___;j++)printf("*");___printf(_"\n");}return0;}18下面程序段的功能是:輸出100以內(nèi)能被3整除且個位數(shù)為6的所有整數(shù)。請?zhí)羁?。inti,j;for(i=0;___i<10;i++){j=i*10+6;If(__j%3!=0)continue;printf("%d",j);}11.下列程序求Sn=a+aa+aaa+...+aa...aa(n個a)的值,其中a是一個數(shù)字。例如若a=2,n=5時,Sn=2+22+222+2222+22222其值應(yīng)為24690。請?zhí)羁?。intmain(void){inta,n,count=1,sn=0,tn=0;printf(''請輸入a和n:\n'');scanf("%d%d",&a,&n);while(count<=n){___tn=tn+a___;sn=sn+tn;___tn=tn*10;count++;}printf(''結(jié)果二%d\n'',sn);return0;}運行下面程序時,從鍵盤上輸入“HELLO#”,輸出結(jié)果是_LIPPSintmain(void){charch;while((ch=getchar())!='#'){if(ch>='A'&&ch<='Z'){ch=ch+4;if(ch>'Z')ch+='A'-'Z';}putchar(ch);}return0;}下面程序的功能是計算1至10之間的奇數(shù)之和及偶數(shù)之和。請?zhí)羁?。intmain(void){inta,b,c,i;a=c=0;for(i=0;i<=10;i+=2){a+=i;第2章用C語言編寫程序一,選擇題1?C語言中,運算對象必須是整型數(shù)的運算符(A)。%B?\匚%和\D./以下能正確地定義整型變量a,b和c并為它們賦初值5的語句是(D)。A.inta=b=c=5;B.inta,b,c=5;C.a=5,b=5,c=5;D.inta=5,b=5,c=5;3?如下程序的執(zhí)行結(jié)果是(C)。intmain(void){inti,sum=0;for(i=1;i<=3;sum++)sum+=i;printf("%d\n",sum);A.a=20,b=10,c=20A.a=20,b=10,c=20B.a=30,b=10,c=20A.a=20,b=10,c=20A.a=20,b=10,c=20B.a=30,b=10,c=20return0;A.6B.3return0;A.6B.3}C.死循環(huán)D.0下列兩條語句"intc1=1,c2=2,c3=1?0/c2*c1;”執(zhí)行后變量c3的值是(A)。A.0B.0.5C.1D.25?下列條件語句中,功能與其他語句不同的是(D)。if(a)printf("%d\n",x);elseprintf("%d\n",y);if(a==0)printf("%d\n",y);elseprintf("%d\n",x);if(a!=0)printf("%d\n",x);elseprintf("%d\n",y);if(a==0)printf("%d\n",x);elseprintf("%d\n",y);6?下列程序的運行結(jié)果是(C)。intmain(void){inta,b,c;a=20,b=30,c=10;if(a<b)a=b;if(a>=b)b=c;c=a;printf("a=%d,b=%d,c=%d",a,b,c);return0;}C.a=30,b=10,c=30D.a=30,b=10,c=20二、填空題以下程序的輸出結(jié)果是3,2inta=2,b=3;{a=a+b;b=a-b;a=a-b;printf("%d,%d\n",a,b);return0;}設(shè)有inti,j,k;則執(zhí)行"for(i=0;j=10;i<=j;i++;j--)k=i+j;"循環(huán)后k的值為10。設(shè)有"intx=1,y=2",則表達式1?0+x/y的值為1.0。4?下列程序的功能試計算s=1+12+123+1234。請?zhí)羁?。intmain(void){intt=0.s=0,i;for(i=1;i<=5;i++){t=i+t*10;s=s+t;}printf("s=%d\n",s);return0;}若s的當(dāng)前值為0,執(zhí)行循環(huán)語句"for(i=1;i〈=10;i=i+3)s=s+i;”后,i的值為13。6?以下for語句的循環(huán)次數(shù)是3次。for(x=0;x<=4;x++)x=x+1;若從鍵盤輸入58,則以下程序段的輸出結(jié)果是585858。intmain(void){inta;scanf("%d",&a);if(a>50)printf("%d",a);if(a>40)printf("%d",a);if(a>30)printf("%d",a);return0;}下列程序段的輸出結(jié)果是2.000000,4。intmain(void){floata;intb=5;a=5/2;b=b/2*a;printf("%f,%d\n",a,b);return0;}以下程序的功能是輸入三個數(shù),輸出三個數(shù)中的最大值。請?zhí)羁?。return0;}return0;}return0;}return0;}#include<stdio,h>intmain(void){intx,y,z,u,v;scanf("%d%d%d",&x,&y,&z);if(x>y)u=x;elseu=y;if(u>z)v=u;elsev=z;printf("%d\n",v);return0;}_b=i+1__;c+=b;}printf("偶數(shù)之和二%d\n",a);printf("奇數(shù)之和=%d\n",_c-11_);習(xí)題11return0;return0;}下面程序的運行結(jié)果是(B)。#include<stdio.h>intmain(void){intx[5]={2,4,6,8,10},*p,**pp;p=x;pp=&p;printf(“%d”,*(p++));printf(“%d\n”,**pp);return0;}A.44B.24C.22D.46對于以下變量的定義,正確的賦值是(D)。int*p[3],a[3];A.p=aB.*p=a[0]C.p=&a[0]D.p[0]=&a[0]下列程序的輸出是(D)。#include<stdio.h>intmain(void){inta[12]={1,2,3,4,5,6,7,8,9,10,11,12},*p[4],i;for(i=0;i<4;i++)p[i]=&a[i*3];printf(“%d\n”,p[3][2]);return0;}A.上述程序有錯誤B.6C.8D.12下列程序的輸出結(jié)果是(C)。#include<stdio.h>#include<string.h>char*fun(char*t){char*p=t;return(p+strlen(t)/2);}intmain(void){char*str=”abcdefgh”;str=fun(str);puts(str);設(shè)有如下定義的鏈表,則賦值為7的表達式是(D)。structst{intn;structst*next;}a[3]={5,&a[1],7,&a[2],9,NULL};*p=&a;A.p->nB.(p->n)++C.(++p)->nD.p->next->n二、填空題下面程序可以逐行輸出由Ianguage數(shù)組元素所指向的5個字符串。請?zhí)顚懗绦蛑邢鄳?yīng)語句。#incIude<stdio.h>intmain(void){char*Ianguage[]={“BASTC”,”FORTARN”,”PROLOG”,”JAVA”,”C++”};char**q;intk;for(k=0;k<5;k++){q=&language[k];printf(“%s\n”,*q);}return0;}下面的程序輸入10個成績,查找最高分并輸出。請?zhí)顚懗绦蛑邢鄳?yīng)的語句。#incIude<stdio.h>returnpos;returnpos;}returnpos;returnpos;}int*GetMax(intscore[],intn);intmain(void){inti,score[10],*p;for(i=0;i<10;i++)scanf(“%d”,&score[i]);p=GetMax(score,10)printf(“Max:%d\n”,*p);return0;}int*GetMax(intscore[],intn){inti,temp,pos=0;temp=score[0];for(i=0;i<n;i++)if(score[i]>temp){temp=score[i];pos=i;}下列函數(shù)用于將鏈表中各結(jié)點的數(shù)據(jù)依次輸出。請?zhí)顚懗绦蛑邢鄳?yīng)語句。voidprint(structstudent*head){structstudent*p;p=head;if(head!=NULL)do{printf(“%ld\n”,p->data);p二p->next;}while(p!=NULL);}已建立學(xué)生"英語”課程的成績鏈表(成績存于score域中,學(xué)號存于num域中),下列函數(shù)用于輸出不及格學(xué)生的學(xué)號和成績,及補考學(xué)生人數(shù)。請?zhí)顚懗绦蛑邢鄳?yīng)語句。voidrequire(structstudent*head){structstudent*p;longx;if(head!=NULL){p二head;while(P!=NULL){if(p->score<60){printf(“%7d%6lf\n”,p->num,p->score);x++;p=p->next;}printf(“%ld\n”,x);}}1?若程序中有下面的說明和定義,則會發(fā)生的情況是—一。structabc{intx;chary;}structabcs1,s2;A.編譯出錯程序?qū)㈨樌幾g,連接,執(zhí)行能順利通過編譯,連接,但不能執(zhí)行能順利通過編譯,但連接出錯有定義"structex{intx;floaty;charz;}example;",下面的描述中不正確的是一B一。A.struct是定義結(jié)構(gòu)類型的關(guān)鍵字example是結(jié)構(gòu)類型名x,y,z都是結(jié)構(gòu)成員名structex是結(jié)構(gòu)類型名設(shè)有如下定義:structss{charname[10];intage;charsex;}std[3],*p=std;下面輸入語句中錯誤的是一B—。A.scanf(“%d",&(*p).age);B.scanf(“%s",&);C.scanf(“%c",&std[0].sex);D.scanf(“%c",&.(p->sex));4?下列程序的輸出結(jié)果是一B一。structstu{intnum;charname[10];intage;};voidfun(structstu*p){printf(“%s\n",(*p).name);}intmain(void){structstustudents[3]={{9801,"Zhang“,20},{9802,"Wang",19},{9803,"Zhao",18}};fun(students+2);A.ZhangB.ZhaoC.WangD.185.下列程序的輸出結(jié)果是一B一。structstu{charnum[10];floatscore[3];};intmain(void){structstus[3]={{“20021”,90,95,85},{20022”,95,80,75},{20023”,100,95,90}};structstu*p=s;inti;floatsum=0;for(i=0;i<3;i++)sum=sum+p->score[i];printf(“%6.2f\n”,sum);A.260.00B.270.00C.280.00D.285.00已有定義和賦值語句“struct{intday;charmouth;intyear;}a,*b;b=&a;”,可用a.day引用結(jié)構(gòu)成員day,請寫出通過b引用結(jié)構(gòu)成員a.day的兩種形式(*b).day___b->day.以下程序的運行結(jié)果是__6.intmain(void){structcmplx{intx;inty;}cnum[2]={1,3,2,7};printf(“%d\n”,cnum[0].y/cnum[0].x*cnum[1],x);return0;};設(shè)有三個人的姓名和年齡存在結(jié)構(gòu)數(shù)組中,以下程序輸出三人中年齡居中者的姓名和年齡。請?zhí)羁铡taticstructman{charname[20];intage;}person[]={"li-ming”,18,"wang-hua",19,"zhang-ping”,20};intmain(void){inti,j,max,min;max=min=person[0].age;for(i=1;i<3;i++)if(person[i].age>max)max=person[i].age;elseif(person[i].age<min)min_=person[i].age;for(i=0;i<3;i++)if(person[i].age!=max&&person[i].age!=min)}printf("%s%d\n",person[i].name,person[i].age);break;}return0;}以下程序的運行結(jié)果是21___.#include<stdio.h>intmain(void){structS{inta,b;}data[2]={10,100,20,200};structSp=data[1];

printf("%d)\n",++(p.a));return0;}第3章分支結(jié)構(gòu)一、選擇題1?若變量x、y都為int型數(shù),以下表達式中不能正確表示數(shù)學(xué)關(guān)系|x-y|<10是(C)A.abs(x-y)<10C.(x-y)<-10||!(y-x)>10B.x-y>-10&&x-y<10D.(x-y)*(x-y)<1003.下列程序段的輸出結(jié)果是(A)intmain(void){inti;for(i=0;i<3;i++)switch(i){case1:printf("%d",i);case2:printf("%d",i);default:printf("%d",i);return0;}A.011122.B.012C.012020D.1204?下列程序段的輸出結(jié)果是(C)intmain(void){intm,k=0,s=0;for(m=1;m<=4;m++){switch(m%4){case0:case1:s+=m;break;case2:case3:s-=m;break;k+=s;printf("%d",k);return0;}C.-4D.-12A.10B.-26?下面程序運行時如果輸入“-123362<回車>”,則輸出結(jié)果是(B)intmain(void)C.-4D.-12{intt,a,b,i;for(i=1;1<=3;i++){

scanf("%d%d",&a,&b);if(a>b)t=a-b;elseif(a==b)t=1;elset=b-a;printf("%d",t);}return0;C.134}C.134A.304B.314D.3167■下列程序運行時輸人"7mazon<回車>”,則輸出結(jié)果是(A)intmain(void){charc;inti;for(i=1;i<=5;i++){c=getchar();if(c>='a'&&c<='u')c+=5;elseif(c>='y'&&c<='z')c='a'+c-'v';putchar(c);}reyurn0;}D.rfetsA.7rfetB.7rfetsC.rfetD.rfets9■下列程序段的輸出結(jié)果是(A)intmain(void){intx=100,a=10,b=20,ok1=5,ok2=0;if(a<b)f(b!=15)if(!ok1)x=1;elseif(ok2)x=10;x=-1;printf("%d\n",x);TOC\o"1-5"\h\zreturn0;}D.不確定A.-1B.0D.不確定的值10■下列程序段運行后x的值是(B)inta=0,b=0,c=0,x=35;if(!a)x--;elseif(b);if(c)x=3;elsex=4;A.34B.4C.35D.3二、填空題2?以下程序段的輸出結(jié)果是130intmain(void){inti,m=0,n=0,k=0;for(i=9;i<=11;i++)switch(i/10){case0:m++;n++;break;case1:n++;break;default:k++;n++;printf("%d%d%d\n",m,n,k):return0;}3.以下程序段的輸出結(jié)果是200intx=10,y=20,t=0;if(x==y)t=x;x=y;y=t;printf("%d,%d\n",x,y);4?下列程序段的輸出結(jié)果1inta=1,b=2,c=3;if(c=a)printf("%d\n",c);elseprintf("%d\n",b);6?以下程序段的輸出結(jié)果是厶」intmain(void){intx=1,y=0,a=0,b=0;switch(x){case1:switch(y){case0:a++;break;case1:b++;break;}case2:a++;b++;break;}printf("%d%d\n",a,b);return0;}7.以下程序段的輸出結(jié)果是蟲intmain(void){intn=0,m=1,x=2;'if(!n)x-=1;TOC\o"1-5"\h\zif(m)x-=2;if(x)x-=3;printf("%d\n",x);return0;}8?列程序段的輸出結(jié)果是身4599intmain(void){inta=3,b=4,c=5,t=99;if(b<a&&a<c)t=a;a=c;c=t;if(a<c&&b<c)t=b;b=a;a=t;printf("%d%d%d\n",a,b,c);return0;}9?下列程序段的輸出結(jié)果是10200inta=10,b=20,c;c=(a%b<1)||(a/b>1);printf("%d%d%d\n",a,b,c);10?下列程序段的輸出結(jié)果是3intmain(void){inta=5,b=4,c=3,d=2;if(a>b>c)printf("%d\n",d);elseif((c-1>=d)==1)printf("%d\n",d+1);elseprintf("%d\n",d+2);return0;}第8章指針一、選擇題1、若有定義”inta[10]={1,2,3,4,5,6,7,8,9,10},*p二a;”,則值為6的表達式是(C)。A、*p+6B、*(p+6)C、*p+=5D、p+52、若有定義”intn1=0,n2,*p=&n2,*q=&n1;”,則與賦值語句”n2二n1”等價的是(A)。A、*p=*qB、p=qC、*p=&n1D、p=*q3、設(shè)有定義“inta[10]={123456789,10}”,*p=&a[3],b;”,則執(zhí)行語句“b二p[5];”后變量b的值為(D)。A、5B、6C、8D、94、以下程序的輸出結(jié)果是(B)。intmain(void){inta[10]={1,2,3,4,5,6,7,8,9,10},*p=&a{3},*q=p+2;printf(“%d\n”,*p+*q);return0;}A、16B、10C、8D、65、下列敘述中錯誤的是(C)。A、改變函數(shù)形參的值,不會改變對應(yīng)實參的值B、函數(shù)可以返回地址值C、可以給指針變量賦一個整數(shù)作為地址值D、當(dāng)在程序的開頭包含頭文件stdio.h時可以給指針變量賦NULL6、以下程序的輸出結(jié)果是(A)。voidfun(int*x,int*y){printf(“%d%”,*x,*y)*x=3;*y=4;}intmain(void){intx=1,y=2fun(&y,&x);printf(“%d%d”,x,y);return0;}A、2143B、1212C、1234D、21127、以下程序輸出的結(jié)果是(A)。voidfun(char*a,char*b){a=b;(*a)++;}intmain(void){charc1=A',c2=a',*p1,*p2;p1=&c1;p2&c2;fun(p1,*p2);printf(“%c%c\n”,c1,c2);return0;}A、AbB、aaC、AaD、Bb10、以下程序的輸出結(jié)果是(D)。intmain(void){chara[]}=”programming”,b[]=”language”;char*p1=a,*p2=b;inti;for(i=0;i<7;i++)if(*(p1+i)==*(p2+i))printf(“%c”,*(p1+i);return0;}A、gmB、rgC、orD、ga12、以下函數(shù)的功能是(A)。viodfun(char*p2,char*p1){while((*p2=*p1)!='\0'){p1++;p2++;}}A、將pl所指字符串復(fù)制到p2所指內(nèi)存空間B、將pl所指字符串的地址賦給指針p2C、對p1和p2兩個指針?biāo)缸址M行比較D、檢查p1和p2兩個指針?biāo)缸址惺欠裼?\0'14、以下程序的輸出結(jié)果是(D)intmain(viod){char*p1,*p2,str[50]=”ABCDEFG”;p1=”abcd”;p2=”efgh”;strcpy(str+1,p2+1;strcpy(str+3,p1+3);printf(“%s”,str);return0;}A、AfghdEFGB、AbfhdC、AfghdD、Afgd15、以下程序的輸出結(jié)果是(C)。include<string.h>intmain(void){charp[20]={“a”,”b”,”c”,”d”},q[]=”abc”,r[]=”abcde”;strcpy(p+strlen(q),r);strcat(p,q);printf(“%d%d\n”,sizeof(p),strlen(p));return0;}A、209B、99C、2011D、1111二、填空題3、下面程序的輸出結(jié)果是(6)。intmain(void){inta[]={2,4,6},*prt=&a[0],x=8,y,z;for(y=0;y<3,y++)z=(*(prt+y)<x)?*(prt+y):x;printf(“%d\n”,z);return0;}4、以下函數(shù)的功能是刪除字符串s中的所有數(shù)字字符。請?zhí)羁铡oiddele(char*s){intn=0,i;for(i=0;s[i];i++)if(s[i]v'O'或s[i]>'9‘)s[n++]=s[i];s[n}='\0';}5、以下函數(shù)用來在w數(shù)組中插入元素x,w數(shù)組中的數(shù)已按由小到大的順序存放,n所指存儲單元中存放數(shù)組中數(shù)據(jù)的個數(shù),插入后數(shù)組中的數(shù)仍有序。請?zhí)羁?。voidfun(char*w,charx,int*n){inti,p=0;w[*n]=x;TOC\o"1-5"\h\zwhile(x>w[p]p++;for(i=*n;i>p;i--)w[i]=w[i-1];w[p]=x;++*n;}8、下列程序中的函數(shù)strepy2()實現(xiàn)字符串兩次復(fù)制,即將t所指字符串復(fù)制兩次到s所指內(nèi)存空間中,合并形成一個新字符串。例如:若t所指字符串為"efgh",調(diào)用strcpy2后,s所指字符串為"efghefgh"。請?zhí)羁铡oidstrcpy2(char*s,char*t){char*p=t;while(*s++=*t++);s=s-1;while(*s++=*p++);}intmain(void){charstr1[100]=“abcd”,str2[]=”efgh”strcpy2(str1,str2);printf(“%s\n”,str1);return0;}9、下列程序運行時如果從鍵盤上輸入字符串“qwerty”和“abed”,則程序的輸出結(jié)果是(10)。intstrle(ehara[],eharb[]){intnum=0,n=0;while(*(a+num)!='\0')num++;while(b[n]){*(a+num)=b[n];num++;n++;}return(num);}intmain(void){eharstr1[81],str2[81],*p1=str1,*p2=str2;gets(p1);gets(p2);printf(“%d\n”,strle(p1,p2));retrun0;}11、下面程序運行后輸入g,輸出(13gramming!)。intmain(void){inti;ehars[]=”programming!”,eh;printf(“%d\t”,sizeof(a));ch=getchar();for(i=0;i<strlen(s);i++){if(s[i]==ch){strcpy(s,s+i);puts(s);break;}}return0;}14、以下程序運行后輸入"3”abcde<回車>",貝9輸出結(jié)果是(cdeab)voidmove(char*str,intn){chartemp;inti;temp=str[n-1];for(i=n-1;i>0;i--)str[i]=str(i-1);str[0]=temp;intmain(void){chars[50];intn,i,z;scanf(“%d,%s,&n,s);z=strlen(s);for(i=1;i<=n;i++)move(s,z)printf(“%s\n”,s);return0;}第1章引言一、選擇題

I?下列敘述中錯誤的是DA?計算機不能直接執(zhí)行c語言編寫的源程序C程序經(jīng)C編譯程序編澤后,生成擴展名為Obj的文件是一個二進制文件擴展名為Obj的文件,經(jīng)連接程序生成擴展名為exe的文件是一個二進制文件擴展名為obj和exe的二進制文件都可以直接運行2?下列敘述中正確的是CA?C語言程序?qū)脑闯绦蛑械谝粋€函數(shù)開始執(zhí)行B?可以在程序中由用戶指定任意一個函數(shù)作為主函數(shù),程序?qū)拇碎_始執(zhí)行C語言規(guī)定必須用main作為主函數(shù)名,程序?qū)拇碎_始執(zhí)行,在此結(jié)束main可作為用戶標(biāo)識符,用以命名任意一個數(shù)作為主函數(shù)3,下列敘述中正確的是CA?用C程序?qū)崿F(xiàn)的算法必須要有輸入和輸出操作B?用C程序?qū)崿F(xiàn)的算法可以沒有輸出但必須要有輸入用C程序?qū)崿F(xiàn)的算法可以沒有輸入但必須要輸出用C程序?qū)崿F(xiàn)的算法可以既沒有輸入也沒有輸出4?下列敘述中錯誤的是A用戶所定義的標(biāo)識符允許用關(guān)腱字用戶所定義的標(biāo)識符應(yīng)盡量做到“見名知意"用戶所定義的標(biāo)識符必須以字母或下劃線開頭用戶定義的標(biāo)識符中,大、小寫字代表不同標(biāo)識5.下列不合法的用戶標(biāo)識符是CA.j2_KEYB.DOubleC.A.j2_KEYB.DOubleC.4d_aD._8以下選項中合法的用戶標(biāo)識符是BlongB._2TestC.3DmaxD.A.dat結(jié)構(gòu)化程序由三種基本結(jié)構(gòu)組成,三種基本結(jié)構(gòu)組成的算法A可以完成任何復(fù)雜的任務(wù)B.只能完成部分復(fù)雜的任務(wù)C.只能完成符合結(jié)構(gòu)化的任務(wù)D?只能完成一些簡單的任務(wù)下列敘述中錯誤的是___D_A?C語言源程序經(jīng)編譯后生成擴展名為Obj的目標(biāo)程序c程序經(jīng)過編澤、連接步驟之后才能形成一個真正可執(zhí)行的二進制機器指令文件用C語言編寫的程序為源程序,它以ASCII代碼形式在放在一個文本文件中C語言中的每條可執(zhí)行語句和非執(zhí)行語句最終都將被轉(zhuǎn)換成二進制的機器指令二、填空1、結(jié)構(gòu)化程宇設(shè)計所規(guī)定的三種基本控制結(jié)構(gòu)是順序結(jié)構(gòu)循環(huán)結(jié)構(gòu)分支結(jié)構(gòu)2?在c程序中,可用{}括起許多語句稱為—復(fù)合—語句3、C程序的基本組成單位是___語句___4?c語言中的標(biāo)識符只能由三種字符組成它們是_數(shù)字、__字母__和__下劃線_5.c語言的直接可執(zhí)行文件通過___編譯__和鏈接生成的。第七章數(shù)組1、假定int類型變量占用兩個字節(jié),已有定義"intx[10]={0,2,4};”,則數(shù)組x在內(nèi)存中所占字節(jié)數(shù)是(D)A、3B、6C、10D、202、以下能正確定義數(shù)組并正確賦初值的語句是(D)A、intN=5,b[N][N];B.inta[1][2]={{1},{3}};C、intc[2][]={{1,2},{3,4}};D.intd[3][2]={{1,2},{34}};3、下述對C語言字符數(shù)組的描述中錯誤的是(C)A?字符數(shù)組可以存放字符串字符數(shù)組中的字符串可以整體輸入、輸出可以在賦值語句中通過賦值運算符“二”對字符數(shù)組整體賦值D?不可以用關(guān)系運算符對字符數(shù)組中的字符串進行比較4、設(shè)有數(shù)組定義“chararray[]="China";",則數(shù)組array所占的空間為(C)A、4個字節(jié)B、5個字節(jié)C、6個字節(jié)D、7個字節(jié)5、有定義“charx[]abcdefg";chary□二{'a','b','c','d','e','f','g};",則正確的敘述為(C)A、數(shù)組x和數(shù)組y等價B、數(shù)組x和數(shù)組y的長度相同C、數(shù)組x的長度大于數(shù)組y的長度D、數(shù)組x的長度小于數(shù)組y的長度6、下列能正確定義字符串的語句是(D)。A、charstr[]={'\064'};B、charstr="kx43";C、charstr="";D、charstr[]="\0";7、以下程序的輸出結(jié)果是(A)intmain(void){staticinta[3][3]={{1,2},{3,4},{5,6}},i,j,s=0;for(i=1;i<3;i++)for(j=0;j<=i;j++)s+=a[i][j];printf("%d\n",s);return0;}A、18B、19C、20D、218、以下程序的輸出結(jié)果是(C)intmain(void){intm[][3]={1,4,7,2,5,8,3,6,9};inti,j,k=2;for(i=0;i<3;i++)printf("%d",m[k][i]);return0;}A、456B、258C、369D、7899、以下程序的輸出結(jié)果是(B)intmain(void){intp[8]={11,12,13,14,15,16,17,18},i=0,j=0;while(i++<7)if(p[i]%2)j+=p[i];printf("%d\n",j);return0;}A、42B、45C、56D、6010、下列程序的運行結(jié)果是(B)intmain(void){inta[3][3]={{1,2,3},{4,6,2},{9,3,6}},s=0;inti,j,k=1;for(i=0;i<3;i++){for(j=0;j<3;j++)a[i][j]=a[i][j]/k;k++;}for(i=0;i<3;i++)s+=a[i][i];printf("%d",s);return0;}A、3B、6C、7D、1411、以下程序的功能是:從鍵盤上輸入若干個學(xué)生的成績,統(tǒng)計計算出平均成績,并輸出低于平均分的學(xué)生成績,用輸入負(fù)數(shù)結(jié)束輸人。請?zhí)羁铡ntmain(void){floatx[1000],sum=0.0,ave,a;intn=0,i;printf("Entermark:\n");scanf("$f",&a);while(a>=0.0&&n<1000){sum+=a;x[n]=a;n++;scanf("%f",&a);ave=sum/n;printf(“output:\n");printf("ave=%f\n",ave);for(i=0;i<n;i++)if(x[i]<ave)printf("%f\n",x[i]);return0;}12、下列程序的輸出結(jié)果是58。intmain(voia)inta[a][4]={{1,2,-3,-4},{0,-12,-13,14},{-21,23,0,-24},{-31,32,-33,0}};{inti,j,s=0;for(i=0;i<4;i++);{for(j=0;j<4;j++);{if(a[i][j]<0)continue;if(a[i][j]==0)break;s+=a[i][j];}printf(“%d\n",s);return0;}13、以下程序按下面指定的數(shù)據(jù)給x數(shù)組的下三角置數(shù),并按如下形式輸出,請?zhí)羁铡?3726915810intmain(void){intx[4][4],n=0,i,j;for(j=0;j<4;j++)for(i=3;i>=j;i--){n++;x[i][j]=n;}for(i=0;i<4;i++){for(j=0;j<=i;j++)printf("%3d",x[i][j]);printf("\n");}return0;14、下面程序的功能是將字符數(shù)組a中下標(biāo)值為偶數(shù)的元素從小到大排列,其它元素不變。請?zhí)羁?。intmain(void){chara[]="clanguage",t;inti,j,k;k=strlen(a);for(i=0;i<二k-2;i+=2)for(j二i+2;j<二k;j二j+2)if(a[i]>a[j]){t=a[i];a[i]=a[j];a[j]=t;}puts(a);return0;}15、以下程序的輸出結(jié)果是24。intmain(void){intp[7]={11,13,14,15,16,17,18};inti=0,j=0;while(i<7&&p[i]%2==1)j+=p[i++];printf("%d\n",j);return0;}16、以下程序的輸出結(jié)果是92。intmain(void){inta[4][4]={{1,2,3,4},{5,6,7,8},{11,12,13,14},{15,16,17,18}};inti=0,j=0,s=0;while(i++<4){if(i==2||i==4)continue;j=0;do{s+=a[i][j];j++;}while(j<4);}printf("%d\n",s);return0;}17、以下程序

溫馨提示

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

最新文檔

評論

0/150

提交評論