C語言期末考試復習題_第1頁
C語言期末考試復習題_第2頁
C語言期末考試復習題_第3頁
C語言期末考試復習題_第4頁
C語言期末考試復習題_第5頁
已閱讀5頁,還剩20頁未讀, 繼續(xù)免費閱讀

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領

文檔簡介

單選復習題1.下列定義變量的語句中錯誤的是。A、int_intB、doubleint_C、charForD、floatUS$答案:D知識點:常量、變量和標識符2.以下不合法的用戶標識符是。A、j2_KEYB、DoubleC、4dD、_8_答案:C知識點:常量、變量和標識符3.以下4組用戶定義標識符中,全部合法的一組是A、_mainencludesinB、If-maxturboC、txtREAL3COMD、intk_2_001答案:A知識點:常量、變量和標識符4.以下定義語句中正確的是。A、chara='A'b='B';B、floata=b=10.0;C、inta=10,*b=&a;D、float*a,b=&a;答案:C知識點:常量、變量和標識符5.以下不能定義為用戶標識符的是。A、scanfB、VoidC、_3com_D、int答案:D知識點:常量、變量和標識符6.以下有4組用戶標識符,其中合法的一組是A、For-subCaseB、4dDOSizeC、f2_G3IFabcD、WORDVoiddefine答案:C知識點:常量、變量和標識符7.C語言中最簡單的數(shù)據(jù)類型包括。A、整型、實型、邏輯型B、整型、實型、字符型C、整型、字符型、邏輯型D、整型、實型、邏輯型、字符型答案:B知識點:常量、變量和標識符8.下列選項中,合法的C語言關鍵字是。A、VARB、cherC、integerD、default答案:D知識點:常量、變量和標識符9.以下不能定義為用戶標識符的是。A、MainB、_0C、_intD、sizeof答案:D知識點:常量、變量和標識符10.下列敘述中正確的是。A、C語言中既有邏輯類型也有集合類型B、C語言中沒有邏輯類型但有集合類型C、C語言中有邏輯類型但沒有集合類型D、C語言中既沒有邏輯類型也沒有集合類型答案:D知識點:常量、變量和標識符11.當C的值不為0時,在下列選項中能正確將c的值賦給變量a、b的是。A、c=b=a;B、(a=c)||(b=c);C、(a=c)&&(b=c);D、a=c=b;答案:c知識點:賦值表達式12.以下選項中非法的表達式是。A、0<=x<100B、i=j==0C、(char)(65+3)D、x+1=x+1答案:D知識點:賦值表達式13.以下程序的輸出結果是。#include<stdio.h>main(){inta,b,d=241;a=d/100%9;b=(-1)&&(-1);printf("%d,%d\n",a,b);}A、6,1B、2,1C、6,0D、2,0答案:B知識點:賦值表達式14.以下循環(huán)體的執(zhí)行次數(shù)是。main(){inti,j;for(i=0,j=1;i<=j+1;i+=2,j--)printf("%d\n",i);}A、3B、2C、1D、0答案:C知識點:賦值表達式15.有以下定義語句doublea,b;intw;longc;若各變量已正確賦值,則下列選項中正確的表達式是A、a=a+b=b++B、w%((int)a+b)C、(c+w)%(int)aD、w=a=b;答案:C知識點:賦值表達式16.有如下程序main(){inta;charc=10;floatf=100.0;doublex;a=f/=c*=(x=6.5);printf("%d%d%3.1f%3.1f\n",a,c,f,x);}程序運行后輸出結果是。A、16516.5B、1651.56.5C、1651.06.5D、2651.56.5答案:B知識點:賦值表達式17.若變量a、i已正確定義,且i已正確賦值,合法的語句是。A、a==1B、++i;C、a=a++=5;D、a=int(i);答案:B知識點:賦值表達式18.若變量已正確定義并賦值,下面符合C語言語法的表達式是。A、a:=b+1B、a=b=c+2C、int18.5%3D、a=a+7=c+b答案:B知識點:賦值表達式20.設變量x為float型且已賦值,則以下語句中能將x中的數(shù)值保留到小數(shù)點后兩位,并將第三位四舍五入的是。A、x=x*100+0.5/100.0B、x=(x*100+0.5)/100.0C、x=(int)(x*100+0.5)/100.0D、x=(x/100+0.5)*100.0答案:C知識點:賦值表達式22.在一個C程序中。A、main函數(shù)必須出現(xiàn)在所有函數(shù)之前B、main函數(shù)可以在任何地方出現(xiàn)C、main函數(shù)必須出現(xiàn)在所有函數(shù)之后D、main函數(shù)必須出現(xiàn)在固定位置答案:B知識點:簡單C語言程序的構成和格式23.以下說法中正確的是。A、#define和printf都是C語句B、#define是C語句,而printf不是C、printf是C語句,但#define不是D、#define和printf都不是C語句答案:D知識點:簡單C語言程序的構成和格式若k是int型變量,且有下面的程序片段k=-3if(k〈=0)printf("####")elseprintf("&&&&");上面程序片段的輸出結果是。A、####B、&&&&C、####&&&&D、有語法錯誤,無輸出結果答案:D知識點:簡單C語言程序的構成和格式以下4個選項中,不能看作一條語句的是A、{;}B、a=0,b=0,c=0;C、if(a>0);D、if(b==0)m=1;n=2;答案:D知識點:簡單C語言程序的構成和格式26.有以下程序main(){inta=0,b=0;a=10;/*給a賦值*/b=20;/*給b賦值*/printf("a+b=%d\n",a+b);}程序運行后的輸出結果是。A、a+b=10B、a+b=30C、30D、出錯答案:B知識點:簡單C語言程序的構成和格式27.以下選項中,不能作為合法常量的是。A、1.234e04B、1.234e0.4C、1.234e+4D、1.234e0答案:B知識點:實型數(shù)據(jù)28.TOC\o"1-5"\h\z以下符合C語言語法的實型常量是。A、1.2E0.5B、3.14159EC、.5E-3D、E15答案:C知識點:實型數(shù)據(jù)30.表達式3.6-5/2+1.2+5%2的值是。A、4.3B、4.8C、3.3D、3.8答案:D知識點:算術表達式31.設inta=12,則執(zhí)行完語句a+=a-=a*a后,a的值是A、552B、264C、144D、-264答案:D知識點:算術表達式32.以下變量x、y、z均為double類型且已正確賦值,不能正確表示數(shù)字式子x/(y*z)的C語言表達式是A、x/y*zB、x*(1/(y*z))C、x/y*1/zD、x/y/z答案:A知識點:算術表達式33.TOC\o"1-5"\h\z若有定義:inta=8,b=5,c;,執(zhí)行語句c=a/b+0.4;后,c的值是。A、1.4B、1C、2.0D、2答案:B知識點:算術表達式34.設有定義:floata=2,b=4,h=3;,以下C語言表達式與代數(shù)式1/2((a+b)h)計算結果不相符的是。A、(a+b)*h/2B、(1/2)*(a+b)*hC、(a+b)*h*1/2D、h/2*(a+b)答案:B知識點:算術表達式35.假定x和y為double型,表達式x=2,y=x+3/2的值是A、3.500000B、3C、2.000000D、3.000000答案:D知識點:算術表達式36.若已定義x和y為double類型,則表達式x=1,y=x+3/2的值是。A、1B、2C、2.000000D、2.500000答案:c知識點:算術表達式37.若有以下程序段intc1=1,c2=2,c3;c3=1.0/c2*c1;TOC\o"1-5"\h\z則執(zhí)行后,c3中的值是。A、0B、0.5C、1D、2答案:A知識點:算術表達式38.設有intx=11;則表達式(x++*l/3)的值是.A、3B、4C、11D、12答案:A知識點:算術表達式39.下列程序的輸出結果是。main(){doubled=3.2;intx,y;x=1.2;y=(x+3.8)/5.0;printf("%d\n",d*y);}A、3B、3.2C、0D、3.07答案:C知識點:算術表達式40.請讀程序片段:inti=65536;printf("%d\n",i);上面程序片段的輸出結果是。A、65536B、0C、有語法錯誤,無輸出結果D、-1答案:B知識點:整型數(shù)據(jù)41.若有以下定義和語句:intu=010,v=0x10,w=10;printf("%d,%d,%d\n",u,v,w);則輸出結果是:。A、8,16,10B、10,10,10C、8,8,10D、8,10,10答案:A知識點:整型數(shù)據(jù)42.在C語言中,不正確的int類型的常數(shù)是A、32768B、0C、037D、0xAF答案:A知識點:整型數(shù)據(jù)43.以下程序的輸出結果是。main(){intk=17;printf("%d,%o,%x\n",k,k,k);}A、17,021,0x11B、17,17,17C、17,0x11,021D、17,21,11答案:D知識點:整型數(shù)據(jù)44.下面程序的輸出是。main(){unsigneda=32768;printf("a=%d\n",a);}A、a=32768B、a=32767C、a=-32768D、a=-1答案:C知識點:整型數(shù)據(jù)45.在C語言中,合法的長整型常數(shù)是。A、0LB、4962710C、324562&D、216D答案:A知識點:整型數(shù)據(jù)46.C語言中運算對象必須是整型的運算符是A、%=B、/C、=D、<=答案:A知識點:整型數(shù)據(jù)47.以下選項中不屬于C語言的類型名稱是。A、signedshortintB、unsignedlongintC、unsignedintD、longshort答案:D知識點:整型數(shù)據(jù)48.有以下程序main(){intm=0256,n=256;printf("%o%o\n",m,n);}程序運行后的輸出結果是。A、02560400B、0256256C、256400D、400400答案:C知識點:整型數(shù)據(jù)49.若執(zhí)下面程序時從鍵盤上輸入5,main(){intx;scanf("%d",&x);if(x++>5)printf("%d\n",x);elseprintf("%d\n",x--);}則輸出是。A、7B、6C、5D、4答案:B知識點:自加、自減運算符和逗號運算符50.有以下程序main(){chara1='M',a2='m';printf("%c\n",(a1,a2));}以下敘述中正確的是。A、程序輸出大寫字母MB、程序輸出小寫字母mC、格式說明符不足,編譯出錯D、程序運行時產生出錯信息答案:B知識點:自加、自減運算符和逗號運算符51.以下程序的輸出結果是。main(){inta;printf("%d\n",(a=3*5,a*4,a+5));}A、65B、20C、15D、10答案:B知識點:自加、自減運算符和逗號運算符53.設有如下程序段intx=2002,y=2003;printf("%d\n",(x,y));則以下敘述中正確的是。A、輸出語句中格式說明符的個數(shù)少于輸出項的個數(shù),不能正確輸出B、運行時產生錯誤信息C、輸出值為2002D、輸出值為2003答案:D知識點:自加、自減運算符和逗號運算符54.有以下程序main(){intx,y,z;x=y=1;z=x++,y++,++y;printf("%d,%d,%d\n",x,y,z);}程序運行后的輸出結果是。A、2,3,3B、2,3,2C、2,3,1D、2,2,1答案:C知識點:自加、自減運算符和逗號運算符55.設有以下定義inta=0;doubleb=1.25;charc='A';#defined2則下面語句中錯誤的是。A、a++;B、b++;C、c++;D、d++;答案:D知識點:自加、自減運算符和逗號運算符56.以下程序的輸出結果是。main(){intx=10,y=10;printf("%d%d\n",x--,--y);}A、1010B、99C、910D、109答案:D知識點:自加、自減運算符和逗號運算符57.若x和y都是int型變量,x=100、y=200,且有下面的程序片段printf("%d",(x,y));上面程序片段的輸出結果是。A、200B、100C、100200D、輸則格式符不夠,輸出不確定的值答案:A知識點:自加、自減運算符和逗號運算符58.設有如下定義:intx=10,y=3,z;則語句printf("%d\n",z=(x%y,x/y));TOC\o"1-5"\h\z的輸出結果是。A、1B、0C、4D、3答案:D知識點:自加、自減運算符和逗號運算符59.兩次運行下面的程序,如果從鍵盤上分別輸入6和4,則輸出結果是。main(){intx;scanf("%d",&x);if(x++>5)printf("%d",x);elseprintf("%d\n",x--);}A、7和5B、6和3C、7和4D、6和4答案:A知識點:自加、自減運算符和逗號運算符60.若t為double類型,表達式t=l,t+5,t++的值是A、1B、6.0C、2.0D、1.0答案:D知識點:自加、自減運算符和逗號運算符61.以下程序的輸出結果是。#include<stdio.h>main(){inti=10,j=10;printf("%d,%d\n",++i,j--);}A、11,10B、9,10C、010,9D、10,9答案:A知識點:自加、自減運算符和逗號運算符62.有以下程序main(){inty=10;while(y--);printf("y=%d\n",y);TOC\o"1-5"\h\z}程序執(zhí)行后的輸出結果是。A、y=0B、y=-1C、y=1D、while構成無限循環(huán)答案:B知識點:自加、自減運算符和逗號運算符63.以下敘述中正確的是。A、全局變量的作用域一定比局部變量的作用域范圍大B、靜態(tài)(static)類別變量的生存期貫穿于整個程序的運行期間C、函數(shù)的形參都屬于全局變量D、未在定義語句中賦初值的auto變量和static變量的初值都是隨機值答案:B知識點:局部變量及其作用域和生存期64.下面程序的輸出是。fun3(intx){staticinta=3;a+=x;return(a);}main(){intk=2,m=1,n;n=fun3(k);n=fun3(m);printf("%d\n",n);}A、3B、4C、6D、9答案:C知識點:局部變量及其作用域和生存期65.以下敘述中正確的是。A、局部變量說明為static存儲類,其生存期將得到延長B、全局變量說明為static存儲類,其作用域將被擴大C、任何存儲類的變量在未賦初值時,其值都是不確定的D、形參可以使用的存儲類說明符與局部變量完全相同答案:A知識點:局部變量及其作用域和生存期66.有以下程序intfun(intx[],intn){staticintsum=0,i;for(i=0;i<n;i++)sum+=x[i];returnsum;}main(){inta[]={1,2,3,4,5},b[]={6,7,8,9,},s=0;s=fun(a,5)+fun(b,4);printf("%d\n",s);}程序執(zhí)行后的輸出結果是。A、45B、50C、60D、55答案:C知識點:局部變量及其作用域和生存期67.以下程序執(zhí)行后sum的值是。main(){inti,sum;for(i=1;i<6;i++)sum+=i;printf("%d\n",sum);}A、15B、14C、不確定D、0答案:c知識點:局部變量及其作用域和生存期68.以下程序的輸出結果是。main(){intk=4,m=1,p;p=func(k,m);printf("%d,",p);p=func(k,m);printf("%d\n",p);}func(inta,intb){staticintm=0,i=2;i+=m+1;m=i+a+b;return(m);}A、8,17B、8,16C、8,20D、8,8答案:A知識點:局部變量及其作用域和生存期69.設有以下函數(shù):f(inta){intb=0;staticintc=3;b++;c++;return(a+b+c);}如果在下面的程序中調用該函數(shù),則輸出結果是main(){inta=2,i;for(i=0;i<3;i++)printf("%d\n",f(a));}A、7B、11C、13D、777

