事業(yè)單位招錄計算機專業(yè)知識(C語言)模擬試卷2_第1頁
事業(yè)單位招錄計算機專業(yè)知識(C語言)模擬試卷2_第2頁
事業(yè)單位招錄計算機專業(yè)知識(C語言)模擬試卷2_第3頁
事業(yè)單位招錄計算機專業(yè)知識(C語言)模擬試卷2_第4頁
事業(yè)單位招錄計算機專業(yè)知識(C語言)模擬試卷2_第5頁
已閱讀5頁,還剩12頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

事業(yè)單位招錄計算機專業(yè)知識(C語言)模擬試卷2一、單項選擇題(本題共30題,每題1.0分,共30分。)1、若有定義intx,y;并已正確給變量賦值,則以下選項中與表達(dá)式(x-y)?(x++):(y++)中的條件表達(dá)式(x-y)等價的是()。A、(x-y<0)B、(x-y=0)C、x-y>0)D、(x-y<0‖(x-y)>0)標(biāo)準(zhǔn)答案:D知識點解析:x-y判斷為真執(zhí)行x++,為假執(zhí)行y++,無論真假與否會執(zhí)行語句,故選D。2、表示關(guān)系x<=y(tǒng)<=z的c語言表達(dá)式為()。A、(x<=y(tǒng))AND(y<=z)B、(x<=y(tǒng)<=z)C、(x<=y(tǒng))&(y<=z)D、(x<=y(tǒng))&&(y<=z)標(biāo)準(zhǔn)答案:D知識點解析:x<=y(tǒng)<=z這種寫法是數(shù)學(xué)上的表達(dá)方法,在C語言中,如果寫成這樣,程序編譯并不報錯,這也是一個合法的邏輯運算表達(dá)式。先計算x<=y(tǒng),結(jié)果是真(1)或假(0),然后再用這個結(jié)果與z進行比較。得到最終結(jié)果。但本題顯然是判斷y>=x同時y<=z,C語言中邏輯“與”為“&&”。故x<=y(tǒng)<=z的c語言表達(dá)式為正確表達(dá)式為:(x<=y(tǒng))&&(y<=z)。main(){inti=0:i=~i:printf("%d\n",i);}3、如下C程序的輸出結(jié)果為()main(){inti=0:i=-i:Printf("%d\n",i);}A、1B、8C、65535D、-1標(biāo)準(zhǔn)答案:D知識點解析:i取反后為11111111,為負(fù)數(shù),最高位代表符號位,其他代表數(shù)值,那么該數(shù)的原碼為減一取反,故選D。4、下面程序段執(zhí)行后的結(jié)果為()。intsum=0,n=10;d0{sum=sum+n;n++;}while(n<10)printf("%d,%d",sum,n);A、10,11B、0,11C、0,10D、以上結(jié)果都不對標(biāo)準(zhǔn)答案:A知識點解析:do-while循環(huán)是先執(zhí)行后判斷,先執(zhí)行語句sum=sum+n,n++則執(zhí)行后sun變?yōu)?0,n變?yōu)?1,再判斷條件n<10為假。退出循環(huán)。最后輸出結(jié)果:sum為10,n為11。5、在C語言中,下列說法中正確的是()。A、do-while語句構(gòu)成的循環(huán)不能用其他語句構(gòu)成的循環(huán)來代替B、do-while語句構(gòu)成的循環(huán)只能用break語句退出C、do-while語句構(gòu)成的循環(huán),在while后的表達(dá)式非零時結(jié)束循環(huán)D、do-while語句構(gòu)成的循環(huán),在while后的表達(dá)式為零時結(jié)束循環(huán)標(biāo)準(zhǔn)答案:D知識點解析:do-while語句、while語句和for語句是C語言常見的三種循環(huán)結(jié)構(gòu),A項可以用for循環(huán)代替,B不滿足條件時即條件的邏輯值為假(0)時推出,break也可以,C項while(條件),條件為真時進行循環(huán),為假(0)時退出。D項while(條件),條件為真時進行循環(huán),為假(0)時退出。故D項正確。6、C語言中,已知intx=9,y;y=x>7;6:5;,則y的值為()。A、9B、7C、6D、5標(biāo)準(zhǔn)答案:C知識點解析:條件表達(dá)式和賦值表達(dá)式的綜合考查。由于x初值為9,因此x>7成立,則y的值為6。7、若inti=10;執(zhí)行下列程序后,變量i的正確結(jié)果是()。switch(i){case9:i+=1;case10:i+=1:case11:i+=1:default:i+=1;}A、13B、14C、12D、11標(biāo)準(zhǔn)答案:A知識點解析:switchcase是C語言中的多重選擇語句,先對switch中的條件進行判斷,滿足條件跳轉(zhuǎn)到對應(yīng)的case語句,執(zhí)行case的語句。如果沒遇到break終止語句,則繼續(xù)往下執(zhí)行。Default語句是默認(rèn)條件。該題中i=10,跳轉(zhuǎn)到執(zhí)行case10:后的語句,由于沒有break終止,將繼續(xù)往下執(zhí)行,直到結(jié)束。最終為i+=1執(zhí)行3次,結(jié)果為i=13。8、break語句不能出現(xiàn)在()語句中。A、forB、whileC、if…elseD、switch標(biāo)準(zhǔn)答案:C知識點解析:break語句通常用在循環(huán)語句和開關(guān)語句中。當(dāng)break用于開關(guān)語句switch中時,可使程序跳出switch而執(zhí)行switch以后的語句;如果沒有break語句,則將成為一個死循環(huán)而無法退出。當(dāng)break語句用于do-while、for、while循環(huán)語句中時,可使程序終止循環(huán)而執(zhí)行循環(huán)后面的語句,通常break語句總是與if語句聯(lián)在一起。即滿足條件時便跳出循環(huán)。但break語句對if—else的條件語句不起作用。在多層循環(huán)中,一個break語句只向外跳一層。9、在C程序中,當(dāng)執(zhí)行以下程序段時()。x=-I;do{x=x*x:}while(!x);A、循環(huán)體執(zhí)行一次B、循環(huán)體將執(zhí)行兩次C、循環(huán)體將執(zhí)行無限次D、系統(tǒng)將提示有語法錯誤標(biāo)準(zhǔn)答案:A知識點解析:執(zhí)行一次,因為執(zhí)行一次后x=1,而!x就表示假了。!表示取反的意思,!ture為false。而x=1表示true。10、設(shè)x,t均為int型變量,則執(zhí)行語句“x=10;t=x&&x>10;”后,t的值為()。A、不定值B、9C、12D、0標(biāo)準(zhǔn)答案:D知識點解析:C語言運算符中,優(yōu)先級:比較運算符>邏輯運算符>賦值運算符。故執(zhí)行語句“x=10;t=x&&x>10;”,可寫成t=x&&(x>10),先計算x>10,值為假(0),在執(zhí)行x&&0,值為假(0),在將該值賦值給t,即t=0。正確選項為D。11、以下程序段()。x=-1;do{x=x*x;}while(x>0);A、是死循環(huán)B、循環(huán)執(zhí)行一次C、循環(huán)執(zhí)行二次D、有語法錯誤標(biāo)準(zhǔn)答案:A知識點解析:Do-while循環(huán)是先執(zhí)行后判斷,先執(zhí)行語句x=x*x;初始值x=-1,則執(zhí)行后x變?yōu)?,在判斷條件x>0為真。再次執(zhí)行語句x=x*x,x值為1,進行條件判斷x>0為真。故條件永遠(yuǎn)為真,陷入無限循環(huán)也就是死循環(huán)。12、設(shè)有語句“inta=2,b=3,c=-2,d=2;”,則邏輯表達(dá)式“a>0&&b&&c<0&&d>0”的值是()。A、1B、2C、5D、出錯標(biāo)準(zhǔn)答案:A知識點解析:由于a=2,b=3,c=-2,d=2,。則a>0為真(1),b非零為真(1),c<0為真(1),d>0也為真,由“&&”為邏輯“與”,故邏輯表達(dá)式“a>0&&b&&c<0&&d>0”從左到右運算,結(jié)果為真(1)。13、對于break語句和continue語句的說法錯誤的是()。A、break和continue也可以用于if語句中B、break語句不能用于循環(huán)語句和switch語句之外的任何其他語句中C、continue語句只結(jié)束本次循環(huán),而不是終止整個循環(huán)的執(zhí)行D、break語句是結(jié)束整個循環(huán)過程,不再判斷執(zhí)行循環(huán)的條件是否成立標(biāo)準(zhǔn)答案:A知識點解析:break語句通常用在循環(huán)語句和開關(guān)語句中,也就是說不能用于循環(huán)語句和switch語句之外的任何其他語句中,故A項正確,B項錯誤;continue語句只結(jié)束本次循環(huán),break是終止整個循環(huán)的執(zhí)行,故C項、D項正確;14、執(zhí)行完下列語句段后,i值為()。intf(f(1));{return((x>0)?x*f(x-1):2);}intI;I=f(f(1));A、2B、4C、8D、無線遞歸標(biāo)準(zhǔn)答案:A知識點解析:第一次調(diào)用f(1),則x=1,執(zhí)行(x>0)?x*f(x-1):2)后,得到1*f(0);第二次調(diào)用f(0),則x=0,執(zhí)行(x>0)?x*f(x-1):2)后,得到2;最后運算結(jié)果是2。15、判斷char型變量c1是否為大寫字母的表達(dá)式為()。A、’A’<c1<=’Z’B、c1>=’A’&&c1<=’Z’C、(’A’<=c1)AND(’Z’>=c1)D、(c1>=’A’)&(c1<=’Z’)標(biāo)準(zhǔn)答案:B知識點解析:字符為大寫字符主要是滿足:在(’A’-’z’)之間。在C語言中邏輯“與”為“&&”,“&”表示“按位與”,故char型變量c1是否為大寫字母的表達(dá)式為的C語言表達(dá)式是c1>=’A’&&c1<=‘Z’。16、語句while(!y);中的表達(dá)式!y等價于()。A、y==0B、y=10C、y==1D、Y!=1標(biāo)準(zhǔn)答案:A知識點解析:C語言中“!”表示邏輯“非”,“!y”表示為真,也就是“y”為假,即y==0。17、當(dāng)運行時輸入:abcd¥abcde?,下面程序的運行結(jié)果是()。#include<stdio.h>main(){while(putchar(getchar())!=’¥’);prinff("end");}A、abcd¥endB、abcdendC、abcd¥abcdeendD、abcd¥abcde標(biāo)準(zhǔn)答案:A知識點解析:while(putchar(getchar())!=‘¥’);是將從鍵盤上獲得的符號循環(huán)輸出,直到輸入的字符為‘¥’時終止輸出。由于當(dāng)運行時輸入:abcd¥abcde?,故輸出結(jié)果為abcd¥。又后面有printf("end")語句,故在原先輸出符號后再輸出end,所以結(jié)果為abcd¥end。18、C語言中,已知intJ,K=6;,則計算表達(dá)式J=K++后,正確的是()。A、J=6,K=6B、J=6,K=7C、J=7,K=7D、J=7,K=6標(biāo)準(zhǔn)答案:B知識點解析:在使用C語言的自增運算符++時,若++在變量之前,表示變量先做加1再使用,若++在變量之后,則表示先使用變量再將值加1,因此在i=k++,系統(tǒng)將k=6的值先賦給i,則i=6,之后k作了加1操作,k=k+1=7。19、設(shè)a為整型變量,則不能正確表達(dá)數(shù)學(xué)關(guān)系10<a<15的C語言表達(dá)式是()。A、!(a<=10)&&!(a>=15)B、10<a<15C、a==11‖a==12‖a==13‖a==14D、a>10&&a<15標(biāo)準(zhǔn)答案:B知識點解析:10<a<15這種寫法是數(shù)學(xué)上的表達(dá)方法,在C語言中,如果寫成這樣,程序編譯并不報錯,這也是一個合法的邏輯運算表達(dá)式。先計算10<a,結(jié)果是真(1)或假(0),然后再用這個結(jié)果與15進行比較,得到最終結(jié)果。故B項錯誤。在C語言中邏輯“與”為“&&”,“‖”表示邏輯“或”?!?”表示邏輯“非”。故B項a==11‖a==12‖a==13‖a==14可表示大于10小于15的整數(shù),A項!(a<=10)&&!(a>=15)表示不滿足a<=10且不滿足a>=15,也就是10<a<15,故A也正確。20、若有“inta=1,x=1;”,則循環(huán)語句“while(a<10)x++;a++;”的循環(huán)執(zhí)行()。A、無限次B、10次C、9次D、不確定次標(biāo)準(zhǔn)答案:A知識點解析:While循環(huán)是先判斷后執(zhí)行,先判斷a<10是否成立,初始值a=1,故滿足條件,進入循環(huán)體執(zhí)行x++;由于a++并沒有在循環(huán)體中,故不參與運算。a的值就不變,依舊為1,滿足a<10。所以就會陷入死循環(huán),也就是說會執(zhí)行無數(shù)次。21、下列C語句中,while循環(huán)執(zhí)行的次數(shù)是()。inti=7;d0o{printf("%d",i=i-2);}while(i++);A、5B、6C、7D、無限標(biāo)準(zhǔn)答案:B知識點解析:程序運行的結(jié)果為“543210”,這時i的值為0,跳出了循環(huán),由此可知while循環(huán)執(zhí)行了6次。22、有以下程序段intk=0;while(k)k++;則while循環(huán)體執(zhí)行的次數(shù)是()。A、有語法錯,不能執(zhí)行B、一次也不執(zhí)行C、執(zhí)行1次D、無限次標(biāo)準(zhǔn)答案:B知識點解析:While循環(huán)是先判斷后執(zhí)行,先判斷k是否為真,初始值k=0,故不滿足條件,則不會進行循環(huán),也就是說while循環(huán)體執(zhí)行的次數(shù)是一次也不執(zhí)行。23、為表示邏輯表達(dá)式79<X<90,應(yīng)使用的C語言表達(dá)式是()。A、79<X<90B、(X>79)!=(X<90)C、(X>>79)&&(X<90)D、(X>79)‖(X<90)標(biāo)準(zhǔn)答案:C知識點解析:79<X<90,這種寫法是數(shù)學(xué)上的表達(dá)方法,是判斷79<x同時x<90,C語言中邏輯“與”為“&&”,“‖”表示邏輯“或”,“!=”表示不等號。故正確表達(dá)式為:(X>79)&&(X<90)。24、在C語言中,認(rèn)為()為邏輯"真"A、非O的數(shù)B、trueC、大于0的數(shù)D、非0整數(shù)標(biāo)準(zhǔn)答案:A知識點解析:在C語言中,沒有專用的布爾型變量。只要邏輯表達(dá)式的值非0,就被認(rèn)為是“真”;相反0則為假。故選A非0數(shù)更準(zhǔn)確。25、能正確表示邏輯關(guān)系:“a≥=10或a≤0”的C語言表達(dá)式是()。A、a>=10‖<=0B、a>=10ora<=0C、a>=0|a<=10D、a>=10&&a<=0標(biāo)準(zhǔn)答案:A知識點解析:在C語言中邏輯“或”為“‖”,“|”表示“按位或”,“&”表示“按位與”,故“a≥=10或a≤0”的C語言表達(dá)式是a>=10‖a<=0。26、C語言的循環(huán)語句中,用于結(jié)束本次循環(huán)的語句是()。A、breakB、continueC、SwitchD、if標(biāo)準(zhǔn)答案:B知識點解析:C語言的循環(huán)語句中,break是退出當(dāng)前循環(huán);continue是結(jié)束當(dāng)前循環(huán)的本次循環(huán)。27、下列循環(huán)語句中有語法錯誤的是()。A、dox++while(x==10);B、while(x=y(tǒng))5;C、while(0);D、do2;while(x==B);標(biāo)準(zhǔn)答案:A知識點解析:C語言中語句后面需要加上“;”,A項中語句x++后面缺少“;”,故該項錯誤。28、在下面的條件語句中(其中sl和s2表示是C語言的語句),只有一個在功能上與其他三個語句不等價,它是()。A、if(a==0)s2;elses1;B、if(a)s1;elses2;C、if(a!=0)s1;elses2;D、if(a=0)s1;elses2;標(biāo)準(zhǔn)答案:D知識點解析:ifelse語句為雙邊選擇結(jié)構(gòu),滿足if語句執(zhí)行if后面的語句,不滿足則執(zhí)行else后面的語句,ABC三項均是滿足條件a為真執(zhí)行s1語句,a為假執(zhí)行s2語句。D項正好相反,滿足a為真執(zhí)行s2語句,a為假執(zhí)行s1語句。29、字符串"ABCD"在內(nèi)存占用的字節(jié)數(shù)是()。A、8B、4C、2D、5標(biāo)準(zhǔn)答案:D知識點解析:ABCD表示字符串,字符串以’\0’結(jié)尾,也就是"ABCD"這個字符串在定義時會自動加上了’\0’變成{’A’,’B’,’C’,’D’,’\0’},因此它的長度是5,所以D是正確選項。30、假定int類型變量占用兩個字節(jié),其有定義:intx[10]={0,2,4};,則數(shù)組x在內(nèi)存中所占字節(jié)數(shù)是()。A、13B、7C、9D、20標(biāo)準(zhǔn)答案:D知識點解析:數(shù)組定義時是一次完成申請內(nèi)存空間,由于int類型變量占用兩個字節(jié),故在定義一個數(shù)組長度為10的int型數(shù)組x[10]時,會一次性申請2*10也就是20個字節(jié)來存儲數(shù)組。二、簡答題(本題共3題,每題1.0分,共3分。)31、從鍵盤上輸入10個整數(shù),程序按降序完成從大到小的排序。請補充下列C語言程序中的空格部分的代碼。標(biāo)準(zhǔn)答案:#include<stdio.h>intarray[10];sort(int*P,int*Q){int*max,*S;if(p>=Q)return;max=p;for(S=p+1;S<=Q;S++)if(*S>*max)max=S;swap(p,max);sort(p+1,Q);}swap(int*x,int*y){inttemp;temp=*x:*x=*y;*y=temp;}main(){inti;printf("enterdata:kn");for(i=0;i<10;i++)scanf("%d",&array[i]);sort(&array[0],&array[9]);printf("Output:");for(i=0;i<10;i++)printf("%d",array[i]);}知識點解析:暫無解析32、有1、2、3、4四個數(shù)字,能組成多少個互不相同且無重復(fù)數(shù)字的三位數(shù)?都是多少?標(biāo)準(zhǔn)答案:程序源代碼:#include<stdio.h>#include<conio.h>main(){inti,j,k;printf("\n");for(i=1;i<5;i++)/*以下為三重循環(huán)*/for(j=1;j<5;j++)for(k=1;k<5;k++){if(i!=k&&i!=j(luò)&&j!=k)/*確保i、j、k三位互不相同*/prinff("%d,%d,%d\n",i,j,k);}getch();}知識點解析:暫無解析33、求二維數(shù)組(3行3列)的對角線元素的和。標(biāo)準(zhǔn)答案:#include<stdio.h>main(){inta[3][3]={{1,2,3},{4,7,12},{5,6,25}},sum=0;for(inti=0;i<3;i++){for(intj=0;j<3;j++){if(i==j(luò)){sum=sum+a[i][j];}}}printf("%d",sum);}知識點解析:暫無解析一、單項選擇題(本題共30題,每題1.0分,共30分。)34、若有定義intx,y;并已正確給變量賦值,則以下選項中與表達(dá)式(x-y)?(x++):(y++)中的條件表達(dá)式(x-y)等價的是()。A、(x-y<0)B、(x-y=0)C、x-y>0)D、(x-y<0‖(x-y)>0)標(biāo)準(zhǔn)答案:D知識點解析:x-y判斷為真執(zhí)行x++,為假執(zhí)行y++,無論真假與否會執(zhí)行語句,故選D。35、表示關(guān)系x<=y(tǒng)<=z的c語言表達(dá)式為()。A、(x<=y(tǒng))AND(y<=z)B、(x<=y(tǒng)<=z)C、(x<=y(tǒng))&(y<=z)D、(x<=y(tǒng))&&(y<=z)標(biāo)準(zhǔn)答案:D知識點解析:x<=y(tǒng)<=z這種寫法是數(shù)學(xué)上的表達(dá)方法,在C語言中,如果寫成這樣,程序編譯并不報錯,這也是一個合法的邏輯運算表達(dá)式。先計算x<=y(tǒng),結(jié)果是真(1)或假(0),然后再用這個結(jié)果與z進行比較。得到最終結(jié)果。但本題顯然是判斷y>=x同時y<=z,C語言中邏輯“與”為“&&”。故x<=y(tǒng)<=z的c語言表達(dá)式為正確表達(dá)式為:(x<=y(tǒng))&&(y<=z)。main(){inti=0:i=~i:printf("%d\n",i);}36、如下C程序的輸出結(jié)果為()main(){inti=0:i=-i:Printf("%d\n",i);}A、1B、8C、65535D、-1標(biāo)準(zhǔn)答案:D知識點解析:i取反后為11111111,為負(fù)數(shù),最高位代表符號位,其他代表數(shù)值,那么該數(shù)的原碼為減一取反,故選D。37、下面程序段執(zhí)行后的結(jié)果為()。intsum=0,n=10;d0{sum=sum+n;n++;}while(n<10)printf("%d,%d",sum,n);A、10,11B、0,11C、0,10D、以上結(jié)果都不對標(biāo)準(zhǔn)答案:A知識點解析:do-while循環(huán)是先執(zhí)行后判斷,先執(zhí)行語句sum=sum+n,n++則執(zhí)行后sun變?yōu)?0,n變?yōu)?1,再判斷條件n<10為假。退出循環(huán)。最后輸出結(jié)果:sum為10,n為11。38、在C語言中,下列說法中正確的是()。A、do-while語句構(gòu)成的循環(huán)不能用其他語句構(gòu)成的循環(huán)來代替B、do-while語句構(gòu)成的循環(huán)只能用break語句退出C、do-while語句構(gòu)成的循環(huán),在while后的表達(dá)式非零時結(jié)束循環(huán)D、do-while語句構(gòu)成的循環(huán),在while后的表達(dá)式為零時結(jié)束循環(huán)標(biāo)準(zhǔn)答案:D知識點解析:do-while語句、while語句和for語句是C語言常見的三種循環(huán)結(jié)構(gòu),A項可以用for循環(huán)代替,B不滿足條件時即條件的邏輯值為假(0)時推出,break也可以,C項while(條件),條件為真時進行循環(huán),為假(0)時退出。D項while(條件),條件為真時進行循環(huán),為假(0)時退出。故D項正確。39、C語言中,已知intx=9,y;y=x>7;6:5;,則y的值為()。A、9B、7C、6D、5標(biāo)準(zhǔn)答案:C知識點解析:條件表達(dá)式和賦值表達(dá)式的綜合考查。由于x初值為9,因此x>7成立,則y的值為6。40、若inti=10;執(zhí)行下列程序后,變量i的正確結(jié)果是()。switch(i){case9:i+=1;case10:i+=1:case11:i+=1:default:i+=1;}A、13B、14C、12D、11標(biāo)準(zhǔn)答案:A知識點解析:switchcase是C語言中的多重選擇語句,先對switch中的條件進行判斷,滿足條件跳轉(zhuǎn)到對應(yīng)的case語句,執(zhí)行case的語句。如果沒遇到break終止語句,則繼續(xù)往下執(zhí)行。Default語句是默認(rèn)條件。該題中i=10,跳轉(zhuǎn)到執(zhí)行case10:后的語句,由于沒有break終止,將繼續(xù)往下執(zhí)行,直到結(jié)束。最終為i+=1執(zhí)行3次,結(jié)果為i=13。41、break語句不能出現(xiàn)在()語句中。A、forB、whileC、if…elseD、switch標(biāo)準(zhǔn)答案:C知識點解析:break語句通常用在循環(huán)語句和開關(guān)語句中。當(dāng)break用于開關(guān)語句switch中時,可使程序跳出switch而執(zhí)行switch以后的語句;如果沒有break語句,則將成為一個死循環(huán)而無法退出。當(dāng)break語句用于do-while、for、while循環(huán)語句中時,可使程序終止循環(huán)而執(zhí)行循環(huán)后面的語句,通常break語句總是與if語句聯(lián)在一起。即滿足條件時便跳出循環(huán)。但break語句對if—else的條件語句不起作用。在多層循環(huán)中,一個break語句只向外跳一層。42、在C程序中,當(dāng)執(zhí)行以下程序段時()。x=-I;do{x=x*x:}while(!x);A、循環(huán)體執(zhí)行一次B、循環(huán)體將執(zhí)行兩次C、循環(huán)體將執(zhí)行無限次D、系統(tǒng)將提示有語法錯誤標(biāo)準(zhǔn)答案:A知識點解析:執(zhí)行一次,因為執(zhí)行一次后x=1,而!x就表示假了。!表示取反的意思,!ture為false。而x=1表示true。43、設(shè)x,t均為int型變量,則執(zhí)行語句“x=10;t=x&&x>10;”后,t的值為()。A、不定值B、9C、12D、0標(biāo)準(zhǔn)答案:D知識點解析:C語言運算符中,優(yōu)先級:比較運算符>邏輯運算符>賦值運算符。故執(zhí)行語句“x=10;t=x&&x>10;”,可寫成t=x&&(x>10),先計算x>10,值為假(0),在執(zhí)行x&&0,值為假(0),在將該值賦值給t,即t=0。正確選項為D。44、以下程序段()。x=-1;do{x=x*x;}while(x>0);A、是死循環(huán)B、循環(huán)執(zhí)行一次C、循環(huán)執(zhí)行二次D、有語法錯誤標(biāo)準(zhǔn)答案:A知識點解析:Do-while循環(huán)是先執(zhí)行后判斷,先執(zhí)行語句x=x*x;初始值x=-1,則執(zhí)行后x變?yōu)?,在判斷條件x>0為真。再次執(zhí)行語句x=x*x,x值為1,進行條件判斷x>0為真。故條件永遠(yuǎn)為真,陷入無限循環(huán)也就是死循環(huán)。45、設(shè)有語句“inta=2,b=3,c=-2,d=2;”,則邏輯表達(dá)式“a>0&&b&&c<0&&d>0”的值是()。A、1B、2C、5D、出錯標(biāo)準(zhǔn)答案:A知識點解析:由于a=2,b=3,c=-2,d=2,。則a>0為真(1),b非零為真(1),c<0為真(1),d>0也為真,由“&&”為邏輯“與”,故邏輯表達(dá)式“a>0&&b&&c<0&&d>0”從左到右運算,結(jié)果為真(1)。46、對于break語句和continue語句的說法錯誤的是()。A、break和continue也可以用于if語句中B、break語句不能用于循環(huán)語句和switch語句之外的任何其他語句中C、continue語句只結(jié)束本次循環(huán),而不是終止整個循環(huán)的執(zhí)行D、break語句是結(jié)束整個循環(huán)過程,不再判斷執(zhí)行循環(huán)的條件是否成立標(biāo)準(zhǔn)答案:A知識點解析:break語句通常用在循環(huán)語句和開關(guān)語句中,也就是說不能用于循環(huán)語句和switch語句之外的任何其他語句中,故A項正確,B項錯誤;continue語句只結(jié)束本次循環(huán),break是終止整個循環(huán)的執(zhí)行,故C項、D項正確;47、執(zhí)行完下列語句段后,i值為()。intf(f(1));{return((x>0)?x*f(x-1):2);}intI;I=f(f(1));A、2B、4C、8D、無線遞歸標(biāo)準(zhǔn)答案:A知識點解析:第一次調(diào)用f(1),則x=1,執(zhí)行(x>0)?x*f(x-1):2)后,得到1*f(0);第二次調(diào)用f(0),則x=0,執(zhí)行(x>0)?x*f(x-1):2)后,得到2;最后運算結(jié)果是2。48、判斷char型變量c1是否為大寫字母的表達(dá)式為()。A、’A’<c1<=’Z’B、c1>=’A’&&c1<=’Z’C、(’A’<=c1)AND(’Z’>=c1)D、(c1>=’A’)&(c1<=’Z’)標(biāo)準(zhǔn)答案:B知識點解析:字符為大寫字符主要是滿足:在(’A’-’z’)之間。在C語言中邏輯“與”為“&&”,“&”表示“按位與”,故char型變量c1是否為大寫字母的表達(dá)式為的C語言表達(dá)式是c1>=’A’&&c1<=‘Z’。49、語句while(!y);中的表達(dá)式!y等價于()。A、y==0B、y=10C、y==1D、Y!=1標(biāo)準(zhǔn)答案:A知識點解析:C語言中“!”表示邏輯“非”,“!y”表示為真,也就是“y”為假,即y==0。50、當(dāng)運行時輸入:abcd¥abcde?,下面程序的運行結(jié)果是()。#include<stdio.h>main(){while(putchar(getchar())!=’¥’);prinff("end");}A、abcd¥endB、abcdendC、abcd¥abcdeendD、abcd¥abcde標(biāo)準(zhǔn)答案:A知識點解析:while(putchar(getchar())!=‘¥’);是將從鍵盤上獲得的符號循環(huán)輸出,直到輸入的字符為‘¥’時終止輸出。由于當(dāng)運行時輸入:abcd¥abcde?,故輸出結(jié)果為abcd¥。又后面有printf("end")語句,故在原先輸出符號后再輸出end,所以結(jié)果為abcd¥end。51、C語言中,已知intJ,K=6;,則計算表達(dá)式J=K++后,正確的是()。A、J=6,K=6B、J=6,K=7C、J=7,K=7D、J=7,K=6標(biāo)準(zhǔn)答案:B知識點解析:在使用C語言的自增運算符++時,若++在變量之前,表示變量先做加1再使用,若++在變量之后,則表示先使用變量再將值加1,因此在i=k++,系統(tǒng)將k=6的值先賦給i,則i=6,之后k作了加1操作,k=k+1=7。52、設(shè)a為整型變量,則不能正確表達(dá)數(shù)學(xué)關(guān)系10<a<15的C語言表達(dá)式是()。A、!(a<=10)&&!(a>=15)B、10<a<15C、a==11‖a==12‖a==13‖a==14D、a>10&&a<15標(biāo)準(zhǔn)答案:B知識點解析:10<a<15這種寫法是數(shù)學(xué)上的表達(dá)方法,在C語言中,如果寫成這樣,程序編譯并不報錯,這也是一個合法的邏輯運算表達(dá)式。先計算10<a,結(jié)果是真(1)或假(0),然后再用這個結(jié)果與15進行比較,得到最終結(jié)果。故B項錯誤。在C語言中邏輯“與”為“&&”,“‖”表示邏輯“或”?!?”表示邏輯“非”。故B項a==11‖a==12‖a==13‖a==14可表示大于10小于15的整數(shù),A項!(a<=10)&&!(a>=15)表示不滿足a<=10且不滿足a>=15,也就是10<a<15,故A也正確。53、若有“inta=1,x=1;”,則循環(huán)語句“while(a<10)x++;a++;”的循環(huán)執(zhí)行()。A、無限次B、10次C、9次D、不確定次標(biāo)準(zhǔn)答案:A知識點解析:While循環(huán)是先判斷后執(zhí)行,先判斷a<10是否成立,初始值a=1,故滿足條件,進入循環(huán)體執(zhí)行x++;由于a++并沒有在循環(huán)體中,故不參與運算。a的值就不變,依舊為1,滿足a<10。所以就會陷入死循環(huán),也就是說會執(zhí)行無數(shù)次。54、下列C語句中,while循環(huán)執(zhí)行的次數(shù)是()。inti=7;d0o{printf("%d",i=i-2);}while(i++);A、5B、6C、7D、無限標(biāo)準(zhǔn)答案:B知識點解析:程序運行的結(jié)果為“543210”,這時i的值為0,跳出了循環(huán),由此可知while循環(huán)執(zhí)行了6次。55、有以下程序段intk=0;while(k)k++;則while循環(huán)體執(zhí)行的次數(shù)是()。A、有語法錯,不能執(zhí)行B、一次也不執(zhí)行C、執(zhí)行1次D、無限次標(biāo)準(zhǔn)答案:B知識點解析:While循環(huán)是先判斷后執(zhí)行,先判斷k是否為真,初始值k=0,故不滿足條件,則不會進行循環(huán),也就是說while循環(huán)體執(zhí)行的次數(shù)是一次也不執(zhí)行。56、為表示邏輯表達(dá)式79<X<90,應(yīng)使用的C語言表達(dá)式是()。A、79<X<90B、(X>79)!=(X<90)C、(X>>79)&&(X<90)D、(X>79)‖(X<90)標(biāo)準(zhǔn)答案:C知識點解析:79<X<90,這種寫法是數(shù)學(xué)上的表達(dá)方法,是判斷79<x同時x<90,C語言中邏輯“與”為“&&”,“‖”表示邏輯“或”,“!=”表示不等號。故正確表達(dá)式為:(X>79)&&(X<90)。57、在C語言中,認(rèn)為()為邏輯"真"A、非O的數(shù)B、trueC、大于0的數(shù)D、非0整數(shù)標(biāo)準(zhǔn)答案:A知識點解析:在C語言中,沒有專用的布爾型變量。只要邏輯表達(dá)式的值非0,就被認(rèn)為是“真”;相反0則為假。故選A非0數(shù)更準(zhǔn)確。58、能正確表示邏輯關(guān)系:“a≥=10或a≤0”的C語言表達(dá)式是()。A、a>=10‖<=0B、a>=10ora<=0C、a>=0|a<=10D、a>=10&&a<=0標(biāo)準(zhǔn)答案:A知識點解析:在C語言中邏輯“或”為“‖”,“|”表示“按位或”,“&”表示“按位與”,故“a≥=10或a≤0”的C語言表達(dá)式是a>=10‖a<=0。59、C語言的循環(huán)語句中,用于結(jié)束本次循環(huán)的語句是()。A、breakB、continueC、SwitchD、if標(biāo)準(zhǔn)答案:B知識點解析:C語言的循環(huán)語句中,break是退出當(dāng)前循環(huán);continue是結(jié)束當(dāng)前循環(huán)的本次循環(huán)。60、下列循環(huán)語句中有語法錯誤的是()。A、dox++while(x==10);B、while(x=y(tǒng))5;C、while(0);D、do2;while(x==B);標(biāo)準(zhǔn)答案:A知識點解析:C語言中語句后面需要加上“;”,A項中語句x++后面缺少“;”,故該項錯誤。61、在下面的條件語句中(其中sl和s2表示是C語言的語句),只有一個在功能上與其他三個語句不等價,它是()。A、if(a==0)s2;elses1;B、if(a)s1;elses2;C、if(a!=0)s1;elses2;D、

溫馨提示

  • 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

提交評論