C語言基礎(chǔ)練習(xí)題_第1頁
C語言基礎(chǔ)練習(xí)題_第2頁
C語言基礎(chǔ)練習(xí)題_第3頁
C語言基礎(chǔ)練習(xí)題_第4頁
C語言基礎(chǔ)練習(xí)題_第5頁
已閱讀5頁,還剩54頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

第一章 C第一章 C語言基礎(chǔ)知識 --3.1選擇題1.以下程序的輸出結(jié)果是main(){intn=4;while(n--)printf("%d'',--n);.第三章循環(huán)結(jié)構(gòu)()。}A.20以下程序的輸出結(jié)果是main(){intx=10,y=10,i;for(i=0;x>8;y=++i)printf("%d%d",x--,y);}A.10192 B.9876當執(zhí)行以下程序段時。x=-1;do{x=x*x;}while(!x);B.31()。C.321D.210C.10990D.101091A.循環(huán)體將執(zhí)行一次C.循環(huán)體將執(zhí)行無數(shù)多次執(zhí)行以下程序后輸出的結(jié)果是(main(){inty=10;do{y--;}while(--y);printf("%d\n",y--);}A.-1 B.1下面程序的輸出結(jié)果是(main(){intx=3,y=6,a=0;while(x++!=(y-=1)){a+=1;if(y<x)break;}printf("x=%d,y=%d,a=%d\n",x,y,a);}C.8B.循環(huán)體將執(zhí)行兩次D.系統(tǒng)將提示有語法錯誤D.0A.x=4,y=4,a=1 B.x=5,y=5,a=1C.x=5,y=4,a=3 D.x=5,y=4,a=1()。若i,j已定義為int類型,則以下程序段中內(nèi)循環(huán)的總的執(zhí)行次數(shù)是()。for(i=5;i;i--)for(j=0;j<4;j++){…}A.20B.24{…}A.20B.24C.25D.30請讀程序:#include<stdio.h>main(){intx=1,y=0,a=0,b=0;switch(x){case1:switch(y){case0:a++;break;

case1:b++;break;}case2:a++;b++;break;}printf("a=%d,b=%d\rr,a,b);}C.a=1,b=0D.a=2,b=2上面程序的輸出結(jié)果是(C.a=1,b=0D.a=2,b=2A.a=2,b=1 B.a=1,b=1&若有以下程序段,w和k都是整型變量w=k;LB:if(w==O)gotoLE;w--;printf(''*”);gotoLB;LE:則不能與上面程序段等價的循環(huán)語句是(for(w=k;w!=0;w--)print(''* ;w=k;while(w--!=0)printf(''*");w++;w=k;do{w--;printf(''*'');}while(w!=0);for(w=k;w;--w)printf(''*'');下面程序的輸出是( )。