89答案:A知識點:局部變量及其作用域和生存期70.有以下程序fun(intx,inty){staticintm=0,i=2;i+=m+1;m=i+x+y;returnm;}main(){intj=1,m=1,k;k=fun(j,m);printf("%d,",k);k=fun(j,m);printf("%d\n",k);}執(zhí)行后的輸出結果是。A、5,5B、5,11C、11,11D、11,5答案:B知識點:局部變量及其作用域和生存期71.以下程序的輸出結果是。inta,b;voidfun(){a=100;b=200;}main(){inta=5,b=7;fun();printf("%d%d\n",a,b);}A、100200B、57C、200100D、75答案:B知識點:全局變量及其作用域和生存期72.有如下程序intfunc(inta,intb){return(a+b);}main(){intx=2,y=5,z=8,r;r=func(func(x,y),z);printf("%d\n",r);}該程序的輸出結果是。A、12B、13C、14D、15答案:D知識點:調用函數(shù)和被調用函數(shù)之間的數(shù)據(jù)傳遞73.有以下程序voidf(intv,intw){intt;t=v;v=w;w=t;}main(){intx=1,y=3,z=2;if(x>y)f(x,y);elseif(y>z)f(y,z);elsef(x,z);printf("%d,%d,%d\n",x,y,z);}執(zhí)行后輸出結果是。A、1,2,3B、3,1,2C、1,3,2D、2,3,1答案:C知識點:調用函數(shù)和被調用函數(shù)之間的數(shù)據(jù)傳遞74.有以下程序voidf(intx,inty){intt;if(x<y){t=x;x=y;y=t;}}main(){inta=4,b=3,c=5;f(a,b);f(a,c);f(b,c);printf("%d,%d,%d\n",a,b,c);}TOC\o"1-5"\h\z執(zhí)行后輸出結果是。A、3,4,5B、5,3,4C、5,4,3D、4,3,5答案:D知識點:調用函數(shù)和被調用函數(shù)之間的數(shù)據(jù)傳遞75.有以下程序intfun1(doublea){returna*=a;}intfun2(doublex,doubley){doublea=0,b=0;a=fun1(x);b=fun1(y);return(int)(a+b);}main(){doublew;w=fun2(1.1,2.0);}程序執(zhí)行后變量W中的值是。A、5.21B、5C、5.0D、0.0答案:C知識點:調用函數(shù)和被調用函數(shù)之間的數(shù)據(jù)傳遞80.在調用函數(shù)時,如果實參是簡單變量,它與對應形參之間的數(shù)據(jù)傳遞方式是。A、地址傳遞B、單向值傳遞C、由實參傳給形參D、再由形參傳回實參答案:B知識點:函數(shù)的調用81.當執(zhí)行下面的程序時,如果輸入ABC,則輸出結果是#include"stdio.h"#include"string.h"main(){charss[10]="12345";gets(ss);strcat(ss,"6789");printf("%s\n",ss);}A、ABC6789B、ABC67C、12345ABC6D、ABC456789答案:A知識點:函數(shù)的調用82.有如下程序longfib(intn){if(n>2)return(fib(n-1)+fib(n-2));elsereturn(2);}main(){printf("%ld\n",fib(3));}該程序的輸出結果是。A、2B、4C、6D、8答案:B知識點:函數(shù)的調用83.設函數(shù)fun的定義形式為voidfun(charch,floatx){……}則以下對函數(shù)fun的調用語句中,正確的是A、fun("abc",3.0);B、t=fun('D',16.5);C、fun('65',2.8);D、fun(32,32);答案:D知識點:函數(shù)的調用84.有以下程序charfun(charx,chary){if(x<y)returnx;returny;}main(){inta='9',b='8',c='7';printf("%c\n",fun(fun(a,b),fun(b,c)));}TOC\o"1-5"\h\z程序的執(zhí)行結果是。A、函數(shù)調用出錯B、8C、9D、7答案:D知識點:函數(shù)的調用85.若已定義的函數(shù)有返回值,則以下關于該函數(shù)調用的敘述中錯誤的是。A、函數(shù)調用可以作為獨立的語句存在B、函數(shù)調用可以作為一個函數(shù)的實參C、函數(shù)調用可以出現(xiàn)在表達式中D、函數(shù)調用可以作為一個函數(shù)的形參答案:D知識點:函數(shù)的調用86.有如下函數(shù)調用語句func(rec1,rec2+rec3,(rec4,rec5));該函數(shù)調用語句中,含有的實參個數(shù)是。A、3B、4C、5D、有語法錯答案:A知識點:函數(shù)的調用92.以下函數(shù)值的類型是。fun(floatx){floaty;y=3*x-4;returny;}A、intB、不確定C、voidD、float答案:A知識點:函數(shù)的定義和返回值93.在c語言中,形參的缺省存儲類是。A、autoB、registerC、staticD、extern答案:A知識點:函數(shù)的定義和返回值94.有以下程序intf(inta){returna%2;}main(){ints[8]={1,3,5,2,4,6},i,d=0;for(i=0;f(s[i]);i++)d+=s[i];printf("%d\n",d);}TOC\o"1-5"\h\z程序運行后的輸出結果是。A、9B、11C、19D、21答案:A知識點:函數(shù)的定義和返回值95.在C語言中,函數(shù)的隱含存儲類別是。A、autoB、staticC、externD、無存儲類別答案:c知識點:函數(shù)的定義和返回值97.若程序中定義了以下函數(shù)doublemyadd(doublea,doubleb){return(a+b);}并將其放在調用語句之后,則在調用之前應該對該函數(shù)進行說明,以下選項中錯誤的說明是。A、doublemyadd(doublea,b);B、doublemyadd(double,double);C、doublemyadd(doubleb,doublea);D、doublemyadd(doublex,doubley);答案:A知識點:函數(shù)的定義和返回值98.若有以下程序#include<stdio.h>voidf(intn)main(){voidf(intn);f(5);}voidf(intn);{printf("%d\n",n);}則以下敘述不正確的是。A、若只在主函數(shù)中對函數(shù)f進行說明,則只能在主函數(shù)中正確調用函數(shù)fB、若在主函數(shù)前對函數(shù)f進行說明,則在主函數(shù)和其它函數(shù)中都可以正確調用函數(shù)fC、對于以上程序,編譯時系統(tǒng)會出提示出錯信息:提示對f函數(shù)重復說明D、函數(shù)f無返回值,所以可用void將其類型定義為無值型答案:c知識點:函數(shù)的說明99.下列敘述中正確的是。A、C語言編譯時不檢查語法B、C語言的子程序有過程和函數(shù)兩種C、C語言的函數(shù)可以嵌套定義D、C語言所有函數(shù)都是外部函數(shù)答案:D知識點:庫函數(shù)101.以下不能正確定義二維數(shù)組的選項是。A、inta[2][2]={{1},{2}};B、inta[][2]={1,2,3,4};C、inta[2][2]={{1},2,3};D、inta[2][]={{1,2},{3,4}};答案:D知識點:二維數(shù)組的定義和二維數(shù)組元素的引用102.以下能正確定義二維數(shù)組的是。A、inta[][3];B、inta[][3]={2*3};C、inta[][3]={};D、inta[2][3]={{1},{2},{3,4}};答案:B知識點:二維數(shù)組的定義和二維數(shù)組元素的引用103.以下程序的輸出結果是。main(){inta[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);}A、18B、19C、20D、21答案:A知識點:二維數(shù)組的定義和二維數(shù)組元素的引用104.以下程序的輸出結果是。main(){inti,x[3][3]={1,2,3,4,5,6,7,8,9};for(i=0;i<3;i++)printf("%d,",x[i][2-i]);}A、1,5,9B、1,4,7C、3,5,7D、3.6.9答案:C知識點:二維數(shù)組的定義和二維數(shù)組元素的引用105.有以下程序main(){inti,t[][3]={9,8,7,6,5,4,3,2,1};for(i=0;i<3;i++)printf("%d",t[2-i][i]);TOC\o"1-5"\h\z}判序執(zhí)行后的輸出結果是。A、753B、357C、369D、751答案:B知識點:二維數(shù)組的定義和二維數(shù)組元素的引用106.以下數(shù)組定義中錯誤的是。A、intx[][3]={0};B、intx[2][3]={{1,2},{3,4},{5,6}};C、intx[][3]={{1,2,3},{4,5,6}};D、intx[2][3]={1,2,3,4,5,6};答案:B知識點:二維數(shù)組的定義和二維數(shù)組元素的引用107.以下數(shù)組定義中不正確的是。A、inta[2][3];B、intb[][3]={0,1,2,3};C、intc[100][100]={0};D、intd[3][]={{1,2},{1,2,3},{1,2,3,4}};答案:D知識點:二維數(shù)組的定義和二維數(shù)組元素的引用108.有以下程序main(){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]);}}執(zhí)行后輸出結果是。A、456B、258C、369D、789答案:C知識點:二維數(shù)組的定義和二維數(shù)組元素的引用109.以下能正確定義數(shù)組并正確賦初值的語句是。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}};答案:D知識點:二維數(shù)組的定義和二維數(shù)組元素的引用111.以下程序的輸出結果是。main(){inta[4][4]={{1,3,5},{2,4,6},{3,5,7}};printf("%d%d%d%d\n",a[0][3],a[1][2],a[2][1],a[3][0]);}A、0650B、1470C、5430D、輸出值不定答案:A知識點:二維數(shù)組的定義和二維數(shù)組元素的引用112.定義如下變量和數(shù)組:inti;intx[3][3]={1,2,3,4,5,6,7,8,9};則下面語句的輸出結果是。for(i=0;i<3;i++)printf("%d",x[i][2-i]);A、159B、147C、357D、369答案:C知識點:二維數(shù)組的定義和二維數(shù)組元素的引用113.有以下程序main(){intx[3][2]={0},i;for(i=0;i<3;i++)scanf("%d",x[i]);printf("%3d%3d%3d\n",x[0][0],x[0][1],x[1][0])

}若運行時輸入A、}若運行時輸入A、200C、240答案:BTOC\o"1-5"\h\zB、204D、246知識點:二維數(shù)組的定義和二維數(shù)組元素的引用114.以下程序的輸出結果是。main(){charw[][10]={"ABCD","EFGH","IJLK","MNOP"},k;for(k=1;k<3;k++)printf("%s\n",w[k]);}A、ABCDFGHC、EFGC、EFGJK

