版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡介
PAGEPAGE1《語言程序設(shè)計(jì)》課程考試復(fù)習(xí)題庫(含答案)一、單選題1.以下程序的輸出結(jié)果是_______。Voidmain(){inta=10,b=4;Printf("%d\n",a/b);}A、0B、1C、2D、2.5答案:C解析:這道題考察的是整數(shù)除法的知識(shí)點(diǎn)。在C語言中,當(dāng)兩個(gè)整數(shù)進(jìn)行除法運(yùn)算時(shí),結(jié)果也會(huì)是一個(gè)整數(shù),且會(huì)舍棄小數(shù)部分。給定的程序中,變量a是10,變量b是4,所以`a/b`的結(jié)果是2,因此正確答案是C。2.下面程序運(yùn)行后的結(jié)果是______。#include“stdio.h”Voidmain(){intx,y;X=-3+4?5-6;Printf(“x=%d,”,x);Y=x++-1;Printf(“x=%d,y=%d\n”,x,y);}A、x=11,x=12,y=10B、x=-1,x=0,y=-2C、x=11,x=12,y=11D、x=-1,x=0,y=-1答案:A解析:先計(jì)算x,根據(jù)運(yùn)算符優(yōu)先級(jí),先計(jì)算乘法4*5=20,然后依次計(jì)算-3+20=17,17-6=11,所以最初x=11。接著計(jì)算y,y=x++-1,先取x的值11計(jì)算,y=11-1=10,然后x自增1變?yōu)?2。所以最終結(jié)果是x=12,y=10,選項(xiàng)A正確。3.已知i、j、k為int型變量,若從鍵盤輸入:1,2,3<回車>,使i的值為1、j的值為2、k的值為3,以下選項(xiàng)中正確的輸入語句是_______。A、scanf("%2d%2d%2d",&i,&j,&k);B、scanf("%d%d%d",&i,&j,&k);C、scanf("%d,%d,%d",&i,&j,&k);D、scanf("i=%d,j=%d,k=%d",&i,&j,&k);答案:C4.以下程序段中的變量已正確定義,該程序段執(zhí)行后的輸出結(jié)果是________。For(i=0;i<4;i++,i++)For(k=1;k<3;k++)Printf("?");A、????????B、????C、??D、?答案:B解析:在這個(gè)程序段中,外層循環(huán)`for(i=0;i<4;i++,i++)`會(huì)執(zhí)行2次,因?yàn)閌i`每次增加2。內(nèi)層循環(huán)`for(k=1;k<3;k++)`會(huì)執(zhí)行2次,因?yàn)閌k`每次增加1。因此,內(nèi)層循環(huán)會(huì)執(zhí)行4次,輸出4個(gè)星號(hào)。所以,正確答案是B。5.判斷字符串str1是否大于字符串str2,應(yīng)當(dāng)使用_______。A、if(str1>str2)B、if(strcmp(str1,str2)<0)C、if(strcmp(str2,str1)>0)D、if(strcmp(str1,str2)>0)答案:D6.單精度型變量的類型說明符是________。A、intB、doubleC、floatD、char答案:C7.在C語言程序中,表達(dá)式5%2的結(jié)果是________。A、2.5B、2C、1D、3答案:C8.當(dāng)調(diào)用函數(shù)時(shí),實(shí)參是一維數(shù)組的數(shù)組名,則向函數(shù)傳遞的是_______。A、數(shù)組的長度B、數(shù)組的首地址C、數(shù)組的每一個(gè)元素的地址D、數(shù)組的每一個(gè)元素的值答案:B解析:答案解析:在C語言中,當(dāng)調(diào)用函數(shù)時(shí),若實(shí)參是一維數(shù)組的數(shù)組名,實(shí)際上傳遞的是數(shù)組的首地址。通過傳遞首地址,函數(shù)可以間接訪問和操作數(shù)組中的元素。這樣能夠提高程序的效率和靈活性,避免復(fù)制整個(gè)數(shù)組的數(shù)據(jù)。因此,正確答案是選項(xiàng)B。9.已定義inta[][3]={1,2,3,4,5,6,7,8,9};,則a[1][2]的初值為_______。A、2B、4C、6D、8答案:C10.以下正確的函數(shù)首部是_______。A、voidfun(intx,inty)B、voidfun(intx;inty)C、voidfun(intx,y)D、voidfun(x,y)答案:A11.下面程序運(yùn)行后的結(jié)果是_______。Voidmain(){intmax,i,a[5]={11,22,13,47,35};Max=a[0];For(i=0;i<5;i++)If(a[i]>max)Max=a[i];Printf(“%d”,max);}A、11B、47C、35D、22答案:B解析:在這段程序中,首先將數(shù)組a的第一個(gè)元素a[0]賦值給變量max,然后通過for循環(huán)遍歷數(shù)組a的每個(gè)元素。在每次循環(huán)中,將當(dāng)前元素a[i]與max進(jìn)行比較,如果a[i]大于max,則將a[i]賦值給max。最后,輸出max的值。在這個(gè)例子中,數(shù)組a的最大值是47,因此程序運(yùn)行后的結(jié)果是47,答案選B。12.以下程序的運(yùn)行結(jié)果是_______。Intm=5;If(m++>5)Printf("%d\n",m);ElsePrintf("%d\n",m--);A、4B、5C、6D、7答案:C13.C語言程序中,引用數(shù)組元素時(shí)使用的下標(biāo)允許是__________。A、整型常量B、整型表達(dá)式C、整型常量或整型表達(dá)式D、任何類型的表達(dá)式答案:C解析:在C語言中,數(shù)組下標(biāo)用于標(biāo)識(shí)數(shù)組中的特定元素。整型常量可以明確指定元素的位置,整型表達(dá)式通過計(jì)算也能得到有效的下標(biāo)值。而其他類型的表達(dá)式,如浮點(diǎn)型表達(dá)式等,不符合C語言中數(shù)組下標(biāo)的使用規(guī)則。所以,C語言程序中引用數(shù)組元素時(shí)使用的下標(biāo)允許是整型常量或整型表達(dá)式,答案選C。14.有以下程序的執(zhí)行結(jié)果是_______。#include<stdio.h>Voidmain(){inta=0,b=0,c=0,d=0;If(a=1)B=1;C=2;Elsed=3;Printf("%d,%d,%d,%d\n",a,b,c,d);}A、0,1,2,0B、0,0,0,3C、編譯有錯(cuò)D、1,1,2,0答案:C解析:答案解析:在這段C語言程序中,if語句的條件應(yīng)該是一個(gè)邏輯表達(dá)式,而“if(a=1)”這里進(jìn)行了賦值操作,并非邏輯判斷。C語言要求if條件必須是能產(chǎn)生邏輯值(真或假)的表達(dá)式,所以該程序編譯會(huì)出錯(cuò)。因此,選項(xiàng)C是正確答案。15.關(guān)于標(biāo)識(shí)符,下列說法不正確的是______。A、庫函數(shù)名稱為預(yù)定義標(biāo)識(shí)符,不建議用作用戶自定義標(biāo)識(shí)符B、關(guān)鍵字不能作為用戶自定義標(biāo)識(shí)符C、用戶自定義標(biāo)識(shí)符中不區(qū)分大小寫字母D、標(biāo)識(shí)符中可以出現(xiàn)下劃線,且可以出現(xiàn)在標(biāo)識(shí)符的任意位置答案:C16.若有定義:inta=7;floatx=2.5,y=4.7;則表達(dá)式x+a%3?(int)(x+y)%2/4的值是______。A、2.5B、2.75C、3.5D、0答案:A解析:根據(jù)運(yùn)算符的優(yōu)先級(jí),先計(jì)算括號(hào)內(nèi)的表達(dá)式,即x+y的值為7.2。然后,計(jì)算a%3的值為1。接著,將1強(qiáng)制轉(zhuǎn)換為int類型,并與7.2相乘,得到7。最后,將7除以4,得到1。將1與x的值2.5相加,得到最終結(jié)果3.5。因此,正確答案是選項(xiàng)C。17.邏輯運(yùn)算符兩側(cè)運(yùn)算對(duì)象的數(shù)據(jù)類型是________。A、只能是0或者1B、只能是0或非0正數(shù)C、只能是整型或字符型數(shù)據(jù)D、可以是任何類型的數(shù)據(jù)答案:D18.以下選項(xiàng)中,當(dāng)x為大于1的奇數(shù)時(shí),值為0的表達(dá)式______。A、x%2==1B、x/2C、x%2!=0D、x%2==0答案:D19.下面程序段的運(yùn)行結(jié)果是_______。Intn=0;While(n++<=2)Printf("%d",n);A、2B、3C、4D、123答案:D解析:答案解析:初始時(shí)n=0,進(jìn)入循環(huán)。第一次循環(huán),n++<=2,先判斷0<=2成立,然后n自增為1,輸出1。第二次循環(huán),1<=2成立,n自增為2,輸出2。第三次循環(huán),2<=2成立,n自增為3,輸出3。此時(shí)循環(huán)結(jié)束。所以輸出結(jié)果為123,選項(xiàng)D正確。20.有以下程序,程序運(yùn)行后的輸出結(jié)果是_______。#include<stdio.h>#include<string.h>Voidmain(){chara[10]="abcd";Printf("%d,%d\n",strlen(a),sizeof(a));}A、7,4B、4,10C、8,8D、10,10答案:B解析:strlen函數(shù)計(jì)算字符串的實(shí)際長度,不包括'\0',字符串"abcd"的長度為4,所以strlen(a)為4;sizeof計(jì)算數(shù)組所占存儲(chǔ)空間大小,a數(shù)組定義為長度10,所以sizeof(a)為10。因此答案選B。21.有以下程序段Charch;intk;Ch=′a′;K=12;Printf("%c,%d,",ch,ch);Printf("k=%d\n",k);已知字符’a’的ASCII碼值為97,則執(zhí)行上述程序段后輸出結(jié)果是_______。A、因變量類型與格式描述符的類型不匹配輸出無定值B、輸出項(xiàng)與格式描述符個(gè)數(shù)不符,輸出為零值或不定值C、A,97,12,k=12D、A,97,k=12答案:D解析:%c用于輸出字符,%d用于輸出整數(shù)。ch='a',輸出字符'a',同時(shí)字符'a'的ASCII碼值為97,也會(huì)輸出97;k=12,輸出"k=12"。所以最終輸出結(jié)果為A,97,k=12,選項(xiàng)D正確。22.下列數(shù)據(jù)中屬于字符串常量的是________。A、"a"B、{ABC}C、'abc\0'D、'a'答案:A23.下面程序的功能是實(shí)現(xiàn)兩個(gè)字符變量互換值,若要為ch1變量接收值‘a(chǎn)’,為ch2變量接收值‘b’,則程序運(yùn)行時(shí)正確的輸入形式是______。#include“stdio.h”Voidmain(){charch1,ch2,ch;Scanf("%c%c",&ch1,&ch2);Ch=ch1;ch1=ch2;ch2=ch;Printf("ch1=%c,ch2=%c\n",ch1,ch2);}A、,bB、a<空格>bC、abD、a<回車>b答案:C解析:在該程序中,scanf函數(shù)用于接收用戶輸入的兩個(gè)字符,中間不能有其他分隔符,直接依次輸入兩個(gè)字符即可。A選項(xiàng)有逗號(hào),B選項(xiàng)有空格,D選項(xiàng)有回車,都不符合要求。只有C選項(xiàng)直接輸入“ab”,能正確地將“a”賦值給ch1,“b”賦值給ch2,所以正確答案是C。24.以下程序運(yùn)行后的輸出結(jié)果是______。Voidmain(){inti;,sum=0;For(i=1;i<=3;sum++)Sum+=i;Printf(“%d”,sum);}A、6B、3C、0D、死循環(huán)答案:D解析:在這段C語言程序中,for循環(huán)的條件是i<=3,而循環(huán)體中并沒有改變i的值,所以i始終小于等于3,循環(huán)會(huì)一直執(zhí)行下去,形成死循環(huán)。因此,正確答案是D。25.C語言中表示大于或等于關(guān)系、不等于關(guān)系的運(yùn)算符分別是_______。A、>=,!=B、≥,!=C、=>,<>D、>=,≠答案:A解析:在C語言中,大于或等于關(guān)系的運(yùn)算符是>=,不等于關(guān)系的運(yùn)算符是!=。選項(xiàng)B中的≥和≠不是C語言中的運(yùn)算符;選項(xiàng)C中的=>和<>也不是C語言中的運(yùn)算符;選項(xiàng)D中的≠是不等于關(guān)系的運(yùn)算符,但>=不是C語言中的運(yùn)算符。因此,正確答案是選項(xiàng)A。26.設(shè)有語句scanf(“%c%d%c”,&c1,&c2,&c3);要將c1、c2、c3的值分別輸入為常量‘a(chǎn)’、25、‘c’,則正確的輸入方法是_______。A、↙25↙c↙(為‘↙’回車符)B、a25c↙C、A,25,c↙D、a25c↙答案:B解析:答案解析:在scanf函數(shù)中,%c表示讀取一個(gè)字符,%d表示讀取一個(gè)整數(shù)。因此,要將c1、c2、c3的值分別輸入為常量‘a(chǎn)’、25、‘c’,需要按照相應(yīng)的格式進(jìn)行輸入。選項(xiàng)A中,在輸入字符‘a(chǎn)’后,需要輸入一個(gè)空格,再輸入整數(shù)25,最后輸入字符‘c’,不符合題目要求;選項(xiàng)C中,在輸入字符‘a(chǎn)’后,需要輸入一個(gè)逗號(hào),再輸入整數(shù)25,最后輸入字符‘c’,不符合題目要求;選項(xiàng)D中,在輸入字符‘a(chǎn)’后,需要輸入一個(gè)空格,再輸入整數(shù)25,最后輸入字符‘c’,不符合題目要求。因此,正確的輸入方法是選項(xiàng)B。27.設(shè)有定義:doubleD,h;,其中d為三角形的底邊長,h為三角形的高,則以下C語言表達(dá)式與其面積公式(dh)/2計(jì)算結(jié)果不相符的是______。A、d?h/2B、1/2?d?hC、d?h?1/2D、/2?h答案:B解析:這道題考察的是C語言中的運(yùn)算符優(yōu)先級(jí)和算術(shù)運(yùn)算。在C語言中,乘法、除法和取余的優(yōu)先級(jí)高于加法和減法。對(duì)于選項(xiàng)B,表達(dá)式“1/2?d?h”中,由于1和2都是整型,所以1/2的結(jié)果為0,導(dǎo)致整個(gè)表達(dá)式的結(jié)果為0,與面積公式(dh)/2的計(jì)算結(jié)果不相符。其他選項(xiàng)均正確表達(dá)了面積的計(jì)算公式。28.在C語言中,int、short、char三種類型數(shù)據(jù)所占用的存儲(chǔ)空間是______。A、均為2個(gè)字節(jié)B、int和short占2個(gè)字節(jié),char占1個(gè)字節(jié)C、與編譯環(huán)境有關(guān)D、由用戶自己定義答案:C29.下列選項(xiàng)中。不正確的整型常量表示形式是________。A、-48B、0xv23C、010D、077答案:B解析:A選項(xiàng),-48是常見的整型常量表示。C選項(xiàng),以0開頭表示八進(jìn)制數(shù),010是合法的八進(jìn)制整型常量。D選項(xiàng),以0開頭表示八進(jìn)制數(shù),077是合法的八進(jìn)制整型常量。而B選項(xiàng)中,0x開頭表示十六進(jìn)制數(shù),但v不是十六進(jìn)制的合法數(shù)字,所以該表示形式不正確。因此答案選B。30.若有以下語句組,則執(zhí)行后的輸出結(jié)果是_______。Intx=0;If(x++<0)Printf("%d",--x);Printf("%d",x++);A、-1B、1C、-1-1D、-10答案:B解析:在這個(gè)語句組中,首先將x的初始值設(shè)為0。然后,執(zhí)行if語句,由于x++<0不成立,所以不會(huì)執(zhí)行printf("%d",--x)。接著,執(zhí)行printf("%d",x++),此時(shí)x的值為1,輸出結(jié)果為1。因此,正確答案是B。31.以下選項(xiàng)中,正確的字符常量是_______。A、"F"B、'\\''C、'W'D、"ab"答案:C解析:答案解析:字符常量是用單引號(hào)括起來的單個(gè)字符。選項(xiàng)A和D是字符串常量,用雙引號(hào)括起來,不符合要求。選項(xiàng)B中包含兩個(gè)反斜杠,不是單個(gè)字符,也不符合要求。選項(xiàng)C是單個(gè)字符'W',符合字符常量的定義。因此,正確答案是C。32.以下說法正確的是______。A、C語言程序總是從第一個(gè)函數(shù)開始執(zhí)行。B、C語言程序中要調(diào)用的函數(shù)必須在main()函數(shù)中定義。C、語言程序總是從main()函數(shù)開始執(zhí)行。D、C語言程序中的main()函數(shù)必須放在程序的開始部分。答案:C33.下面程序運(yùn)行后的結(jié)果是______。Voidmain(){intx=1,y=0;Switch(x){case1:y=y+1;Case2:y=y+10;break;Default:y=y+100;}Printf(“y=%d\n”,y);}A、y=0B、y=1C、y=11D、y=111答案:C解析:這道題考察的是C語言中switch語句的執(zhí)行邏輯。首先,變量x被初始化為1,然后進(jìn)入switch語句。在switch中,case1匹配成功,執(zhí)行y=y+1,此時(shí)y變?yōu)?。由于case1后沒有break語句,程序會(huì)繼續(xù)執(zhí)行case2中的y=y+10,此時(shí)y變?yōu)?1。最后,程序輸出y的值,即11。所以正確答案是C。34.關(guān)于與switch語句配套的case語句中所使用的表達(dá)式,說法正確的是______。A、可以是變量B、可以是常量或變量C、只能是常量或常量表達(dá)式D、無論是何種表達(dá)式,只要在執(zhí)行時(shí)有確定的值就行答案:C35.下列數(shù)組定義語句中,正確的是_______。A、inta[][]={1,2,3,4,5,6};B、chara[2][3]=‘a(chǎn)',‘b';C、inta[][3]={1,2,3,4,5,6};D、inta[][]={{1,2,3},{4,5,6;答案:C36.兩次運(yùn)行下面的程序,從鍵盤上輸入的值分別6和4,則輸出結(jié)果分別是_______。Voidmain(){intx;Scanf("%d",&x);If(x++>5)printf("%d",x);Elseprintf("%d\n",x--);}A、7和5B、6和3C、7和4D、6和4答案:A解析:這道題考察的是對(duì)C語言中自增自減運(yùn)算符的理解。首先,輸入6時(shí),`x++`先判斷`x`是否大于5,此時(shí)`x`為6,條件成立,然后`x`自增變?yōu)?,輸出7。再輸入4時(shí),`x++`先判斷`x`是否大于5,此時(shí)`x`為4,條件不成立,執(zhí)行`else`分支,`x--`使`x`變?yōu)?,但因?yàn)槭莁printf("%d\n",x--)`,所以輸出的是`x`自減前的值4,然后`x`變?yōu)?。因此,輸出結(jié)果為7和4,但考慮到`printf`在`else`分支中有換行符`\n`,實(shí)際上輸出會(huì)是7和換行后的4,不過這對(duì)選項(xiàng)判斷無影響,答案選A。37.以下選項(xiàng)中,能用作用戶標(biāo)識(shí)符的是_______。A、voidB、8_8C、_0_D、int答案:C38.以下正確的C語言標(biāo)識(shí)符是_______。A、%XB、a+bC、a123D、test!答案:C39.C語言允許函數(shù)類型缺省定義,此時(shí)該函數(shù)類型隱含的是_______。A、floatB、intC、longD、ouble答案:B解析:這道題考察的是C語言函數(shù)類型的默認(rèn)定義。在C語言中,如果一個(gè)函數(shù)在聲明或定義時(shí)沒有明確指定返回類型,編譯器會(huì)默認(rèn)該函數(shù)的返回類型為`int`。這是C語言標(biāo)準(zhǔn)中的規(guī)定,確保了代碼的兼容性和一致性。因此,當(dāng)函數(shù)類型缺省定義時(shí),其隱含的類型是`int`。40.關(guān)于主函數(shù),下列說法中不正確的是______。A、一個(gè)完整的C語言應(yīng)用程序有唯一的主函數(shù)B、主函數(shù)的名稱只能是mainC、主函數(shù)可以被其他自定義函數(shù)調(diào)用D、C語言程序的運(yùn)行從主函數(shù)開始,以主函數(shù)為核心展開答案:C解析:這道題考察的是C語言程序結(jié)構(gòu)的基本知識(shí)。在C語言中,每個(gè)程序都必須有一個(gè)主函數(shù),它是程序的入口點(diǎn)。主函數(shù)的名稱固定為"main",且一個(gè)程序中只能有一個(gè)主函數(shù)。程序執(zhí)行時(shí),從主函數(shù)開始,按照代碼邏輯順序執(zhí)行,直至主函數(shù)執(zhí)行完畢。重要的是,主函數(shù)是調(diào)用其他函數(shù)的,而不是被其他函數(shù)調(diào)用。因此,選項(xiàng)C的說法是不正確的。41.計(jì)算機(jī)能直接執(zhí)行的程序是________。A、源程序B、目標(biāo)程序C、匯編程序D、可執(zhí)行程序答案:D42.以下描述中正確的是_______。A、由于do-while循環(huán)中循環(huán)體語句只能是一條可執(zhí)行語句,所以循環(huán)體內(nèi)不能使用復(fù)合語句。B、do-while循環(huán)由do開始,用while結(jié)束,在while(表達(dá)式)后面不能寫分號(hào)。C、在do-while循環(huán)體中,一定要有能使while后面表達(dá)式的值變?yōu)榱?"假")的操作。D、o-while循環(huán)中,根據(jù)情況可以省略while。答案:C43.判斷字符變量c的值是否既不是數(shù)字也不是字母時(shí),下述表達(dá)式正確的是_______。A、c<=48||c>=57&&c<=65||c>=90&&c<=97||c>=122B、!(c<=48||c>=57&&c<=65||c>=90&&c<=97||c>=122)C、>=48&&c<=57||c>=65&&c<=90||c>=97&&c<=122D、!(c>='0'&&c<='9'||c>='A'&&c<='Z'||c>='a'&&c<='z')答案:D解析:首先,分析題目要求,需要判斷字符變量c的值是否既不是數(shù)字也不是字母。根據(jù)ASCII碼表,數(shù)字的ASCII碼值范圍是48到57,大寫字母的ASCII碼值范圍是65到90,小寫字母的ASCII碼值范圍是97到122。接下來,分析每個(gè)選項(xiàng):-選項(xiàng)A:c<=48||c>=57&&c<=65||c>=90&&c<=97||c>=122表示c的值小于等于48或者大于等于57且小于等于65或者大于等于90且小于等于97或者大于等于122,即c的值是數(shù)字或者字母,不符合題目要求。-選項(xiàng)B:!(c<=48||c>=57&&c<=65||c>=90&&c<=97||c>=122)表示c的值不是數(shù)字或者字母,符合題目要求。-選項(xiàng)C:c>=48&&c<=57||c>=65&&c<=90||c>=97&&c<=122表示c的值是數(shù)字或者字母,不符合題目要求。-選項(xiàng)D:!(c>='0'&&c<='9'||c>='A'&&c<='Z'||c>='a'&&c<='z')表示c的值不是數(shù)字或者字母,符合題目要求。綜上所述,正確答案是選項(xiàng)D。44.有如下定義:intx=1,y=2,a;,則下列語句執(zhí)行后變量的值分別為a________、x______、y______。A=--x&&y++;A、1,0,3B、0,0,3C、0,0,2D、1,0,2答案:C解析:在C語言中,`--x`表示先將`x`的值減1,再使用減1后的結(jié)果進(jìn)行后續(xù)運(yùn)算;`y++`表示先使用`y`的當(dāng)前值進(jìn)行后續(xù)運(yùn)算,再將`y`的值加1。邏輯與運(yùn)算符`&&`遵循短路求值原則,即如果第一個(gè)操作數(shù)為假,則不會(huì)計(jì)算第二個(gè)操作數(shù)。所以,執(zhí)行`a=--x&&y++;`時(shí),先將`x`的值減1,得到`x=0`,然后判斷`x`是否為真(非零即為真),由于`x=0`,所以`--x`為假,根據(jù)短路求值原則,不會(huì)計(jì)算`y++`,因此`y`的值不變,仍為2。最后,將`--x`的結(jié)果(0)賦值給`a`,得到`a=0`。因此,答案是選項(xiàng)C。45.在C語言中,要求運(yùn)算數(shù)必須是整型的運(yùn)算符是_______。A、/B、++C、?=D、%答案:D46.下面程序段,當(dāng)x=-3時(shí),輸出y的值為_______。Intx,y;Y=0;Scanf("%d",&x);If(x>=0)If(x>0)Y=1;ElseY=-1;Printf("y=%d",y);A、1B、-1C、0D、不確定答案:C解析:這道題考察的是對(duì)C語言條件語句的理解。首先,程序定義了x和y兩個(gè)整型變量,并將y初始化為0。然后,通過scanf函數(shù)讀取x的值。接下來,程序通過嵌套的if-else語句判斷x的值,并據(jù)此給y賦值。當(dāng)x=-3時(shí),不滿足x>=0的條件,因此不會(huì)執(zhí)行內(nèi)部的if-else語句,y的值保持為初始化的0。所以,輸出y的值為0,選項(xiàng)C正確。47.putchar函數(shù)可以向終端輸出一個(gè)_______。A、整型值B、實(shí)型值C、字符串D、字符答案:D解析:答案解析:putchar函數(shù)是C語言標(biāo)準(zhǔn)庫中的一個(gè)函數(shù),用于向終端輸出一個(gè)字符。它的作用是將指定的字符輸出到標(biāo)準(zhǔn)輸出設(shè)備(通常是屏幕)上。在C語言中,字符是用單引號(hào)括起來的單個(gè)字符,例如'A'、'b'、'1'等。putchar函數(shù)接受一個(gè)字符作為參數(shù),并將其輸出到終端。因此,選項(xiàng)D是正確的答案。48.C語言的三種基本結(jié)構(gòu)是______。A、順序結(jié)構(gòu)、邏輯結(jié)構(gòu)、選擇結(jié)構(gòu)B、順序結(jié)構(gòu)、選擇結(jié)構(gòu)、循環(huán)結(jié)構(gòu)C、邏輯結(jié)構(gòu)、層次結(jié)構(gòu)、網(wǎng)狀結(jié)構(gòu)D、層次結(jié)構(gòu)、順序結(jié)構(gòu)、循環(huán)結(jié)構(gòu)答案:B解析:答案解析:在C語言中,程序的基本結(jié)構(gòu)決定了代碼的執(zhí)行流程。順序結(jié)構(gòu)是按照語句的先后順序依次執(zhí)行;選擇結(jié)構(gòu)通過條件判斷來決定執(zhí)行不同的分支;循環(huán)結(jié)構(gòu)則是在滿足條件的情況下重復(fù)執(zhí)行一段代碼。這三種基本結(jié)構(gòu)涵蓋了程序設(shè)計(jì)中的常見邏輯流程,能夠?qū)崿F(xiàn)各種復(fù)雜的功能。因此,C語言的三種基本結(jié)構(gòu)是順序結(jié)構(gòu)、選擇結(jié)構(gòu)、循環(huán)結(jié)構(gòu),答案為B選項(xiàng)。49.對(duì)于形式for(表達(dá)式1;;表達(dá)式3),可理解為______。A、for(表達(dá)式1;0;表達(dá)式3)B、for(表達(dá)式1;1;表達(dá)式3)C、語法錯(cuò)誤D、僅執(zhí)行循環(huán)一次答案:B解析:在C語言中,for循環(huán)的一般形式為:`for(表達(dá)式1;表達(dá)式2;表達(dá)式3)`。其中,表達(dá)式1用于初始化循環(huán)變量,表達(dá)式2用于判斷循環(huán)是否繼續(xù),表達(dá)式3用于更新循環(huán)變量。在題目中,`for(表達(dá)式1;;表達(dá)式3)`中缺少了表達(dá)式2。根據(jù)C語言的語法規(guī)則,如果表達(dá)式2被省略,則默認(rèn)其值為真,即循環(huán)會(huì)一直執(zhí)行,直到遇到break語句或其他終止循環(huán)的條件。因此,選項(xiàng)B是正確的答案。50.下面程序運(yùn)行后的結(jié)果是______。Voidmain(){intnum=0;While(num<=2){num++;Printf(“%3d”,num);}}A、012B、123C、234D、0123答案:B解析:在這個(gè)程序中,我們首先定義了一個(gè)整型變量num并將其初始化為0。然后,我們進(jìn)入一個(gè)while循環(huán),只要num的值小于或等于2,就會(huì)執(zhí)行循環(huán)體。在循環(huán)體中,我們首先將num的值加1,然后使用printf函數(shù)輸出num的值,輸出的格式為%3d,即輸出一個(gè)占3個(gè)字符寬度的整數(shù)。當(dāng)num的值增加到3時(shí),循環(huán)條件不再滿足,循環(huán)結(jié)束。因此,程序運(yùn)行后的結(jié)果是123。所以,正確答案是B。51.判斷char型變量ch是否為大寫字母的正確表達(dá)式是_______。A、'A'<=ch<='Z'B、(ch>='A')&(ch<='Z')C、(ch>='A')&&(ch<='Z')D、('A'<=ch)AND('Z'>=ch)答案:C52.若有說明:inta[10];則對(duì)a數(shù)組元素的正確引用是_______。A、[10]B、a[3.5]C、a(5)D、a[10-10]答案:D53.有以下程序段,則while循環(huán)體執(zhí)行的次數(shù)是______。Intk=0;While(k=1)K++;A、無限次B、1次C、語法錯(cuò)誤,不能執(zhí)行D、一次也不執(zhí)行答案:A解析:在這個(gè)程序段中,我們首先定義了一個(gè)整型變量`k`并將其初始化為0。然后,我們進(jìn)入一個(gè)`while`循環(huán),只要`k`等于1,就會(huì)執(zhí)行循環(huán)體。然而,需要注意的是,在循環(huán)的條件判斷中,我們使用的是`k=1`而不是`k==1`。在C語言中,`k=1`是一個(gè)賦值表達(dá)式,它將1賦值給`k`,并返回賦值后的結(jié)果。由于1是非零值,所以條件判斷始終為真,導(dǎo)致循環(huán)會(huì)一直執(zhí)行下去,即無限次執(zhí)行。因此,正確答案是選項(xiàng)A。54.若a是數(shù)值類型,則邏輯表達(dá)式(a==1)||(a!=1)的值是_______。A、1B、0C、2D、不知道a的值,不能確定答案:A55.下面定義字符型變量ch的語句不正確的是______。A、charch=‘\X2A’;B、charch="c";C、harch=65;D、charch=NULL;答案:B56.以下對(duì)一維數(shù)組a的正確說明是_______。A、intn;Scanf("%d",&n);Inta[n];B、intn=10,a[n];C、inta(10);D、#defineSIZE10Inta[SIZE];答案:D解析:A選項(xiàng)中,使用變量n來定義數(shù)組長度是不合法的,因?yàn)閿?shù)組長度必須是常量。B選項(xiàng)中,同樣使用變量n來定義數(shù)組長度也是不合法的。C選項(xiàng)中,數(shù)組的定義方式不正確,應(yīng)該使用方括號(hào)[]來定義數(shù)組。D選項(xiàng)中,使用#define定義了一個(gè)常量SIZE,并將其作為數(shù)組的長度,這種方式是合法的。因此,正確答案是D。57.在嵌套使用if語句時(shí),C語言規(guī)定else總是______。A、和之前與其具用相同縮進(jìn)位置的if配對(duì)B、和之前與其最近的if配對(duì)C、和之前與其最近的且不帶else的if配對(duì)D、和之前的第一個(gè)if配對(duì)答案:C58.在C語言中,char型數(shù)據(jù)在內(nèi)存中的存儲(chǔ)形式是_______。A、補(bǔ)碼B、反碼C、原碼D、ASCII碼答案:D59.關(guān)于使用函數(shù)的目的,以下不正確的說法是_______。A、提高程序的執(zhí)行效率B、提高程序的開發(fā)效率C、減少程序文件所占內(nèi)存D、提高程序可讀性答案:A60.下列程序段的功能是給數(shù)組所有的元素輸入數(shù)據(jù),然后輸出,請(qǐng)選擇正確答案填空。#include“stdio.h”Voidmain(){inta[10],i=0;While(i<10)scanf("%d",_______);For(i=0;i<10;i++)Printf("%4d",a[i]);}A、+(i+1)B、&a[i++]C、a+iD、&a[++i]答案:B解析:答案解析:在C語言中,使用`scanf`函數(shù)輸入數(shù)據(jù)時(shí),需要使用地址。選項(xiàng)B`&a[i++]`能正確地獲取到數(shù)組`a`中每個(gè)元素的地址,依次進(jìn)行數(shù)據(jù)輸入。選項(xiàng)A`a+(i+1)`不是正確的地址表示方式。選項(xiàng)C`a+i`不能實(shí)現(xiàn)元素逐個(gè)輸入。選項(xiàng)D`&a[++i]`會(huì)先將`i`自增,導(dǎo)致數(shù)組元素輸入順序錯(cuò)誤。所以,正確答案是B。61.執(zhí)行下面的程序段后,變量k中的值為_________。Intk=3,s[2];S[0]=k;K=s[1]?10;A、不定值B、33C、30D、10答案:A解析:這道題考察的是數(shù)組初始化和變量賦值的知識(shí)點(diǎn)。在C語言中,數(shù)組`s[2]`被聲明但未初始化,其元素`s[0]`和`s[1]`的值是不確定的。程序執(zhí)行`S[0]=k;`后,`s[0]`的值變?yōu)?,但`s[1]`的值仍然是不確定的。接著執(zhí)行`k=s[1]*10;`,因?yàn)閌s[1]`的值是不確定的,所以變量`k`中的值也是不確定的。因此,答案是A,即變量`k`中的值為不定值。62.將空格符賦給字符變量C,正確的賦值語句是________。A、c='\0'B、c=NULLC、=0D、c=32答案:D解析:這道題考察的是C語言中字符變量的賦值。在C語言中,空格符的ASCII碼值是32。因此,要將空格符賦給字符變量c,應(yīng)該使用c=32。選項(xiàng)A中的'\0'是字符串結(jié)束符,不是空格符;選項(xiàng)B中的NULL通常用于指針,不適用于字符變量;選項(xiàng)C中的0雖然可以隱式轉(zhuǎn)換為字符,但它代表的是ASCII碼值為0的字符,不是空格符。所以正確答案是D。63.已有如下定義和輸入語句,若要求a1,a2,c1,c2的值分別為10,20,A和B,當(dāng)從第一列開始輸入數(shù)據(jù)時(shí),正確的數(shù)據(jù)輸入方式是_______。(其中□代表一個(gè)空格)Inta1,a2;Charc1,c2;Scanf("%d%c%d%c",&a1,&c1,&a2,&c2);A、10A□20BB、10□A□20□BC、10□A20BD、10A20□B答案:A解析:在這個(gè)問題中,`scanf`函數(shù)用于從標(biāo)準(zhǔn)輸入讀取數(shù)據(jù)并將其存儲(chǔ)到變量中。`%d`表示讀取一個(gè)整數(shù),`%c`表示讀取一個(gè)字符。根據(jù)題目要求,我們需要輸入四個(gè)值:`a1`、`c1`、`a2`和`c2`。其中,`a1`和`a2`是整數(shù),`c1`和`c2`是字符。選項(xiàng)A中,輸入`10A□20B`,其中`10`被讀取為`a1`的值,`A`被讀取為`c1`的值,`20`被讀取為`a2`的值,`B`被讀取為`c2`的值,符合題目要求。選項(xiàng)B中,輸入`10□A□20□B`,其中`10`被讀取為`a1`的值,但是`A`后面的空格被視為無效字符,不會(huì)被讀取為`c1`的值,因此不符合題目要求。選項(xiàng)C中,輸入`10□A20B`,其中`10`被讀取為`a1`的值,`A`被讀取為`c1`的值,但是`20`后面的`B`被視為無效字符,不會(huì)被讀取為`c2`的值,因此不符合題目要求。選項(xiàng)D中,輸入`10A20□B`,其中`10`被讀取為`a1`的值,`A`被讀取為`c1`的值,`20`被讀取為`a2`的值,但是`B`后面的空格被視為無效字符,不會(huì)被讀取為`c2`的值,因此不符合題目要求。因此,正確答案是選項(xiàng)A。64.定義如下變量和數(shù)組:Intk;Inta[3][3]={1,2,3,4,5,6,7,8,9};則下面語句的輸出結(jié)果是_______。For(k=0;k<3;k++)Printf("%d",a[k][2-k]);A、357B、369C、159D、147答案:A65.一個(gè)C程序的執(zhí)行是從_______。A、本程序的main函數(shù)開始,到main函數(shù)結(jié)束B、本程序文件的第一個(gè)函數(shù)開始,到本程序文件的最后一個(gè)函數(shù)結(jié)束C、本程序的main函數(shù)開始,到本程序文件的最后一個(gè)函數(shù)結(jié)束D、本程序文件的第一個(gè)函數(shù)開始,到本程序main函數(shù)結(jié)束答案:A66.假設(shè)所有變量均為整型,則表達(dá)式(a=2,b=5,a+b++,a+b)的值是_______。A、7B、8C、5D、2答案:B67.在C語言中,if語句后的一對(duì)圓括號(hào)中有一個(gè)用以決定分支走向的表達(dá)式,該表達(dá)式______。A、只能是關(guān)系表達(dá)式B、只能是邏輯表達(dá)式C、只能是關(guān)系或邏輯表達(dá)式D、可以是任何合法表達(dá)式答案:D68.若二維數(shù)組a有m列,則計(jì)算任一元素a[i][j]在數(shù)組中位置的公式為_______。(假設(shè)a[0][0]在第一位置)A、i?m+jB、j?m+iC、i?m+j-1D、i?m+j+1答案:D解析:這道題考察的是二維數(shù)組元素位置的計(jì)算方法。在二維數(shù)組中,任一元素a[i][j]的位置可以通過其行號(hào)和列號(hào)來確定。具體地,元素a[i][j]之前會(huì)有i行元素,每行有m個(gè)元素,再加上當(dāng)前行的j個(gè)元素,所以總位置是i*m+j。但題目中說明a[0][0]在第一位置,即位置計(jì)數(shù)從1開始,所以實(shí)際位置應(yīng)為i*m+j+1。因此,正確答案是D。69.以下對(duì)二維數(shù)組a的正確說明是_______。A、inta[3][];B、floata(3,4);C、doublea[1][4];D、floata(3)(4);答案:C70.下列語句將小寫字母轉(zhuǎn)化為大寫字母,正確的語句為______。A、if(’z’>=ch>=’a’)ch=ch-32;B、if(ch>=’a’&&ch<=’z’)ch=ch-32;C、h=(’z’>=ch>=’a’)?ch-32:ch;D、ch=(ch>=’a’&&ch<=’z’)?ch:ch-32;答案:B71.有以下程序,程序運(yùn)行后的輸出結(jié)果是_______。#include<stdio.h>Voidmain(){inta=1,b=0;Printf("%d,",b=a+b);Printf("%d",a=2?b);}A、0,0B、1,2C、3,2D、1,0答案:B解析:這道題考察的是C語言中的賦值和逗號(hào)表達(dá)式的運(yùn)算順序。首先,`b=a+b`表達(dá)式中,`b`被賦值為`a+b`的結(jié)果,即`1+0=1`,然后輸出`b`的值,為`1`。接著,執(zhí)行第二個(gè)`Printf`,`a=2*b`表達(dá)式中,`a`被賦值為`2*b`的結(jié)果,即`2*1=2`,然后輸出`a`的值,為`2`。因此,輸出結(jié)果為`1,2`,選項(xiàng)B正確。72.有如下程序,#include"stdio.h"Intmain(){Intx,y;Charch;Scanf("%d,%c",&x,&ch);Y=x%3;Printf("x=%d,y=%d\nch+32=%c\n",x,y,ch+32);Return0;}若程序運(yùn)行時(shí),輸入數(shù)據(jù)如下,則輸出結(jié)果是_______。30,D(回車)A、30,0DB、x=30,y=1Ch+32=DC、x=30,y=0Ch+32=dD、x=30,y=0,ch+32=d答案:C解析:答案解析:首先,輸入30,D,x被賦值為30。然后計(jì)算y,x對(duì)3取余,30%3=0,所以y=0。ch被賦值為'D','D'+32對(duì)應(yīng)的ASCII碼值是'd'。按照輸出格式,輸出結(jié)果為“x=30,y=0ch+32=d”,所以選項(xiàng)C正確。73.定義一個(gè)名為s的字符型數(shù)組,并且賦初值為字符串"123"的錯(cuò)誤語句是_______。A、chars[]={‘1','2','3','\0'};B、chars[]={"123"};C、hars[]={"123\n"};D、chars[4]={'1','2','3'};答案:C74.設(shè)有程序段intk=10;while(k=0)k=k-1;,則下面描述中正確的是______。A、while循環(huán)執(zhí)行10次B、循環(huán)是無限循環(huán)C、循環(huán)體語句一次也不執(zhí)行D、循環(huán)體語句執(zhí)行一次答案:C解析:這道題考察的是對(duì)C語言中while循環(huán)的理解。在C語言中,while循環(huán)會(huì)一直執(zhí)行,直到其條件表達(dá)式的結(jié)果為假(0)。在這個(gè)程序段中,`while(k=0)`是一個(gè)賦值表達(dá)式,它將k的值設(shè)為0,并且表達(dá)式的值也是0,即假。因此,while循環(huán)的條件從一開始就不滿足,循環(huán)體內(nèi)的語句一次也不會(huì)執(zhí)行。所以,正確答案是C。75.假設(shè)下面程序運(yùn)行時(shí)由鍵盤輸入:3,5(回車),則輸出結(jié)果是______。Voidmain(){intx,y,max;Scanf(“%d,%d”,&x,&y);If(x>y)Max=x;ElseMax=y;Printf(“max=%d\n”,max);}A、MAX=3B、max=5C、max=3D、MAX=5答案:B解析:本題目分析:該程序主要實(shí)現(xiàn)了從鍵盤輸入兩個(gè)整數(shù),然后比較它們的大小,并輸出較大的值。主要思路:首先,通過`scanf`函數(shù)獲取用戶輸入的兩個(gè)整數(shù)`x`和`y`。然后,使用`if-else`語句比較`x`和`y`的大小,將較大的值賦給變量`max`。最后,使用`printf`函數(shù)輸出`max`的值。選項(xiàng)分析:-A選項(xiàng):如果`x`大于`y`,則`max`應(yīng)該等于`x`,而不是`3`,所以A選項(xiàng)錯(cuò)誤。-B選項(xiàng):如果`x`小于`y`,則`max`應(yīng)該等于`y`,即`5`,所以B選項(xiàng)正確。-C選項(xiàng):如果`x`等于`y`,則`max`也應(yīng)該等于`x`或`y`,即`3`或`5`,所以C選項(xiàng)錯(cuò)誤。-D選項(xiàng):`MAX`是一個(gè)未定義的變量,程序中沒有使用,所以D選項(xiàng)錯(cuò)誤。綜上所述,正確答案是B。76.關(guān)于函數(shù)的實(shí)參和形參,以下正確的說法是_______。A、實(shí)參和對(duì)應(yīng)的形參各占用獨(dú)立的存儲(chǔ)區(qū)域B、實(shí)參和對(duì)應(yīng)的形參共同占用同一存儲(chǔ)區(qū)域C、只有當(dāng)實(shí)參與形參重名時(shí)才共同占用存儲(chǔ)區(qū)域D、形參是虛擬的,不占用存儲(chǔ)區(qū)域答案:A解析:在函數(shù)調(diào)用過程中,實(shí)參是在調(diào)用時(shí)傳遞給函數(shù)的值,形參是函數(shù)定義中接收實(shí)參的變量。實(shí)參和形參是不同的變量,它們?cè)趦?nèi)存中各自占用獨(dú)立的存儲(chǔ)區(qū)域。實(shí)參的值被傳遞給形參,形參在函數(shù)內(nèi)部進(jìn)行運(yùn)算和處理。B選項(xiàng)共同占用同一存儲(chǔ)區(qū)域錯(cuò)誤;C選項(xiàng)說法錯(cuò)誤;D選項(xiàng)形參也占用存儲(chǔ)區(qū)域。所以正確答案是A。77.設(shè)charch;,其值為'A',則如下表達(dá)式的值為________。Ch=(ch>='A'&&CH<='Z')?(ch+32):chA、‘A’B、‘a(chǎn)’C、‘Z’D、‘z’答案:B解析:在這個(gè)表達(dá)式中,首先判斷`ch`的值是否在`'A'`到`'Z'`的范圍內(nèi)。如果是,那么將`ch`的值加上32,得到對(duì)應(yīng)的小寫字母;否則,`ch`的值不變。因?yàn)閌ch`的值為`'A'`,在`'A'`到`'Z'`的范圍內(nèi),所以將`'A'`加上32,得到`'a'`。因此,選項(xiàng)B是正確的答案。78.下面說法正確的是_______。A、while語句不管條件表達(dá)式是否為真,都將執(zhí)行一次循環(huán)體。B、do-while語句構(gòu)成的循環(huán),一定要有能使while后面表達(dá)式的值為0的操作,或在循環(huán)體中使用Break語句。C、for循環(huán)只能用于循環(huán)次數(shù)確定的情況,且先執(zhí)行循環(huán)體語句,后判斷條件表達(dá)式。D、break語句的作用是從最近的循環(huán)體內(nèi)跳出來,而continue語句的作用是繼續(xù)執(zhí)行循環(huán)體中尚未執(zhí)行的語句。答案:B79.下面程序段運(yùn)行時(shí)的輸出結(jié)果是______。Intn=0;While(n++<=2);Printf("%d",n);A、2B、3C、4D、語法錯(cuò)誤答案:C解析:答案解析:在這個(gè)程序段中,`while`循環(huán)的條件是`n++<=2`。`n++`先使用`n`的值進(jìn)行比較,然后再將`n`的值加1。當(dāng)`n`的值為2時(shí),滿足條件進(jìn)入循環(huán),然后`n`自增為3,此時(shí)不滿足條件退出循環(huán)。但由于`n`在最后一次判斷后又自增了一次,所以最終`n`的值為4。因此,選項(xiàng)C是正確答案。80.已知字母A的ASCII碼值為十進(jìn)制數(shù)65,ch為字符型變量,則執(zhí)行語句ch='A'+'6'-'3'后,ch中的值為_______。A、66B、67C、68D、不確定的值答案:C解析:答案解析:在ASCII碼中,字符'A'的十進(jìn)制值為65,'6'的十進(jìn)制值為54,'3'的十進(jìn)制值為51。進(jìn)行計(jì)算:'A'+'6'-'3'=65+54-51=68。所以,變量ch的值為68,選項(xiàng)C正確。81.將abc定義為int類型變量,若從鍵盤給abc輸入數(shù)據(jù),正確的輸入語句為__________。A、scanf("%d%d%d",&a,&b,&c);B、read("%d%d%d",&a,&b,&c);C、scanf("%d%d%d",a,b,c);D、write("%d%d%d",&a,&b,&c);答案:A解析:這道題考察的是C語言中輸入語句的正確使用。在C語言中,使用`scanf`函數(shù)可以從鍵盤輸入數(shù)據(jù),并且需要變量的地址作為參數(shù)。選項(xiàng)A中的`scanf("%d%d%d",&a,&b,&c);`是正確的輸入語句,`%d`表示輸入的數(shù)據(jù)類型為整數(shù),`&a,&b,&c`表示變量`a`、`b`、`c`的地址。其他選項(xiàng)中的`read`、`write`函數(shù)不是C語言標(biāo)準(zhǔn)輸入輸出的函數(shù),選項(xiàng)C中缺少了變量地址的符號(hào)`&`,因此都是錯(cuò)誤的。82.下列語句或命令中,不符合C語言規(guī)則的是_______。A、intm;B、intm、n;C、m=10;D、#include"stdio.h"答案:B解析:答案解析:在C語言中,聲明多個(gè)變量時(shí),每個(gè)變量之間應(yīng)該使用逗號(hào)分隔,而不是頓號(hào)。選項(xiàng)B中“intm、n;”使用了頓號(hào),不符合C語言的變量聲明規(guī)則。選項(xiàng)A是正常的變量聲明,選項(xiàng)C是正常的賦值操作,選項(xiàng)D是常見的包含頭文件的預(yù)處理指令。所以,不符合C語言規(guī)則的是選項(xiàng)B。83.C語言中的標(biāo)識(shí)符只能由字母、數(shù)字和下劃線三種字符組成,且第一個(gè)字符_______。A、必須為字母B、必須為下劃線C、必須為字母或下劃線D、可以是字母、數(shù)字和下劃線中的任一種字符答案:C84.以下程序段中的變量已正確定義,則該程序段的輸出結(jié)果是_______。For(i=0;i<4;i++)For(k=1;k<3;k++)Printf("?");A、????????B、????C、??D、?答案:A解析:這道題考察的是對(duì)嵌套循環(huán)的理解。外層循環(huán)變量i從0開始,小于4,因此會(huì)循環(huán)4次。內(nèi)層循環(huán)變量k從1開始,小于3,因此每次外層循環(huán)時(shí),內(nèi)層循環(huán)都會(huì)執(zhí)行2次,打印兩個(gè)"?"。所以總共會(huì)打印8個(gè)"?",對(duì)應(yīng)選項(xiàng)A。85.以下幾組選項(xiàng)中為合法的標(biāo)識(shí)符是______。A、intB、floatC、b-aD、_123答案:D解析:答案解析:在編程語言中,標(biāo)識(shí)符的命名有一定規(guī)則。A選項(xiàng)“int”和B選項(xiàng)“float”是編程語言中的保留關(guān)鍵字,不能作為標(biāo)識(shí)符。C選項(xiàng)“b-a”,標(biāo)識(shí)符中不能包含“-”符號(hào)。D選項(xiàng)“_123”,以“_”開頭,由字母、數(shù)字和“_”組成,符合標(biāo)識(shí)符的命名規(guī)則。所以,正確答案是D選項(xiàng)。86.若有說明:inta[][3]={1,2,3,4,5,6,7};則a數(shù)組第一維的大小是_______。A、2B、3C、4D、無法確定答案:B87.設(shè)函數(shù)fun的定義形式為:voidfun(charch,floatx){...},則以下對(duì)函數(shù)fun的調(diào)用形式中正確的是_______。A、fun("abc",3.0);B、t=fun('D',12.3);C、fun('65',3.7);D、fun(‘A’,6.5);答案:D解析:在函數(shù)調(diào)用時(shí),實(shí)參要與形參的類型一一對(duì)應(yīng)。函數(shù)fun的形參一個(gè)是字符型,一個(gè)是浮點(diǎn)型。A選項(xiàng)中“abc”是字符串,不是單個(gè)字符,錯(cuò)誤;B選項(xiàng)中函數(shù)void類型不能賦值給t,錯(cuò)誤;C選項(xiàng)中“65”是字符串,錯(cuò)誤;D選項(xiàng)中‘A’是字符,6.5是浮點(diǎn)數(shù),類型匹配正確。所以答案選D。88.在C語言中,以______作為存儲(chǔ)字符串的結(jié)束標(biāo)志。A、’\n’B、’’C、’0’D、’\0’答案:D89.若有一個(gè)3位整數(shù)x,則能得到其百位、十位、個(gè)位上數(shù)字的表達(dá)式組是_______。A、x/100,x/10,x%10B、x/100,x/10%10,x%10C、x,x/10%10,x%100D、x/100,x%100/10,x%100答案:B解析:對(duì)于一個(gè)3位整數(shù)x,要得到百位數(shù)字,用x除以100取整即x/100;要得到十位數(shù)字,先將x除以10取整得到十位和百位組成的數(shù),再對(duì)其取模10即(x/10%10);要得到個(gè)位數(shù)字,直接對(duì)x取模10即x%10。所以正確答案是B選項(xiàng)。90.以下定義符號(hào)常量PI的形式,正確的為______。A、definePI3.14B、#definePI3.14C、#definePI=3.14D、#definePI3.14;答案:B解析:在C語言中,使用#define來定義符號(hào)常量,形式為#define常量名常量值,不需要加分號(hào),也不能用等號(hào)賦值。A選項(xiàng)缺少#號(hào);C選項(xiàng)用了等號(hào)錯(cuò)誤;D選項(xiàng)多了分號(hào)錯(cuò)誤。所以正確答案是B。91.有如下程序段,當(dāng)x的值為-3時(shí),輸出y的值為______。Intx,y;y=0;Scanf(“%d”,&x);If(x>=0)If(x>0)y=1;Elsey=-1;Printf(“y=%d”,y);A、1B、-1C、0D、不確定答案:C解析:根據(jù)程序,首先定義了兩個(gè)整型變量x和y,并將y初始化為0。然后,使用scanf函數(shù)從用戶獲取一個(gè)整數(shù)賦值給x。接下來,使用if-else語句根據(jù)x的值進(jìn)行判斷。由于x的值為-3,小于0,所以執(zhí)行else分支,將y的值賦值為-1。最后,使用printf函數(shù)輸出y的值。因此,輸出y的值為-1,正確答案是B。92.以下程序運(yùn)行后的輸出結(jié)果是_______。#include<stdio.h>Voidmain(){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解析:答案解析:在程序中,首先判斷`a<b`,由于`2>-1`,條件不成立,所以后面的嵌套判斷語句`if(b<0)`等都不會(huì)執(zhí)行,`c`的值沒有改變,仍為初始值2。因此,輸出結(jié)果為2,選項(xiàng)C正確。93.有以下程序,則運(yùn)行時(shí)的輸出結(jié)果是_______。#include<stdio.h>Voidmain(){inta=3,b=4,s;S=a;If(a<b)S=b;S=s?s;Printf("%d\n",s);}A、4B、3C、16D、9答案:C解析:程序首先定義并初始化整型變量a和b,分別為3和4。接著,通過if語句判斷a是否小于b,由于3小于4,條件為真,因此將b的值4賦給變量s。之后,程序執(zhí)行s=s*s,即s的平方,所以s的值變?yōu)?6。最后,通過printf函數(shù)輸出s的值,即16。94.以下程序的運(yùn)行結(jié)果是_______。#include"stdio.h"Intmain(){intA,d=2020;A=d/100%9;Printf("%d\n",a);Return0;}A、2.2B、6C、2D、0.4答案:C解析:在C語言中,整數(shù)除法的結(jié)果會(huì)向下取整。在這個(gè)程序中,首先計(jì)算`d/100`,即`2020/100=20`,然后計(jì)算`20%9`,即`20`除以`9`的余數(shù),結(jié)果為`2`。因此,變量`a`的值為`2`,最后程序輸出`2`。所以,正確答案是選項(xiàng)C。95.以下敘述不正確的是_______。A、一個(gè)C源程序可由一個(gè)或多個(gè)函數(shù)組成B、一個(gè)源程序必須包含一個(gè)main函數(shù)C、程序的基本組成單位是函數(shù)D、在C程序中,注釋說明只能位于一條語句的后面答案:D96.構(gòu)成C語言程序的基本單位是_______。A、框架B、預(yù)處理C、函數(shù)D、語句答案:C解析:在C語言中,函數(shù)是程序的基本組成部分。一個(gè)C語言程序可以由多個(gè)函數(shù)組成,通過函數(shù)的相互調(diào)用和協(xié)作來完成各種任務(wù)。整個(gè)程序從主函數(shù)開始執(zhí)行,其他函數(shù)根據(jù)需要被調(diào)用和執(zhí)行??蚣芎皖A(yù)處理是程序構(gòu)建和準(zhǔn)備的部分,語句是函數(shù)中的具體執(zhí)行內(nèi)容,但它們都不是程序的基本單位,所以答案是C。97.以下敘述中正確的是_______。A、在C程序中,main函數(shù)必須位于程序的最前面B、C程序的每行只能寫一條語句C、主函數(shù)可以被其他自定義函數(shù)調(diào)用D、主函數(shù)的名稱只能是main答案:D解析:這道題考察的是對(duì)C語言程序結(jié)構(gòu)的理解。在C語言中,main函數(shù)是程序的入口點(diǎn),其位置在程序中并不固定,因此A選項(xiàng)錯(cuò)誤。C語言允許在一行中編寫多條語句,只要它們之間用分號(hào)分隔,所以B選項(xiàng)錯(cuò)誤。main函數(shù)是程序開始執(zhí)行的地方,它不能被其他函數(shù)調(diào)用,故C選項(xiàng)錯(cuò)誤。而D選項(xiàng)正確,因?yàn)镃語言標(biāo)準(zhǔn)規(guī)定,程序的入口點(diǎn)函數(shù)必須命名為main。98.在C語言中,下列各項(xiàng)中屬于正確的實(shí)型常量是_________。A、-0x23.98B、3.12e3C、e-2D、1.2e答案:B解析:答案解析:在C語言中,實(shí)型常量用小數(shù)形式或指數(shù)形式表示。A選項(xiàng)“-0x23.98”不是合法的實(shí)型常量,因?yàn)橐浴?x”開頭表示十六進(jìn)制數(shù)。C選項(xiàng)“e-2”格式不正確,指數(shù)形式應(yīng)寫成“e2”的形式。D選項(xiàng)“1.2e”缺少指數(shù)部分。B選項(xiàng)“3.12e3”是合法的指數(shù)形式的實(shí)型常量。因此,正確答案是B。99.若有定義語句:intm[]={5,4,3,2,1},i=4;,則下面對(duì)m數(shù)組元素的引用中錯(cuò)誤的是_______。A、m[--i]B、m[2?2]C、m[m[0]]D、m[m[i]]答案:C解析:首先分析選項(xiàng)A,--i后i=3,m[3]=2,引用正確;選項(xiàng)B,2*2=4,m[4]=1,引用正確;選項(xiàng)C,m[0]=5,m[5]超出數(shù)組范圍,引用錯(cuò)誤;選項(xiàng)D,m[i]=m[4]=1,m[1]=4,引用正確。所以錯(cuò)誤的是選項(xiàng)C。100.以下程序執(zhí)行后的輸出結(jié)果是_____。Voidfun(intA,intB,intc){a=456;B=567;C=678;}Intmain(){intx=10,y=20,z=30;Fun(x,y,z);Printf("%d;%d;%d\n",z,y,x);Return0;}A、30;20;10B、10;20;30C、456;567;678D、678;567;456答案:A解析:在`C`語言中,函數(shù)的參數(shù)傳遞有兩種方式:值傳遞和地址傳遞。在本題中,`fun`函數(shù)的參數(shù)是值傳遞,即函數(shù)內(nèi)部對(duì)參數(shù)的修改不會(huì)影響到函數(shù)外部的變量。在`main`函數(shù)中,調(diào)用`fun`函數(shù)時(shí),將變量`x`、`y`、`z`的值分別傳遞給`fun`函數(shù)的參數(shù)`a`、`b`、`c`。在`fun`函數(shù)內(nèi)部,對(duì)參數(shù)`a`、`b`、`c`進(jìn)行了修改,但這些修改不會(huì)影響到`main`函數(shù)中的變量`x`、`y`、`z`。因此,在`main`函數(shù)中,輸出變量`z`、`y`、`x`的值仍然是它們?cè)谡{(diào)用`fun`函數(shù)之前的值,即`30`、`20`、`10`。所以,正確答案是A。101.下面程序運(yùn)行后的結(jié)果是:_______#include“stdio.h”Voidswap(intx,inty){inttemp;Temp=x;x=y;y=temp;Printf(“x=%d,y=%d”,x,y);}Voidmain(){inta=10,b=20;Swap(a,b);Printf(“a=%d,b=%d\n”,a,b);}A、=10,b=20x=20,y=10B、x=10,y=20a=20,b=10C、x=20,y=10a=10,b=20D、a=20,b=10x=20,y=10答案:C解析:在C語言中,函數(shù)參數(shù)的傳遞方式是值傳遞,即函數(shù)內(nèi)部對(duì)參數(shù)的修改不會(huì)影響到函數(shù)外部的變量。在這個(gè)程序中,swap函數(shù)接受兩個(gè)整型參數(shù)x和y,并通過臨時(shí)變量temp交換它們的值。但是,由于參數(shù)是值傳遞,所以在函數(shù)內(nèi)部對(duì)x和y的修改并不會(huì)影響到main函數(shù)中的a和b。因此,程序運(yùn)行后的結(jié)果是x=20,y=10a=10,b=20,選項(xiàng)C是正確的答案。102.設(shè)有:inta=1,b=2,c=3,d=4,m=2,n=2;,則執(zhí)行(m=a>b)&&(n=c>d)后n的值為_______。A、1B、2C、3D、4答案:B解析:在邏輯表達(dá)式(m=a>b)&&(n=c>d)中,首先計(jì)算m=a>b。由于a的值為1,b的值為2,所以a>b的結(jié)果為假(0)。在邏輯與運(yùn)算中,如果第一個(gè)操作數(shù)為假,則整個(gè)表達(dá)式的結(jié)果必然為假,計(jì)算機(jī)將不會(huì)計(jì)算第二個(gè)操作數(shù)n=c>d。因此,n的值不會(huì)改變,保持其初始值2。103.有以下程序,程序運(yùn)行后的輸出結(jié)果是_______。#include<stdio.h>Voidmain(){inta=1,b=2;For(;a<8;a++){b+=a;A+=2;}Printf("%d,%d\n",a,b);}A、9,18B、8,11C、7,11D、10,14答案:D解析:這道題考察的是對(duì)C語言程序的理解和執(zhí)行結(jié)果的預(yù)測。程序定義了兩個(gè)變量a和b,并初始化為1和2。接著是一個(gè)for循環(huán),循環(huán)條件是a小于8,每次循環(huán)a增加2,b增加a的值。循環(huán)結(jié)束后,打印a和b的值。根據(jù)循環(huán)邏輯,a最終會(huì)是8(因?yàn)?不滿足a<8的條件,所以循環(huán)結(jié)束時(shí)的a值是8,但循環(huán)結(jié)束后a還會(huì)自增2,變成10),b的值則是初始值2加上每次循環(huán)a的值(即2+1+3+5+7=18),但循環(huán)結(jié)束后b的值并未改變,所以最終b的值是18的前一個(gè)值,即14(因?yàn)樽詈笠淮窝h(huán)中a=7,b+=7后b=14,之后沒有改變b的操作)。所以答案是D。104.下面輸入語句中,正確的是______。A、scanf("a=b=%d",&a,&b);B、scanf("%d,%d",&a,&b);C、scanf("%c",c);D、scanf("%d%d\n",&f1,f2);答案:B105.以下敘述中正確的是______。A、在C程序中,main函數(shù)必須位于程序的最前面B、C程序的每行中只能寫一條語句C、語言本身沒有輸入輸出語句D、在對(duì)一個(gè)C程序進(jìn)行編譯的過程中,可發(fā)現(xiàn)注釋中的拼寫錯(cuò)誤答案:C解析:這道題考察的是對(duì)C語言基本特性的理解。A選項(xiàng),C語言中main函數(shù)的位置并不固定,它可以在程序的任何位置,只要保證在調(diào)用時(shí)是可訪問的。因此,A選項(xiàng)錯(cuò)誤。B選項(xiàng),C語言并沒有規(guī)定每行只能寫一條語句,可以在一行中寫多條語句,只要用分號(hào)分隔即可。所以,B選項(xiàng)錯(cuò)誤。C選項(xiàng),C語言本身確實(shí)不包含輸入輸出語句,輸入輸出操作是通過調(diào)用標(biāo)準(zhǔn)庫函數(shù)來實(shí)現(xiàn)的,如printf和scanf等。因此,C選項(xiàng)正確。D選項(xiàng),編譯過程主要關(guān)注的是代碼的語法和語義,注釋部分的內(nèi)容在編譯時(shí)是被忽略的,所以編譯過程中不會(huì)檢查注釋中的拼寫錯(cuò)誤。因此,D選項(xiàng)錯(cuò)誤。綜上所述,正確答案是C。106.假定a和b為int型變量,則執(zhí)行以下語句后b的值為_______。A=1;b=10;Do{b-=a;A++;}while(b--<0);A、9B、-2C、-1D、8答案:D解析:分析程序代碼,循環(huán)開始前,a賦值為1,b賦值為10。進(jìn)入do-while循環(huán)后,首先執(zhí)行b-=a,即b減去a的值,此時(shí)b變?yōu)?,a隨后自增變?yōu)?。接著進(jìn)行while循環(huán)的條件判斷b--<0,即先判斷b是否小于0(此時(shí)b為9,不小于0),然后b自減1變?yōu)?。因?yàn)闂l件b<0不成立,循環(huán)結(jié)束。所以循環(huán)結(jié)束后b的值為8。107.以下程序的功能是:按順序讀入10名學(xué)生4門課程的成績,計(jì)算出每位學(xué)生的平均分并輸出,程序如下:Voidmain(){intn,k;Floatscore,sum,ave;Sum=0.0;For(n=1;n<=10;n++){for(k=1;k<=4;k++){scanf(“%f”,&score);Sum+=score;}Ave=sum/4.0;Printf(“NO%d:%f\n”,n,ave);}}上述程序運(yùn)行后結(jié)果不正確,調(diào)試中發(fā)現(xiàn)有一條語句出現(xiàn)在程序中的位置不正確。這條語句是______。A、sum=0.0;B、sum+=score;C、ave=sum/4.0;D、printf(“NO%d:%f\n”,n,ave);答案:A解析:這道題考察的是對(duì)程序邏輯的理解。程序目的是計(jì)算每位學(xué)生的平均分。變量`sum`用于累加每位學(xué)生的成績,應(yīng)在每位學(xué)生成績累加前初始化為0。當(dāng)前`sum=0.0;`放在了所有循環(huán)之前,導(dǎo)致它只在程序開始時(shí)執(zhí)行一次,而不是每位學(xué)生成績計(jì)算前都執(zhí)行。因此,`sum=0.0;`應(yīng)放在外層循環(huán)的開始處,以確保每位學(xué)生成績計(jì)算前`sum`都被正確重置為0。所以,選項(xiàng)A的語句位置不正確。108.下列運(yùn)算符中,優(yōu)先級(jí)最高的是__________。A、?:B、!C、%D、+答案:B109.在C程序中,main函數(shù)的位置______。A、必須放在所有函數(shù)定義之前B、必須放在所有函數(shù)定義之后C、必須放在它所調(diào)用的函數(shù)之前D、可以任意答案:D110.下面程序運(yùn)行后的結(jié)果是______。#include“stdio.h”Voidmain(){intu=010,v=0x10,w=10;Printf(“u=%d,v=%d,w=%d\n”,u,v,w);}A、u=10,v=10,w=10B、u=8,v=16,w=10C、u=16,v=8,w=10D、u=010,v=0x10,w=10答案:B解析:這道題考察的是C語言中變量的聲明和初始化,以及不同進(jìn)制數(shù)的表示。在C語言中,以0開頭的整數(shù)表示八進(jìn)制數(shù),以0x或0X開頭的整數(shù)表示十六進(jìn)制數(shù)。因此,變量u被初始化為八進(jìn)制數(shù)010,轉(zhuǎn)換為十進(jìn)制是8;變量v被初始化為十六進(jìn)制數(shù)0x10,轉(zhuǎn)換為十進(jìn)制是16;變量w被直接初始化為十進(jìn)制數(shù)10。所以,程序運(yùn)行后的結(jié)果是u=8,v=16,w=10,對(duì)應(yīng)選項(xiàng)B。111.閱讀以下程序,該程序在編譯時(shí)產(chǎn)生錯(cuò)誤,其出錯(cuò)原因是_______。#include<stdio.h>Voidmain(){intcase;FloatprintF;Printf("請(qǐng)輸入2個(gè)數(shù):");Scanf("%d%f",&case,&printF);Printf("%d%f\n",case,printf);}A、定義語句出錯(cuò),case是關(guān)鍵字,不能用作用戶自定義標(biāo)識(shí)符B、定義語句出錯(cuò),printF不能用作用戶自定義標(biāo)識(shí)符C、定義語句無錯(cuò),scanf不能作為輸入函數(shù)使用D、定義語句無錯(cuò),printf不能輸出case的值答案:A解析:這道題考察的是C語言的基礎(chǔ)知識(shí),特別是關(guān)于關(guān)鍵字和用戶自定義標(biāo)識(shí)符的規(guī)則。在C語言中,`case`是一個(gè)關(guān)鍵字,用于`switch`語句中,因此不能用作變量名。選項(xiàng)A正確指出了這一點(diǎn)。而`printF`雖然命名不規(guī)范,但并非關(guān)鍵字,可以用作變量名,所以B選項(xiàng)錯(cuò)誤。C選項(xiàng)中提到的`scanf`函數(shù)是C語言標(biāo)準(zhǔn)輸入函數(shù),使用無誤,因此C選項(xiàng)錯(cuò)誤。D選項(xiàng)中提到的`printf`函數(shù)同樣可以輸出`case`的值(如果`case`不是關(guān)鍵字且被正確定義為變量),問題在于`case`作為關(guān)鍵字不能被用作變量名,所以D選項(xiàng)錯(cuò)誤。綜上所述,正確答案是A。112.以下程序的輸出結(jié)果是_______。#include<stdio.h>Voidmain(){Intx=3,y=0,z=0;If(x=y+z)Printf("????");ElsePrintf("");}A、有語法錯(cuò)誤,不能通過編譯B、????C、給通過編譯,但不能通過連接D、答案:D解析:這道題考察的是C語言的基礎(chǔ)知識(shí),包括語法規(guī)則、條件判斷以及程序執(zhí)行流程。首先,程序中的`Voidmain()`應(yīng)該是`voidmain()`,這是一個(gè)語法錯(cuò)誤,但題目關(guān)注的是程序的邏輯輸出,所以我們先忽略這個(gè)。關(guān)鍵在于`if`語句中的條件判斷`x=y+z`,這里使用的是賦值操作符`=`,而不是比較操作符`==`。因此,`x`被賦值為`0`(`y+z`的結(jié)果),且表達(dá)式的結(jié)果為`0`,表示假。所以程序會(huì)執(zhí)行`else`分支,輸出``。因此,正確答案是D。113.有以下程序:#include<stdio.h>Voidmain(){intx;Scanf("%d",&x);If(x<=3)return;If(x!=10)Printf("%d\n",x);}程序運(yùn)行時(shí),輸入的值在哪個(gè)范圍內(nèi)才會(huì)有輸出結(jié)果_______。A、不等于10的整數(shù)B、大于3且不等于10的整數(shù)C、大于3或等于10的整數(shù)D、小于3的整數(shù)答案:B解析:這道題考察的是對(duì)C語言程序邏輯的理解。首先,程序通過`scanf`函數(shù)接收一個(gè)整數(shù)輸入`x`。接著,如果`x`小于等于3,程序會(huì)直接通過`return`語句結(jié)束,不會(huì)輸出任何內(nèi)容。只有當(dāng)`x`大于3時(shí),程序才會(huì)繼續(xù)執(zhí)行。然后,程序檢查`x`是否不等于10,如果不等于10,才會(huì)通過`printf`函數(shù)輸出`x`的值。因此,只有輸入的值大于3且不等于10時(shí),程序才會(huì)有輸出結(jié)果。114.若有說明:inta[3][4];則對(duì)a數(shù)組元素的非法引用是_______。A、[0][2?1]B、a[1][3]C、a[4-2][0]D、a[0][4]答案:D解析:這道題考察的是對(duì)二維數(shù)組索引的理解。在C語言中,二維數(shù)組`inta[3][4]`表示有3行4列的數(shù)組。數(shù)組的索引是從0開始的,所以合法的行索引是0、1、2,合法的列索引是0、1、2、3。-A選項(xiàng)`a[0][2*1]`,行索引0是合法的,列索引2*1=2也是合法的,所以A選項(xiàng)是合法的引用。-B選項(xiàng)`a[1][3]`,行索引1是合法的,列索引3也是合法的,所以B選項(xiàng)是合法的引用。-C選項(xiàng)`a[4-2][0]`,行索引4-2=2是合法的,列索引0也是合法的,所以C選項(xiàng)是合法的引用。-D選項(xiàng)`a[0][4]`,行索引0是合法的,但列索引4超出了數(shù)組的列范圍(0-3),所以D選項(xiàng)是非法的引用。因此,答案是D。115.在C語言,簡單變量做實(shí)參時(shí),它和對(duì)應(yīng)形參之間的數(shù)據(jù)傳遞方式是___________。A、地址傳遞B、單向值傳遞C、由實(shí)參傳給形參,再由形參傳回實(shí)參D、由用戶指定傳遞方式答案:B解析:答案解析:在C語言中,當(dāng)簡單變量作為實(shí)參時(shí),實(shí)參將其值傳遞給形參。這種傳遞是單向的,形參值的改變不會(huì)影響實(shí)參的值。這是C語言函數(shù)參數(shù)傳遞的基本規(guī)則。因此,答案是B選項(xiàng),即單向值傳遞。116.以下程序段_______。X=-1;Do{X=x?x;}while(x==0);A、是死循環(huán)B、循環(huán)執(zhí)行兩次C、循環(huán)執(zhí)行一次D、有語法錯(cuò)誤答案:C解析:首先,我們分析程序段。程序初始化X為-1,然后進(jìn)入do-while循環(huán)。在循環(huán)體內(nèi),X被更新為其自身的平方,即X=X*X。對(duì)于初始值X=-1,第一次循環(huán)后X的值變?yōu)?。接著,循環(huán)條件判斷X是否等于0,由于此時(shí)X=1,循環(huán)條件不滿足,因此循環(huán)結(jié)束?,F(xiàn)在,我們根據(jù)這個(gè)邏輯來分析選項(xiàng):A.是死循環(huán)-不正確,因?yàn)檠h(huán)在X變?yōu)?后結(jié)束。B.循環(huán)執(zhí)行兩次-不正確,循環(huán)只執(zhí)行了一次。C.循環(huán)執(zhí)行一次-正確,與我們的分析相符。D.有語法錯(cuò)誤-不正確,程序語法是正確的。因此,正確答案是C,循環(huán)執(zhí)行一次。117.有以下程序,程序運(yùn)行時(shí)輸入:1,2,3<回車>,則輸出的結(jié)果為______。#include“stdio.h”Voidmain(){intA,b,c;Scanf("%d%d%d",&a,&b,&c);Printf("a+b+c=%d\n",a+b+c);}A、6B、a+b+c=6C、123D、不確定的值答案:D解析:這道題考察的是對(duì)C語言程序的理解。程序首先通過`scanf`函數(shù)讀取用戶輸入的三個(gè)整數(shù),并存儲(chǔ)在變量`a`、`b`、`c`中。然后,通過`printf`函數(shù)輸出這三個(gè)數(shù)的和。但是,程序中的`main`函數(shù)聲明為`voidmain()`,這是不標(biāo)準(zhǔn)的,標(biāo)準(zhǔn)C語言中的`main`函數(shù)應(yīng)該返回一個(gè)`int`類型的值。此外,`#include`指令中的文件名應(yīng)該用尖括號(hào)`<>`包圍,而不是雙引號(hào)`""`。由于這些錯(cuò)誤,程序的行為是未定義的,因此輸出的結(jié)果是不確定的值。所以正確答案是D。118.以下選項(xiàng)中,與k=n++;完全等價(jià)的語句是______。A、k=n;n=n+1;B、n=n+1;k=n;C、k=++n;D、k+=n+1;答案:A119.若有如下列程序,則運(yùn)行后的輸出結(jié)果是______。Voidmain(){intx=8;For(;x>0;x--){if(x%3!=0)Printf("%d,",x--);}Printf("%d,",--x);}A、7,4,2,B、8,7,5,2,C、9,7,6,4,D、8,5,2,-1,答案:D解析:在這個(gè)程序中,我們首先定義了一個(gè)整型變量`x`并將其初始化為8。然后,我們進(jìn)入一個(gè)`for`循環(huán),只要`x`大于0,就會(huì)執(zhí)行循環(huán)體。在循環(huán)體中,我們首先檢查`x`除以3的余數(shù)是否不為0。如果是,我們使用`printf`函數(shù)輸出`x`的值,并將`x`減1。然后,我們?cè)俅问褂胉printf`函數(shù)輸出`x`的值,并將`x`減1。當(dāng)`x`等于0時(shí),循環(huán)結(jié)束。因此,運(yùn)行后的輸出結(jié)果是8,5,2,-1,正確答案是D。120.以下可用作用戶自定義標(biāo)識(shí)符的一組是______。A、void、return、ifB、printf、include、fabsC、Max、_abc、MainD、2abc、pay$、sum-10答案:C121.C語言中,能表示整型變量x的值介于100和200之間這一條件的表達(dá)式是________。A、200>x>100B、200>=x>=100C、x>=100&&x<=200D、x>=100||x<=200答案:C解析:在C語言中,要表示整型變量x的值介于100和200之間,可以使用邏輯與運(yùn)算符(&&)來連接兩個(gè)條件表達(dá)式,即x>=100和x<=200。因此,正確的表達(dá)式應(yīng)該是x>=100&&x<=200,選項(xiàng)C正確。122.若x和y都是int型變量,x=100,y=200,則運(yùn)行如下語句后的輸出結(jié)果是_______。Printf("%d",(x,y));A、100B、200C、100200D、輸出格
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 二零二五年度企業(yè)簽約帶貨主播產(chǎn)品試用與評(píng)測合同3篇
- 2025年度教育科技公司干股分紅與在線教育合作協(xié)議3篇
- 2025年企業(yè)法人變更合同審查與員工權(quán)益保障協(xié)議3篇
- 2025年度金融資產(chǎn)重組收購協(xié)議3篇
- 2025年度公對(duì)公交易合同模板:金融衍生品交易合作協(xié)議2篇
- 二零二五年度教育培訓(xùn)機(jī)構(gòu)教師職務(wù)聘任與教育教學(xué)改革合同3篇
- 2025年度會(huì)展兼職工作人員勞務(wù)合同樣本3篇
- 二零二五年度軍事訓(xùn)練基地保密協(xié)議及設(shè)施管理合同2篇
- 二零二五年度物流行業(yè)創(chuàng)新技術(shù)研究承包合同3篇
- 二零二五年度內(nèi)墻膩?zhàn)邮┕づc室內(nèi)環(huán)境檢測及優(yōu)化合同3篇
- 石油英語詞匯
- 《夜宿山寺》-完整版課件
- 滬教牛津版八年級(jí)上冊(cè)初二英語期末測試卷(5套)
- 北京市海淀區(qū)2020-2021學(xué)年度第一學(xué)期期末初三物理檢測試卷及答案
- 《潔凈工程項(xiàng)目定額》(征求意見稿)
- 家庭室內(nèi)裝飾裝修工程保修單
- 小學(xué)語文課堂提問有效性策略研究方案
- 物業(yè)上門維修收費(fèi)標(biāo)準(zhǔn)
- ATS技術(shù)交流(新型發(fā)動(dòng)機(jī)智能恒溫節(jié)能冷卻系統(tǒng))100318
- 手術(shù)區(qū)皮膚的消毒和鋪巾ppt課件
- 2022年度培訓(xùn)工作總結(jié)
評(píng)論
0/150
提交評(píng)論