C語言概述練習題_第1頁
C語言概述練習題_第2頁
C語言概述練習題_第3頁
C語言概述練習題_第4頁
C語言概述練習題_第5頁
已閱讀5頁,還剩26頁未讀 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

C語言概述練習題1.一個C程序的執(zhí)行是從()A.本程序的main函數(shù)開始,到main函數(shù)結(jié)束B.本程序文件的第一個函數(shù)開始,到本程序文件的最后一個函數(shù)結(jié)束C.本程序的main函數(shù)開始,到本程序文件的最后一個函數(shù)結(jié)束D.本程序文件的第一個函數(shù)開始,到本程序main函數(shù)結(jié)束2.以下敘述正確的是:()A.在C程序中,main函數(shù)必須位于程序的最前面B.程序的每行中只能寫一條語句C.C語言本身沒有輸入輸出語句D.在對一個C程序進行編譯的過程中,可發(fā)現(xiàn)注釋中的拼寫錯誤3.以下敘述不正確的是:()A.一個C源程序可由一個或多個函數(shù)組成B.一個C源程序必須包含一個main函數(shù)C.C程序的基本組成單位是函數(shù)D.在C程序中,注釋說明只能位于一條語句的后面4.C語言規(guī)定:在一個源程序中,main的位置()A.必須在最開始B.必須在系統(tǒng)調(diào)用的庫函數(shù)后面C.可以任意D.必須在最后5.一個C語言程序是由()A.一個主程序和若干子程序組成B.函數(shù)組成C.若干過程組成D.若干子程序組成6.C源程序的基本單位是____________7.一個C源程序中至少包括一個____________8.在一個C源程序中,注釋部分兩側(cè)的分界符分別為____________和____________9.在C語言中,輸入操作是由庫函數(shù)____________完成的,輸出操作是由庫函數(shù)____________完成的運算符與表達式練習題1.若x,i,j和k都是int型變量,則計算下面表達式后,x的值為()x=(i=4,j=16,k=32)A.4B.16C.32D.522.假設(shè)所有變量均為整型,則表達式(a=2,b=5,b++,a+b)的值是()A.7B.8C.6D.23.下面四個選項中,均是不合法的用戶標識符的選項的是:()A.Ap_odoB.floatlao_AC.b-agotointD._123tempINT4.C語言中的標識符只能由字母、數(shù)字和下劃線三種字符組成,且第一個字符()A.必須為字母B.必須為下劃線C.必須為字母或下劃線D.可以是字母、數(shù)字和下劃線中的任意一種5.下面四個選項中均是不合法整型常量的選項是()A.160-0xffff011B.-0xcdf01a0xeC.-01986,0120668D.-0x48a2e50x6.下面四個選項中均是不合法整型常量的選項是()A.-0f1-0xffff0011B.-0xcdf01712,456C.-0189995e2D.-0x48eg-06803f7.下面四個選項中,均是不合法的浮點數(shù)的選項是()A.1600.12e3B.1232e4.2e5C.-18123e40.0D.-e32341e38.下面四個選項中,均是合法的浮點數(shù)的選項是()A.+1e+15e-9.403e2B.-6012e-4-8e5C.123e1.2e-4-8e5D.-e38e-45.e-09.下面四個選項中,均是合法轉(zhuǎn)義字符的選項是()A.'\"‘\\'‘\n'B.‘\'‘\017'‘\"'C.'\018'‘\f'‘xab'D.'\\0'‘\101'‘x1f'10.下面四個選項中,均是不合法的轉(zhuǎn)義字符的選項是()A.'\"'‘\\'‘\xf'B.'\1011'‘\'‘\a'C.'\011'‘f'‘\}'D.'\abc'‘\101'‘x1f'11.下面正確的字符常量是()A.‘c"B.'\\"C.'w'D."12.下面四個選項中,均是正確的數(shù)值常量或字符常量的選項的是()A.0.00f8.9e‘&'B."a"3.9E-2.51e1‘\"'C.'3'0110xFF000aD.+0010xabcd2e25013.下面不正確的字符串常量是()A.'abc'B."12'12"C."0"D."“14.若有代數(shù)式3ae/bc,則不正確的C語言表達式是()A.a/b/c*e*3B.3*a*e/b/cC.3*a*e/b*cD.a*e/c/b*315.已知各變量的類型說明如下:intk,a,b;unsignedlongw=5;doublex=1.42;則以下不符合C語言語法的表達式是()A.x%(-3)B.w+=-2C.k=(a=2,b=3,a+b)D.a+=a-=(b=4)*(a=3)16.已知各變量的類型說明如下:inti=8,k,a,b;unsignedlongw=5;doublex=1.42,y=5.2;則以下符合C語言語法的表達式是()A.a+=a-=(b=4)*(a=3)B.a=a*3=2C.x%(-3)D.y=float(i)17.以下不正確的敘述是()A.在C程序中,逗號運算符的優(yōu)先級最低B.在C程序中,APH和aph是兩個不同的變量C.若a和b類型相同,在計算了賦值表達式a=b后b中的值將放入a中,而b中的值不變D.當從鍵盤輸入數(shù)據(jù)時,對于整型變量只能輸入整型數(shù)值,對于實型變量只能輸入實型數(shù)值18.以下正確的敘述是()A.在C程序中,每行中只能寫一條語句B.若a是實型變量,C程序中允許賦值a=10,因此實型變量中允許存放整型數(shù)C.在C語程序中,無論是整數(shù)還是實數(shù),都能被準確無誤地表示D.在C程序中,%是只能用于整數(shù)運算的運算符19.以下符合C語言語法的賦值表達式是()A.d=9+e+f=d+9B.d=9+e,f=d+9C.d=9+e,e++,d+9D.d=9+e++=d+720.已知字母A的ASCII碼為十進制數(shù)65,且c2為字符型,則執(zhí)行語句c2='A'+'6'-'3';后,c2中的值為()A.DB.68C.不確定的值D.C21.在C語言中,要求運算數(shù)必須是整型的運算符是()A./B.++C.!=D.%22.若以下變量均是整型,且num=sum=7;則計算表達式SUM=num++,SUM++,++num后sum值為()A.7B.8C.9D.1023.若有說明語句:charc='\72';則變量c()A.包含1個字符B.包含2個字符C.包含3個字符D.說明不合法,c的值不確定24.若有定義:inta=7;floatx=2.5,y=4.7;則表達式x+a%3*(int)(x+y)%2/4的值是()A.2.500000B.2.750000C.3.500000D.0.00000025.設(shè)變量a是整型,f是實型,i是雙精度型,則表達式10+'a'+i*f值的數(shù)據(jù)類型為()A.intB.floatC.doubleD.不確定26.在C語言中,char型數(shù)據(jù)在內(nèi)存中存儲形式是()A.補碼B.反碼C.原碼D.ASCII碼27.表達式18/4*sqrt(4.0)/8值的數(shù)據(jù)類型為()A.floatBcharC.doubleD.不確定28.設(shè)有說明:charw;intx;floaty;doublez;則表達式w*x+z-y值的數(shù)據(jù)類型為()A.floatBcharC.intD.double29.若有以下定義,則能使值為3的表達式為3的表達式是()intk=7,x=12;A.x%=(k%=5)B.x%=(k-k%5)C.x%=k-k%5D.(x%=k)-(k%=5)30.設(shè)以下變量均為int類型,則值不等于7的表達式是()A.(x=y=6,x+y,x+1)B.(x=y=6,x+y,y+1)C.(x=6,x+1,y=6,x+y)D.(y=6,y+1,x=y,x+1)31.在c語言中(以16位pc機為例),一個char型數(shù)據(jù)在內(nèi)存中所占的字節(jié)數(shù)為(),一個int型數(shù)據(jù)在內(nèi)存中所占的字節(jié)數(shù)為(),一個float型數(shù)據(jù)在內(nèi)存中所占的字節(jié)數(shù)為(),一個double型數(shù)據(jù)在內(nèi)存中所占的字節(jié)數(shù)為().32.有以下定義,則計算表達式y(tǒng)+=y-=m*=y后的y值是()。intm=5,y=2;33.若s是int型變量,s=6;則下面表達式的值為()s%2+(s+1)%234.若a是int型變量,則下面表達式的值為()(a=4*5,a*2),a+635。若x和a均是int型變量,則計算式(1)后的x的值為(),計算表達式(2)后的x的值為()。(1)x=(a=4,6*2)(2)x=a=4,6*236.若a.b和c均是int型變量,則計算表達式后,a值為(),b值為(),c值為().a=(b=4)+(c=2)37.若a是int型變量,且a的初值為6,則計算表達式后a的值為()。a+=a-=a*a38.若a是int型變量,則計算表達式后a的值為()。a=25/3%339.若x和n均是int型變量,且x和n的初值均為5,則精神表達式后x的值為(),難得值為()。x+=n++40.若有定義:intb=7;floata=2.5,c=4.7;則下面表達式的值為()。a+(int)(b/3*(int)(a+c)/2)%441.若定義:inta=2,b=3;floatx=3.5,y=2.5;則下面表達式的值()。(float)(a+b)/2+(int)x%(int)y42.若有定義:charc='\010';則變量c中包含的字符個數(shù)為().43.若有定義:intx=3,y=2;floata=2.5,b=3.5;則下面表達式的值()(x+y)%2+(int)a/(int)b44.若x和n均為int型變量,且x的初值為12,n的初值為5,則計算表達式后x的值為()x%=(n%=2)45.假設(shè)所有變量均為整型,則表達式(a=2,b=5,a++,b++,a+b)的值為()46.C語言中的標識符只能由三種字符組成,它們是(),()和().47.已知字母a的ASII碼為十進制數(shù)97,且設(shè)ch為字符型變量,則表達式ch='a'+'8'+-'3'的值為().48.把以下多項式寫成只含七次乘法運算,其余皆為加.減運算的表達式為()5x^7+3x^6-4x^5+2x^x^3-6x^2+x+1049.若x和y都是double型變量,且x的初值為3.0,y的初值為2.0,則表達式pow(y,fabs(x))的值為()50.若有定義:inte=1,f=4,g=2;floatm=10.5,n=4.0,k;則計算賦值表達式k=(e+f)/g+sqrt((double)n)*1.2/g+m后k的值是()51.表達式8/4*(int)2.5/(int)(1.25*(3.7+2.3))值的數(shù)據(jù)類型為()52.表達式pow(2.8,sqrt(double)(x)))值的數(shù)據(jù)類型為()53.假設(shè)m是一個三位數(shù),從左到右用a、b、c表示各位的數(shù)字,則從左到右各個數(shù)字是bac的三位數(shù)的表達式是()順序結(jié)構(gòu)程序設(shè)計練習題1.putchar函數(shù)可以向終端輸出一個()A.整型變量表達式值B.實型變量值C.字符串D.字符或字符變量值2.以下程序的輸出結(jié)果是()(注:□代表空格)main(){printf(“\n*s1=%15s*',“chinabeijing");printf(“\n*s2=%-5s*",“chi");}A.*s1=chinabeijing□□□**s2=**chi*B.*s1=chinabeijing□□□**s2=chi□□*C.*s1=*□□chinabeijing**s2=□□chi*D.*s1=□□□chinabeijing**s2=chi□□*3.printf函數(shù)中用到格式符%5s,其中數(shù)字5表示輸出的字符串占用5列.如果字符串長度以大于5,則輸出按方式();如果字符串長度小于5,則輸出按方式()A.從左起輸出該字串,右補空格B.按原字符長從左向右全部輸出C.右對齊輸出該字串,左補空格D.輸出錯誤信息4.x和y均定義為int型,z定義為double型,以下不合法的scanf函數(shù)調(diào)用語句是()A.scanf(“%d%s,%1e",&x,&y,&z);B.scanf(“%2d*%d%f",&x,&y,&z);C.scanf(“%x%d*%o",&x,&y);D.scanf(“%x%o%6.2f",&x,&y,&z);5.已有如下定義和輸入語句,若要求a1,a2,c1,c2的值分別為10,20,A和B,當從第一列開始輸入數(shù)據(jù)時,正確的數(shù)據(jù)輸入方式是()(注:□表示空格,<CR>表示回車)inta1,a2;charc1;c2;scanf(“%d%c%d%c",&a,&c1,&a2,&c2);A.10A□20B<CR>B.10□A□20□B<CR>C.10A20B<CR>D.10A20□B<CR>6.已有定義intx;floaty;且執(zhí)行scanf(“%3d%f",&x,&y);語句時,從第一列開始輸入數(shù)據(jù)12345□678<回車>,則x的值為(1)y的值為(2)(1)A.12345B.123C.45D.345(2)A.無定值B.45.000000C.678.000000D.123.0000007.已有如下定義和輸入語句,若要求a1,a2,c1,c2的值分別為10,20,A和B,當從第一列開始輸入數(shù)據(jù)時,正確的數(shù)據(jù)輸入方式是()(注:□表示空格,<CR>表示回車)inta1,a2;charc1,c2;scanf(“%d%d",&a1,&a2);scanf(“%c%c",&c1,&c2);A.1020AB<CR>B.10□20<CR>AB<CR>C.10□□20□□AB<CR>D.10□20AB<CR>8.已有程序段和輸入數(shù)據(jù)的形式,程序中輸入語句的正確形式應當為()main(){inta;floatf;printf(“\nInputnumber:");輸入語句printf(“\nf=%f,a=%d\n",f,a);}輸入的數(shù)據(jù)為4.5<CR>2<CR>A.scanf(“%d,%f",&a,&f);B.scanf(“%f,%d",&f,&a);C.scanf(“%d%f,&a,&f);D.scanf(“%f%d",&f,&a);9.閱讀以下程序,當輸入數(shù)據(jù)形式為:25,13,10<CR>,正確的輸入結(jié)果為()main(){intx,y,z;scanf(“%d%d%d",&x,&y,&z);printf(“x+y+z=%d\n",x+y+z);}A.x+y+z=48B.x+y+z=35C.x+z=35D.不確定值10.根據(jù)題目中已給出的數(shù)據(jù)的輸入和輸出形式,程序中輸入輸出的語句的正確內(nèi)容是()main(){intx;floaty;printf(“enterx,y:");輸入語句輸出語句}輸入為:2□3.4輸出為:x+y=5.40A.scanf(“%d,%f",&x,&y);printf(“\nx+y=4.21",x+y);B.scanf(“%d%f",&x,&y);printf(“\nx+y=4.2f",x+y);C.scanf(“%d%f",&x,&y);printf(“\nx+y=6.1f",x+y);Dscanf(“%d%3.1f",&x,&y);printf(“\nx+y=%4.2f",x+y);11.以下說法正確的是()A.輸入項可以為一個實型常量,如scanf(“%f,3.5);B.只有格式控制,沒有輸入項,也能進行正確輸入,如scanf(“a=%d,b=%d);C.當輸入一個實型數(shù)據(jù)時,格式控制部分應規(guī)定小數(shù)點后的位數(shù),如scanf(“%4.2f",&f);D.當輸入數(shù)據(jù)時,必須指明變量的地址,如scanf(“%f",&f);12.有輸入語句:scanf(“a=%d,b=%d,c=%d",&a,&b,&c);為使變量a的值為1,b為3,c為2,從鍵盤輸入數(shù)據(jù)的正確形式應是()A.132<CR>B.1,3,2<CR>C.a=1□b=3□c=2<CR>D.a=1,b=2,c=3<CR>13.已知ch是字符變量,下面正確的賦值語句是()A.ch='123';B.ch='\xff';C.ch='\08';D.ch='\'14.已知ch是字符變量,下面不正確的賦值語句是()A.ch='a+b';B.ch='\0';C.ch='7'+'9'D.ch=5+9;15.若有以下定義,且各變量均有初值,則正確的賦值語句是()inta,b;floatx;A.a=1,b=2;B.b++;C.a=b=5D.b=int(x);16.設(shè)x,y均為float型變量,則以下不合法的賦值語句是()S.++a;B.y=(x%2)/10;C.x*=y+8;D.x=y=0;17.設(shè)x,y和z均為int型變量,則執(zhí)行語句x=(y=(z=10)+5)-5;后x,y,z的值是:()A.x=10y=15z=10B.x=10y=10z=10C.x=10y=15z=15D.x=10y=5z=1018.以下程序的輸出結(jié)果為()main(){shorta;a=-4;printf("\na:dec=%d,oct=%x,unsigned=%u\n",a,a,a,a);}19.以下程序的輸出結(jié)果為()main(){printf("*%f,%4.3f*\n",3.14,3.15);}20.以下程序的輸出結(jié)果為()main(){charc='x';printf("c:dec=%d,oct=%o,hex=%x,ASCII=%c\n",c,c,c,c);}21.已有定義intd=-2;執(zhí)行以下語句后的輸出結(jié)果是()printf("*d(1)=%d*d(20=%3d*d(3)=%-3d*\n",d,d,d);printf("*d(4)=%o*d(5)=%6o*d(6)=%-7o*\n",d,d,d);22.以有定義intd=-2;執(zhí)行以下語句后的輸出結(jié)果是()printf("*d(1)=%d(20=%3d*d(3)=%-3d*\n",d,d,d);printf("*d(40=%6o*d(6)=%-7o*\n",d,d,d);23.以有定義floatd1=3.5,d2=-3.5;執(zhí)行以下語句后的輸出結(jié)果是()printf("*d(1)=%e*d(2)=%.4e*d(3)=%10.4e*\n,d,d,d);printf("*d(4)=%e*d(5)=%.6e*d(6)=%-12.5e*\n",d,d,d);24.以下程序輸出結(jié)果為()main(){intx=1,y=2;printf("x=%dy=%d*sum*=%d\n",x,y,x+y);printf("10squaredis:%d\n",10*10);}25.以下程序的輸出結(jié)果為()main(){intx=10;floatpi=3.1416;printf("(1)%d\n",x);printf("(2)%6d\n",x);printf("(3)%f\n",56.1);printf("(4)%514f\n",pi);printf("(5)%e\n",568.1);printf("(6)%14.e\n",pi);printf("(7)%g\n",pi);printf("(8)%12g\n",pi);26.假設(shè)變量a和b均為整型,以下語句可以不借助任何變量把a,b中的值進行交換,請?zhí)羁?a+=()b=a-();a-=();27.設(shè)變量a,b,c均為整型,以下語句借助中間變量t把a,b,c中的值進行交換,即:把b中的值給a,把c中的值給b,把a中的值給c.例如:交換前a=10,b=20,c=30,交換后a=20,b=30,c=10,請?zhí)羁?();a=b;b=c;();28.設(shè)x,y,z均為int型變量,m為long型變量,則在16位機上執(zhí)行下面賦值語句后,y=(),z=(),m=().y=(x=32767,x-1);z=m=0xffff;29.如有intx;則執(zhí)行下面語句后x值是()x=7;x+=x-=x+x;30.若有inta,b;則以下語句的功能是()a+=b;b=a-b;a-=b;31.在scanf函數(shù)調(diào)用語句中,可以在格式字符和%之間加一星號,它的作用是();當輸入以下數(shù)據(jù):10__20__30__40<承認>,下面語句的執(zhí)行結(jié)果是()inta1,a2,a3;scanf("%d%d*%d%d",&a1,&a2,&3);32.若有以下定義和語句,為使變量c1的到字符'A',變量c2得到字符'B'正確的格式輸入形式是()charc1,c2;scanf("%4c%4c",&c1,&c2);33.執(zhí)行以下程序時,若從第一列開始輸入數(shù)據(jù),為使變量a=3,b=7,x=8.5,y=71.82,c1='A',c2='a',正確的數(shù)據(jù)輸入形式是()mian(0{inta,b;floatx,y;charc1,c2;scanf(a=%db=%d",&a,&b);scanf("x=%fy=%f",&x,&y);scanf("c1=%cc2=%c",&c1,&c2);printf("a=%d,b=%d,x=%f,y=%f,c1=%c,c2=%c",a,bx,y,c1,c2);}34.已有定義inti,j;floatx;為了使i=10,j=12,x=410.34,其對應的scanf函數(shù)調(diào)用語句的輸入形式是()scanf("%o%x%e",&i,&j,&x);選擇結(jié)構(gòu)程序設(shè)計練習題1.邏輯運算符兩側(cè)運算對象的數(shù)據(jù)類型()A.只能是0和1B.只能是0或非0正數(shù)C.只能是整型或字符型數(shù)據(jù)D.可以是任何類型的數(shù)據(jù)2.下列運算符中優(yōu)先級最高的是()A.<B.+C.&&D.!=3.能正確表示“當x的取值在[1,10]和[200,210]范圍內(nèi)為真,否則為假"的表達式是()A.(x>=1)&&(x<=10)&&(x>=200)&&(x<=210)B.(x>=1)||(x<=10)||(x>=200)||(x<=210)C.(x>=1)&&(x<=10)||(x>=200)&&(x<=210)D.(x>=1)||(x<=10)&&(x>=200)||(x<=210)4.表示圖中坐標軸上陰影部分的正確表達式是()A.(x<=a)&&(x>=b)&&(x<=c)B.(x<=a)||(b<=x<=c)C.(x<=a)||(x>=b)&&(x<=c)D.(x<=a)&&(b<=x<=c5.判斷char型量ch是否為大寫字母的正確表達式是()A.‘A’<=ch<=‘Z’B.(ch>=‘A’)&(ch<=‘Z’)C.(ch>=‘A’)&&(ch<=‘Z’)D.(‘A’<=ch)AND(‘Z’>=ch)6.設(shè)x,y,z都是int型變量,且x=3,y=4,z=5,則下面表達式中值為0的是()A.‘x’&&‘y’B.x<=yC.x||y+z&&!yD.!(x<y)&&!z||1)7.已知x=43,ch=‘A’,y=0;則表達式(x>=y&&ch<‘B’&&!y)的值是()A.0B.語法錯誤C.1D.“假”8.若希望當A的值為奇數(shù)時,表達式的值為“真”,A的值為偶數(shù)時,表達式的值為“假”,則以下不能滿足要求的表達式是()A.A%2==1B.!(A%2==0)C.!(A%2)D.A%29.設(shè)有:inta=1,b=2,c=3,d=4,m=2,n=2;執(zhí)行(m=a>b)&&(n=c>d)后的值為()A.1B.2C.3D.410.下列運算符中優(yōu)先級最低的是()優(yōu)先級最高的是()A.?B.&&C.+D.!=11.以下程序的運行結(jié)果是()#include<stdio.h>main(){inta,b,d=241;a=d/100%9;b=(-1)&&(-1);printf(“%d,%d”,a,b);}A.6,1B.2,1C.6,0D.2,012.執(zhí)行以下語句后a的值為()inta,b,c;a=b=c=1;++a||++b&&++c;A.錯誤B.0C.2D.1A.1B.2C.錯誤D.013.執(zhí)行以下語句后的值為(),b的值()inta=5,b=6,w=1,x=2,y=3,z=4;(a=w>x)&&(b=y>z);A.5B.0C.2D.1A.6B.0C.1D.414.以下不正確的if語句形式是()A.if(x>y&&x!=y);B.if(x==y)x+=y;C.if(x!=y)scanf(“%d“,&x)elsescanf(“%d”,&y);D.if(x<y){x++;y++;}15.已知intx=10,y=20,z=30;以下語句執(zhí)行后x,y,z的值是()if(x>y)z=x;x=y;y=z;A.x=10,y=20,z=30B.x=20,y=30,z=30C.x=20,y=30,z=10D.x=20,y=30,z=2016.以下語句語法正確的是:()A.if(x>0)printf(“%f”,x)elseprintf(“%f”,-x);B.if(x>0){x=x+y;printf(“%f”,x);}elseprintf(“%f”,-x)C.if(x>0){x=xy;printf(“%f”,x);};elseprintf(“%f”,-x);D.if(x>0){x=x+y;printf(“%f”,x)}elseprintf(“%f”,-x);17.請閱讀以下程序,該程序()main(){inta=5,b=0,c=0;if(a+b+c)printf(“***\n”);elseprintf(“$$$\n”);}A.有語法錯誤不能通過編譯B.可以通過編譯但不能通過連接C.輸出***D.輸出$$$18.以下程序的運行結(jié)果是()main(){intm=5;if(m++>5)printf(“%d\n”,m);elseprintf(“%d\n”,m--);}A.4B.5C.6D719.當a=1,b=3,c=5,d=4時,執(zhí)行完下面一段程序后x的值是()if(a<b)if(c<d)x=1;elseif(a<c)if(b<d)x=2;elsex=3;elsex=6;elsex=7;A.1B.2C.3D.620.有一函數(shù)關(guān)系如下:x-1(x<0)y={x(x=0)x+1(x>0)則下面程序段中能正確表示上面關(guān)系的是()A.y=x+1;if(x>=0)if(x==0)y=x;elsey=x-1;B.y=x-1if(x!=0)if(x>0)y=x+1;elsey=x;C.if(x<=0)if(x<0)y=x-1;elsey=x;elsey=x+1;D.y=x;if(x<=0)if(x<0)y=x-1;elsey=x+1;21.以下程序的輸出結(jié)果是()main(){inta=100,x=10,y=20,ok1=5,ok2=0;if(x<y)if(y!=10)if(!ok1)a=1;elseif(ok2)a=10;a=-1;printf(“%d\n”,a);}A.1B.0C.-1D.值不確定22.以下程序的輸出結(jié)果是()main(){intx=2,y=-1,z=2;if(x<y)if(y<0)z=0;elsez+=1;printf(“%d\n”,z);}A.3B.2C.1D.023.為了避免在嵌套的條件語句if--else中產(chǎn)生二義性,C語言規(guī)定:else子句總是與()配對。A.縮進排位置相同的ifB.其之前最近的ifC.其之后最近的ifD.同一行上的if24.以下不正確的語句為()A.if(x>y);B.if(x=y)&&(x!=0)x+=y;C.if(x!=y)scanf(“%d”,&x);elsescanf(“%d”,&y);D.if(x<y){x++;y++;}25.main(){floata,b;scanf“%f”,&a);if(a<0.0)b=0.0;elseif((a<0.5)&&(a!=2.0))b=1.0/(a+2.0);elseif(a<10.0)b=1.0/x;elseb=10.0;printf(“%f\n”,y);}若程序運行時輸入為2.0<CR>,則上面程序的輸出結(jié)果是()A.0.000000B.0.500000C.1.000000D.0.25000026.若運行時給變量x輸入12,則以下程序的運行結(jié)果是()main(){intx,y;scanf(“%d\n”,y);}A.0B.22C.12D.1027.以下程序的運行結(jié)果是()main(){intk=4,a=3,b=2,c=1;printf(“\n%d\n”,k<a?k:c<b?c:a);}A.4B.3C.2D.128.執(zhí)行以下程序段后,變量a,b,c的值分別是()intx=10,y=9;inta,b,c;a=(-x==y++)?--x:++y;x=x++;c=y;A.a=9,b=9,c=9B.a=8,b=8,c=10C.a=9,b=10,c=9D.a=1,b=11,c=1029.intw,x,y,z,m;則執(zhí)行以下語句后m的值為()w=1;x=2;y=3;z=4;m=(w<x)?w:x;m=(m<y)?m:y;m=(m<z)?m:z;A.1B.2C.3D.430.若w=1,x=2,y=3,z=4,則表達式w<x?w:y<z?y:z的值是:()A.4B.3C.2D.131.執(zhí)行以下程序段后的輸出結(jié)果是:()intw=3,z=7,x=10;printf(“%d\n”,x>10?x+100:x-10);printf(“%d\n”,w++||z++);printf(“%d\n”,!w>z);printf(“%d\n”,w&&z);A.0B.1C.0D.011111100111032.當a=3,b=2,c=1時,表達式f=a>b>c的值是________33.當a=5,b=4,c=2時,表達式a>b!=c的值是________34.以下程序的運行結(jié)果是___________main(){intx=1,y,z;x*=3+2;printf(“%d\t”,x);x*=y=z=5;printf(“%d\t”,x);x=y==z;printf(“%d\n”,x);}35.在C語言中,表示邏輯“真”用__________36.設(shè)y為int型變量,請寫出描述“y是奇數(shù)”的表達式__________37.C語言提供的三種邏輯運算符是______________38.設(shè)x,y,z均為int型變量,請寫出描述“x或y中有一個小于z”的表達式____________39.設(shè)intx,y,z;請描述“x,y和z中有兩個為負數(shù)”的表達式____________40.已知A=7.5,B=2,c=3.6,表達式A>B&&C>A||A<B&&!C>B的值是________41.若a=6,b=4,c=2,則表達式!(a-b)+c-1&&b+c/2的值是____________42.若a=2,b=4,則表達式(x=a)||(y=b)&&0的值是___________43.若a=1,b=4,c=3,則表達式!(a<b)||!c&&1的值____________44.若a=6,b=4,c=3,則表達式a&&b+c||b-c的值是___________45.若a=5,b=2,c=1,則表達式a-b<c||b==c的值是____________46.設(shè)a=3,b=4,c=5,則表達式a||b+c&&b==c的值是_________47.條件“2<x<3或x<-10”48.當m=2,n=1,a=1,b=2,c=3時,執(zhí)行完d=(m=a!=b)&&(n=b>c)后;n的值為______,m的值為________49.以下程序運行結(jié)果是______main(){inta1,a2,b1,b2;inti=5,j=7,k=0;a1=!k;a2=i!=j;printf(“a1=%d\ta2=%d\n”,a1,a2);b1=k&&j;b2=k||j;printf(“b1==%d\tb2=%d\n”,b1,b2);}51.以下程序的運行結(jié)果是:_________main(){intx,y,zx=1;y=1;z=0;x=x||y&&z;printf(“%d,%d”,x,x&&!y||z);}52.有intx,y,z;且x=3,y=-4,z=5,則表達式(x&&y)==(x||z)的值是______循環(huán)控制練習題1.設(shè)有程序段intk=10;while(k=0)k=k-1;則下面描述中正確的是()Awhile循環(huán)執(zhí)行10次B循環(huán)是無限循環(huán)C循環(huán)體語句一次也不執(zhí)行D循環(huán)體語句執(zhí)行一次2.設(shè)有以下程序段intx=0,s=0;while(!x!=0)s+=++x;printf("%d",s);則()A運行程序段后輸出0B運行程序段后輸出1C程序段中的控制表達式是非法的D程序段執(zhí)行無限次3、語句while(!E);中的表達式!E特等價于()A、E==0B、E!=1C、E?。剑埃?、E==14、下面程序段的執(zhí)行結(jié)果是()a=1;b=2;c=2;while(a<b<c){t=a;a=b;b=t;c-;}printf("%d,%d,%d",a,b,c);A、1,2,0B、2,1,0C、1,2,1D、2,1,15、下面程序段的運行結(jié)果是()x=y=0;while(x<15)y++,,x+=++y;printf("%d,%d",y,x);A、20,7B、6,12C、20,8D8,206、下面程序段的運行結(jié)果是()intn=0;while(n++<=2);printf("%d",n);A,2B、3C、4D有語法錯誤7、設(shè)有程序段t=0;while(printf("*")){t++;if(t<3)break;}下面描述正確的是()A、其中循環(huán)控制表達式與0等價B、其中循環(huán)控制表達式與’0‘等價C、其中循環(huán)表達式是不合法的D、以上說法都不對8、下面程序的功能是將從鍵盤輸入的一對數(shù),由小到大排序輸出。當輸入一對相等的數(shù)時結(jié)束循環(huán),請選擇填空。main(){inta,b,t;scanf(“%d,%d”,&a,&b);while(){if(a>b){t=a;a=b;b=t;}printf(“%d,%d\n”,a,b);scanf(“%d,%d”,&a,&b);}}A、!a=bB、a!=bC、a==bD、a=b9、下面程序的功能是從鍵盤輸入的一組字符中統(tǒng)計出大寫字母個數(shù)m和小寫字母個數(shù)n,并輸出m,n中較大者,請選擇填空。#include<stdio.h>main(){intm=0,n=0;charc;while((__)!=’\n’){if(c>=’A’&&c<=’Z’)m++;if(c>’a’&&c<=’z’)n++;}printf(“%d\n”,m<n?___);}A.c==getchar()B.getchar()C.c=getchar()D.scanf(“%c”,c)A.n:mB.m:nC.m:mD.n:n10、下面程序的功能是將小寫字母變成對應大寫字母后的第二個字母。其中y變成A,Z變成B。填空#include<stdio.h>main(){charc;while((c=getchar())!=’\n’){if(c>=’a’&&c<=’z’){_______;if(c>=’Z’&&c<=’Z’+2)___________;}printf(“%c”,c);}A.c+=2B.c-=32C.c=c+32+2D.c-=30A.c=’B’B.c=’A’C.c-=26D.c=c+2611,下面程序的功能是在輸入的一批正整數(shù)中求出最大者,輸入0時結(jié)束,請選擇填空main(){inta,max=0;scanf(“%d”,&a);while(____){if(max<a)max=a;scanf(“%d”,&a);}printf(“%d”,max);}A.a==0B.aC!a==1D.!a12、下面程序的運行結(jié)果是()main(){intnum=0;while(num<=2){num++;printf(“%d\n”,num);}A.1B.1<CR>2C.1<CR>2<CR>3D.1<CR>2<CR>3<CR>413.若運行以下程序時,從鍵盤輸入2473<CR>,則下面程序的運行結(jié)果是()#include<stdio.h>main(){intc;while((c=getchar())!=’\n’)switch(c-‘2’){case0:case1:putchar(c+4);case2:putchar(c+4);break;case3:putchar(c+3);case4:putchar(c+2);break;}printf(“\n”);}A.668977B.668966C.66778777D.668876614.C語言中while和do-while循環(huán)的主要區(qū)別是()A.do-while的循環(huán)體至少無條件執(zhí)行一次B.while的循環(huán)控制條件比do–while的循環(huán)控制條件嚴格C.do-while允許從外部轉(zhuǎn)到循環(huán)體內(nèi)D.do-while的循環(huán)體不能是復合語句15.以下程序段()x=-1do{x=x*x;}while(!x);A.是死循環(huán)B.循環(huán)執(zhí)行二次C.循環(huán)執(zhí)行一次D.有語法錯誤16、以下描述中正確的是()A.由于do-while循環(huán)中循環(huán)語句中只能是一條可執(zhí)行語句,所以循環(huán)體內(nèi)不能使用復合語句。B.do-while循環(huán)由do開始,且while結(jié)束,在while(表達式)后面不能寫分號。C.在do-while循環(huán)體中,一定要有能使while后面表達式的值變?yōu)榱悖ā凹佟保┑牟僮?。D.do-while循環(huán)中,根據(jù)情況可以省略while17.若有以下后句intx=3;do{print("%d\n",x=2);}while(!(-x));則上面程序段()A.輸入的是1B.輸出的是1和-2C.輸出的是3和0D.死循環(huán)18.下面程序是從鍵盤輸入學號,然后輸出學號中百位數(shù)字是3的學號,輸入0時結(jié)束循環(huán),填空。main(){longintnum;scanf("%ld",&num);do{if(_____)printf("%ld,num);scanf("%ld",&num);}while(______);}A.num%100/10=3.Bnum/100%10=3C.num%10/10=3D.num/10%10=3A.!numB.num>0=0C.!num=0D.!num!=019.下面程序的運行結(jié)果是()main(){inty=10;do{y--;}while(--y);printf("%d\n",y--);}A.-1B.1C.8D.-820.下面程序的運行結(jié)果是()#include<stdio.h>main(){charc;intv0=0,v1=0,v2=0;do{switch(c=getchar()){case'a':case'A':case'e':case'E':case'i':case'I':case'0':case'0':case'u':case'U':v1+=1;default:v0+=1;v2+=1;}}while(c!='\n');print(%d,%d,%d",v0,v1,v2);}A.7,4,7B.8,4,8C.11,4,11D.12,4,1221.下面程序的運行結(jié)果是()main(){inta=1,b=10,do{b-=a;a++;}while(b-,0);printf("%d,%d",a,b);}A.3.11B.2,8C.1,-1D.4,922.下面有關(guān)for循環(huán)的正確描述是()A.for循環(huán)只能有于循環(huán)次數(shù)已經(jīng)確定的情況B.for循環(huán)是先執(zhí)行循環(huán)體語句,后判斷表達式C.在for循環(huán)中,不能用break語句跳出循環(huán)體D.for循環(huán)的循環(huán)體語句中,可以包含多條語句,但必須花括號括起來23.對for(表達式1;;表達式3)可理解為()A.for(表達式1;0;表達式3)B.for(表達式1;1;表達式3)C.for(表達式1;表達式1;表達式3)D.for(表達式1;表達式3;表達式3)24.若i為整型變量,則以下循環(huán)執(zhí)行的次數(shù)是()for(i=2;i=0;)printf(“%d”,i--)A.無限次B.0次C.1次D.2次25.以下for循環(huán)的語句是()for(x=0,y=0;(y=123)&&(x<4);x++);A.是無限循環(huán)B.循環(huán)次數(shù)不定C.4次D.3次26.以下不是無限循環(huán)的語句是()A.for(y=0,x=1;x>++y;x=I++)I=x;B.for(;;x++=I);C.while(1){x++;}D.for(I=10;;I--)sum+=I;27.以下程序段的運行結(jié)果是()for(y=1;y<10;)y=((x=3*y,x+1),x-1);printf(“x=%d,y=%d”,x,y);A.x=27,y=27B.x=12,y=13C.x=15,y=14D.x=y=2728.下面程序段的運行結(jié)果是()for(x=3’x<6;x++)printf((x%2)?(“**%d”):(“##%d\n”),x);A.**3B.##3C.##3D.**3##4##4**4**4##5**5**5##529.下列程序段不是死循環(huán)的是()A.intI=100while(1){I=I%100+1;if(I>100)break;}B.for(;;)C.intk=0;do{++k;}while(k>=0);D.ints=36;while(s);--s;30.執(zhí)行語句for(I=1;I++<4;);后變量I的值是()A.3;B.4C.5D.不定31.下面程序的功能是計算1到50中是7的倍數(shù)的數(shù)值之和,請選擇填空。Main(){intI,sum=0;for(I=1;I<=50;I++)if(______)sun+=I;printf(“%d”,sum);}A.(int)(i/7)=i/7B.(int)i/7=i/7C.i%7+0D.i%7=032.下面程序的運行結(jié)果是()main(){inta;for(a=1;a<=5;a++switch(a%5){case0:printf(“*”);break;case1;printf(“#”);break;default:printf(“\n”);case2:printf(“&”);}}33.下面程序的運行結(jié)果是()main(){intx,I;for(I=1;I<100;I++){x=I;NO.14if(++x%2==0)if(++x%3==0)if(++x%7==0)ptintf(“%d”,x);}}A.3981B.4284C.2668D.287034.下面程序的運行結(jié)果是()main(){intI,b,k=0;for(I=1;I<=5;I++){b=I%2;while(b-->=0)k++;}printf(“%d,%d”,k,b);}A.3,-1B.8-1C.3,0D.8,-235.以下正確的描述是()A.continue語句的作用是結(jié)束整個循環(huán)的執(zhí)行B.只能在循環(huán)體內(nèi)和switch語句體內(nèi)使用break語句C.在循環(huán)體內(nèi)使用break或continue語句D.從多層循環(huán)嵌套中退出時,只能使用goto語句36.下面程序段()for(t=1;t<=100;t++){scanf(“%d”,&x);if(x<0)continue;ptintf(“%3d”,t);}A.當x<0時整個循環(huán)結(jié)束B.x>=0時什麼也不輸出C.printf函數(shù)永也不執(zhí)行D.最多允許輸出100個非負整數(shù)37.下面程序段()x=3;do{y=x--;if(!y){printf(“x”);continue;}printf(“#”);}while(1<=x<=2);A.將輸出##B.將輸出##*C.是死循環(huán)D.含有不合法的控制表達式38.以下是死循環(huán)的是()A.for(I=1;;){if(++I%2==0)continueif(++I%3==0)break;}B.I=32767;{if(I<0)break;}while(++I);C.for(I=1;;)if(++I<10)continue;D.i=1;while(I--);39.以下描述正確的是()A.goto語句只能用于退出多層循環(huán)B.switch語句中不能出現(xiàn)continue語句C.只能用continue語句來終止本次循環(huán)D.在循環(huán)中break語句不能獨立出現(xiàn)40.下面程序的運行結(jié)果是()#include<stdio.h>main(){intk=0;charc=’A’;do{switch(c++){case’A’:k++;break;case’B’:k--;case’C’:k+=2;break;case’D’:k=k%2;continue;case’E’:k=k*10;break;default:k=k/3;}while(c<’G’);printf(“k=%d\n”,k);}A.k=3B.k=4C.k=2D.k=041.下面程序的運行結(jié)果是()main(){inta,b;for(a=1,b=1;a<=100;a++){if(b>=20)break;if(b%3==1){b+=3;continue;}b=-5;}ptintf(“%d\n”,a);}A.7B.8C.9D.1042.下面程序的運行結(jié)果是()main(){intI,j,x=0;for(I=0;I<2;I++){x++;for(j=0;j<=3;j++){if(j%2)continue;x++;}ptintf(“x=%d\n”,x);}A.x=4B.x=8C.x=6D.x=1243.下面程序的運行結(jié)果是()main(){intI;for(I=1;I<=5;I++){if(I%2)printf(“*”);elsecontinue;printf(“#”);}printf(“$\n”);}A.*#*#*#$B.#*#*#*$C.*#*#$D.#*#*$44.下面程序的運行結(jié)果是()main(){intI,j,a=0;for(I=0;I<2;I++){for(j=0;j<4;j++)if(j%2)break;a++;}a++;}printf(“%d\n”,a);}A.4B.5C.6D.745.下面程序段是從鍵盤輸入的字符中統(tǒng)計數(shù)字字符的個數(shù),用換行符結(jié)束循環(huán)。請?zhí)羁眨篿ntn=0,c;c=getchar();while(){if()n++;c=getchar();}46.當運行以下程序時,從鍵盤輸入right?<CR.>,則下面程序的運行結(jié)果是:#include<sidio.h>main(){charc;while((c=getchar()!=’?’)putchar(++c);)47.下面程序的運行結(jié)果是:main(){inta,s,n,count;a=2;s=0;n=1;count=1;while(count<=7){n=n*a;s=s+n;++count;}printf(“s=%d”,d);}48.當運行以下程序時,從鍵盤輸入China#<CR>,則下面程序的運行結(jié)果是:________________________#include<stdio.h>main(){intv1=0,v2=0;charch;while((ch=getchar()!=’#’)switch(ch){case‘a(chǎn)’:case‘h’:default:v1++case‘o’:v2++;}printf(“%d,%d\n”,v1,v2);}49.執(zhí)行以下程序段以后,K值是:________________K=1;n=263;Do{k*=n%10;n/=10;}while(n);50.下面程序段中循環(huán)體的執(zhí)行次數(shù)是_______________a=10;b=0;do{b+=2;a-=2+b;}while(a>0);51.下面程序段的運行結(jié)果是:______________________x=2;do{printf(“*”);x-;}while(!x==0);52.下面程序段的運行結(jié)果是:_____________________I=1;a=0;s=1;Do{a=a+s*I;s=-s;I++;}while(!x<=10);Printf(“a=a%d”,a);53.當運行以下程序時,從鍵盤輸入12345-1<CR>,則下面程序的行結(jié)果是:____________________________main(){intk=0,n;do{scanf(“%d”,&nn);k+=n;}while(n!=-1);printf(“k=%dn=%d=n”,kn);}54.下面程序的運行結(jié)果:_____________________main(){intI,x,y;I=x=y=0do{++I;If(I%2!=0

溫馨提示

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

最新文檔

評論

0/150

提交評論