OB、ABCDEFGIJ

D、D、請讀程序:#include〈stdio.h〉f(intb[],intn){inti,r;r=1;for(i=0;i〈=n;i++)r=r*b[i];returnr;}main(){intx,a[]={2,3,4,5,6,7,8,9};x=f(a,3);printf("%d\n",x);}GH上面程序的輸出結果是。B、120C、24D、6EFIJLKAEFIJLKA、720知識點:一維數(shù)組的定義和一維數(shù)組元素的引用數(shù)組的長度數(shù)組的首地址數(shù)組的長度數(shù)組的首地址數(shù)組每一個元素的地址數(shù)組每個元素中的值a[2*n];a[5+5];n=10,a[n];130.當調用函數(shù)時,實參是一個數(shù)組名,則向函數(shù)傳送的是A、B、C、D、答案:B知識點:函數(shù)之間對一維數(shù)組和數(shù)組元素的引用

140.若要求定義具有10個int形元素的一維數(shù)組a,則以下的定義語句中錯誤的是。A、#defineN10inta[N];B、#definen5intC、intD、int答案:D知識點:一維數(shù)組的定義和一維數(shù)組元素的引用132.有以下程序voidsum(inta[]){a[0]=a[-1]+a[1];}main(){inta[10]={1,2,3,4,5,6,7,8,9,10};sum(&a[2]);printf("%d\n",a[2]);}程序運行后輸出結果是。A、6B、7C、5D、8答案:A知識點:函數(shù)之間對一維數(shù)組和數(shù)組元素的引用138.有以下程序main(){chars[]="abcde";s+=2;printf("%d\n",s[0]);}執(zhí)行后的結果是。A、輸出字符a的ASCII碼B、輸出字符c的ASCII碼C、輸出字符cD、程序出錯答案:D知識點:函數(shù)之間對一維數(shù)組和數(shù)組元素的引用