main(){char*s="12134211";intk,v1=0,v2=0,v3=0,v4=0;for(k=0;s[k];k++)switch(s[k]){default:v4++;case1:v1++;case2:v2++;csse3:v3++;}printf("v1=%d,v2=%d,v3=%d,v4=%d\n'',v1,v2,v3,v4);}B.v1=4,v2=9,v3=3,v4=1D.v1=8,v2=8,v3=8,v4=8B.v1=4,v2=9,v3=3,v4=1D.v1=8,v2=8,v3=8,v4=8C.v1=5,v2=8,v3=6,v4=1有以下程序#include"stdio.h"intabc(intu,intv);main(){intc,a=24,b=16;c=abc(a,b);printf("%d\n",c);}intabc(intu,intv){u=v; v=w;}intw;u=v; v=w;}returnu;}輸出結(jié)果是(A.611.在下列選項中,A.inti=100A.611.在下列選項中,A.inti=100;

while(1)B.7沒有構(gòu)成死循環(huán)的程序段是(C.8)。D.9{i=i%100+1;if(i>100)break;}B.for(;;);C.intk=1000;do{++k;}while(k>=10000);D.ints=36;while(s);--s;12.若輸入B,以下程序的運行結(jié)果為(main(){chargrade;scanf("%c",&grade);switch(grade){case'A':printf(">=85.");case'B':caseC:printf(">=60.");caseD:printf("<60.");default:printf("error.");}}A.>=85.B.>=60.C.>=60.<60.error.D.error.13.列程序運行的情況是(main(){inti=1,sum=0;while(i<10)sum=sum+1;i++;printf("i=%d,sum=%d",i,sum);A.i=10,sum=9B.i=9,sum=9C.i=2,sum=1D.運行出現(xiàn)錯誤有以下語句:i=1;for(;i<=100;i++)sum+=i;與以上語句序列不等價的有 ()。for(i=1;;i++){sum+=i;if(i==100)break;}for(i=1;i<=100;){sum+=i;i++;}i=1;for(;i<=100;)sum+=i;i=1;for(;;){sum+=i;if(i==100)break;i++;}下面程序的運行結(jié)果為( )。main(){intn;for(n=1;n<=10;n++){if(n%3==0)continue;printf("%d",n);}}A.12457810B.369C.12D.12345678910下面程序的運行結(jié)果是(main(){intx,y,z;x=0;y=z=-1;x+=-zy;printf("x=%d\rT’x);}A.x=4 B.x=O標有/**/的語句的執(zhí)行次數(shù)是(inty,i;for(i=0;i<20;i++){if(i%2==0)continue;y+=i;/**/}A.20 B.19C.x=2)。D.x=3C.10D.9在C語言中,if語句后的一對圓括號中,用以決定分支的流程的表達式。A.只能用邏輯表達式 B.只能用關(guān)系表達式C.只能用邏輯表達式或關(guān)系表達式 D.可用任意表達式在以下給出的表達式中,與do-while(E)語句中的(E)不等價的表達式是(A.(!E==0) B.(E>0||E<0) C.(E==0)假定所有變量均已正確定義,下列程序段運行后 x的值為k1=1;k2=2;k3=3;x=15;if(!k1)x--;elseif(k2)if(k3)x=4;elsex=3;A.14 B.4執(zhí)行下面語句的輸出為(inti=-1;if(i<=0)printf(elseprintsA****D.(E!=O):)。C.15D.3“n”*Y;“%%視%B.%%%%C.%%%%cD.有錯,執(zhí)行不正確22.下列程序的輸出是(#include<stdio.h>main(){inti;charc;for(i=0;i<=5;i++){c=getchar();putchar(c);}}程序執(zhí)行時從第一列開始輸入以下數(shù)據(jù),u<CR>w<CR>xsta<CR>A.uwxstaB.U<CR>代表換行符。C.uD.uxsxsta23.下列程序的輸出為(#include"stdio.h"main(){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\rT’x);}A.x=4下列程序的輸出為(#include<stdio.h>main(){inti,j,k=0,m=0;for(i=0;i<2;i++){for(j=0;j<3;j++)k++;k-=j;}m=i+j;printf("k=%d,m=%d\n",k,m);}A.k=0,m=3 B.k=0,m=5在C語言中,為了結(jié)束while語句構(gòu)成的循環(huán),(B.x=8)。C.x=6D.x=12D.k=1,m=5A.0 B.1在C語言中,為了結(jié)束由do-while值應(yīng)為()。A.0 B.127?下列程序的輸出為( )。#include<stdio.h>main(){intk=0;charc='A';do{switch(c++){case'A':k++;break;case'B':k--;caseC:k+=2;break;case'D':k=k%2;continue;case'E':k=k*10;break;default:k=k/3;}k++;}while(c<'G');C.k=1,m=3while后一對圓括號中表達式的值應(yīng)該為C.true D.非0語句構(gòu)成的循環(huán),while后一對圓括號中表達式的C.trueD.非0printf("%d\n",k);}A.k=3 B.k=4 C.k=228.C語言的if語句嵌套時,if與else的配對關(guān)系是(每個else總是與它上面的最近的 if配對每個else總是與最外的if配對每個else與if的配對是任意的每個else總是與它上面的if配對29?下列程序的輸出為(#include<stdio.h>main(){inti=0,j=0,a=6;if((++i>0)||(++j>0))a++;printf("i=%d,j=%d,a=%d\n",i,j,a);}A.i=0,j=0,a=6 B.i=1,j=1,a=730?下列程序段的輸出結(jié)果為( )。main(){intx=3;do{printf("%3d",x-=2);}while(!(--x));}A.1 B.3 0C.i=1,j=0,a=7C.1 -2D.k=OD.i=0,j=1,a=7D.死循環(huán)2填空題:當輸入19,2,21時下列程序運行的結(jié)果是 _main(){inta,b,c,max;printfC'pleasescanthreenumbera,b,c:\n");scanf("%d,%d,%d",&a,&b,&c);max=a;if(max<b)max=b;if(max<c)max=c;printf("maxis:%d",max);}若輸入字母C,程序輸出結(jié)果為【11;若輸入字符*,程序?qū)ⅰ?】。#include<stdio.h>main(){charc1,c2;c1=getchar();while(c1<97||c1>122)c1=getchar();c2=c1-32;printf("%c,%c\rr,c1,c2);}以下程序運行的結(jié)果為 main(){inta,b,c,x,y,z;a=10;b=2;c=!(a%b);x=!(a/b);y=(a<b)&&(b>=0);z=(a<b)||(b>=0);printf("%d,%d,%d,%d\n",c,x,y,z);}若輸入4,程序運行結(jié)果為【1】,若輸入-4,運行結(jié)果為【2】,若輸入10,運行結(jié)果為【3】.main(){intx,y;scanf("%d",&x);if(x<1){y=x;printf("x=%d,y=x=%d\rr,x,y);}elseif(x<10){y=2*x-1;printf("x=%d,y=2*x-1=%d\n",x,y);}else{y=3*x-11;printf("x=%d,y=3*x-11=%d\n",x,y);}}以下程序運行的結(jié)果 main(){inti=1,sum=0;loop:if(i<=10){sum+=i;i++;gotoloop;}printf("sum=%d\n",sum);}以下程序運行的結(jié)果 main(){intx=2,y,z;x*=3+1;printf("%d,",x++);x+=y=z=5;printf("%d,",x);x=y==z;printf("%d\n",x);}以下程序運行的結(jié)果#include<stdio.h>#include<math.h>main(){inti,k,m,n=O;for(m=1;m<=10;m+=2){if(n%10==0)printf("\n");k=sqrt(m);for(i=2;i<=k;i++)if(m%i==0)break;if(i>k){printf("%2d",m);n++;}}}&如果輸入‘1'‘2'‘3'‘4'程序運行輸出的是#include<stdio.h>main(){charc;inti,k;k=0;for(i=0;i<4;i++){while(1){c=getchar();if(c>='0'&&c<=9)break;}k=k*10+c-'0';}printf("k=%d\rT’k);}9.運行以下程序后,如果從鍵盤上輸入 china#<回車>,則輸出結(jié)果為#include<stdio.h>main(){intv1=0,v2=0;charch;while((ch=getchar())!=#)switch(ch){case'a':case'h':default:v1++;case'0':v2++;}printf("%d,%d\n",v1,v2);}程序運行結(jié)果是,#include<stdio.h>main(){inti;for(i=1;i+1;i++){if(i>4){printf("%d\t",i++);break;}printf("%d\t",i++);}}以下程序運行的結(jié)果是 #include<stdio.h>main(){inta,b;for(a=1,b=1;a<=100;a++){if(b>=20)break;if(b%3==1){b+=3;continue;}b-=5;}printf("%d\n",a);}12.以下程序運行的結(jié)果是 main(){inti=1;while(i<10)if(++i%3!=1)continue;elseprintf("%d",i);}程序運行的結(jié)果是main(){intn=0;while(n++<=1)printf("%d\t",n);printf("%d\n",n);}此程序運行時,輸入 qwert?程序的運行結(jié)果是#include<stdio.h>main(){charc;

while((c=getchar())!=?)putchar(++c);}15?對以下程序:14時,其運行結(jié)果是【63時,其運行結(jié)果是【12514時,其運行結(jié)果是【63時,其運行結(jié)果是【125時,其運行結(jié)果時【1】。2】。3】ot=4,則給a和b輸入的值應(yīng)滿足的條件是當輸入14當輸入25#include<stdio.h>main(){intm,n;scanf("%d%d",&m,&n);while(m!=n){while(m>n)m-=n;while(n>m)n-=m;}printf("m=%d\rT’m);}16.在執(zhí)行以下程序時,為了使輸出結(jié)果為main(){ints,t,a,b;scanf("%d,%d",&a,&b);t=1;s=s+1t=1;s=s+1;t=s+t;if(a>0)if(a>b)elseif(a==b)t=5;elset=2*s;printf("t=%d\n",t);}如果一個數(shù)恰好等于它的因子之和(因子包括 1,。如:6的因子是1,如果一個數(shù)恰好等于它的因子之和(因子包括 1,。如:6的因子是1,2,3而6=1+2+3,則6是main(){inti,a,m;for(i=1;i<1000;i++){for(m=0,a=1;a<=i/2;a++)if(!(i%a)) 【1】;if【2])printf("%4d",i);}}18?雞問題:100元錢買100只雞,公雞一只5元錢,母雞一只3元錢,小雞一元錢三只,求100元錢能買公雞、母雞、小雞各多少只?#include<stdio.h>main(){intcocks,hens,chicks;cocks=0;while(cocks<=19){hens=0;while(hens<=33){chicks=100.0-cocks-hens;if(5.0*cocks+3.0*hens+chicks/3.0==100.0)printf("%d,%d,%d\n",cocks,hens,chicks);【11;}【21;}}愛因斯坦的階梯問題:設(shè)有一階梯,每步跨2階,最后余1階;每步跨3階,最后余2階;每步跨5階,最后余4階;每步跨6階,最后余5階;只有每步跨7階時,正好到階梯頂。問共有多少階梯。main(){intladders=7;while(【1】)ladders+=14;printf("%d\n",ladders);}下列程序計算平均成績并統(tǒng)計 90分及以上人數(shù)。main(){intn,m;floatgrade,average;average=n=m=【11;while(【21){scanf("%f",&grade);if(grade<0)break;n++;average+=grade;if(grade<90)【31;m++;}if(n)printf("%.2f%d\n",average/n,m);}下列程序計算Fibonacci數(shù)列:1,1,2,3,5,8,13……的前40項。main(){intI;longf1,f2;【11;for(l=0;l<20;l++){printf("%12ld%12ld",f1,f2);if(I%2)printf("\n");f1+=f2;【21;

}下列程序判斷一個數(shù)是否為素數(shù)。#include<stdio.h>#include<math.h>main(){intI,k,m;scanf("%d",&m);k=sqrt(【1】);for(I=2;I<=k;I++)if(m%I==0)【2】;if(【31)printf("%dyes\rT’m);elseprintf("%dno\n”,m);}求100~499之間的所有水仙花數(shù),即各位數(shù)字的立方和恰好等于該數(shù)本身的數(shù)。main(){intI,j,k,m,n;for(I=1;【11;I++)for(j=0;j<=9;j++)【2【2】;n=l*l*l+j*j*j+k*k*k;if(【31)printf("%d",m);{}}從鍵盤上輸入兩個整數(shù) m和n,求其最大公約數(shù)。main(){inta,b,num1,num2,temp;scanf("%d,%d",&num1,&num2);if(【11){temp=num1;num仁num2;num2=temp;}a=num1;b=num2;while(b!=O){temp=【21;a=b;b=temp;}printf("%d,%d",a,num1*num2/a);}3.3答案及部分解題分析1.A2.D3.A4.D5.D1.A2.D3.A4.D5.D6.A7.A8.C9.D10.C11.C12.C13.D14C15.A16.C17.C18.D19.C20.B21.A22.C23.B24.B25.A26.A27.B28.A29.C30.C?選擇題答案A后面的條件時,先使用1.答案:解析:此題中判斷while后的值。所以第一次循環(huán),n=4,執(zhí)行完后—n,n變成了0,打印出0;第三次循環(huán)時故輸出為20。n的值再n--,而打印時打印的是n減1n=2,打印出2;第二次循環(huán),n=2,經(jīng)過n—和while后面的條件不成立(n=0),所以循環(huán)結(jié)束。2.答案:D解析:第一次循環(huán)時打印的循環(huán)時x=9,而"y=++i”執(zhí)行完后

溫馨提示

  • 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. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

最新文檔

評論

0/150

提交評論