141.合法的數(shù)組定義是。A、inta[]="string";B、inta[5]={0,1,2,3,4,5};C、chars="string";D、chara[]={0,1,2,3,4,5};答案:D知識點:一維數(shù)組的定義和一維數(shù)組元素的引用144.以下能正確定義一維數(shù)組的選項是A、inta[5]={0,1,2,3,4,5};B、chara[]={0,1,2,3,4,5};C、chara={'A','B','C'};D、inta[5]="0123";答案:B知識點:一維數(shù)組的定義和一維數(shù)組元素的引用145.有如下程序main(){intn[5]={0,0,0},i,k=2;

for(i=0;i<k;i++)

n[i]=n[i]+1;printf("%d\n",n[k]);}該程序的輸出結果是。A、不確定的值B、2C、1D、0答案:D知識點:一維數(shù)組的定義和一維數(shù)組元素的引用146.以下程序的輸出結果是。main(){inti,a[10];for(i=9;i>=0;i--)a[i]=10-i;printf("%d%d%d",a[2],a[5],a[8]);}A、258B、741C、852D、369答案:C知識點:一維數(shù)組的定義和一維數(shù)組元素的引用147.執(zhí)行下面的程序段后,變量k中的值為。intk=3,s[2];s[O]=k;k=s[l]*10;A、不定值B、33C、30D、10答案:A知識點:一維數(shù)組的定義和一維數(shù)組元素的引用170.以下能正確計算定義且賦初值的語句是。A、intn1=n2=10;B、charc=32;C、fioatf=f+1.1;D、doublex=12.3E2.5答案:B知識點:賦值語句171.以下合法的賦值語句是。A、x=y=100B、d--;C、x+y;D、c=int(a+b);答案:B知識點:賦值語句172.下列語句中符合C語言語法的賦值語句是。A、a=7+b+c=a+7;B、a=7+b++=a+7;C、a=7+b,b++,a+7D、a=7+b,c=a+7;答案:D知識點:賦值語句173.請選出合法的C語言賦值語句。A、a=b=58B、i++;C、a=58,b=58D、k=int(a+b);答案:B知識點:賦值語句174.下面程序的輸出是。main(){intx=10,y=3;printf("%d\n",y=x/y);}A、0B、1C、3D、不確定的值答案:c知識點:數(shù)據(jù)輸出175.已知字母A的ASCII碼為十進制的65,下面程序的輸出是。main(){charch1,ch2;ch1='A'+'5'-'3';ch2='A'+'6'-'3';printf("%d,%c\n",ch1,ch2);}A、67,DB、B,CC、C,DD、不確定的值答案:A知識點:數(shù)據(jù)輸出176.下列程序的運行結果是。#include<stdio.h>main(){inta=2,c=5;printf("a=%d,b=%d\n",a,c);}A、a=%2,b=%5B、a=2,b=5C、a=d,b=dD、a=%d,b=5d答案:B知識點:數(shù)據(jù)輸出177.以下程序的輸出結果是。#include<stdio.h>main(){inta=2,c=5;printf("a=%%d,b=%%d\n",a,c);}A、a=%2,b=%5B、a=2,b=5C、a=%%d,b=%%dD、a=%d,b=%d答案:D知識點:數(shù)據(jù)輸出178.有以下程序main(){intx=102,y=012;printf("%2d,%2d\n",x,y);}執(zhí)行后輸出結果是。A、10,01B、02,12C、102,10D、02,10答案:C知識點:數(shù)據(jù)輸出179.有以下程序main(){inta=666,b=888;printf("%d\n",a,b);}程序運行后的輸出結果是。A、錯誤信息B、666C、888D、666,888答案:B知識點:數(shù)據(jù)輸出180.有以下程序#include<stdio.h>main(){charc1='1',c2='2';c1=getchar();c2=getchar();putchar(c1);putchar(c2);}當運行時輸入:a〈回車〉后,以下敘述正確的是A、變量C1被賦予字符a,c2被賦予回車符B、程序將等待用戶輸入第2個字符C、變量c1被賦予字符a,c2中仍是原有字符2D、變量cl被賦予字符a,c2中將無確定值答案:A知識點:數(shù)據(jù)輸入l8l.執(zhí)行下列程序時輸入:123〈空格〉456〈空格〉789〈回車>,輸出結果是。main(){chars[100];intc,i;scanf("%c",&c);scanf("%d",&i);scanf("%s",s);printf("%c,%d,%s}A、123,456,789B、\n",c,i,s)1,456,789C、1,23,456,789D、1,23,456答案:D知識點:數(shù)據(jù)輸入l82.有定義語句:intb;charc[10];,則正確的輸入語句是。A、scanf("%d%s",&b,&c);B、scanf("%d%s",&b,c);C、scanf("%d%s",b,c);D、scanf("%d%s",b,&c);答案:B知識點:數(shù)據(jù)輸入l84.若要求從鍵盤讀入含有空格字符的字符串,應使用函數(shù)。A、getc()B、gets()C、getchar()D、scanf()答案:B知識點:數(shù)據(jù)輸入l86.有以下程序#include<stdio.h>main(){charcl,c2,c3,c4,c5,c6;scanf("%c%c%c%c",&cl,&c2,&c3,&c4);c5=getchar();c6=getchar();putchar(cl);putchar(c2);printf("%c%c\n",c5,c6);}程序運行后,若從鍵盤輸入(從第1列開始)。123<回車〉45678<回車>則輸出結果是A、1267B、1256C、1278D、1245答案:D知識點:數(shù)據(jù)輸入188.有以下程序main(){intm,n,p;scanf("m=%dn=%dp=%d",&m,&n,&p);printf("%d%d%d\n",m,n,p);}若想從鍵盤上輸入數(shù)據(jù),使變量m中的值為123,n中的數(shù)值為456,p中的值為789,則正確的輸入是A、m=123n=456p=789B、m=123n456p=789C、m=123,n=456,p=789D、123456789答案:A知識點:數(shù)據(jù)輸入189.有以下程序段intm=0,n=0;charc='a';scanf("%d%c%d",&m,&c,&n);printf("%d,%c,%d\n",m,c,n);若從鍵盤上輸入:10A10〈回車>,則輸出結果是A、10,A,10B、10,a,10C、10,a,0D、10,A,0答案:A知識點:數(shù)據(jù)輸入據(jù)輸入192.有定義語句:intx,y;,若要通過scanf("%d,%d",&x,&y);語句使變量x得到數(shù)據(jù)11,變量y得到數(shù)值12,下面四組輸入形式中,錯誤的是A、1112<回車>B、11,12<回車〉C、11,12<回車>D、11,<回車〉12<回車>答案:A知識點:數(shù)據(jù)輸入193.在嵌套使用if語句時,C語言規(guī)定else總是A、和之前與其具有相同縮進位置的if配對B、和之前與其最近的if配對C、和之前與其最近的且不帶else的if配對D、和之前的第一個if配對答案:c知識點:if語句和用if語句構成的選擇結構195.假定所有變量均已正確說明,下列程序段運行后x的值是。a=b=c=0;x=35;if(!a)x--;elseif(b);if(c)x=3;elsex=4;A、34B、4C、35D、3答案:B知識點:if語句和用if語句構成的選擇結構196.有以下程序main(){inti;for(i=1;i<40;i++){if(i++%5==0)if(++i%8==0)printf("%d",i);}printf("\n");}執(zhí)行后的輸出結果是。A、5B、24C、32D、40答案:C知識點:if語句和用if語句構成的選擇結構198.有如下程序main(){inta=2,b=-1,c=2;if(a<b)if(b<0)c=0;elsec++;printf("%d\n",c);}該程序的輸出結果是。A、0B、1C、2D、3答案:C知識點:if語句和用if語句構成的選擇結構199.請讀程序:#include<math.h>#include<stdio.h>main(){floatx,y,z;scanf("%f%f",&x,&y);z=x/y;while(z){if(fabs(z)>1.0){x=y;y=z;z=x/y;}elsebreak;}printf("%f\n",y);}若運行時從鍵盤上輸入3.62.4〈CR〉(〈CR>表示回車),則輸出的結果是。A、1.500000B、1.600000C、2.000000D、2.400000答案:B知識點:if語句和用if語句構成的選擇結構204.有以下程序main(){intk=5,n=0;while(k>0){switch(k){default:break;case1:n+=k;case2:case3:n+=k;}k--;}printf("%d\n",n);}程序運行后的輸出結果是。A、0B、4C、6D、7答案:D知識點:switch語句以及用switch語句和break語句構成的選擇結構207.有以下程序main(){inti;for(i=0;i<3;i++)switch(i){case1:printf("%d",i);case2:printf("%d",i);default:printf("%d",i);}}執(zhí)行后輸出結果是。A、011122B、012C、012020D、120答案:A知識點:switch語句以及用switch語句和break語句構成的選擇結構209.有如下程序main(){intx=1,a=0,b=0;switch(x){case0:b++;case1:a++;case2:a++;b++;}printf("a=%d,b=%d\n",a,b);}該程序的輸出的結果是。A、a=2,b=1B、a=1,b=1C、a=1,b=0D、a=2,b=2答案:A知識點:switch語句以及用switch語句和break語句構成的選擇結構210.以下程序的輸出結果是。main(){inta=0,i;for(i=1;i<5;i++){switch(i){case0:case3:a+=2;case1:case2:a+=3;default:a+=5;}}printf("%d\n",a);}A、31B、13C、10D、20答案:A知識點:switch語句以及用switch語句和break語句構成的選擇結構212.下列敘述中正確的是。A、break語句只能用于switch語句B、在switch語句中必須使用defaultC、break語句必須與switch語句中的case配對使用D、在switch語句中,不一定使用break語句答案:D知識點:switch語句以及用switch語句和break語句構成的選擇結構213.設a為整型變量,不能正確表達數(shù)學關系:10〈a〈15的C語言表達式是。A、10<a<15B、a==11||a==12||a==13||a==14C、a>10&&a<15D、!(a<=10)&&!(a>=15)答案:A知識點:關系運算和邏輯運算214.以下程序的輸出結果是。main(){inta=4,b=5,c=0,d;d=!a&&!b||!c;printf("%d\n",d);}A、1B、0C、非0的數(shù)D、-1答案:A知識點:關系運算和邏輯運算215.語句:printf("%d",(a=2)&&(b=-2));的輸出結果是A、無輸出B、結果不確定C、-1D、1答案:D知識點:關系運算和邏輯運算216.TOC\o"1-5"\h\z設a、b、c、d、m、n均為int型變量,且a=5、b=6、c=7、d=8、m=2、n=2,則邏輯表達式(m=a〉b)&&(n=c〉d)運算后,n的值為。A、0B、1C、2D、3答案:c知識點:關系運算和邏輯運算217.若變量C為char類型,能正確判斷出c為小寫字母的表達式是。A、'a'<=c<='z'B、(c>='a')||(c<='z')C、('a'<=c)and('z'>=c)D、(c>='a')&&(c<='z')答案:D知識點:關系運算和邏輯運算218.能正確表示邏輯關系:“a三10或aW0”的C語言表達式是。A、a>=10ora<=0B、a>=0|a<=10C、a>=10&&a<=0D、a>=10||a<=10答案:D知識點:關系運算和邏輯運算219.有如下程序main(){inta=1,b=2,m=0,n=0,k;k=(n=b>a)||(m=a<b);printf("%d,%d\n",k,m);}程序運行后的輸出結果是。A、0,0B、0,1C、1,0D、1,1答案:C知識點:關系運算和邏輯運算220.TOC\o"1-5"\h\z設intx=l,y=l;表達式(!x||y—)的值是。A、0B、1C、2D、-1答案:b知識點:關系運算和邏輯運算221.設有定義:inta=2,b=3,c=4;,則以下選項中值為0的表達式是。A、(!a==1)&&(!b==0)B、(a<b)&&!c||1C、a&&bD、a||(b+b)&&(c-a)答案:A知識點:關系運算和邏輯運算222.若要求在if后一對圓括號中表示a不等于0的關系,則能正確表示這一關系的表達式為。A、a<>0B、!aC、a=0D、a答案:D知識點:關系運算和邏輯運算

k=k>c?k:b;執(zhí)行該程序段后,k的值是A、3B、2C、1D、0223.223.有如下程序段答案:B知識點:條件表達式構成的選擇結構DD、**3##4**5inta=14,b=15,x;charc='A';x=(a&&b)&&(c<'B');TOC\o"1-5"\h\z執(zhí)行該程序段后,X的值為。A、trueB、falseC、0D、1答案:D知識點:關系運算和邏輯運算224.能正確表示a和b同時為正或同時為負的邏輯表達式是。A、(a〉=0||b>=0)&&(a〈0||b<0)B、(a>=0&&b>=0)&&(a<0&&b<0)C、(a+b>0)&&(a+b<=0)D、a*b>0答案:D知識點:關系運算和邏輯運算225.若x是int型變量,且有下面的程序片段:for(x=3;x〈6;x++)printf((x%2)?("**%d"):("##%d\n"),x);TOC\o"1-5"\h\z上面程序片段的輸出結果是。A、**3B、##3C、##3答案:D知識點:條##件4表達式構成的**選4擇結構**4##5227.**5##5以下程序的輸出結果是。main(){inta=5,b=4,c=6,d;printf("%d\n",d=a>b?(a>c?a:c):(b));}A、5B、4C、6D、不確定答案:c知識點:條件表達式構成的選擇結構228.TOC\o"1-5"\h\z若整型變量a、b、c、d中的值依次為:1、4、3、2。則條件表達式a<b?a:c<d?c:d的值是。A、1B、2C、3D、4答案:A知識點:條件表達式構成的選擇結構229.若有定義intx,y;并已正確給變量賦值,則以下選項中與表達式(x-y)?(x++):(y++)中的條件表達式(x-y)等價的是。A、(x-y>0)B、(x-y<0)C、(x-y<0||x-y>0)D、(x-y==0)答案:c知識點:條件表達式構成的選擇結構230.有以下程序段intk=0,a=1,b=2,c=3;k=a<b?b:a;

TOC\o"1-5"\h\z231.以下程序段中與語句k=a>b?(b>c?1:0):0;功能等價的是。A、if((a>b)&&(b>c))k=1;elsek=0;B、if((a>b)||(b>c))k=1;elsek=0;C、if(a<=b)k=0;elseif(b<=c)k=1;D、if(a>b)k=1;elseif(b>c)k=1;elsek=0;答案:A知識點:條件表達式構成的選擇結構232假定W、X、y、z、m均為int型變量,有如下程序段:w=1;x=2;y=3;z=4;m=(w<x)?w:x;m=(m<y)?m:y;m=(m<z)?m:z;則該程序執(zhí)行后,m的值是。A、4B、3C、2D、1答案:D知識點:條件表達式構成的選擇結構有以下程序main(){intk=4,n=0;

for(;n<k;){n++;if(n%3!=0)continue;k--;}printf("%d,%d\n",k,n);}程序運行后的輸出結果是。A、1,1B、2,2C、3,3D、4,4答案:C知識點:break和continue語句在循環(huán)中的作用234.有如下程序main(){intx=23;do{printf("%d",x--);}while(!x);

}該程序的執(zhí)行結果是。A、321B、23C、不輸出任何內容D、陷入死循環(huán)答案:B知識點:do-while語句和do-while語句構成的循環(huán)結構235.有以下程序main(){ints=0,a=1,n;scanf("%d",&n);do{s+=1;a=a-2;}while(a!=n);printf("%d\n",s);}若要使程序的輸出值為2,則應該從健盤給n輸入的值是。A、-1B、-3C、-5D、0答案:B知識點:do-while語句和do-while語句構成的循環(huán)結構236.有以下程序段intn,t=1,s=0;scanf("%d",&n);do{s=s+t;t=t-2;}while(t!=n);為使此程序不陷入死循環(huán),從鍵盤輸入的數(shù)據(jù)應該是A、任意正奇數(shù)B、任意負偶數(shù)C、任意正偶數(shù)D、任意負奇數(shù)答案:D知識點:do-while語句和do-while語句構成的循環(huán)結構239.有以下程序main(){inti=0,s=0;do{if(i%2){i++;continue;}i++;s+=i;}while(i<7);printf("%d\n",s);TOC\o"1-5"\h\z}執(zhí)行后輸出結果是。A、16B、12C、28D、21

答案:A知識點:do-while語句和do-while語句構成的循環(huán)結構240.下面的程序的運行結果是。main(){intx=3;do{printf("%d\n",x-=2);}while(!(--x));}A、輸出的是1B、輸出的是1和-2C、輸出的是3和0D、是死循環(huán)答案:B知識點:do-while語句和do-while語句構成的循環(huán)結構241.以下敘述正確的是。A、do-while語句構成的循環(huán)不能用其它語句構成的循環(huán)來代替B、do-while語句構成的循環(huán)只能用break語句退出C、用do-while語句構成的循環(huán),在while后的表達式為非零時結束循環(huán)D、用do-while語句構成的循環(huán),在while后的表達式為零時結束循環(huán)答案:D知識點:do-while語句和do-while語句構成的循環(huán)結構242.以下程序的輸出結果是。main(){intx=10,y=10,i;for(i=0;x>8;y=++i)printf("%d%d",x--,y);}A、10192B、9876C、10990D、101091答案:D知識點:for語句和用for語句構成的循環(huán)結構244.以下程序的輸出結果是main(){inti,k,a[10],p[3];k=5;for(i=0;i<10;i++)for(i=0;i<3;i++)for(i=0;i<3;i++)printf("%d\n",k);}A、20B、21C、22a[i]=i;p[i]=a[i*(i+1)];k+=p[i]*2;D、23a[i]=i;p[i]=a[i*(i+1)];k+=p[i]*2;D、23知識點:for語句和用for語句構成的循環(huán)結構245.設變量已正確定義,則以下能正確計算f=n!的程序段是。A、f=0;for(i=1;i<=n;i++)f*i;B、f=1;for(i=1;i<n;i++)f*=i;C、f=1;for(i=n;i>1;i++)f*i;D、f=1;for(i=n;i>=2;i--)f*=i;答案:D知識點:for語句和用for語句構成的循環(huán)結構247.若有如下程序段,其中S、a、b、c均已定義為整型變量,且a、c均已賦值(c大于0)S=a;for(b=1;b<=c;b++)S=S+1;則上述程序段功能等價的賦值語句是。A、S=a+b;B、S=a+c;C、S=S+c;D、S=b+c;答案:B知識點:for語句和用for語句構成的循環(huán)結構248.有以下程序main(){inti,S=0;for(i=1;i<10;i+=2)S+=i+1;printf("%d\n",S);}程序執(zhí)行后的輸出結果是。A、自然數(shù)1?9的累加和B、自然數(shù)1?10的累加和C、自然數(shù)1?9中奇數(shù)之和D、自然數(shù)1?10中偶數(shù)之和答案:D知識點:for語句和用for語句構成的循環(huán)結構249.有如下程序main(){inti,Sum;for(i=1;i<=3;Sum++)Sum+=i;printf("%d\n",Sum);}該程序的執(zhí)行結果是。A、6B、3C、死循環(huán)D、0答案:c知識點:for語句和用for語句構成的循環(huán)結構250.若i,j已定義為int類型,則以下程序段中內循環(huán)體的總的執(zhí)行次數(shù)是。for(i=5;i;i--)for(j=0;j<4;j++){……}A、20B、25C、24D、30答案:A知識點:for語句和用for語句構成的循環(huán)結構251.有以下程序main(){intk=5;while(--k)printf("%d",k-=3);printf("\n");}執(zhí)行后的輸出結果是。A、1B、2C、4D、死循環(huán)答案:A知識點:while語句和while語句構成的循環(huán)252.以下程序的輸出結果是。main(){intnum=0;while(num<=2){num++;printf("%d\n",num);}}TOC\o"1-5"\h\zA、1B、1C、1D、122233答案:4知識點:while語句和while語句構成的循環(huán)253.以下程序中,while循環(huán)的循環(huán)次數(shù)是main(){inti=0;while(i<10){if(i<1)continue;if(i==5)break;i++;}}A、1B、10C、6D、死循環(huán),不能確定次數(shù)答案:D知識點:while語句和while語句構成的循環(huán)254.t為int類型,進入下面的循環(huán)之前,t的值為0while(t=1){……}則以下敘述中正確的是。A、循環(huán)控制表達式的值為0B、循環(huán)控制表達式的值為1C、循環(huán)控制表達式不合法D、以上說法都不對答案:B知識點:while語句和while語句構成的循環(huán)255.有如下程序main(){intn=9;while(n>6){n--;printf("%d",n);}}該程序段的輸出結果是。A、987B、876C、8765D、9876答案:B知識點:while語句和while語句構成的循環(huán)256.有以下程序main(){intp[7]={11,13,14,15,16,17,18};inti=0,k=0;while(i<7&&p[i]%2){k=k+p[i];i++;}printf("%d\n",k);}執(zhí)行后輸出結果是。A、58B、56C、45D、24答案:D知識點:while語句和while語句構成的循環(huán)257.要求通過while循環(huán)不斷讀入字符,當讀入字母N時結束循環(huán)。若變量已正確定義,以下正確的程序段是A、while((ch=getchar())!='N'printf("%c",ch)B、while(ch=getchar()!='N'printf("%c",ch);C、while(ch=getchar())=='N'printf("%c",ch);D、while((ch=getchar())=='N'printf("%c",ch);答案:A知識點:while語句和while語句構成的循環(huán)258.有以下程序段intk=0;while(k=1)k++;while循環(huán)執(zhí)行的次數(shù)是。A、無限次B、有語法錯,不能執(zhí)行C、一閃也不執(zhí)行D、執(zhí)行1次答案:A知識點:while語句和while語句構成的循環(huán)259.以下程序的輸出結果是。main(){intn[3][3],i,j;for(i=0;i<3;i++)for(j=0;j<3;j++)n[i][j]=i+j;for(i=0;i<2;i++)for(j=0;j<2;j++)n[i+1][j+1]+=n[i][j]printf("%d\n",n[i][j]);}A、14B、0C、6D、值不確定答案:c知識點:循環(huán)結構的嵌套260.有以下程序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\n",x);}程序執(zhí)行后的輸出結果是。A、x=4B、x=8C、x=6D、x=12答案:B知識點:循環(huán)結構的嵌套261.下列程序的輸出結果是。main(){inti,j,m=0,n=0;for(i=0;i<2;i++)for(j=0;j<2;j++)if(j>=i)m=1;n++;printf("%d\n",n);}A、4B、2C、1D、0答案:C知識點:循環(huán)結構的嵌套262.有以下程序main(){inti,n=0;for(i=2;i<5;i++){do{if(i%3)continue;n++;}while(!i);n++;printf("n=%d\n",n);}程序執(zhí)行后的輸出結果是。A、n=5B、n=2C、n=3D、n=4答案:D知識點:循環(huán)結構的嵌套263.閱讀下列程序:main(){intn[3],i,j,k;for(i=0;i<3;i++)n[i]=0;k=2;for(i=0;i<k;i++)for(j=0;j<k;j++)n[j]=n[i]+1;printf("%d\n",n[1]);}下述程序運行后輸出結果是A、2B、1C、0D、3答案:D知識點:循環(huán)結構的嵌套287.若有定義和語句:chars[10]:s="abcd";printf("%s\n",s);則結果是(以下U代表空格)。A、輸出abedB、輸出aC、輸出abcduuuuuD、編譯不通過答案:D知識點:用一個一維字符數(shù)組來存放字符串295.函數(shù)調用:strcat(strcpy(strl,str2),str3)的功能是。A、將串strl復制到串str2中后再連接到串str3之后B、將串str1連接到串str2之后再復制到串str3之后C、將串str2復制到串str1中后再將串str3連接到串str1之后D、將串str2連接到串str1之后再將串str1復制到串str3中答案:c知識點:用于字符串處理的函數(shù)298.以下正確定義字符串的語句是。A、charstr[]={'\064'};B、charstr="\x43";C、charstr='';D、charstr[]="\0";答案:D知識點:字符串的輸入和輸出305.有以下程序main(){chars[]="\n123\\";printf("%d,%d\n",strlen(s),sizeof(s));TOC\o"1-5"\h\z}執(zhí)行后輸出結果是。A、賦初值的字符串有錯B、6,7C、5,6D、6,6答案:c知識點:字符串數(shù)組308.若有以下定義和語句charc1='b',c2='e';printf("%d,%c\n",c2-c1,c2-'a'+'A');則輸出結果是:。A、2,MB、3,EC、2,ED、輸出項與對應的格式控制不一致,輸出結果不確定答案:B知識點:字符變量309.已定義C為字符型變量,則下列語句中正確的是A、c='97';B、c="97";C、c=97;D、c="a";答案:C知識點:字符變量310.數(shù)字字符0的ASCII值為48,若有以下程序。main(){chara='1',b='2';printf("%c,",b++);printf("%d\n",b-a);}程序運行后的輸出結果是A、3,2B、50,2C、2,2D、2,50答案:c知識點:字符型常量311.以下程序的輸出結果是。main(){charc='z';printf("%c",c-25);}A、aB、ZC、z-25D、y答案:A知識點:字符型常量312.若變量a是int類型,并執(zhí)行了語句:a='A'+1.6;,則正確的敘述是。A、a的值是字符CB、a的值是浮點型C、不允許字符型和浮點型相加D、a的值是字符'A'的ASCII值加上1答案:D知識點:字符型常量313.下列程序執(zhí)行后的輸出結果是。main(){intx='f';printf("%c\n",'A'+(x-'a'+1));}A、GB、HC、ID、J答案:A知識點:字符型常量314.以下程序的輸出結果是。main(){inti;for(i='A';i<'I';i++,i++)printf("%c",i+32);printf("\n");}A、編譯不通過,無輸出B、acegC、acegiD、abcdefghi答案:B知識點:字符型常量315.有如下程序#include<stdio.h>main(){printf("%d\n",NULL);}程序運行后的輸出結果是。A、0B、1C、一lD、NULL沒定義,出錯答案:A知識點:字符型常量316.設有說明語句:chara='\72';則變量a。A、包含1個字符B、包含2個字符C、包含3個字符D、說明不合法答案:A知識點:字符型常量317.下面程序的功能是輸出以下形式的金字塔圖案是****main(){inti,j;for(i=1;i<=4;i++){for(j=1;j<=4-i;j++)printf("");for(j=1;j<=;j++)printf("*");printf("\n");}}在下劃線處應填入的是。A、iB、2*i-1C、2*i+1D、i+2答案:B知識點:for循環(huán)嵌套318.有以下程序main(){intnum[4][4]={{1,2,3,4},{5,6,7,8},{9,10,11,12},{13,14,15,16}},i,j;for(i=0;i<4;i++){for(j=1;j<=i;j++)printf("%4c",'');for(j=;j<4;j++)printf("%4d",num[i][j]);printf("\n");}}若要按以下形式輸出數(shù)組右上半三角TOC\o"1-5"\h\z1234678111216則在程序下劃線處應填入的是。A、i-1B、IC、i+1D、4-i答案:B知識點:for循環(huán)嵌套319.有以下程序main(){inta=1,b;for(b=1;b<=10;b++){if(a>=8)break;if(a%2==1)a+=5;continue;}a-=3;}printf("%d\n",b);}程序運行后的輸出結果是。A、3B、4C、5D、6答案:B知識點:程序分析320.以下程序的功能是:給r輸入數(shù)據(jù)后計算半徑為r的圓的面積s程序在編譯時出錯。main()/*Bejinning*/{intr;floats;scanf("%d",&r);s二*n*r*r;printf("s=%f\n",s);}出錯的原因是。A、注釋語句書寫位置錯誤B、存放圓半徑的變量r不應該定義為整形C、輸出語句中格式描述符非法D、計算圓面積的賦值語句中使用了非法變量答案:D知識點:程序分析322.要求以下程序的功能是計算:s=1+1/2+1/3+...+1/10

main(){intn;floats;s=1.0;for(n=10;n>1;n--)s=s+1/n;printf("%6.4f\n",s);}程序運行后輸出結果錯誤,導致錯誤結果的程序運行是。A、s=1.0;B、for(n=10;n>1;n--);C、s=s+1/n;D、printf("%6.4f\n",s);答案:C知識點:程序分析326.有以下程序main(){inta,b,d=25;a=d/10%9;b=a&&(-1);printf("%d,%d\n",a,b);}程序運行后的輸出結果是。A、6,1B、2,1C、6,0D、2,0答案:B知識點:程序分析328.若執(zhí)行下面的程序時從鍵盤上輸入3和4,則輸出是main(){inta,b,s;scanf("%d%d",&a,&b);s=a;if(a<b)s=b;s=s*s;printf("%d\n",s);}A、14B、16C、18D、20答案:B知識點:程序分析329.以下程序的輸出結果是。#include<stdio.h>main(){inti;for(i=1;i<5;i++){if(i%2)printf("*");elsecontinue;printf("#");}printf("$\n");}A、*#*#*#$B、#*#*#*$C、*#*#$D、#*#*$答案:C知識點:程序分析331.以下程序的輸出結果是。main(){inti;for(i=1;i<6;i++){if(i%2){printf("#");printf("*");}printf("\n");}A、#*#*#B、#####C、*****D答案:A知識點:程序分析332.以下程序的輸出結果是。#include<stdio.h>main(){inti=0,a=0;while(i<20){for(;;){if(i%10==0)break;elsei--;}i+=11;a+=i;}printf("%d\n",a);}A、21B、32C、33D、11答案:B知識點:程序分析333.下面程序的輸出結果是。#include<stdio.h>main(){inti=2;printf("%d",f(i,i+1));}intf(inta,intb){intc;c=a;if(a>b)c=1;elseif(a==b)c=0;elsec=-1;return(c);continue;}*#*#*}continue;}*#*#*A、-1B、0C、1D、2答案:A知識點:程序分析336.下面的程序運行結果為。main(){intx=3,y=0,z=0;if(x=y+z)printf("****");elseprintf("####");}A、有語法錯誤不能通過編譯B、輸出****。C、可以通過編譯,但是不能通過連接,因而不能運行。D、輸出####。答案:D知識點:程序分析337

溫馨提示

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

評論

0/150

提交評論